1.GİRİŞ
2.NETWORK GÜVENLİĞİ
2.1.Asgari Güvenlik Seviyeleri
3.FIREWALLS (Ateş Duvarları)
SUBJECT
While the internet has become widespread
and developed,it has brought radical changes at homes,schools,public
sectors,financial operations,shortly at all areas of life.Increasing the use of
the internet,lots of sectors like financial sectors move their commercial
operations to the internet.In this way,the anxiety about the circulation of
information in a network which is open to everybody has become discussed.
The security over the internet can be
examined in two main headlines:
1.The problems which can be
occured because of the software and the network substructure.In this
scope,ISS’s and sectors’to which you give your personal information environment
that they hide this information and their own security and risks and
precautions that they take while the computers are over the internet take
place.ISS’s,financial sectors,banks and sites that have to gain sensitive
information in order to give service(electronic commerce sites,and the sites
that give health consultation,etc.) are obliged to organize the substructure
that is needed to support the security of their customers’ personal
information.In order to protect their interior network to the risks that come
over internet, these organizations not only take traditional measures like in
company security procedures,authority and responsibility classes and
communication permission,detailed logging but also they take technologic
measures like firewall solutions and virus gateway solutions.Adding to
these,dependable organizations keep the most important information that is in
the database encoded and use them encoded in the company.
2.The risk of getting the
information and using it for bad purpose by appraising technical holes while
transferring the data over the internet
In the information that a common internet
user will be able to give,there can be his/her credit card information,username
passwords,address and telephone numbers that can be inadvisable for his/her own
security and privacy.This information is often opened to internet while
electronic commerce or financial operations(ex.individual banking) and the
probability of getting hold of appears.The sites that carry out electronic
commerce and financial operations are commonly dependable because they verify
the data transfer by encoding the data over the internet.Even the encoded
information is obtained for bad use while transferring over the internet,it is
supposed to be dependable since it takes time to break the code and it requires
a big deposit.For coding,commonly SSL(Secure Socket Layer) security standart is
used.Also,for providing security,a system called SET(Secure Electronic
Transaction) that increases the security much more is not commonly used.
KONU
İNTERNETTE GÜVENLİK
Anahtar Kelimeler:SSI( Secure Socket Layer),SET(Secure
Electronic Transaction),gateway(geçit yolu),ISS(servis sağlayıcı)
ÖZET
İnternetin hızla yaygınlaşması ve gelişmesi evlerde, okullarda, kamu kuruluşlarında, finansal işlemlerde, kısaca hayatın her alanında radikal değişiklikleri de beraberinde getirmiştir. Internet kullanımının artmasıyla beraber başta finansal kurumlar olmak üzere birçok kuruluş ticari işlemlerini Internet'e taşımaya başlamıştır. Böylece bilgilerin herkese açık bir ağ üzerinde dolaşmasının yarattığı haklı tedirginlik gündeme gelmiş, bu konu yoğun bir şekilde tartışılmaya başlanmıştır.
Internet'te güvenlik konusu
iki temel başlık altında incelenebilir:
1. Yazılım ve ağ altyapısından dolayı meydana
gelebilecek sorunlar
Bu kapsamda Internet'e bağlandığınız servis
sağlayıcıların ve kişisel bilgilerinizi verdiğiniz kurumların bu bilgileri
sakladıkları ortamlar ve iç güvenlikleri ile bilgisayarların Internet'e bağlı
oldukları sürede maruz kaldıkları riskler ve önlemler yer alır. ISS'ler,
finansal kurumlar, bankalar ve hizmet verebilmek için duyarlı bilgiler
toplaması gereken siteler (elektronik ticaret siteleri, sağlık danışmanlığı
hizmeti veren siteler vb.) müşterilerinden aldıkları kişisel bilgilerin
güvenliğini sağlamak için gereken altyapıyı oluşturmakla yükümlüdürler. Bu tür
kuruluşlar şirket içi güvenlik prosedürleri, yetki ve sorumluluk sınıfları ve
ulaşım izinleri, detaylı loglama gibi geleneksel tedbirlerin yanı sıra, kendi
iç ağlarını Internet yolu ile gelecek tehlikelere karşı korumak için firewall
çözümleri, virus gateway çözümleri gibi teknolojik önlemler de almaktadırlar.
Bunlara ilave olarak güvenilir kurumlar, veri tabanlarında tutulan bilgilerden
önemlilerini şifrelenmiş olarak tutmakta, bu bilgileri şifrelenmiş olarak
şirket içindeki işlemlerde kullanmaktadır.
2. Internet üzerinde veri akışı sırasında,
bilgilerin çeşitli teknik açıklar değerlendirilerek kötü amaçlı kullanım için
ele geçirilme tehlikesi
Genel bir Internet kullanıcısının verebileceği
bilgilerin arasında kendi güvenliği ve mahremiyeti açısından sakıncalı
olabilecek kredi kartı bilgileri, kullanıcı isimleri şifreler, adres ve telefon
numaraları bulunmaktadır. Bu bilgiler genellikle, elektronik ticaret veya
finansal işlemler (örneğin bireysel bankacılık) sırasında Internete açılır, ve
ele geçirilme olasılıkları belirir. Elektronik ticaret ve finansal işlemlerin
yürütüldüğü siteler Internet'ten bilgi alışverişini şifreleyerek
gerçekleştirdikleri için genel olarak güvenlidirler. Şifrelenmiş bilgi Internet
üzerinde iletilirken ele geçirilse bile, şifrenin kırılması çok büyük bir
yatırım ve oldukça uzun bir zaman dilimi gerektirdiğinden güvenli olduğu kabul
edilebilir Şifreleme amacıyla yaygın olarak SSL (Secure Socket Layer) güvenlik
standardı kullanılmaktadır. Ayrıca güvenliğin sağlanması amacıyla yaygın
olmamakla birlikte SET (Secure Electronic Transaction) protokolü adı verilen ve
güvenliği bir kat daha arttıran bir sistem de kullanılmaktadır.
1.GİRİŞ
-
RIP
(Interior)
-
EGP,
BGP (Exterior)
|
4 Application Layer |
|
3 Host to Host Transport Layer |
|
2 Internet Layer |
|
1 Network Access Layer |

