İÇİNDEKİLER

ABSTRACT

ÖZET

 

1.GİRİŞ

 

2.NETWORK GÜVENLİĞİ

   2.1.Asgari Güvenlik Seviyeleri

   2.2.Yaygın Bazı Güvenlik Açıkları

   2.3.SYN Attack Details

   2.4.IP Spoofing

   2.5.Heterojen Networkler

   2.6.Internet Servisleri

   2.7.CERT Advisories

 

3.FIREWALLS (Ateş Duvarları)

   3.1.Firewall Tipleri

   3.2.Temel Tanımlar

   3.3.Proxy Server

   3.4.Paket Filtreleme

   3.5.Örnek Bir Paket Filtreleme Uygulaması

   3.6.Cisco İmplementation

   3.7.Proxy Server Uygulaması

   3.8.Firewall Mimarileri

          3.8.1.Dual Domed Host

          3.8.2.Screened Host

          3.8.3.İki Seviyeli Güvenlik

   3.9.Authentication (tanımlama) Servisleri

          3.9.1.Encryption İle İlgili Sorunlar

          3.9.2.Yeni Yöntemler

          3.9.3.SUN Screen Özellikleri

          3.9.4.SKIP Özellikleri

          3.9.5.Check Point FW-1 Paketi

  

4.İNTERNETE BAĞLANIRKEN GEREKENLER:PROXY ve FIREWALL

   4.1.Firewall/Güvenlik Duvarı Nedir?

   4.2.Güvenlik Duvarı-Satın Almak,Kendiniz Yapmak?

          4.2.1.Linux Temelli Hazır Güvenlik Duvarları

   4.3.Güvenlik Duvarı Kavramları

   4.4.Sıfırdan,Genel Bir Linux Dağıtımı (Redhat) Kullanarak Güvenlik Duvarı Oluşturmak

 

5.SONUÇLAR ve ÖNERİLER

 

KAYNAKLAR

                                                                      SUBJECT

                                          

                                                                SECURITY OVER THE INTERNET

Keywords:SSl(Secure Socket Layer),SET(Secure Electronic Transaction),gateway(geçit yolu),ISS(servis sağlayıcı)

 

ABSTRACT 

 

     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İŞ

Global Bilgisayar Ağı: Internet

 

 

Kimler Güvenlik tehditi altında

 

 

Direkt Kurumsal Bağlantı

 

 

Domain Name ve Ip Number seçimi

 

 

Subnetting

 

 

Internet Servis Sağlayıcı Seçimi

 

 

Internet Routing ve Topology

 

-         RIP (Interior)

-         EGP, BGP (Exterior)

 

TCP/IP Temelleri

 

 

4       Application Layer

3       Host to Host Transport Layer

2       Internet Layer

1       Network Access Layer

 

 

IP Routing

 

  

·        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.

 

Transport Katmanı

 

·         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 Protokolü

 

·         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 Protokolü

 

·         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).

 

Uygulama Katmanı

 

·         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.

 

Addressing, Routing & Multiplexing

 

·         Internet üzerinde bir host dan diğer bir host’a data göndermek için bu üç işlevin çalışması gerekir.

 

MultiPlexing

 

·         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.

 

TCP/IP Port kavramı

 

·         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.

 

2.1.Asgari Güvenlik Seviyeleri

 

·         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.

 

2.2.Yaygın bazı güvenlik açıkları

 

·         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.

 

2.3.SYN Attack Details

 

·         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

2.4.IP Spoofing

 

·         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..

 

2.7.CERT Advisories

 

·         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

DNS zone        Tcp ve Udp                  53

TFTP              udp                              69

SUN RPC       tcp ve udp                    111

Link                 tcp                               87

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.

 

3.1.Firewall Tipleri

 

·         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.

 

3.5.Örnek bir paket filtreleme uygulaması

 

·         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.

 

Cisco

 

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.

 

3.8.Firewall Mimarileri

 

 

·         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

 

3.8.1.Dual Homed Host

·         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.

 

3.8.2.Screened Host

 

·         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.

 

3.9.Authentication (tanımlama) Servisleri

 

·         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ı

 

3.9.2.Yeni Yöntemler

 

·         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.

4.1.Firewall/Güvenlik Duvarı Nedir?

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.

4.2.Güvenlik Duvarı - Satın Almak, Kendiniz Yapmak?

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.

4.2.1.Linux Temelli Hazır Güvenlik Duvarları

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

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.

Smoothwall

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.

Kendiniz Yapmak

Aşağıda bir Redhat makinasının nasıl güvenlik duvarı haline getirildiği anlatılmıştır.

 

4.3.Güvenlik Duvarı Kavramları

Bastion Host:

İ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:

 

NAT, Masquerade:

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.

Paket Filtreleme:

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.

Stateful (dinamik) Filtreleme

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.

Bazı Internet Servislerini İç Ağdan Vermek:

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 Demilitarized Zone -- Silahsızlandırılmış bölge

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.

Direkt Filtreleme

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 - Vekil

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.

 

Vekillerin Başka Kullanımları:

Vekil sunucular, en fazla kullanılan örneği olan web vekili (squid) üzerinde daha detaylı olarak aşağıda anlatılmıştır.

 

4.4.Sıfırdan, Genel Bir Linux Dağıtımı (Redhat) Kullanarak Güvenlik Duvarı Oluşturmak:

 

Neden Kendi Güvenlik Duvarımızı Kurduk?

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.

Kullanılan Donanım:

İşletim Sistemi ve Kurulum:

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.

Servisleri Kapatma

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.

Gereksiz Paketleri Kaldırma

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.

Güncellemeleri Uyguladık

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.

Modem Kartımızı Sisteme Tanıtmak

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.

PPP Ayarlarını Yapmak

Bağlantıyı Sağlamak

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 Seçenekleri

 

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* .

PPP Servisini Başlatmak

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.

Güvenlik Duvarını Oluşturma Yazılımı: Fwbuilder

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.

Ön Gereklilikler:

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*.

Paketleri derlemek:

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.

NAT ve Filtreleme Politikalarını Yazmak

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.

 

 

 

 

 

 

 

Ağ Birimlerine Ait Politikalar

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

 

 

 

 

 

NAT Politikaları

İ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.

 

 

 

 

 

 

 

 

 

 

Genel Politikalar

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.

NAT ve Filtrelemeyi Devreye Almak

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.

Web Vekili (Squid)

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.

 

 

Squid Kurulumu

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

Squid Kurulumunda ikinci adım: SquidGuard

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 .

DNS Sunucusu

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.

Sistemi Yeniden Başlatmak

İ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.

5.SONUÇLAR  ve ÖNERİLER

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