· IP’ye local bir host için bir datagram geidiğinde bu datagramın data
kısmını header’dan sıyırarak Transport katmanına gönderir.
· Transport katmanında hangi protokole gideceği
IP header’ın 3 üncü wordündeki Protocol Numarasından belli olur.
· IP nin diğer önemli bir öğesi ise ICMP
protoklüdür.
· Internet katmanının hemen üstünde yer alan
Transport katmanı önemli iki protokolün yer aldığı katmandır.
· TCP ve UDP protokolleri.
· TCP: Noktadan noktaya hata tespiti ve
düzeltilmesini içeren güvenilir bir data transferi sağlar.
· UDP: Bağlantısız (connectionless) olan ve
transfer için fazla yük getirmeyen bir data iletişim protokolüdür.
· UDP mesaj formatı TCP ninkine nazaran daha
kısa ve basittir.
· 16 bitlik source ve destination port
bilgileri içerir.
· Eğer transfer edilecek data uzun değilse UDP
rahatlıkla kullanılabilecek bir protokoldür.
· Özellikle “query-response” tipi basit
uygulamalar için idealdir. Response
positiv acknowledgement olarak
kullanılabilir.
· TCP datanın networkde doğru ve güvenilir
şekilde taşınmasını sağlayan bir protokoldür.
· TCP Protokolünde paketlere “segment” adı
verilir. 32 bitlik ilk altı word, Source Port, Destination Port, Sequence
Number, Acknowledgement number gibi datanın transfer edimesini sağlayan
bilgiler içerir.
· PAR (Positive Acknowledgement Response)
kullanır, bağlantıya bağlı olarak çalışır (Connection oriented).
· Transport Katmanı’nın üzerinde yer alır.
· Bir çok uygulamayı içeren bir katmandır.
Internet’in gelişmesi ile yeni uygulamalar eklenmektedir.
· Her uygulama belli bir protokol kullanır.
· FTP, TELNET, HTTP, TCP kullanır.
· DNS, RIP, UDP kullanır.
· Internet üzerinde bir host dan diğer bir
host’a data göndermek için bu üç işlevin çalışması gerekir.
· Data network üzerinde route edilerek gitmek
istediği host’un ağ interface’ine vardığında, doğru uygulamaya veya kullanıcıya
iletilmek zorundadır.
· Data TCP/IP katmanlarında yukarıya ve aşağı
doğru hareket ettikçe gerekli protokol ve portların bu datayı sağlıklı şekilde
kullanabilmesi için kullanılan mekanızma multiplexing diye adlandırılır.
· IP transport protokollerini tanımlamak için
protokol numaralarını kullanır.
· Transport protokolleri uygulamaları tanımak
için port numaralarını kullanır.
· Protokol numarası IP Datagram’ın 3 üncü
word’ünde belirlenir.
· IP bu protokol nosuna bakarak datayı
Transport katmanına iletir.
· Uygulamaları belirleyen Port no ları
transport katmanında kullanılır ve datanın gerekli uygulamaya gönderilmesini
sağlar.
· Source port numarası datayı gönderen prosesi,
Destination port numarası datayı alacak uygulamanın port numarasını belirler.
· 256 nın altındaki port numaraları çok bilinen
(HTTP 80, POP3 110, SMTP 25) gibi servisler için ayrılmıştır.
Bu servislerin Tcp/Ip bazında iyi anlaşılması
sağlıklı bir internet güvenlik politikası oluşturulması açısından önemlidir.
2.NETWORK GÜVENLİĞİ
· İlk temel nokta bir politakının
belirlenmesidir.
· Ne kimden korunmaktadır. Internet
güvenliğinden önce kurum içi bir güvenlik
mekanızması
lazımdır. RFC 1244 temel site güvenlik konularını içeren bir referanstır.
· Örneğin DOD nin kabul ettiği (orange book)
bir güvenlik sistemi vardır. Örneğin D1, C1, C2, B1, A gibi
· Kurum içi güvenlik mekanızmasının var olduğu
düşünülerek dışaraya karşı neleri korumak isteriz.
n Kurum içi data
n Kurum içi bilgisayarlar
n Şirketinizin itibarı
n Finans ve İnsan kaynakları dataları vs..
· Heterojen bir network yapısına sahip
şirketlerde kullanılan platform ve işletim sistemlerinin farklılığı önem
kazanır. Internet TCP/IP protokolünü kullanır.
· Level D1: En alt seviye güvenlik. Tanımlama
yok. Örnek: DOS, Macs
· Level C1: Moderate (Orta) seviyede güvenlik.
Kullanıcı tanımlanması. Örnek: UNIX system
· Level C2: C1 üzerine ek güvenlik önlemleri.
Kontrollü erişim ve tanımlama. Audit mekanızması ve daha iyi authentication.
· Level B: B seviyesi 3 alt kategoriye
bölünmüştür. B1, B2, B3
· Level B1: Labeled Security Protection.
Secret, top secret seviyeleri mevcut. Her bir obje (file) label ediliyor.
· Level B2: Structured Security Protection.
Donanımda labeling e dahil ediliyor.
· Level B3: Security Domain Level. Özel bir
donanım güvenliği ssağlar. Örnek: Secure Term.
· Unix sendmail deamon eski versiyonları root
privilege problemleri
· Unix fingerd deamon eski eski versiyonları.
Ünlü 1988 Internet worm bu gediği kullandı.
· WU public ftpd server yazılımı. (root
privilege problemi)
· Genelde SUID ve SGID programlara çok dikkat
edilmeli.
· IP Spoofing (Source adresi değişmiş Ip paketi
ile trusted hostlara salıdırı)
· Ping of Death: Standart ping servisini uzun
bir paket ile kullanarak bazı işletim sistemlerini çökertmek.
· SYN Floods: Denial of Service. TCP
servislerinin three way hand shake özelliğini kullanarak cevabı olmayan SYN/ACK
paketleri göndererek server’ı tamamen cevapsız hale getirmek.
· A -----------SYN-----------à B
· A ß-------SYN/ACK--------
B
· A -----------ACK-----------à B
Unreachable
Address -----------------SYN--------------à B
Unreachable
Address -----------------SYN--------------à B
Unreachable
Address -----------------SYN--------------à B
Unreachable
Address <-----------SYN/ACK-------------- B
Unreachable
Address <-----------SYN/ACK-------------- B
· Bir paketin IP source adresi değiştirilerek
local network üzerinde mir makine gibi davaranmak.
· Ne zaman tehlikeli: Local net de güvenilir
makinalar varsa. Örneğin UNIX sistemlerde .rhosts dosyası çok iyi kontrol
edilmeli.
2.5.Heterojen Networkler
· Örneğin Novell veya SNA konuşan bir networkde
TCP/IP desteği yoksa bu network temel olarak Internet’e karşı güvencededir.
Ancak...!
· İkinci önemli bir nokta kurumunuzdaki network
segmentlerinin hepsinin Internet’e açılıp açılmayacağıdır. Bazı önemli bilgiler
yüklü bilgisayarların Internet’e açılmasına gerek yoktur.
· Bir güvenlik yaklaşımı bazı segmentlerin
Internet’e açılmaması olabilir.
· En çok yaygın model host bazında güvenlikdir.
Bu modelde her host kendi güvenliğinden sorumludur. Büyük kurumlar için geçerli
değildir.
· Network güvenlik modelinde ise networkün
genel anlamda güvenliği sağlanmaya çalışılmaktadır.
· Network güvenlik modelinde ise merkeziyetçi
veya dağıtılmış bir yaklaşım kullanılabilir.
· Merkeziyetçi yapı tüm network güvenliğinin
bir noktadan sağlanması, dağıtılmış yapı ise farklı sub domainlerin farklı
system adminlere verilmesi ile gerçekleşir.
2.6.Internet Servisleri
· Bir önceki bölümde bahsedilen bir çok
Internet servisi bahsi geçen protokol ve port numaraları ile tanımlanabilir.
· Sık kullanılan Internet servisleri için UNIX
sistemlerinde /etc/services dosyası bu servisleri sıralamaktadır.
· Örneğin:
n echo 7/udp
n ftp 21/tcp
n telnet 23/tcp
n smtp 25/tcp
n finger 79/tcp
n http 80/tcp
n who 513/udb
n vs..
· CERT in yayınladığı raporlarda sakıncalı
uygulamaları ve güvenlik açıkları olan uygulamalar ile nasıl düzeltileceği
duyrulur.
· http://www.cert.org/
ftp://ftp.cert.org/ http://www.ncsa.com/
· Öreneğin CERT aşağıda sıralanan servislerin
filtrelenmesini tavsiye etmektedir.
Servis
Port
Tipi
Port
TFTP
udp
69
SUN RPC tcp ve
udp
111
BSD “r”
tcp
512 den 514 e commands
Lpd
tcp
515
Uucp
tcp
540
Open
Windows tcp
ve
udp
2000
X Windows tcp vee
udp
6000+
3.FIREWALLS (Ateş Duvarları)
· Firewall’lar en genel anlamda Internet ile
kurum içi networkumuz arasındaki trafiği denetleyen sistemlere verilen
addır.
· Firewall neler yapabilir?
n Güvenlik politikanızın oluşturulduğu bir
nokta olarak düşünülebilir.
n Tüm Internet trafiğini log edebilir.
n Firewall kurum içi farklı network
segmentlerinde fraklı kurallar uygulayabilir.
· Neler Yapamaz?
n Kurum içi güvenlik problemlerinden sizi
korumaz.
n Üzerinden geçmeyen trafiği denetleyemez.
n Bilinmeyen yeni güvenlik deliklerinden sizi
koruyamaz.
n PC ve Mac virüslerini engelleyemez.
· Firewall genelde TCP/IP bazında source
address, destination address address ve port numaralarına dayalı olarak
çalışır.
· Firewallar genelde Paket Filtreleme ve
uygulama kapıları olarak ikiye ayrılabilir.
· Bazen bu ayrım ağ seviyesi ve uygulama
seviyesiolarak adlandırılır.
· Paket filtreleme IP paketleri bazında source,
destination address ve port numaralarını inceleyerek bir filtereleme
işlemidir.Bir router temel olarak bir firewall olarak konfigure edilebilir.
· Uygulama tipindeki Firewall’lar ise Proxy
servislerin koştuğu hostlar olarak tanımlanabilir.
· Bu hostlar iki network arasında direkt olarak
trafiği geçirmez ve uygulama bazında gelen trafiği proses eder.
3.2.Temel Tanımlar
· Bastion Host: Internet’e
açık ve en iyi şekilde korunması gereken bir bilgisayar (host). Bastion ismi
orta çağ şatolarının korunması için kullanılan yüksek duvarlardan esinlenerek
verilmiştir.
· Perimeter Network (DMZ): Korunan
internal network ile dış dünya (Internet) arasında bir ara network. De-militarized
zone (DMZ) olarak da kullanılan bu ara network birden fazla olarakda
kullanılabilir.
· Paket Filtreleme: Bir
router üzerinde IP seviyesinde source (kaynak), destination (hedef) adresleri
ve gerekli protokollere bakarak paketleri elemek.
· Dual Homed Host: Bu
genel amaçlı olarak kullanılan, ancak iki arayüzü (örneğin: iki ethernet kartı)
olan bir bilgisayardır.
3.3.Proxy Server
· Dış dünya (Internet) ile internal (iç)
network’deki bilgisayarların bir röle üzerinden konuşmasını sağlamak. Bu
servisde proxy client ve proxy server olmak üzere iki bilgisayar işlev
yapmaktadır. Proxy client dış dünyaya erişmek için proxy server üzerinden geçer
ve dış dünyadan (Internet’den) gene proxy server üzerinden client
makinalara (internal networkteki) erişilir.
3.4.Paket Filtreleme
· Paket filtreleme temel olarak bir router veya
router deamon’ı koşan bir host üzerinde uygulanabilir.
· Genelde paket filtreleme “access list” ler
kullanılarak gerçekleştirilir.
· Bu tür access listler bir çok router firması
tarafından desteklenmektedir. (Cisco gibi)
· Aynı zamanda bir PC üzerinde de yapılabilir. ftp://ftp.net.ohio-state.edu/pub/kbridge
· Burda önemli oan hangi servislerin
sınırlandırılacağı konusudur. Bu da kurumunuzun hangi seviyede güvenliğe önem
verdiği, kaynaklarınızın nerelerde bulunduğuna bağlıdır.
· Genel olarak güvenlik konusunda açıkları
bulunan bir çok uygulama Computer Emergency Response Team (CERT) tarafından
sürekli olarak Internet’te duyrulur.
· Paket filtrelemeye dayalı olarak çalışan
Firewall’ların oluşturulması kullandığınız router donanımına bağlıdır.
· Kurulması kolaydır ancak total anlamda bir
güvenlik çözümü değildir.
· Senaryo: Kurum bir ISP ye bağlı ve C Class ip
adresine sahip 196.60.60.0 kurumdan tüm TCP/IP çıkışları serbest. Ancak sadece
Mail ve DNS Internet’ten gelebilecek servisler. Bütün gelen trafik Host A
196.60.60.10 a yönlendirilecektir.
· Bu senaryayo göre tüm dış bağlantılara izin
verilecek, sadece SMTP ve DNS e içeri geçişe izni verilecek.
3.6.Cisco Implementation
· Internet üzerinden serial0 porta gelen
incoming trafik filtre edilecektir. Kurallar bir “match” bulunana kadar test
edilir. Match bulunmaz ise tüm trafik için implicit bir deny uygulanır access
list’in sonunda.
· Standart ve extended access list for Cisco.
Cisco uses wildcard masks. Örneğin: 0.0.0.255
Cisco access list
No ip source-route
Interface ethernet 0
Ip address 196.60.60.1 mask 255.255.255.0
Interface serial0
İp access-group 100 in
Access-list 100 deny ip 196.60.60.0 0.0.0.255
Access-list 100 permit tcp any any established
Access-list 100 permit tcp any host 196.60.60.10 eq smtp
Access-list 100 permit tcp any host 196.60.60.10 eq dns
Access-list 100 permit udp any host 196.60.60.10 eq dns
Access-list 100 permit icmp any any
Örnek 2:
· Internal LAN: 144.19.74.0 Mail sadece
144.19.74.200 e gelecek. İçerdeki hostlara NFS servislerine dışarından izin
yok. İçerdeki hostlar WWW servisi hariç dışarıya çıkabiliyorlar.
· Burada routerın hem internal hemde external
interface ine filtre uygulayacağız.
External Interface
Access-list 101 deny
tcp 144.19.0.0 0.0.255.255 0.0.0.0 eq 80
Access-list 101 permit tcp 144.19.0.0 0.0.255.255 0.0.0.0
Internal Interface
Access-list 102
permit tcp 0.0.0.0 114.19.0.0 established
Access-list 102
permit tcp 0.0.0.0 114.19.74.200 eq 25
Access-list 102
permit tcp 0.0.0.0 114.19.74.201 eq 53
Access-list 102
permit udp 0.0.0.0 114.19.74.201 eq 53
· Paket fitreleme her zaman çok sağlam bir kale
oluşturmak için yeterli olmayabilir. Kullanıcılar kendileri için kendi
sistemlerinde açık kapılar bırakabilir.
· Ayrıca bazı TCP servislerinin filtre edilmesi
dikkatli yapılmalıdır. Örnek: ftp
3.7.Proxy Server Uygulaması
· Proxy servisleri uygulamaya bağımlıdır. Proxy
servis genelde korunan bir network ile Internet arasında uygulamaların
trafiğini sağlayarak çalışır.
· Bir çok yaygın kullanılan uygulama için
gerekli proxy yazılımı geliştirilmiştir.Örneğin TIS Internet Firewall Toolkit
bir çok Internet uygulaması için proxy servisleri içerir.

· Neden proxy servisler kullanılmaktadır?
Internet’e bağlanan kullanıcılarınızı çok sınırlamadan bir güvenlik kalkanı
oluşturmanızı sağlar. Ayrıca iyi bir log tutma imkanı sağlar.
· Proxy servisler için ne gerekir? Genellikle
server tarafında uygulamaya dayalı bir server olması gerekir.
· Client tarafında ise iki tip yazılım
olabilir. Custom client yazılımı: Yazılım proxy server’a nasıl ulaşılacağını
bilmelidir ve gerçek server bilgisini proxy’e iletmelidir. Custom user yazlımı:
Kullanıcı standart client yazılımı kullanır ve proxy’e gitmesi gerekli real
server’ları tanımlar.
· Proxy servislerde TCP UDP ye göre daha
avantajlıdır.
· Custom client yazılımı genelde bazı
platformlar için mevcuttur. Bu nedenle uygulamanın hangi platformlarda yazlımı
olduğuna bakmak lazım. Örnek: Igateway SUN ın ftp ve telnet için kullandığı bir
client yazılımı.
· SOCKS bu amaçlı bir toolkit. Kullanılan
client/server uygulamalarını proxy servislere çevirmek için kullanılıyor.
· Custom user yaklaşımında bilinen client
yazılım kullanıyor ama kullanıcıya gerekli kullanım teknikleri gösteriliyor.
· Örneğin: ftp kullanımında önce bastion hosta
ftp yapıp burda user name ve password girişlerine esas gitmek istediğniz yerin
adresi ve user id si yazılıyor.
· Genelde paket filtreleme ve proxy servisler
beraber kullanılabilir.
· 3 Temel Firewall uygulaması.
n Dual homed host mimarisi
n Paket filtreleme ve screened host
n Paket filtreleme ve screened subnet

· Internet ile Internal LAN (Local Area
Network) arasında yer alan bir host olarak Internet trafiğini filtre eder.
· İki şekilde kullanılabilir.
· Tüm kullanıcılar bu host üzerinden Internet’e
bağlanır yani bu host’a login edip burdan Internet’e çıkarlar.
· Bu host üzerinde proxy servisler kullanılarak
Internet’e bağlanırlar.
· Bu mimaride bastion host Internal network’de
yer alır. Router üzerinden sadece bu bastion host’a arişilebilir.
· Bu durumda bile sadece kullanılmasına izin
verilen servislere izin verilir. Gene aynı şekilde dışarıya trafiğe router
karar verir.
· Bu uygulamada ana güvenlik packet filtering
router sayesinde sağlanır. Bastion host dışındaki makinalarda erişim
engellenir.
3.8.3.İki Seviyeli Güvenlik
· Screened subnet mimariside denilen bu yapıda
güvenlik için ek bir ara network oluşturulur.
· Screened host mimerisinde bastion host’u
kırabilen biri Internal network’e erişmiş olur. Bu yapıyla bu bir anlamda
engellenmiş olur.
· Bastion host perimeter network üzerinde yer
alır ve içerdeki LAN la ekstra router ile ayrılır.
· Internal network’e girebilmek için iki
router’ı da geçmek gerekir.
· Bir network üzerindeki bir makina diğer bir
network üzerindeki makinaların trafiğini görebilir. Bu yapıyla bu engellenmiş
olur.
· Dışarıya trafik ta tamamen açılır iki router
üzerinden ya da bastion üzerinden proxy yapılır.
· Private Key Encryption Des, IDEA, Clipper
Chip
· Public Key RSA and Diffie Hellman
· For mailing PGP mail utiliy
· Kerberos by MIT Athena Project
· Digital token cards: no reusable passwords.
3.9.1.Encryption ile ilgili sorunlar
· Kullanılan protokol konusunda anlaşma
· Anahtar dağıtılmasının güvenliği Private key,
Public key
· Performans ve dayanıklılık karşılaştırması
· SUN Micro Systems in geliştirdiği SUNSCREEN
· IP den bağımsız bir anlamda görünmez bir
kalkan
· Gene SUN ‘ın geliştirdiği SKIP. Simple Key Management
Protokol for IP
3.9.3.SUN Screen Özellikleri
· Dışarıya açık bir işletim sistemi yok.
· Sadece internal bağlantı ile erişilebiliyor.
· IP adrsleme yapılmıyor yani visible değil.
· State bazında network seviyesinde filtre
yapıyor.
· Paket bazında veya servis bazında (TCP, FTP
gibi) filtre yapabiliyor.
3.9.4.SKIP Özellikleri
· Uygulamadan bağımsız.
· Public key kullanıyor.
· Network Layer Protokol.
· Session Key.
· 1024 bit anahtar
· Diffie Hellman algoritmasına dayanıyor.
3.9.5.Check Point FW-1 Paketi
· Bu yazılım paketi marketteki en kullanışlı ve
etkin network güvenlik paketi.
· Hem paket filtering, hem router kontrol, hem
proxy servisleri içeriyor.
· Authentication modulleri mevcut, one time
password servisi verebiliyor.
· NAT (Network Adres Translation) yapabiliyor.
· Anti spoofing yapıyor.
· Logging özellikleri var. [ 1 ]
4.İNTERNETE BAĞLANIRKEN GEREKENLER:PROXY VE
FIREWALL
Her şirkette bir gün Internet'e bağlantı ve bunun getireceği yararlar gündeme getirilir. Fakat Internet bağlantısı, Bilgi İşlem açısından bir kaç sorun teşkil etmektedir:
Günün sonunda, %100 güvenlik ve kontrol yoktur. Fakat güvenlik ve kontrolü, kolaylıkla bertaraf edilebilir halden çıkarmak mümkündür.
Bütününe güvenlik duvarı dediğimiz servisler aslında bir kaç alt kavramdan oluşmaktadır: Bastion host, NAT, Paket Filtreleme, Proxy (vekil). Bütün güvenlik duvarları (ticari olanlar ve olmayanlar), bu uygulamaların hepsini veya bir kısmını uygularlar.
Neyi, nasıl güvenlik altına aldığınızı bilmeden, pahalı bir ticari güvenlik duvarı satın almak size güvenlik sağlamaz. Dünyanın en pahalı ve gelişkin güvenlik duvarı, eğer çeşitli protokolleri açmış, fiziksel bağlantının tekliği kavramına uymamış, her tür erişime izin vermiş iseniz, size bir fayda sağlamaz. Elinizdeki Cisco router'unuzu paket filtrelemek için programlamaktan tutun, ticari ve pahalı bir güvenlik duvarı satın almaya kadar uygulayacağınız her tür yöntem, neyi, ne için yaptığınızı biliyorsanız faydalıdır. Güvenlik duvarları, sizin ağ altyapınız ve sizin erişim ihtiyaçlarınız ile alakalıdır. Dolayısıyla ticari bir güvenlik duvarı satın almak niyetinde olsanız dahi, güvenlik duvarlarının ne yaptığını öğrenmek ve erişim ihtiyaçlarınızı belirlemek zorundasınız.
Güvenlik duvarınızı kendiniz, Linux temelli bir makina üzerinde oluşturabilirsiniz, veya kendiniz oluşturmak istemezseniz Linux temelli hazır bir güvenlik duvarını uygulayabilirsiniz. Ticari olarak satılan güvenlik duvarlarının yapıp, doğru oluşturulmuş bir Linux sisteminin yapamadığı hiç bir şey yoktur.
Her ne kadar genel bir dağıtım (örneğin Redhat) ile başlayıp kendiniz güvenlik duvarını oluşturabilseniz dahi bazı sebeplerden dolayı bunu yapmak istemeyebilirsiniz:
Genel olarak, eğer Internet erişiminiz, kullanacağınız makina, uygulayacağınız protokoller Linux temelli hazır güvenlik duvarlarının birisi tarafından karşılanıyorsa, bunu kurmayı tercih edin. Eğer daha özel bazı istekleriniz varsa, kullandığınız donanım bu sistemler tarafından desteklenmiyorsa, o zaman aşağıda Redhat dağıtımından yola çıkılarak bir güvenlik duvarının nasıl oluşturulduğu anlatılmıştır.
Astaro gerçekten profesyonel bir güvenlik duvarı. Internet'ten indirebilirsiniz. Ticari kuruluşların lisans alması isteniyor. Güvenlik duvarı üzerinde, Internet'ten gelen postalar virüs kontrolünden geçiriliyor ve alınan lisans ağırlıklı bununla ilgili. Modem bağlantısı desteklemiyor -- fakat eğer sabit bir bağlantı ile Internet'e erişiyorsanız, bu sistemi kurun. Piyasadaki bütün ticari, kapalı güvenlik duvarları ile rahatlıkla yarışabilecek bir ürün. Lisanslandığı zaman otomatik olarak virüs dosyalarını ve kendisini güncelleyebiliyor. Sahiden güzel bir web tabanlı grafik arayüzü var.
Daha ziyade ev kullanıcıları için tasarlanmış, modem bağlantısı da destekleyen bir güvenlik duvarı. Sevenleri çok, fakat 2.2 çekirdeği kullandığından dolayı dinamik filtreleme yapamıyor. Geliştiricileri pek geçimli değil ve son zamanlarda ürünlerini giderek daha fazla kapalı hale getirme çabası içerisindeler. Salt bu sebeplerden dolayı ben kullanmazdım.
Aşağıda bir Redhat makinasının nasıl güvenlik duvarı haline
getirildiği anlatılmıştır.
İdealde ağınızdaki güvenlik ağ seviyesinde ve ağdaki her bir makinada uygulanır. Pratikte ise, bu ya yapılamamakta, ya da ihtiyaç duyulan kimi protokollerin güvenlikten yoksun olduğu bilinse dahi kullanılmaktadır. Böyle durumlarda güvenlik duvarı, içeride birbirlerine güvenen, az korumalı makinaların olduğu bir ağla, dış dünya arasına yerleştirilir ve aradaki fiziksel bağlantı yalnızca güvenlik duvarı tarafından sağlanır. Dolayısıyla içerideki ağa girmek isteyen her kötü niyetli dış saldırı, önce özel olarak korumalı tasarlanmış güvenlik duvarı makinasını bertaraf etmek zorundadır. Bu makinaya kale, nöbetçi kale anlamına gelen bastion host da denir. Bastion host, fiziksel olarak iki farklı ağa bağlıdır: iç ağ (Intranet) ve dış ağ (Internet). Bastion host iki özelliğe sahiptir:

Günümüzde iç ağların hemen hepsi tahsisli olmayan IP numaraları (10.0.0.0, 192.168.0.0 vs.) kullanmaktadır. Bu IP numaraları Internet üzerindeki yönlendiriciler (router) tarafından bilinmez. Dolayısıyla bu ağlardan Internet'teki herhangi bir makinaya bir erişim olduğu zaman Internet'teki makina bu ağa nasıl geri döneceğini bilmez ve pratikte iletişim yapılamaz. Güvenlik duvarı ise, dinamik veya statik olarak Internet'te bilinen ve kendisine yönlendirme yapılabilen bir IP numarasına sahiptir. İç ağdaki makinalara erişim sağlayabilmek için güvenlik duvarı, kendisine iç ağdan gelen her paketin kaynak adresini kendi adresi olarak değiştirir. Kendisine Internet'ten gelen paketlerin de hedef adresini iç ağdaki ilgili makinanın adresi olarak değiştirir ve bu yolla iç ağdaki makinaların Internet üzerindeki makinalarla haberleşmesini sağlar. Bu işleme IP Masquerade (IP Taklidi) veya NAT (Network Address Translation - Ağ Adres Çevrimi) denir.
NAT yapıldığı zaman, oluşan trafiğin Internet'ten görüldüğü hali, Internet'te bulunan tek bir makinanın (güvenlik duvarı) bazı Internet alışverişleri yaptığıdır. Internet'e, bu makinanın arkasındaki ağın büyüklüğü, bu ağdaki makinaların cinsi, sayısı, ağın yapısı vs. hakkında herhangi bir bilgi gitmez. Dolayısıyla NAT, yalnızca tahsissiz ağlardan Internet'e erişimi sağlamakla kalmaz, ağınızdaki makinalar hakkında bilgi edinilmesini (ve dolayısıyla size karşı yapılabilecek saldırıları) zorlaştırır.
Yukarıda bahsedilen önlemler (güvenlik duvarının tek fiziksel bağlantı olması, NAT uygulanması) ağınıza belli bir miktar güvenlik sağlar, fakat esas güvenlik, paket filtreleme yöntemlerinden gelir. Bu yöntemler, güvenlik duvarından geçen her IP paketine bakılması ve ancak belli şartlara uyarsa geçişine izin verilmesi şeklinde uygulanır.
Örneğin:
Bu hedefleri gerçekleştirmek için paket filtreleme yöntemleri kullanacaksınız. Paket filtreleme, güvenlik duvarının her fiziksel bağlantısı üzerinde ayrı ayrı ve yöne bağlı (dışarıya çıkışa izin ver, fakat içeriye girişe izin verme) olarak uygulanabilir.
Paket filtrelemede özellikle yapmanız gereken minimum, dışarıdan gelip de kaynağını içerisi gibi gösteren (ip spoofing, ip aldatmacası) paketleri ve devam etmekte olan bir trafiğin parçası imiş gibi gelen paketleri (ip fragments) filtrelemek ve bunların geçişine izin vermemektir. Çoğu saldırı, bu şekilde başlar.
Bu minimumu sağladıktan sonra, dışarıdan içeriye yapılmasına izin verdiğiniz erişimleri (telnet yapsınlar mı?, ping yapabilsinler mi?) ve içeriden dışarıya yapılmasına izin verdiğiniz erişimleri (kullanıcılarınız dışarıya telnet yapabilsin mi? Web'e erişsinler mi? ICQ yapabilsinler mi?) belirlemeniz ve güvenlik duvarı üzerindeki filtre protokollerinizi buna göre oluşturmanız gerekir.
Eskiden filtreleme metodları ağırlıklı olarak statikti -- yani genel olarak ağınıza ICQ paketlerinin girmesine izin verip vermeme kararı söz konusu idi. 2.4 Çekirdeği ve bizim aşağıda örneğini verdiğimiz iptables uygulaması ile birlikte stateful (dinamik) filtreleme Linux üzerinde kullanılabilir hale geldi. Aradaki fark, paketin sırf protokolüne bakarak karar vermek yerine, güvenlik duvarının bir bağlantıyı hangi tarafın başlattığını takip etmesi ve çift yönlü paket geçişlerine buna göre karar vermesidir. Yani bir telnet bağlantısında her iki taraftan da paketler gelir ve gider. Fakat dinamik filtreleme ile, bir telnet bağlantısı iç ağınızdan başlatılmışsa izin verir, başlangıç istemi dış ağdan gelmişse reddedebilirsiniz. Dinamik filtreleme özelliği olmayan güvenlik duvarlarını kullanmanızı önermiyoruz. 2.4 çekirdeği ve iptables uygulaması olan her Linux üzerinde dinamik filtreleme yapabilirsiniz.
Ağınızda Internet'ten erişimi olması gereken web, posta gibi sunucular bulunabilir. Bu sunuculara erişimi iki yoldan vermeniz mümkündür:
DMZ, güvenlik duvarı tarafından daha az korunan, daha fazla erişime izin verilen bir bölgedir. Güvenlik duvarına üçüncü bir ağ çıkışı eklenmesi ve Internet'e servis verecek olan makinaların buraya konulması ile oluşturulur. Örneğin DMZ'deki makinalara NAT uygulanmayabilir, tahsisli IP numaralarına sahip olabilirler. Güvenlik duvarı, telnet, ssh gibi kimi protokollerin buraya erişimini filtreleyerek DMZ bölgesindeki makinalara güvenlik sağlar. Dikkat edilecek nokta, DMZ'de bulunan makinaların daha fazla erişime (ve dolayısıyla saldırıya) açık olmasıdır. Buradaki makinalar dikkatli kurulmalı, güvenliğe aykırı protokoller vs. burada yer almamalıdır.

DMZ oluşturmak için ek ekipman ve IP numarası gerekir. Güvenlik duvarında üçüncü bir ağ birimi, ayrı bir switch, daha fazla adette tahsisli IP numarası, ve iç ağınızda başka herhangi bir görev görmeyecek olan sunucu makinalar gerekir. Eldeki imkanlar buna yetişmeyebilir. Böyle durumlarda, güvenlik duvarınızdaki filtreleme politikasını değiştirerek iç ağınızdaki kimi makinalara dışarıdan sınırlı erişim imkanı verebilirsiniz. Örneğin güvenlik duvarınız ağınızın genelinde dışarıdan gelen SMTP (posta) protokolünü filtrelerken, sadece posta sunucunuza dışarıdan SMTP protokolü erişimini verebilir. NAT ile birleştirileceğinden, bu dışarıdan bakıldığı zaman sanki güvenlik duvarınız posta sunuculuğu yapıyormuş izlenimini verir.
Proxy'nin kelime anlamı vekil'dir. Yukarıdaki metodların hepsi, belli kurallara bağlı olarak Internet'teki bir makina ile iç ağdaki bir makina arasında direkt alışverişe izin verir. Vekil uygulamaları ise, bu direkt alışverişin arasına girer. Dolayısıyla protokol bazlı herhangi bir saldırı, vekil sunucuya yönelik gerçekleşir, iç ağdaki makinayı etkilemez. Örneğin bir http (web) vekili, iç ağdan dışarıya giden bütün web isteklerini toplar. Bu istekleri kendisi yapar, gelen sonuçları iç ağa dağıtır. Örneğin eğer web protokolü yolu ile istemci makinanın bazı bilgilerinin alınması veya bir saldırı yapılması söz konusu olur ise, bundan etkilenen sadece web vekili makina olur, iç ağda web erişiminde bulunan her makina değil.
Güvenlik amacı ile proxy kullanımı, application level firewall (uygulama temelli güvenlik duvarı) olarak adlandırılır.
Vekil sunucular, en fazla kullanılan örneği olan web vekili (squid) üzerinde daha detaylı olarak aşağıda anlatılmıştır.
Bizim Firma A.Ş.'de henüz hızlı bir Internet bağlantısı bulunmamaktadır. Sabit hattın kurulması beklenirken Internet erişimini başlatmak istedik. Bunu yaparken elde olan Equinox çoklu modem kartını kullanmak, ve karttaki modemlerden birisini Internet'e tahsis etmek istedik. Karttaki diğer modemler başka işler için kullanılacak. Bir modem ise dial-on-demand (gerektiği zaman çevir/bağlan) yöntemi ile Internet'e bağlantı sağlayacak.
Bir modem ile sürekli olmayan bir bağlantı üzerinden ne kadar dış saldırı gelebileceği tartışılabilir. Fakat bu uygulamayı gelecek olan sürekli bağlantı için bir ön çalışma olarak kullandık. Üstelik, bir modemin bağlantısını paylaştırabilmek için NAT yapmamız, bu kadar düşük hızlı bir bağlantıda biraz daha iyi performans sağlamak için web vekili (squid) kullanmamız, ve ICQ vs. gibi iş için gerekli olmayan erişimleri engellememiz gerekmekte idi. Bu da zaten genel bir güvenlik duvarı oluşturmakta kullanılan bütün kavramları devreye soktu.
Özel bir modem kartı kullanmamız, bu karttaki başka modemler üzerinde farklı hizmetler vermek istememiz ve Internet bağlantımız modem üzerinden olduğu için Astaro'yu kullanamadık.
Makina üzerine Redhat 7.2 kurduk. Custom server (özel sunucu) seçeneğini kullandık. Disk bölümünü Disk druid ile manuel olarak yaptık, 96 Meg /boot, 1 Gig swap (ileride RAM'i arttırırsak ek iş çıkarmamak için gereğinden 4 kat fazla), geri kalanı da / olarak bölümledik. /boot ve / üzerinde ext3 jurnalli dosya sistemini kullandık.
Makina üzerindeki iki ethernet kartının birini devre dışı bıraktık. İleride sabit bağlantı olduğu zaman bu kart üzerinden dışarıya bağlanacağız. İçeriye bağladığımız ethernet kartına manuel olarak 10.254.254.254 IP numarasını verdik. Ağın genelinde bu IP numarası gateway adresi olarak kullanılacak. DNS sunucu numarası 127.0.0.1 (makina üzerinde yerel bir DNS sunucusu çalıştırıyoruz, iç ağdaki DNS sunucusundan bağımsız)
Güvenlik duvarını kendimiz kuracağımızdan dolayı "no firewall" seçeneğini seçtik. Kurulumda yaptığımız paket seçenekleri:
Makinayı text (metin) bazlı açma seçeneğini etkinleştirdik. Kurulum esnasında kurduğumuz paketler gerekenden bir hayli fazla. Bunların bir bölümünü daha sonra makinadan kaldırdık. Güvenlikli bir sistem kurmanın püf noktası makinada gerekmeyen hiç bir şeyin bulunmamasından geçmekte. Dolayısıyla daha sonra makinadan pek çok paketi kaldırdık.
Makina kurulduktan sonra ilk işimiz gerekmeyen servisleri kapatmak oldu. Teker teker bütün servisleri gözden geçirip gerekip gerekmediğini düşündük.
cd /etc/rc.d/rc3.d
ls *
mv S09isdn K09isdn
mv S28autofs K28autofs
mv S80sendmail K80sendmail
mv S13portmap K13portmap
mv S14nfslock K14nfslock
mv S60lpd K60lpd
mv S56rawdevices K56rawdevices
mv S25netfs K25netfs
mv S55sshd K55sshd
Bundan sonra /etc/xinetd.d
dizininde yer alan, xinetd vasıtası ile başlatılan servislere baktık (telnet,
ping vs.). Bunların hepsinin kapalı olduğundan emin olduk.
Sistemden kaldırılan paketler biraz sizin tercihinize bağlı. Biz bütün paketlere bakarak gerekmediğini düşündüğümüz herşeyi kaldırdık. Genel teamüle aykırı olarak development (geliştirme) ile ilgili paketleri ve istediğimiz zaman grafik arayüz kullanmak için kullanılan paketleri sistemde bıraktık. Bunun ne kadar doğru olduğu tartışılabilir, fakat güvenlik duvarı makinası üzerinde yapılacak işlemleri bizim açımızdan kolaylaştırmakta.
Redhat web sitesinden sistemimizi ilgilendiren bütün güncellemeleri uyguladık. Genel prensip olarak, eğer sistemde kurulu ise, ve güncellenmesi çıkmış ise, bunu indirip kurduk. Zaman zaman da bu güncellemeyi yapmaya devam edeceğiz. Bu makinanın güncellenmesi, iç ağda yer alan herhangi bir makinanın güncellenmesinden çok daha önemli. Saldırılar genelde bilinen ve yeni sürümlerde düzeltilmiş olan eksikleri kullanarak güncellenmemiş sistemlere yönelik oluyor.
Kullandığımız modem kartının sürücülerini Internet'ten indirmek zorundayız. Equinox web sitesinden eqnx-4.01-1.i386.rpm paketini indirdik ve kurduk. Bu paket rpm -Uvh eqnx* komutu ile sürücüsünü derliyor, ve sistem açılırken gerekli olan ayarlarını /etc/rc.d/rc.local dosyasına yazdırıyor. Bu işlemden sonra Internet için kullanacağımız modem /dev/ttyQ1a1 aygıtı olarak sistem tarafından görüldü. Eğer seri port üzerinden external modem kullansa idik, aygıtımız /dev/ttyS01 olarak görülecekti ve bu işlemi yapmak zorunda olmayacaktık.
Grafik arayüzleri (kppp vs.) normal masaüstü kullanımı için bu işlemi çok kolay hale getirmiş durumda, fakat bizim yaptığımız gibi sunucu şeklinde otomatik aranacak bir sistemde kendi bağlanma betiklerimizi hazırlamak zorundayız. Bu işlem biraz deneme yanılma gerektiriyor ve bir ISP'de çalışan betik bir diğerinde çalışmayabiliyor.
Deneme yanılma yöntemi ile bulduğumuz, NetOne ve AttGlobal için çalışan arama betikleri (telefon yazan yere telefon numarasını, örneğin 08225551212, yazın): call-netone, call-attglobal. Bu betikleri /etc/ppp dizinine kaydedin: cp call-netone /etc/ppp; cp call-attglobal /etc/ppp. Başka ISP'ler için çalışan bağlanma betikleriniz varsa, lütfen bana gönderin. Bu betiklerin dosya izinlerinin gerektiği kadar olduğundan emin olun: chmod 600 /etc/ppp/call*
ISP'deki parola ve kullanıcı isminizi chap-secrets ve pap-secrets dosyasına kaydedin. AttGlobal Chap desteklemiyor, dolayısıyla onu yalnızca pap-secrets dosyasına koyduk. Bu dosyalarda kullanici-ismi yazan yere ISP'deki kullanıcı isminizi (örneğin mehmet), parola yazan yere parolanızı (örneğin c2fj80d90) yazın. Bu dosyaları /etc/ppp dizinine kaydedin (orada boş dosyalar olduğundan soru sorabilir): cp chap-secrets /etc/ppp; cp pap-secrets /etc/ppp. Bu dosyaların dosya izinlerinin gerektiği kadar olduğundan emin olun: chmod 600 /etc/ppp/*secrets .
PPPD çok amaçlı bir servis. Bütün
seçeneklerini detaylı anlatmamıza imkan yok. Önemli bir nokta, eğer
/etc/ppp/options.ttyXYZ diye bir dosya bulur ise, o aygıt için o dosyayı
otomatik uygulayacağı. Bizim aygıtımız ttyQ1a1 olduğu için, /etc/ppp/options.ttyQ1a1
dosyası aşağıda:
#Bu
seçenek bağlantı olduğu zaman aradaki ayar paketlerinin sayısını belirliyor.
#Bazen öntanımlı 10 paket yetmeyebiliyor. 30 olarak kullandık.
lcp-max-configure 30
#Bağlantı başlayınca modemi kilitliyor
lock
#10 dakika bir iletişim olmadığı zaman
bağlantıyı kapatıyor
idle 600
#Dışarıdaki bağlantı ppp'nin iki ucundaki
dinamik IP adreslerini belirler
ipcp-accept-remote
ipcp-accept-local
#Biz parola sormuyoruz, onlar bize soruyor
noauth
#Hangi kullanıcı olarak bağlandığımız. secrets
dosyalarındaki parolayı bulmak
#için kullanılıyor.
user kullanici-ismi
#Birden fazla hesap secrets dosyasında yer
alıyor. Bunlardan hangisi kullanılacak.
remotename attglobal
#Modem hızımız
57600 crtscts
#İlk başlatıldığı zaman ppp'nin iki ucundaki IP
numaralarını belirlemek zorundayız.
#Bağlantıdan sonra bunlar değişecek ve gerçek (ve o bağlantıya has) IP
numaraları
#olacak. Ama şimdi bir şeyler vermek zorundayız.
139.92.80.128:152.158.100.30
#Bağlantı betiğimiz.
connect '/usr/sbin/chat -v -f
/etc/ppp/call-attglobal'
#Dial-on-demand, yani dışarıya biri bir paket
gönderdiği zaman bağlanacağız, hemen değil.
demand
#ppp bağlantısı bu makina için öntanımlı gateway
olacak.
defaultroute
Bu dosyayı birebir değil, sizin modem aygıtınızın ismi ile kaydedeceksiniz. Yani modeminiz /dev/ttyS01 ise, cp options.ttyQ1a1 /etc/ppp/options.ttyS01. Bu dosyanın dosya izinlerinin gerektiği kadar olduğundan emin olun: chmod 600 /etc/ppp/options* .
Bizim modemimiz ancak /etc/rc.d/rc.local dosyasında ilgili satırlar işlendikten sonra sistem tarafından görülebilir. Dolayısıyla biz pppd başlatma komutumuzu rc.local'e koyduk. Bu bütün sistem ayağa kalktıktan sonra en son işlendiği için sizin için de çalışacaktır.
/etc/rc.d/rc.local dosyasına
/usr/sbin/pppd ttyQ1a1
ilave ettik. Sizin modeminiz ttyS01 ise, /usr/sbin/pppd ttyS01 yazacaksınız.
Bundan sonra makinanız her yeniden başlatıldığında, "dial-on-demand"
yöntemi ile Internet'e bağlanmaya hazırdır. Henüz bu Internet bağlantısını
başkalarına paylaştırmak konusunda bir bilgisi yok, fakat kendisi Internet'e
otomatik olarak ihtiyaç gördükçe bağlanır, ve belli bir süre trafik olmazsa
bağlantıyı kapatır.
Bundan sonra ilgili NAT ve filtreleme kurallarını oluşturmamız gerekiyor. Bu işlemi elle de yapabilirdik. Fakat Internet'ten indirebileceğiniz Fwbuilder yazılımı bu işlemi bir hayli kolaylaştırıyor.
Fwbuilder'ı derleyebilmemiz için
bize libxml2-devel, libxslt-devel, libsigc++ ve libsigc++-devel paketleri
gerekti. Bunları Redhat CD'sinden yükledik. Ayrıca, Internet'ten Gtkmm paketini indirdik. Bu paketi rpm
-tb gtkmm-1.2.8.tar.gz komutu ile derledik ve oluşan RPM'leri sisteme kurduk:
rpm -Uvh /usr/src/redhat/RPMS/i386/gtkmm*.
Fwbuilder web sitesinden fwbuilder-1.0.0-1rh72.src.rpm ve libfwbuilder-0.10.4-1rh72.src.rpm paketleri indirildi. rpm --rebuild libfwbuilder* komutu ile libfwbuilder paketi derlendi, rpm -Uvh /usr/src/redhat/i386/libfwbuilder* komutu ile sisteme kuruldu. Daha sonra rpm --rebuild fwbuilder* komutu ile fwbuilder derlendi, rpm -Uvh /usr/src/redhat/RPMS/i386/fwbuilder* komutu ile sisteme kuruldu.
fwbuilder komutu ile yazılım açıldı. Iptables seçeneği seçildi. Yerel network (intranet) ve güvenlik duvarı makinası (perde adında) tanımlandı. "Help me build firewall policy" seçeneğinin yardımı ile ilk temel kurallar oluşturuldu, üzerine aşağıdaki kurallar ilave edildi.
ppp0
|
Kaynak |
Hedef |
Servis |
İşlem |
Yön |
Açıklama |
|
Herkes |
Herkes |
ip_fragments |
Paketi yok et(deny) |
içeri gelen (inbound) |
Modem kartına gelen (içeriden veya dışarıdan) her tür IP paket
parçacığı reddedildi. |
|
intranet, perde |
Herkes |
Bütün servisler |
Paketi yok et(deny) |
içeri gelen (inbound) |
Modem kartına dışarıdan içeriye gelip de kaynağını iç ağ olarak
gösteren bir paket bir ip taklidi (ip spoofing) saldırısı olabilir. Reddedildi. |
|
XIntranet, Xperde |
Herkes |
Bütün servisler |
Paketi yok et(deny) |
dışarı çıkan (outbound) |
Modem kartına içeriden gelip de kaynağını dışarısı olarak
gösteren bir paket olmaması gerekir, fakat başka bir sorunun işareti
olabilir. Reddedildi. |
lo
|
Kaynak |
Hedef |
Servis |
İşlem |
Yön |
Açıklama |
|
Herkes |
Perde |
Hepsi |
Kabul et |
İçeri gelen (inbound) |
Loopback, makinanın kendi içinde çalışması gerekli olan bir
arabirim. Herşey buna açık |
|
Perde |
Herkes |
Hepsi |
Kabul et |
Dışarı çıkan (outbound) |
Loopback, makinanın kendi içinde çalışması gerekli olan bir
arabirim. Herşey buna açık |
|
İlk Kaynak |
İlk Hedef |
İlk Servis |
Çevrilen Kaynak |
Çevrilen Hedef |
Çevrilen Servis |
Açıklama |
|
Intranet |
Herşey |
http |
Değişmedi |
Perde |
squid |
Bir web vekili (squid) kullanıyoruz. Dolayısıyla iç ağdan web
(http) kullanarak dışarı çıkmak isteyen bütün paketleri güvenlik duvarı
üzerinde squid portuna gönderiyoruz. Bunu kullanabilmek için güvenlik duvarı
üzerinde squid vekil sunucusu çalıştıracağız. |
|
Intranet |
Herşey |
Herşey |
Perde |
Değişmedi |
Değişmedi |
Intranet'ten dışarıya çıkmak isteyen herşeyi sanki paket
güvenlik duvarından kaynaklanmış gibi yeniden yazıyoruz. |
|
Kaynak |
Hedef |
Servis |
İşlem |
Açıklama |
|
Herkes |
Herkes |
ip parçacıkları |
Paketi yok et(deny) |
Bütün olmayan IP paketlerini yok ediyoruz |
|
Herkes |
Intranet, perde |
Faydalı ICMP |
Kabul et |
Bu icmp servisleri bazı servislerin doğru çalışması için
faydalı. |
|
Perde |
Intranet |
Zaman aşımı |
Kabul et |
Traceroute için bu gerekiyor |
|
Intranet |
Perde |
Herşey |
Kabul et. |
İçeriden güvenlik duvarına erişim var |
|
XIntranet |
Perde |
ssh, telnet, http |
Paketi yok et(deny) |
İçeriden gelmeyen ssh, telnet, http isteklerine cevap
vermiyoruz. Zaten güvenlik duvarı üzerinde ssh ve telnet çalıştırmıyoruz ve
aşağıdaki genel kural bunları da engellerdi. Fakat gene de emin olalım
dedik.. |
|
perde |
Herşey |
herşey |
Kabul et |
Güvenlik duvarı herkese erişebilir |
|
Intranet |
Herşey |
http, https, dns_tcp, dns, ntp, traceroute, bütün icmp, telnet,
imap, imaps, pop3, smtp, smtps, ssh, ftp, ftp data |
Kabul et |
İç ağdan bu servislerle dışarıya erişime izin var |
|
Intranet |
Herşey |
Herşey |
Reddet |
Yukarıda kabul edilmeyen servisleri iç ağ için hemen
reddediyoruz (bekleme olmuyor) |
|
Herşey |
Herşey |
Herşey |
Paketi yok et(deny) |
Yukarıdaki kuralların dışında kalan bütün durumları reddediyoruz |
Fwbuilder, verilerini bir xml dosyası halinde saklıyor. /usr/local/firewall adında bir dizin oluşturduk, ve burada perde.xml adında bir dosyada tanım dosyamızı tutuyoruz. Bizim kullandığımız tanım dosyasını indirebilir ve bunu değiştirerek kendi kurallarınıza uygun hale getirebilirsiniz. Kural kümemizi oluşturduktan sonra derleme (compile) seçeneği ile kuralları derliyoruz. Derlenen kurallar /usr/local/firewall/Perde.fw adında bir dosyaya konuyor.
Filtreleme kurallarımız /usr/local/firewall/Perde.fw dosyası altında oluştu. Şimdi bunu devreye almamız gerekli. Redhat'in iptables betiğini bu iş için değiştirerek kullandık. Burada dikkat edilecek nokta, filtreleme işinin modem devreye alınıp pppd çalıştırıldıktan sonra yapılması gerektiği. Dolayısıyla Redhat'in öntanımlı iptables çalıştırma sırası da değişmek zorunda. Bu betiği rc.local'dan çalıştıracağız.
Önce bir hata olmaması için iptables betiğini normal yerinden sildik: rm -f
/etc/rc.d/rc3.d/*iptables. Değiştirilmiş iptables betiğini
/etc/rc.d/init.d altına kopyaladık. Dosya izinlerinin doğru olduğundan emin
olduk: chmod 755 /etc/rc.d/init.d/iptables. /etc/rc.d/rc.local
betiğinde, pppd satırından sonra:
/etc/rc.d/init.d/iptables start
satırını ekledik. Bundan sonra makina yeniden başlatıldığı zaman otomatik
olarak NAT ve filtreleme başlayacak. Yerel ağdaki makinalara gateway adresi
olarak güvenlik duvarımızın IP adresi olan 10.254.254.254'ü verip, iç ağdan
herhangi bir şekilde Internet'e ulaşmak istediğimiz zaman güvenlik duvarımız
Internet'e bağlanacak ve oluşturduğumuz kurallar dahilinde erişimi sağlayacak.
Eğer bir vekil kullanmayacak olsak, güvenlik duvarımız kullanmaya hazır idi. Fakat vekil sunucular, özellikle http için performans kazandırıcı bir unsurdur.
Özellikle Web (Internet'te sörf) kullanımında, her bir sayfa, her bir
tarayıcı istemi için tekrar tekrar ana sunucudan getirilmektedir. 
Ağ üzerinde yüz istemcinin Hürriyet gazetesini okumak istemesi, aynı sayfanın tam 100 defa ağa getirilmesi demektir. Araya vekil konduğu zaman ise, ilgili sayfa yalnızca bir defa getirilir ve daha sonra isteyen bütün istemcilere vekilin kendi deposundan sunulur. Dolayısıyla Internet trafiği azaltıldığı gibi, ilk istemden sonraki bütün istemcilere yerel ağdan sunum yapıldığı için kullanıcılar sayfaya çok daha hızlı (yerel ağ hızlarında) erişirler. Ülkemizde Internet bağlantılarının pahalılığı ve yavaşlığı göze alınırsa, şirketlerin hiç bir izin mekanizması uygulamak niyetleri olmasa dahi, salt performans arttırmak için vekil uygulamaları tavsiye edilir.

Vekilde izin mekanizması uygulamak ve dolayısı ile çeşitli hizmetleri herkese yasaklamak, çeşitli kullanıcılara bazı hizmetleri yasaklamak gibi izinlendirme politikaları uygulamak mümkündür.

Burada Linux üzerinde squid ve squidGuard vasıtası ile:
bir web vekil uygulaması konu alınmıştır.
Redhat 7.2 güncelleme paketi squid-2.4.STABLE1-6.i386.rpm indirilmiş ve rpm -Uvh squid-2.4.STABLE1-6.i386.rpm komutu ile kurulmuştur. Sistem açılışında squid servisinin başlatılması için mv /etc/rc.d/rc3.d/K25squid /etc/rc.d/rc3.d/S25squid komutu uygulanmıştır.
Ayarlar:
Ayar Dosyası:
/etc/squid/squid.conf
dosyası bir hayli uzun olduğundan yalnızca değiştirilen ayarlar buraya
alınmıştır. Dosyanın tamamı linkten sağlanabilir.
#VEKIL
#Öntanımlı portun yanısıra 8080 üzerinden de proxy servisi veriyoruz
http_port 3128 8080
#VEKIL
#Başka squid'lerle bilgi paylaşmıyoruz
icp_port 0
#VEKIL
#Yerel ağımızı burada tarifliyoruz
acl intranet src 10.0.0.0/255.0.0.0
#VEKIL
#erişim engellemesi squidGuard tarafından yapılacağı için
#burada yer almıyor
http_access allow intranet
#VEKIL
#Eger proxy yolu ile ftp yaparsak, anonymous isteklerde bu adresi
#verecek
ftp_user Squid@bizimfirma.com.tr
#VEKIL
#1 Gig'lik (1000) büyüklüğünde bir cache dizini kullanıyoruz.
#Ayrıca diske bloksuz yazma yöntemini kullanıyoruz
cache_dir aufs /var/spool/squid 1000 16 256
#VEKIL
#squidGuard kullanıyoruz
redirect_program
/usr/local/squidGuard/bin/squidGuard
#VEKIL
#20 adet squidGuard başlatıyoruz. Çok fazla sayıda olursa kaynak israfı
#çok az sayıda olursa beklemeye yol açabilir.
redirect_children 20
#VEKIL
#ICP sorgularına izin vermiyoruz
icp_access deny all
#VEKIL
#Hata iletilerimizi Türkçe verelim
error_directory /usr/lib/squid/errors/Turkish
#VEKIL
#Squid'i transparent (yani kullanıcıların herhangi bir ayar yapmasına gerek
kalmaksızın şeffaf olarak
#kullanmak için bu ayarlara ihtiyacımız var.
httpd_accel_host virtual
httpd_accel_port 80
httpd_accel_with_proxy on
httpd_accel_uses_host_header on
httpd_accel_single_host off
Neden SquidGuard? SquidGuard, squid ile birlikte çalışan ve erişim izinlerini belirleyen bir yazılımdır. Squid'in kendisi de erişim izinlerini belirleyebildiğine göre squidGuard'a ihtiyaç olmadığı düşünülebilir. Fakat, squidGuard kullanımının bazı avantajları vardır:
SquidGuard Kurulumu: SquidGuard web sitesinden squidguard-1.2.0.tar.gz ve blacklists.tar.gz paketleri indirildi ve /usr/local/src dizinine kaydedildi. tar -xzvf squidguard-1.2.0.tar.gz komutu ile paket açıldı. cd /usr/local/src/squidGuard-1.2.0. Paketin ayarları için configure.squidGuard betiği aynı dizine kaydedildi: cp configure.squidGuard /usr/local/src/squidGuard-1.2.0; cd /usr/local/src/squidGuard-1.2.0; chmod 755 configure.squidGuard; ./configure.squidGuard; make ; make install komutları ile paket sisteme kuruldu.
Karalistenin Oluşturulması: İndirilmiş olan blacklists.tar.gz paketi /usr/local/squidGuard/db/blacklists altına açıldı. /usr/local/squidGuard/configs/filter.conf dosyasında erişim izinleri belirlendi. Esas olarak kara listedeki tüm adresler engellendi. Karaliste squidGuard tarafından haftada 3 kez güncelleniyor. Biz de, zaman zaman bu güncellemeyi yapacağız.
Hata İletisi: SquidGuard'ın bir kötü tarafı kendi içerisinde bir hata iletisi oluşturmayıp, bir web sunucusuna gereksinim duyması. Sırf bu sebeple güvenlik duvarı üzerinde bir apache web sunucusu kurmak zorunda kaldık. Aslında bunun için içeride herhangi bir web sunucusu da kullanılabilir, fakat mümkün olduğunca güvenlik duvarını kendi başına çalışabilecek halde kurmak istedik.
SquidGuard paketinin içinden çıkan squidGuard.cgi betiğine Türkçe dilini ilave ettik ve dışarıdan bir siteye verdiği gif link'ini kaldırıp yerel bir link haline getirdik. Betik öntanımlı olarak tarayıcıdaki dil seçeneğine göre dil seçimini yapmakta idi, fakat biz salt Türkçe olmasını istedik. Değiştirilmiş SquidGuard.cgi betiği buradan temin edilebilir. Bu betiği cgi-bin dizinine kaydettik: cp squidGuard.cgi /var/www/cgi-bin. Erişim izinlerinin doğru olduğundan emin olduk: cd /var/www/cgi-bin; chown nobody.nobody squidGuard.cgi ; chmod 755 squidGuard.cgi. Yasak işareti veren forbidden.gif dosyasını ilgili dizine kaydettik: cp forbidden.gif /var/www/html. En sonunda web sunucusunun sistem açıldığı zaman açılmasını sağladık: mv /etc/rc.d/rc3.d/*httpd /etc/rc.d/rc3.d/S15httpd .
Sistem kurulurken bir DNS sunucusu kurmuştuk. Bunun sistem açıldığı zaman başlatılmasını sağladık: mv /etc/rc.d/rc3.d/*named /etc/rc.d/rc3.d/S45named.
İlgili servisleri kapatıp açmak ve sistemi yeniden başlatmamak mümkün, ama en kolayı güvenlik duvarını yeniden başlatmak. İç ağınızda gateway adreslerini 10.254.254.254 olarak değiştirdiğiniz zaman Internet erişiminiz ve güvenlik duvarınız hazırdır.
Bir kaç saatlik bir çalışma ile ufak bir makina üzerine bir güvenlik duvarı kurabilirsiniz. Güvenlik duvarları salt dış saldırılara karşı sisteminizi korumakla kalmaz, performans arttırıcı ve izin politikası uygulayıcı amaçlar için de kullanılırlar. [2]
Internet kullanımında sisteminizin güvenliğini artırmak için aşağıdaki ipuçları da yardımcı size olacaktır:
· En önemli nokta
dikkatli olmaktır. Tanımadığınız kişilerden e-mail veya chat gibi güvensiz
yollarla dosyalar almayınız.
· Güvenilir ve tanınır siteler haricindeki sitelerden
dosyalar indirmeyiniz ve bu tür dosyaları bilgisayarınızda çalıştırmayınız.
· Bilmediğiniz ve güvenliğinden emin olmadığınız sitelere
kişisel bilgilerinizi kesinlikle vermeyiniz.
· Internet üzerindeki güvenlik ile ilgili konu ve
bilgileri yakından takip ediniz. İşletim sisteminizi ve programlarınızı korumak
için yeni teknolojileri kullanınız.
KAYNAKLAR
[1] Yusuf Kutlu,İnternette Güvenlik.www.destek.org
[2] Deniz Akkuş,İnternete Bağlanırken Gerekenler:Proxy ve Firewall
www.arayan.com