49
ANKARA 2016 Güvenlik Duvarları ve Sistem Sınır (Giriş-Çıkış) Güvenliği -Rapor-

Güvenlik duvarları ve sistem sınır (giriş çıkış) güvenliği

Embed Size (px)

Citation preview

Page 1: Güvenlik duvarları ve sistem sınır (giriş çıkış) güvenliği

ANKARA2016

Güvenlik Duvarları ve Sistem Sınır (Giriş-Çıkış) Güvenliği

-Rapor-

HAZIRLAYAN : HÜSEYİN ELTUTAN

Page 2: Güvenlik duvarları ve sistem sınır (giriş çıkış) güvenliği

İçindekilerŞekiller....................................................................................................................................................3

Tablolar..................................................................................................................................................3

Giriş........................................................................................................................................................4

1. İnternet Nedir? Nasıl Ortaya çıkmıştır?..........................................................................................4

1.1. OSI Referans Modeli...............................................................................................................5

1.2. TCP/IP Modeli.........................................................................................................................6

1.2.1. IP (Internet Protocol) Protokolü.....................................................................................7

1.2.2. UDP (User Datagram Protocol) Protokü..........................................................................8

1.2.3. TCP (Transmission Control Protocol) Protokolü..............................................................9

2. IP Adresleme Nasıl Çalışmaktadır?...............................................................................................11

2.1. Alt Ağlar (Subnetting)...........................................................................................................11

2.2. Ağ Adresi (Network ID) Nasıl bulunur?.................................................................................12

3. Güvenlik Duvarı (Firewall)............................................................................................................13

3.1. Güvenlik Duvarı Özellikleri....................................................................................................14

3.1.1. Paket Filtreleme (Packet Filtering)................................................................................15

3.1.2. Proxy Sunucusu (Uygulama Geçidi - Application Gateway)..........................................16

3.2. Güvenlik Duvarı Türleri.........................................................................................................16

3.2.1. Paket Filtrelemeli Güvenlik Duvarları (Packet Filters Güvenlik duvarı)...............................17

3.2.2. Durum Denetimli Güvenlik Duvarları (Stateful Inspection Güvenlik duvarı).......................17

3.2.3. Devre Düzeyli Geçit Yolu (Circuit Level Güvenlik duvarı)....................................................18

3.2.4. Uygulama Katmanı Güvenlik Duvarları (Application Layer Güvenlik duvarıs veya Web Application Güvenlik duvarıs).......................................................................................................18

3.3. Güvenlik Duvarı Karşılaştırması............................................................................................18

3.4. Ağ Adres Dönüşümü (NAT – Network Address Translation).................................................19

3.4.1. NAT Avantajları ve Dezavantajları.................................................................................20

3.4.2. NAT Türleri....................................................................................................................20

4. İşletim Sistemlerinde Güvenlik Duvarı Kullanımı..........................................................................22

4.1. Windows XP’de Güvenlik Duvarı Kullanımı...........................................................................22

4.2. Windows Server 2008’de Güvenlik Duvarı Kullanımı............................................................23

4.3. Linux İşletim Sistemlerinde Güvenlik Duvarı Kullanımı.........................................................27

4.3.1. Tablolar ve Zincirler......................................................................................................27

4.3.2. İç Ağın Trafiğini Kontrol Etme.......................................................................................29

4.3.3. “Iptables” Parametreleri...............................................................................................30

4.3.4. İç Ağdan Çıkan Trafiği Kısıtlamak..................................................................................30

S a y f a 2 | 38

Page 3: Güvenlik duvarları ve sistem sınır (giriş çıkış) güvenliği

4.4. Mac OS İşletim Sistemlerinde Güvenlik Duvarı Kullanımı.....................................................31

4.5. Windows Server 2008’de NAT İşlemi....................................................................................32

4.6. Linux İşletim Sisteminde NAT İşlemi.....................................................................................34

Sonuç....................................................................................................................................................35

Kaynakça..............................................................................................................................................36

ŞekillerŞekil 1. OSI Referans Modeli...................................................................................................................6Şekil 2. OSI ve TCP/IP Modelleri Karşılaştırması.....................................................................................6Şekil 3. IP Paket Yapısı............................................................................................................................8Şekil 4. UDP Paket Yapısı........................................................................................................................9Şekil 5. TCP Protokolünde Üçlü El Sıkışma............................................................................................10Şekil 6. IP Adres Sınıflandırması............................................................................................................12Şekil 7. Güvenlik Duvarı........................................................................................................................13Şekil 8. Güvenlik Duvarı Yerleşimi.........................................................................................................13Şekil 9. Windows XP’de Güvenlik Duvarı..............................................................................................22Şekil 10. Windows 2008 Server Manager.............................................................................................23Şekil 11. Microsoft Yönetim Konsolu (MMC–Microsoft Management Console) ile Windows 2008 Güvenlik Duvarı....................................................................................................................................23Şekil 12. Microsoft Yönetim Konsolu (MMC–Microsoft Management Console) ile Windows 2008 Güvenlik Duvarı....................................................................................................................................24Şekil 13. Windows 2008 Server Güvenlik Duvarı Profilleri....................................................................24Şekil 14. Windows 2008 Server Güvenlik Duvarı Kural Ekleme.............................................................25Şekil 15. Windows 2008 Server Güvenlik Duvarı Kural Ekleme.............................................................25Şekil 16. Windows 2008 Server Güvenlik Duvarı İçyönlü Kurallar.........................................................26Şekil 17. Mac OS'da Güvenlik Duvarı....................................................................................................31Şekil 18. Server Manager Üzerinden Network Policy and Accsess Services Rolünü Yükleme...............32Şekil 19. Linux NAT İşlemi için Konfigurasyon Kontrolü........................................................................35

TablolarTablo 1. UDP Port Numaraları................................................................................................................9Tablo 2. TCP bağlantı ile UDP bağlantı arasındaki farklar.....................................................................10Tablo 3. Güvenlik duvarı mimarilerinin karşılaştırılması.......................................................................19

S a y f a 3 | 38

Page 4: Güvenlik duvarları ve sistem sınır (giriş çıkış) güvenliği

GirişBir güvenlik duvarı (Güvenlik duvarı), şirketlerin özel ağları ile internet gibi herkesin kullanımına açık olan ağ arasındaki trafiği denetleyerek iç ağın ve iç ağ cihazlarının güvenliğini sağlar. Bu iki ağ arasındaki tüm trafik güvenlik duvarı tarafından incelenmesi ile sadece izin verilen trafiğin geçişine izin verileceğinden internet ile özel ağlar arasındaki haberleşmenin serbestlik seviyesini kontrol etmede de kullanılır (Bergel, 2004, s. 1).

Konuya geçmeden önce konunun daha iyi anlaşılabilmesini teminen aşağıda yer verilen temel seviyede bazı bilgilerin açıklanmasının faydalı olabileceği değerlendirilmektedir.

1. İnternet Nedir? Nasıl Ortaya çıkmıştır?Geleneksel elektronik haberleşme şebekeleri arasında haberleşme hizmetinin gerçekleştirilebilmesi için iki uç arasında fiziksel bir hat kurulması gerekmektedir. Ancak kurulacak devrenin herhangi bir yerinde bir kopukluk yaşanması durumunda haberleşme hizmetinde kesinti meydana gelmektedir. Devre anahtarlamalı haberleşme esasına göre çalışan söz konusu şebekelerin bu özelliğinden dolayı, özellikle soğuk savaş döneminde konvansiyonel/nükleer savaş ihtimaline karşı haberleşme hizmetlerinde meydana gelebilecek bir kesintiyi minimum seviyeye indirecek, güvenilir bir iletişim ağına ihtiyaç duyulmuştur. Diğer bir ifadeyle haberleşme altyapısında meydana gelebilecek ciddi zararlara rağmen iletişimin kesintisiz bir şekilde devam edebiliyor olması öngörülmüştür. Bu çerçevede 1969 yılında Amerika Birleşik Devletleri (ABD) Savunma Bakanlığı’na bağlı bir araştırma kurumu olan İleri Araştırma Projeleri Kurumu (Advanced Research Projects Agency - ARPA) tarafından gerçekleştirilen bir askeri çalışmanın sonucunda ARPANET adıyla paket anahtarlamalı haberleşme esasına göre çalışan bir alan ağı oluşturularak bugünkü internet hizmetinin temelleri atılmıştır (BTK, 2012, s.9).

Telnet ve Dosya Aktarma iletişim kuralı (FTP) gibi erken döneme ait iletişim kuralları ilk olarak ARPANET üzerinde bilgilerin paylaşımı için gerekli olan temel yardımcı araçları ortaya koymak için geliştirilmiştir. ARPANET boyut ve kapsam bakımından büyüdükçe iki önemli iletişim kuralı daha belirdi. 1974'de, bir ağ üzerinde bir güvenilir ana bilgisayardan ana bilgisayara veri aktarma hizmetinin nasıl uygulanabileceğini belirten İletim Denetim İletişim Kuralı (TCP) taslak olarak yayınlandı. İnternetin gelişim gösterdiği bu dönemlerde, birbirlerinden kopuk bilgisayar ağlarının haberleşmesinin sağlanabilmesi ihtiyacının giderilmesine yönelik ortaya çıkan ve tüm bilgisayarlarda ortak bir protokol olarak kullanılacak olan IP protokolünün (Internet Protokol) yanında, 1980 yılında ise Transmission Control Protocol/Internet Protocol (TCP/IP) deneysel olarak uygulanmaya başlanmış ve birkaç yıl sonra da standart haline gelmiştir (Golaniewski, 2001, s.242). 1 Ocak 1983 tarihinden itibaren ARPANET, tüm ağ trafiği ve önemli iletişimler için TCP ve IP iletişim kurallarının kullanımını zorunlu kılmıştır. Bu tarihten itibaren ARPANET daha çok Internet adıyla bilinmeye ve zorunlu kıldığı iletişim kuralları da TCP/IP iletişim kuralı ailesi olarak anılmaya başlandı. TCP/IP iletişim kuralı ailesi birçok bilgi işlem platformuyla kullanılabilecek çeşitli TCP/IP yazılım ürünleriyle uygulanmaktadır. Günümüzde TCP/IP yazılımı Internet'te yaygın bir kullanıma sahiptir ve sıklıkla büyük yönlendirilmiş özel ara ağlar kurmak için kullanılmaktadır1.

1 http://ssimurg.tripod.com/Net/TCP/genelbk.htmS a y f a 4 | 38

Page 5: Güvenlik duvarları ve sistem sınır (giriş çıkış) güvenliği

Sonraki yirmi yıl içerisinde çok fazla yaygınlık kazanmadan, idare ve akademik çalışmalar için oluşturulmuş bir ağ olarak hizmet veren internet2, 1989 yılında söz konusu ağın dünya geneline yayılması önerisinin hayata geçirilmesi ile birlikte bugünkü gerçek kimliğini kazanmıştır (Darıcı, 2005, s.5). Diğer taraftan bilgisayar teknolojisinin gelişmesi, bu teknolojinin tüketiciler tarafından kullanımın artması ile birlikte internet ticari olarak da kullanılmaya başlanmış ve hızla gündelik yaşama nüfuz ederek sıradan insanın modern yaşamının temel iletişim araçlarından biri haline gelmiştir (BTK, 2012, s.9).

1.1. OSI Referans Modeli70’li yıllarda çok sayıda farklı bilgisayar üreticisinin olması ve söz konusu firmaların ürettikleri ürünler arasında uyumsuzlukların giderilmesi kapsamında, 80’li yılların başında Uluslararası Standartlar Organizasyonu (International Standards Organization) tarafından OSI Referans Modeli oluşturulmuştur (BTK, 2012). Söz konusu model farklı standartlar temel alınarak geliştirilen bilgisayar sistemlerinin birbirleriyle haberleşebilmeleri kapsamında geliştirilmiş çerçeve bir model olup, imalatçıların ve yazılım geliştiren firmaların ürün geliştirme sürecinde yaşayabileceği olası uyumsuzluk sorunlarının minimize edilmesi amacıyla geliştirilen bir standartlar bütünüdür (ITU, 1994, s.1).

Aşağıdaki şekilden görülebileceği üzere OSI Referans Modeli yedi katmandan oluşmaktadır. Bir şebekede veri transfer edilirken veri bu yedi katmandan geçmek durumunda olup veri transfer sürecinde her bir katmanda veriye bilgi (başlık, adres bilgisi gibi) eklenir ve varış noktasında ise bu bilgiler çıkarılır. Dördüncü ve daha yüksek numaralı katmanlar trafiğin sonlandırma ucunda gerçekleştirilirken; ilk üç katmandaki işlemler ise şebekede gerçekleşmektedir. Söz konusu katmanlardan beş, altı ve yedinci katmanlar yazılım olarak, ilk üç katman da donanım olarak düşünülebilir. Dördüncü katman ise diğer katmanlar arasındaki bir tür geçiş katmanı olarak tarif edilebilir (BTK, 2012, s.10). Veri hattı ve fiziksel katmanları veri paketlerinin kablolu, kablosuz vb. fiziksel iletim hatları üzerinden aktarılması ile görevli katmanlardır (WIK, 2008, s.9). OSI Referans Modelinin yedi katmanına ilişkin görevler yukarıdan aşağıya doğru özetle şu şekildedir:

7- Uygulama: Uygulamalara değişik servisler sağlar. 6- Sunum: Bilgi formatını çevirir. 5- Oturum: Haberleşme ile ilgili olmayan problemlerle ilgilenir. 4- Taşıma: Uçtan uca haberleşme kontrolünü sağlar. 3- Ağ: Ağ üzerinde bilgiyi yönlendirir. 2- Veri Bağlantısı: Bağlı uçlar arasında hata denetimini sağlar. 1- Fiziksel: İletim ortamına bağlantıyı sağlar.

OSI referans modeline ve her bir katmana ilişkin kullanılan protokollerin açıklamalarının bulunduğu şekile (Şekil 1) aşağıda yer verilmektedir.

2 İlk zamanlarda ARPANET olarak ifade edilen söz konusu hizmet günümüzde internet olarak bilinmektedir.S a y f a 5 | 38

Page 6: Güvenlik duvarları ve sistem sınır (giriş çıkış) güvenliği

Şekil 1. OSI Referans Modeli

1.2. TCP/IP ModeliTCP/IP protokol grubu, OSI referans modeli hazırlanmadan önce oluşturulmuştur. TCP/IP protokol grubu DoD (U.S. Department of Defence) modelini referans alır. Bu model OSI modelinden farklı bir yapıdadır. TCP/IP referans modeli 4 ayrı katmandan oluşur. Bunlar uygulama, aktarım, internet katmanı ve ağ arayüz katmanıdır. TCP/IP katmanlardan oluşan bir protokoller kümesidir. Her katman değişik görevlere sahip olup altındaki ve üstündeki katmanlar ile gerekli bilgi alışverişini sağlamakla yükümlüdür.

Şekil 2. OSI ve TCP/IP Modelleri Karşılaştırması

Kaynak: http://ssimurg.tripod.com/Net/TCP/genelbk.htm

S a y f a 6 | 38

Page 7: Güvenlik duvarları ve sistem sınır (giriş çıkış) güvenliği

İki protokolde iletişimi katmanlarla tanımlamaktadır. Katmanlar, kullanım görevlerine göre tanımlanmıştır. OSI modelindeki 7 katmana karşılık TCP/IP modelinde 4 katman belirlenmiştir. OSI modeli daha çok iletişim standartlarını belirtmekte iken, TCP/IP ise daha çok uygulamaya yönelmektedir. TCP/IP Katmanlarına ilişkin özet açıklamalara aşağıda yer verilmektedir:

Ağ arayüz katmanı: TCP/IP modelinin en alt katmanıdır. Fiziksel iletişim ortamı üzerinden çerçeveleri (frame) hedefe gönderen katmandır. Yerel Ağ Ortamına (LAN) hangi kurallar dâhilinde erişileceğini belirler. OSI modelinde fiziksel ve veri bağı katmanının her ikisine birden karşılık gelir. Bütün fiziksel ve veri bağı katmanlarını destekler.

İnternet katmanı: TCP/IP’nin ikinci katmanıdır. OSI modelinde ağ katmanına karşılık gelir. Ağlar arasında veri transferini sağlayan protokoller bu katmanda yer alır. Yol belirleme algoritmaları bu katmanda kullanılır. Kullanıcılar arası haberleşmenin (peer-to-peer) sağlanmasından sorumludur. IP, ARP, RARP ve ICMP protokolleri bu katmandadır.

Taşıma (Transport) Katmanı: TCP/IP’nin üçüncü katmanıdır. Farklı kullanıcılar üzerindeki uygulamaların birbiriyle görüştürülmesinden sorumludur. Datagram paketleri üzerinde kimlik bilgileri burada yerleştirilir ya da çözülür. Port numaraları da kullanılarak, taşıma katmanı karşılıklı işlem bazında görüşme sağlar. İnternet katmanı sadece bir veri dağıtım servisi sağlar. Taşıma katmanı ise güvenli iletişim, hata düzeltme, gecikme kontrolü vb. fonksiyonlarla ilgilenir. Bu fonksiyonlar uygulama katmanına servis sunar. TCP ve UDP bu katmanda çalışan iki protokoldür. UDP, kullanıcılar arasında oturum kurulmaksızın servis sağlar. TCP’de ise karşılıklı oturum kurularak bağlantılı servis sağlanır. TCP ve UDP kavramlarına aşağıda daha ayrıntılı olarak yer verilmektedir.

Uygulama katmanı: En üst katmanıdır. TELNET, FTP SMTP, VE SNMP gibi TCP/IP protokolleri bu katmanda çalışır. OSI referans modelindeki uygulama, sunum ve oturum katmanlarının bütününe karşılık gelir. Bu katmanda kullanılan protokoller aşağıda yer almaktadır:

FTP (File Transfer Protokol); Bir hostan diğerine kolay dosya transferi yapmak için kullanılır.

TELNET; uzak terminal erişim protokolüdür.

SMTP (Simple Mail Transfer Protocol); Elektronik posta hizmeti sunar.

DNS (Domain Name System); internet üzerinde kullanıcıların isimlerini ve bunlara karşılık gelen IP adreslerini veri tabanı halinde tutmayı sağlayan protokoldür.

SNMP (Simple Network Management Protokol); TCP/IP kullanıcıların standart bir takım ağ yönetim fonksiyonlarını kullanarak yönetme işleminde kullanılır.

1.2.1. IP (Internet Protocol) ProtokolüInternet İletişim Kuralı (IP), RFC 791 "Internet Protocol" belgesinde tanımlanan bir TCP/IP standardıdır. IP, etilen paketlerin istenilen ağ adresine yönlendirilmesini kontrol eder. Diğer bir ifade ile, oturum gerektirmeyen bir veri birimi iletişim kuralı olup ana bilgisayarlar arasında paketlerin adreslemesi ve yönlendirilmesinden sorumludur.

IP protokolü, aşağıda da değinilecek olan TCP protokolüne göre daha az güvenilir bir protokoldür. Bunun nedeni verinin teslimatının garanti olmaması nedeni iledir. IP bir paketi teslim etmek için daima en iyi performans girişiminde bulunur. Bu nedenle, IP paketleri veri iletimi esnasında kayıp olabilir, sırasız teslim edilebilir, iki kez teslim edilebilir veya geciktirilebilir. IP, bu tip hataları

S a y f a 7 | 38

Page 8: Güvenlik duvarları ve sistem sınır (giriş çıkış) güvenliği

düzeltmeye çalışmaz. Teslim edilen paketlerin alındı bildirimi ve kayıp paketlerin kurtarılması işi TCP protokolü ile daha üst katmanda yer alan protokollerin sorumluluğundadır.

IP veri birimi veya datagramı olarak da bilinen IP paket yapısına aşağıda Şekil 3. de gösterilmektedir.

Şekil 3. IP Paket Yapısı

IP paket yapısı bileşenlerinin görevleri aşağıdaki gibidir;

Kaynak adresi: IP paketinin kaynağının internet adresi Hedef adresi: IP paketinin hedefinin internet adresi Protokol: Alıcının protokolü Servis tipi göstergesi: Ağ üzerinde dolaan veri biriminin iletim boyunca ne şekilde

değerlendirileceğini belirler Tanımlayıcı: Kaynak ve hedef adresleri ile kullanıcı protokolünden yararlanarak veri birimini

diğer veri birimlerinden ayırt edebilmek için kullanılır. Yeniden düzenleme ve hata raporlama için gereklidir.

Parçalama-tanımlayıcısı: IP’nin veriyi parçalayıp parçalamayacağını belirler. Yaşam Süresi (TTL):Ağ düğümleri cinsinden, verinin ne kadar süre boyunca ağ üzerinde

iletileceğini belirler. Veri uzunluğu: Aktarılan verinin uzunluğu Seçenek verisi: IP kullanıcısı tarafından istenen seçenekler. Veri: Aktarılacak olan kullanıcı verisi

1.2.2. UDP (User Datagram Protocol) ProtoküUDP bağlantı noktaları, UDP iletilerinin gönderilmesi ve alınması için bir konum sağlarlar. UDP bağlantı noktaları, her iletişim kuralı bağlantı noktasıyla belirtilen programa yönelik tüm veri birimlerinin alınması için tek bir ileti sırası işlevini görür. Bunun anlamı UDP tabanlı programların aynı anda birden çok ileti alabilmesidir. Aşağıda Şekil 4.’te UDP Paket yapısı gösterilmektedir.

S a y f a 8 | 38

Page 9: Güvenlik duvarları ve sistem sınır (giriş çıkış) güvenliği

Şekil 4. UDP Paket Yapısı

UDP kullanan her programın sunucusu kendilerine ayrılan bağlantı noktalarında gelecek iletileri bekler. Aşağıdaki tabloda standart UDP tabanlı programların kullandığı bazı iyi bilinen UDP sunucu bağlantı noktaları (port numaraları) gösterilmiştir.

Tablo 1. UDP Port NumaralarıUDP bağlantı noktası numarası Açıklama

53 DNS ad sorguları69 Basit Dosya Aktarım İletişim Kuralı (TFTP)137 NetBIOS ad hizmeti138 NetBIOS veri birimi hizmeti161 Basit Ağ Yönetimi İletişim Kuralı (SNMP)520 Yönlendirme Bilgisi İletişim Kuralı (RIP)

UDP Protokolü daha çok mesaj alış verişine odaklı 4. katman olan taşıma katmanında faaliyet gösteren bir protokoldür. Verilerin doğru ya da yanlış şekilde iletilip iletilmediğini garanti edilmemektedir. Veri kayıplarından ziyade, verilerin daha hızlı bir şekilde iletilmesinin önemli olduğu durumlarda kullanılır. Bunlara örnek olarak; ses ve görüntü aktarımı gibi gerçek zamanlı veri aktarımları verilebilir. Bu protokolde akış kontrolü ve tekrar iletim işlemlerini yapmayarak veri iletim süresini en aza indirilir.

1.2.3. TCP (Transmission Control Protocol) ProtokolüTCP (Transfer Control Protocol) verinin iletimden önce paketlere ayrılmasını ve alıcıda bu paketlerin yeniden düzgün bir şekilde birleştirilmesini sağlar. TCP protokolü, internet ağlarında paket anahtarlamalı iletişimde kayıpsız veri gönderimini sağlayabilmek için yazılmıştır. HTTP, HTTPS, POP3, SMTP ve FTP gibi internetin kullanıcı açısından en popüler protokollerinin veri iletimi TCP vasıtasıyla yapılmaktadır.

Örneğin, SMTP protokolü bir elektronik postanın bir bilgisayardan bir başka bilgisayara nasıl iletileceğini belirler. Yani elektronik postayı gönderen ve alan kişinin adreslerinin belirlenmesi, mektup içeriğinin hazırlanması vb. gibi görevleri belirler. Ancak elektronik posta servisi bu mektubun bilgisayarlar arasında nasıl iletileceği ile ilgilenmez, iki bilgisayar arasında bir iletişimin olduğunu

S a y f a 9 | 38

Page 10: Güvenlik duvarları ve sistem sınır (giriş çıkış) güvenliği

varsayarak mektubun yollanması görevini TCP ve IP katmanlarına bırakır. TCP katmanı komutların karşı tarafa ulaştırılmasından sorumludur. Karşı tarafa ne yollandığı ve hatalı yollanan mesajların tekrar yollanmasının kayıtlarını tutarak gerekli kontrolleri yapar. Eğer gönderilecek mesaj bir kerede gönderilemeyecek kadar büyük ise (Örneğin uzunca bir e-posta gönderiliyorsa) TCP onu uygun boydaki segmentlere (TCP katmanlarının iletişim için kullandıkları birimin veri miktarı) böler ve bu segmentlerin karşı tarafa doğru sırada, hatasız olarak ulaşmalarını sağlar. Internet üzerindeki tek servis e-posta olmadığı için ve segmentlerin karşı tarafa hatasız ulaştırılmasını sağlayan iletişim yöntemine tüm diğer servisler de ihtiyaç duyduğu için TCP ayrı bir katman olarak çalışmakta ve tüm diğer servisler onun üzerinde yer almaktadır. Böylece yeni bir takım uygulamalar da daha kolay geliştirilebilmektedir.

Üç’lü el sıkışma: A bilgisayarı B bilgisayarına TCP yoluyla bağlanmak istediğinde şu yol izlenir:

A bilgisayarı B bilgisayarına TCP SYNchronize mesajı yollar B bilgisayarı A bilgisayarının isteğini aldığına dair bir TCP SYN+ACKnowledgement mesajı

yollar A bilgisayarı B bilgisayarına TCP ACK mesajı yollar B bilgisayarı bir ACK "TCP connection is ESTABLISHED" mesajı alır

Üç zamanlı el sıkışma adı verilen bu yöntem sonucunda TCP bağlantısı açılmış olur.

Şekil 5. TCP Protokolünde Üçlü El Sıkışma

Kaynak:http://bidb.itu.edu.tr/seyirdefteri/blog/2013/09/07/ta%C5%9F%C4%B1ma-katman%C4%B1-%28transport-layer%29

Aşağıda TCP bağlantı ile UDP bağlantı arasındaki farklara yer verilmiştir.

Tablo 2. TCP bağlantı ile UDP bağlantı arasındaki farklar

Servis TCP UDP

Bağlantı kurulumu Güvenli bağlantı kurulur. Bağlantıya gerek yoktur.

S a y f a 10 | 38

Page 11: Güvenlik duvarları ve sistem sınır (giriş çıkış) güvenliği

Paketlerin sırası hakkında bilgi

Ardışık numaralandırılmış paketler

Ardışık paket numarası yoktur.

Akış kontrolü Alıcı vericiye yavaşlaması için sinyal gönderebilir.

Akış kontrolü için TCP de kullanılan onay UDP den geri dönmez.

Tıkanıklık kontrolü Ağ cihazları TCP onay paketleri sayesinde göndericinin tavrını kontrol edebilir.

Onay olmadan ağ tıkanıklığı sinyali göndermez.

Teslim Garantisi Gönderildiğini onaylar. UDP onay mesajı göndermeden, alıcı paket alındığına dair sinyal göndermez. Kaybolan paketler tekrar gönderilmez.

2. IP Adresleme Nasıl Çalışmaktadır?İnternet ortamında veri iletimini gerçekleştirebilmek için cihazlara bir adres atanması gerekmektedir. Bu adreslemenin “tekil” (unique) olması, tüm dünya üzerinde gerçekleştirilen iletişimin sağlanabilmesi açısından önem arz etmektedir. Bu amaçla, TCP/IP protokolünde tüm bilgisayarlar 32 bitlik “tekil” bir IP numarasına sahip olacak şekilde adreslenir (IPv4). Bunun anlamı 232 = 4,294,967,296 adet adresin cihazlara tanımlanabileceğidir. Fakat artık günümüzde bu sayı toplam cihaz sayısını karşılamakta yetersiz kalmaya başladığı için IPv4’ten IPv6’ya geçiş öngörülmüştür. Günümüzde henüz beklendiği ölçüde bu geçiş tamamlanmamış olsa da, IPv6 kullanımı giderek yaygınlaşmaktadır. IPv6’da kullanılabilecek adres sayısı 2128 = (yaklaşık) 3,4 x 1038 adettir. IPv6’ya ileride değinilecektir.

2.1. Alt Ağlar (Subnetting)Trafiğin yönünün belirlenmesi ancak paketlerin belli IP gruplarından gelmesi ve belli gruplara yönelmesi ile mümkün olabilecektir. Bu durumda her IP paketi, kendi numarasının bağlı olduğu gruplar için tanımlanmış kurallara göre hareket eder. Yapılan gruplama işlemine ise subnetting adı verilir. Bu işlem sırasında IP adresi ait olduğu grubu ve bu grubun üyeleri arasında kaçıncı sırada olduğunu belirtmek üzere iki kısma ayrılır. İlk kısma Ağ numarası, ikinci kısma ise uç adresi adı verilir ve işlem şu şekilde gerçekleşir.

İnternet adresleri için kullanılan 32 bitin her 8 bitine bir oktet adı verilmektedir. Bir IPv4 adresinde 4 oktetten oluşmaktadır. Her bir oktet ise 10’luk tabanda 0-255 arası bir değer alabilmektedir. Burada IP adresleri arasındaki adreslemenin kolay yapılabilmesi için ilk oktetin alacağı 0 ile 255 arasındaki değere göre sınıflandırmaya gidilmektedir. Aşağıdaki Şekil 6’da bu sınıflandırma gösterilmektedir.

S a y f a 11 | 38

Page 12: Güvenlik duvarları ve sistem sınır (giriş çıkış) güvenliği

Şekil 6. IP Adres Sınıflandırması

Alt ağ kavramını açıklayabilmek için tüm internet IP bloğunu 255 kısma ayırmayı istediğimizi düşünelim. Bu gruplama sonucunda ortaya çıkacak IP numaralarının 1.x.y.z, 2.x.y.z, ..., 255.x.y.z şeklinde olacaktır. Bu tanımlamada elde edilen IP numaralarının oluşturduğu blokların her birine subnet veya Ağ adı verilmektedir ve 1.0.0.0 ağı, 2.0.0.0 ağı vs şeklinde telaffuz edilmektedir. Bu durumda örneğin 2 ile başlayan bütün IP numaralarının (2.x.y.z) 2.0.0.0 ağının parçası olduğu kolayca anlaşılabilir. Dikkati çekmesi gereken bir nokta elde edilen blokların hala devasa boyutlarda olduklarıdır (224 = 16,777,216) ve bu bloklar kendi içlerinde daha fazla bölünmeye tabi tutulabilirler. Örneğin 1.0.0.0 ağını 1.0.0.0, 1.1.0.0, ... 1.254.0.0, 1.255.0.0 şeklinde 255 ayrı ağına ayırmak da mümkündür, aynı şekilde 1.1.0.0 ağını da 1.1.1.0, 1.1.2.0, ..., 1.1.255.0 vs şeklinde daha da küçültmek mümkündür. Bu işleme her blokta 2 hatta 1 IP kalıncaya kadar devam edilebilir. Burada önemli nokta bu blok büyüklerinin ihtiyaca göre belirlenmesi gereği ve her bloğun bir üst bloğun alt kümesi olmasıdır. Daha detaylı açıklarsak, 1.0.0.0 ağından bahsediyor iseniz otomatik olarak 1.1.0.0 ağından ve 1.10.5.0 ağından da bahsediyorsunuz demektir.

IP numarasını ağ numarası ve uç adresi olarak ikiye ayrılmaktadır. Yukarıda da belirtildiği üzere örneğin 212.45.64.20 IP numarasını ele alacak olursak, bu IP'nin hem 212.0.0.0 hem 212.45.0.0 hem de 212.45.64.0 ağlarında yer alan bir IP olduğunu rahatlıkla söyleyebiliriz. Burada kritik nokta ağ numarası olarak hangisinin alınacağı (212, 212.45, 212.45.64) daha da önemlisi buna nasıl karar verileceğidir. Görüldüğü üzere sadece IP adresi ile ağlar tanımlanamamaktadır. Bu nedenle IP numarasının hangi bitlerinin ağ numarasını temsil ettiğini, hangilerinin ise uç adresini oluşturduğunu tanımlayacak başka bir bilgiye ihtiyaç duyulmaktadır. Buna Ağ Maskesi (subnet mask) adı verilmektedir.

2.2. Ağ Adresi (Network ID) Nasıl bulunur?Bir ip adresinin ağ adresini bulabilmek için; o ip adresi ile kendi Ağ Maskesinin (Subnet Mask) “And / Ve” işlemine tabi tutulması gerekmektedir. IP adresi ve Subnet mask ikilik sayı sistemine çevrilerek alt alta yazılır, her iki tarafta da ‘1’ bit değerine sahip bölümler aynen (yani 1 olarak) aktarılır, diğerleri ise 0(sıfır) olarak değerlendirilir3. Bir örnek verecek olursak;

IP Adresi = 132.15.78.202 : 10000100 00001111 01001110 11001010

Ağ Maskesi = 255.255.0.0 : 11111111 11111111 00000000 00000000

Ağ adresi = 132.15.0.0 : 10000100 00001111 00000000 00000000

Broadcast Adresi = 132.15.255.255 : 10000100 00001111 11111111 11111111

3 http://www.hakanuzuner.com/index.php/alt-aglara-blme-subnetting.htmlS a y f a 12 | 38

And işle

Page 13: Güvenlik duvarları ve sistem sınır (giriş çıkış) güvenliği

3. Güvenlik Duvarı (Firewall)Güvenlik duvarı (Güvenlik duvarı) kavramı, esas olarak yazılım ile oluşturulan, bununla birlikte internet üzerinden bir sisteme girişleri kısıtlayan veya yasaklayan ve genellikle bir internet gateway servisi (ana internet bağlantısını sağlayan servis - ağ geçidi) olarak çalışan bir bilgisayar üzerinde bulunan güvenlik sistemine verilen genel addır4 (Fortinet). Güvenlik Duvarı (Güvenlik duvarı), ağ sistemlerini internet ortamından gelecek kötü kodlar, virüsler, hackerlar ve zararlı web siteleri gibi birçok olumsuz içerikten korumak için tasarlanmış donanımlardır (Hu, 2014, s. 16).

Şekil 7. Güvenlik Duvarı

Kaynak: Telekom Teknoloji Market5

Güvenlik duvarları yazılımsal ya da donanımsal tabanlı olabilirler. Yazılımsal güvenlik duvarları genellikle ev kullanıcıları içindir. Birçok kişisel bilgisayar işletim sistemleri, Internet'ten gelen tehditlerine karşı korumak için yazılım tabanlı güvenlik duvarları içerir. Donanımsal güvenlik duvarları ise genellikle ağ sistemlerini korumak için kullanılırlar. Aşağıdaki Şekil 8’de güvenlik duvarları ile birlikte İnternet Servis Sağlayıcıya (İSS) ait seri bağlantıların sonlandığı sınır yönlendiricisi (router) ait gösterime yer verilmektedir.

Şekil 8. Güvenlik Duvarı Yerleşimi

Kaynak: Cisco - Introduction to Security and Güvenlik duvarıs, s. 18

4 http://www.Güvenlik duvarımerkezi.com/fortigate-fortinetGüvenlik duvarınedir.php 5 www.telekom.com.tr

S a y f a 13 | 38

Page 14: Güvenlik duvarları ve sistem sınır (giriş çıkış) güvenliği

İlk ticari güvenlik duvarı Marcus Ranum tarafından 1990 yılında “Güvenlik duvarı Toolkit” adıyla yazılmıştır (Cisco, s. 18). Artan güvenlik tehditleri ile birlikte güvenlik cihazları da gelişimini buna paralel olarak sürdürmüştür. Güvenlik duvarları ilk başlarda paket filtreleme temelli olmasına rağmen günümüzde birçok güvenlik fonksiyonunu gerçekleştirebilecek yetenekte güvenlik duvarları bulunmaktadır. Bunlar, birçok ağ ara yüzleri tarafından desteklemekle birlikte trafik kontrolü yapabilen, sanal özel ağları (VPN) destekleyebilen ve (H.323 video konferans protokolü gibi) daha gelişmiş uygulama protokollerini destekleyebilen yetenekte güvenlik duvarlarıdırlar (Cisco, s. 19). Günümüzde gelinen noktada, ağlar arasında veri aktaran birçok yönlendirici (router) güvenlik duvarı bileşenleri içermekte olup, birçok güvenlik duvarı da temel yönlendirme işlevlerini gerçekleştirebilmektedir.

Güvenlik duvarının esas amacı ağa zarar vermek ya da sızmak isteyenleri engellemektir. Genel olarak şirketler ve veri merkezleri için güvenlik duvarı sıkça kullanılan bir güvenlik metodudur. Güvenlik duvarları güvenlik ve denetim için bir tür geçit noktası oluşturur. Ayrıca sisteme modem ile bağlantı kurulmak istendiğinde güvenlik duvarı bu bağlantıyı kontrol edip izleyebilme imkânına da sahiptir (Fortinet).

3.1. Güvenlik Duvarı ÖzellikleriGenellikle güvenlik duvarları dışarıdan ağa yetkisiz erişimleri engellemek için düzenlenir. Ağdan dışarıya erişim serbest iken dışarıdan ağa erişim kısıtlanır. Bazı güvenlik duvarları sadece e-mail trafiğine izin verirken diğerleri farklı cinsten veri iletimine izin vermekle birlikte problem olabilecek servisleri (FTP, NFS, X-Windows gibi) ve bazı iletişim türlerini bloke ederler. Bu tür seçimler ve erişim izinleri tamamen kullanıcıların tercihlerine göre belirlenir (Fortinet).

Güvenlik duvarı ile birlikte çeşitli kullanıcı erişimi denetleme ve yetkilendirme mekanizmalarının kullanılması da (one time password gibi) yerel ağın güvenliğini arttıran bir unsurdur. Güvenlik duvarı bu türden, kullanıcı şifre ve yetkilerinin tanımlanıp kullanılması ve bu bilgilerin ağlar arasındaki trafiğinin gizlenmesi konusunda extra özellikler sunar (Fortinet).

Güvenlik duvarlarının bazı dezavantajları da bulunmaktadır. Bu problemleri şöyle özetlenebilir (Fortinet):

Güvenlik duvarı için en büyük dezavantaj kullanıcıların bazı çok kullanılan (telnet, FTP, x-windows, ağ dosya sistemi (NFS – Network File System) gibi) servislere erişiminin kısıtlanmasıdır. Ancak, bu dezavantaj güvenlik duvarına özgü değildir. Güvenlik duvarı ile ağ erişimi, yerel ağların güvenlik planına bağlı olarak, kullanıcı (host) düzeyinde çeşitli opsiyonlar ile kısıtlanabilir. Kullanıcı ihtiyaçları ile güvenlik şartlarını dengeleyen iyi planlanmış güvenlik planı, bu tür kısıtlanmış erişim problemlerini çözebilir. Bazı durumlarda yerel ağ sistemleri güvenlik duvarına uygun olmayan topolojiye sahip olabilirler veya güvenlik duvarı kullanıldığında, sistemin yeniden yapılandırılmasının gerektiği NFS gibi servisleri kullanabilirler. Örneğin, bir yerel ağ, ağ geçitleri (gateway) arasında NFS ve NISA protokollerini kullanmak zorunda ise, Güvenlik duvarı eklemenin bedeli, hacklenebilirliklerin bedeli ile karşılaştırılmalı ve risk analizi yapılmalıdır. Bu durumlarda alternatif çözümler (Kerberos gibi) daha uygun olabilir.

Güvenlik duvarı, truva atı (trojan) türü data içeren veri paketlerine karşı da ağı koruyamaz. İçinde bir hacker tarafından yerleştirilmiş programlar bulunan veri paketleri ile yapılan

S a y f a 14 | 38

Page 15: Güvenlik duvarları ve sistem sınır (giriş çıkış) güvenliği

saldırılarda (arka kapı oluşturan programlar) güvenlik duvarı için potansiyel bir tehlike mevcuttur. Bu metotla istemci, sunucudaki erişim kontrollerini değiştirip gizli dosyaları açabilecek programları bizzat sunucu yani sunucu tarafında çalıştırabilir.

Eğer güvenlik duvarı tarafından korunan ağın içine sınırsız modem erişim izni verilirse, saldıran kişiler güvenlik duvarını rahatça geçebilirler. Modem hızları, SLIP (serial line IP) ve PPP (point to point protokol) için oldukça yüksektir. Güvenli sanılan alt ağlar içindeki SLIP veya PPP bağlantıları, aslında diğer ağlarda bağlantı kurulabilecek gedikler ve potansiyel arka kapılar (backdoor) olarak karşımıza çıkabilmektedir.

Güvenlik duvarı genellikle ağın içerisinden gelen tehditlere karşı koruma sağlamaz. Multicast video ve ses içeren IP paketleri de Güvenlik duvarı tarafından filtre edilmediğinden

ayrı bir potansiyel tehlike kaynağıdır. Güvenlik duvarları virüsler için de bir güvenlik sağlamaz. Çünkü internetten indirilen ya da e-

mail ile gelen paketler içinde virüsler kolaylıkla şifre edilebilirler veya sıkıştırılabilirler. Güvenlik duvarı virüs imzalarını aramak için böyle programları taramaz.

Güvenlik duvarı konusunun daha açık anlaşılabilmesi için bazı Güvenlik duvarı türlerinin yapısını incelemek faydalı olabilir. Ancak bu incelemeye geçmeden önce Paket Filtreleme (Packet Filtering) ve Vekil (Proxy) konularını kısaca açıklamakta fayda görülmektedir.

3.1.1. Paket Filtreleme (Packet Filtering)IP paketleri filtreleme işlemi, yönlendirici (router) ara birimleri arasında geçen veri paketlerini süzmek için tasarlanmış bir yönlendirici (router) kullanılarak yapılır. Paket filtreleme yönlendiricisi (packet filtering router), aşağıdaki kriterlerin hepsine veya bazısına göre IP paketlerinin trafiğini süzebilir. Bunlar;

Kaynak (source) IP adresleri Hedef (destination) IP adresleri Kaynak TCP/UDP portu Hedef TCP/UDP portudur.

Tüm paket filtreleme yönlendiricileri sadece kaynak TCP/udp portlarını süzmekle kalmayıp, bazı yönlendiriciler, yönlendirici arabirimine bir veri paketi geldiğinde bu paketin nasıl kullanılacağını da incelerler. Filtreleme ağdaki veya ana makinadaki bağlantıları bloke etmek için kullanılan çeşitli metotlardan birisidir ve belirli portlar için bu portlardan yapılacak veri iletişimini bloke edilerek yapılmaktadır. Bir ağ, güvenilmez olarak tanımladığı ana makina veya ağlardan (belirli adreslerden) bağlantı yapılmasını engellemek isteyebilir ya da dışarıdan gelen tüm trafiği (e-mail, SMTP gibi malum istisnalar dışında) bloke etmek isteyebilir.

IP adres filtresine, TCP ve UDP port filtresi ekleyerek sistem daha esnek hale getirilebilir. Eğer bir Güvenlik duvarı TCP veya UDP portlarının bağlantısını bloke edebiliyorsa belli makinalar için yapılan belirli bağlantı tiplerini de yönlendirebilir. Örneğin bir ağ, Güvenlik duvarı'a bağlı olanların dışındaki makinalara giren bütün bağlantıları engelleyebilir. Ya da bir sistem için telnet veya FTP bağlantıları serbest iken bir diğeri için sadece SMTP bağlantısı açık olabilir. TCP veya UDP portlarının süzülmesi yolu ile bu tür seçimlerin uygulanması, paket filtreleme kapasitesine sahip misafir kullanıcı (host) yoluyla veya paket filtreleme yönlendiricisi tarafından yapılır.

S a y f a 15 | 38

Page 16: Güvenlik duvarları ve sistem sınır (giriş çıkış) güvenliği

Bununla birlikte paket filtreleme metodu herhangi bir veri içeriği kontrolü yapmadığından birtakım dezavantajlara da sahiptir. Ayrıca portların veri transferi aşamasındaki yönlendirilmeleri ve yönetimleri ile de ilgili bazı problemler olduğu bilinmektedir.

3.1.2. Proxy Sunucusu (Uygulama Geçidi - Application Gateway)Proxy servisi, internet üzerindeki yerel bir ağ (ya da internete bağlı bir bilgisayar) ile dış dünya arasındaki ilişkiyi sağlayan bir yardımcı geçit (gateway) sistemidir. Proxy'ler sık sık yönlendirici (router) makinaların yerine, benzeri bir işlev ile ağlar arası trafiği kontrol etmek amacıyla kullanılır. Aynı zamanda birçok proxy sunucusu, kullanıcı erişimleri için denetleme ve destek de sağlar. Proxy sunucular kullanılan uygulama protokollerine hakim olmaları nedeniyle bazı özel güvenlik protokollerini de uygulayabilirler. Örneğin bir FTP proxy sunucusu, FTP protokolü üstünden giriş yada çıkışları denetleyecek ve bloke edecek şekilde konfigüre edilebilir.

Proxy sunucu özel bir uygulamadır. Proxy yoluyla yeni bir protokolü desteklemek için, o protokole özel bir proxy yapısı geliştirilmelidir. (Soketler, bir Güvenlik duvarı gibi çalışması için, istemci tarafındaki uygulamalar için oluşturulmuş proxy sistemleridir. Avantajı kullanım kolaylığıdır. Ama proxy'ler gibi erişim kontrolüne ve özel protokol kullanma olanağına sahip değildir.)

Bir proxy sunucusu kullanıcılar adına (proxy'nin kelime anlamı vekil'dir) kullanıcılardan aldığı "internet'ten bilgi alma" isteklerini yürütür ve sonucu yine kullanıcılara iletir. Ancak aynı anda, bu bilgilerin bir kopyası da (cache), bu proxy sunucusu üzerinde tutulur ve bir sonraki erişimde kullanıcının istediği bilgiler doğrudan ilgili siteden değil de, proxy servisinden gelir; dolayısıyla, iletişim daha hızlı olur. Internet'e erişim için mutlaka bir proxy servisine ihtiyaç yoktur, ancak en yakın bir servis noktasındaki proxy servisinin kullanılması, internet erişimini bir hayli hızlandırmaktadır (Fortinet).

3.2. Güvenlik Duvarı Türleriİşlevsel açıdan güvenlik duvarlarını iki sınıfa ayırmak mümkündür. Bunlar;

1. Kara Liste bazlı güvenlik duvarları2. Beyaz Liste bazlı güvenlik duvarları3. Hibrit çalışan güvenlik duvarları

Kara liste bazlı güvenlik duvarları, kara listede yer alan kurallara uyan veri trafiğini engellemekte iken, beyaz liste bazlı güvenlik duvarları, sadece beyaz listede yazılan kurallara uyan trafiği iletilmesine izin verir. Bunlar dışında kara liste ve beyaz listeyi birlikte tutan ve her iki listede de bulunmayan trafiği sistem yöneticisine sorarak hibrit çalışan güvenlik duvarları da bulunmaktadır.

Fonksiyonel açıdan bakacak olursak, güvenlik duvarlarını dört başlık altında inceleyebiliriz (Cisco, s. 19). Bunlar;

1. Paket filtrelemeli güvenlik duvarları (Packet Filters Güvenlik duvarı)

S a y f a 16 | 38

Page 17: Güvenlik duvarları ve sistem sınır (giriş çıkış) güvenliği

2. Durum denetimli güvenlik duvarları (Stateful Inspection Güvenlik duvarı)3. Devre düzeyli geçit yolu (Circuit Level Güvenlik duvarı)4. Uygulama katmanı güvenlik duvarları (Application Layer Güvenlik duvarı)

Aşağıda bu güvenlik duvarı çeşitlerine ilişkin açıklamalara yer verilmektedir.

3.2.1. Paket Filtrelemeli Güvenlik Duvarları (Packet Filters Güvenlik duvarı)İlk nesil güvenlik duvarı politikasıdır6. Paket filtrelemeli güvenlik duvarları, küçük ve basit siteler ve ağlar için en yaygın ve en kolay metottur. Ancak birçok dezavantajlarından dolayı diğer Güvenlik duvarı türlerine göre daha az tercih edilir. Basit olarak, bir internet ağ geçidinde (gateway), paket filtreleme yönlendiricisi (router) kurulur ve sonra, protokoller ve adresleri engellemek veya süzmek için yönlendiricide gerekli ayarlar yapılır. İnternetten sisteme erişim engellenirken, sistemden internete erişim genellikle serbest bırakılır. Bununla beraber yönlendirici (router) güvenlik planına bağlı olarak sistemler ve servislere kısıtlı erişimlere izin verebilir. Ağ bilgi sistemi (NIS - Network Information System), ağ dosya sistemi (NFS) ve x-windows gibi tehlikeli olabilecek servisler için genellikle erişim ve trafik bloke edilir (Cisco, s. 20).

Paket filtrelemeli güvenlik duvarları için de yönlendiricilerdeki dezavantajlar geçerlidir. Yerel ve korunması gereken ağların güvenlik ihtiyaçları daha karmaşık olduğundan sorun daha da büyüyebilmektedir. Özetle bu sorunlar aşağıda yer almaktadır;

Erişim denetleme yetenekleri sınırlıdır. Ağ yöneticisi saldırıyı anında fark edemez. Paket filtreleme kuralları, bilinmeyen türden saldırılara karşı ağı test edebilme yeteneğine

sahip değildir. Eğer karmaşık filtre kuralları ve düzenlemeleri istenirse sistemin idaresi zor olabilmektedir

(Fortinet).

3.2.2. Durum Denetimli Güvenlik Duvarları (Stateful Inspection Güvenlik duvarı)2. nesil güvenlik duvarı politikasıdır7. Bu tipteki güvenlik duvarları, paket filtreleme yaparken ağ bağlantılarının durumunu da izlemeye almaktadır. Durum denetimli güvenlik duvarları çeşitleri, paket filtreleme yapan basit türlerinden başlayarak veri paketlerinin uygulama seviyesine kadar açılarak inceleyebilen türlerine kadar değişen çeşitliliktedir. Çoğunluk itibariyle verileri 4. Seviyede analiz ediyor olmasına rağmen, bazı kritik paketleri uygulama seviyesine kadar çıkartıp analiz edebilme yeteneğine sahiptirler. Bazı ülkeler ülke içinde takip etmek istedikleri kritik bilgileri izlemek amacıyla bu tip güvenlik duvarları kurabilmektedirler. Eğer şüpheli paket güvenlik duvarında yazılan kural ile eşleşirse bu paket bileşenlerine ayrılmak üzere daha üst katmanda incelemeye alınır. Bunun için paketlerin sadece IP adreslerine ve TCP/UDP port numarasına ihtiyaç bulunmaktadır. Bu tip güvenlik

6 http://www.ktu.edu.tr/dosyalar/bilgisayar_a93f2.pdf 7 http://www.ktu.edu.tr/dosyalar/bilgisayar_a93f2.pdf

S a y f a 17 | 38

Page 18: Güvenlik duvarları ve sistem sınır (giriş çıkış) güvenliği

duvarlarında incelmeye alınan veri çeşidi veya kural sayısı ne kadar artarsa internet trafiği performansı o ölçüde düşmektedir8.

3.2.3. Devre Düzeyli Geçit Yolu (Circuit Level Güvenlik duvarı)OSI başvuru modelinin 4.katmanı olan oturum katmanı düzeyinde çalışan bu güvenlik duvarı çeşidinde özel ağın güvenliği için arada vekil sistem (proxy) kullanılır. Paket süzmeli güvenlik duvarına göre daha sıkı koruma sağlar. Oturum kurulurken ilgili port sorgulamaları yapılır ve oturum açıldıktan sonra o port, oturumun kurulmasını başlatan taraf sonlandırıncaya kadar sürekli açık tutulur. Bu koruma duvarında oturum bir kez kabul edilip kurulduktan sonra her paket için denetim yapılmaz. En önemli özelliği iç kullanıcı ile dış bir sunucu arasında doğrudan bağlantı olmamasıdır. Özel ağın yapısını dışarıya karşı iyi koruduğu söylenebilir9.

3.2.4. Uygulama Katmanı Güvenlik Duvarları (Application Layer Güvenlik Duvarı veya Web Application Güvenlik Duvarı)En sık kullanılan güvenlik duvarı tekniğidir. Günümüzde internet teknolojilerinin kullanımının hızlı bir şekilde artması sebebiyle, internet uygulamalarının güvenliği her geçen gün biraz daha önem kazanmaktadır. ABD’de faaliyet gösteren NIST’in (National Instuitue of Standards and Technology) yayınladığı bir rapora göre, güvenlik açıklarının %92’ye yakını internet uygulamalarından kaynaklanmaktadır10. Yine ABD kaynaklı bir araştırma kuruluşu olan Application Defence Center’in; içerisinde e-ticaret, çevirim içi bankacılık, tedarik zinciri yönetimi gibi uygulamaların da bulunduğu 250’den fazla internet sitesi üzerinde yaptığı bir araştırmaya göre de, bu sitelerin %92’sinin farklı saldırı tiplerine açık olduğu görülmüştür11. Uygulama güvenlik duvarları; üzerlerinde tanımlı politikalara göre herhangi bir servise veya uygulamaya yapılmak istenen erişimleri denetledikten sonra bu erişim isteklerine izin veren veya bu erişim isteklerini engelleyen bir güvenlik duvarı çeşididir. OSI referans modelinin uygulama katmanında (yedinci katman) çalışırlar12. Bu nedenle uygulama katmanındaki güvenlik duvarı, gelen paketin veri kısmına kadar olan tüm paket başlıklarını açıp kontrol edebilir ve filtreleyebilir. Uygulama katmanında filtreleme yapmanın en önemli avantajı FTP, DNS, HTTP gibi bazı uygulamalar ve protokollerin filtrelemeye tabi tutuluyor olmasıdır.

8 http://www.informit.com/articles/article.aspx?p=373120 9http://megep.meb.gov.tr/mte_program_modul/moduller_pdf/A%C4%9F%20G%C3%BCvenli%C4%9Fi%20Ve %20A%C4%9F%20Protokolleri.pdf 10 http://www.bilgiguvenligi.gov.tr/web-guvenligi/ugulama-guvenlik-duvarlarinin-web-application-Güvenlik duvarıs-analizi.html11 http://www.bilgiguvenligi.gov.tr/web-guvenligi/ugulama-guvenlik-duvarlarinin-web-application-Güvenlik duvarıs-analizi.html 12 http://www.bilgiguvenligi.gov.tr/web-guvenligi/ugulama-guvenlik-duvarlarinin-web-application-Güvenlik duvarıs-analizi.html

S a y f a 18 | 38

Page 19: Güvenlik duvarları ve sistem sınır (giriş çıkış) güvenliği

3.3. Güvenlik Duvarı KarşılaştırmasıYaygın olan ve yukarıda özetlen üç farklı güvenlik duvarının temel özelliklerinin karşılaştırmasına aşağıda Tablo 3’de yer verilmektedir.

Tablo 3. Güvenlik duvarı mimarilerinin karşılaştırılması

GüvenlikDuvarı

Avantajları Dezavantajları

Statik Paket Filtreleyişi Güvenlik Duvarı

UcuzYüksek performansKullanıcılara göre saydam

Sadece ağ protokollerini anlayabilirler. İçerideki ağ yapısını dışarıdan gizleyemezler. Daha yüksek katmanlardaki uygulamalara yönelik atakları engelleyemezler.Denetim kabiliyeti sınırlıdır.Kimlik onaylama, zamana ve saate göre kontrol, kayıt gibi özelliklere sahip değildir.

Dinamik Paket Filtreleyici Güvenlik Duvarı

Bütün OSI modeli kapsanır. Gelişmiş ataklar engellenir.Çok yüksek performans sağlanır.Kullanıcılara göre saydamdır. Bağlantısız protokollerin takibi için sanal oturum bilgisi oluşturulur.

Uygulama seviyesinde denetleme yapmak için veri akışı uygulama katmanına yükseltilmelidir.Gelişmiş kullanıcı kaydı yapmak zordur.İçerik güvenliği ve karmaşık uygulama filtrelemesini yapmak zordur.

Vekil Sunucu GüvenlikDuvarı

Uygulama katmanındaki protokolleri anlayabilirler.En sağlam güvenlik çözümü sağlarlar.Ayarlanması ve programlanması kolaydır.İçerideki ağ yapısını gizleyebilirler.Denetim ve kullanıcı kayıt araçlarına sahiptir.Kimlik onaylaması ile zaman ve saate göre kontrol gibi özelliklere sahiptirler.

Düşük performans.Kullanıcılara göre saydam değildir.Her protokol veya uygulama için yeni bir vekil geliştirilmesi gerekir.İşletim sistemini dış ataklara açarlar.OSI modelinin sadece 5 ile 7 arasındaki katmanları incelenir.UDP ve RPC gibi bağlantısız protokoller vekiller tarafından desteklenemez.

Kaynak: http://obs.iszu.edu.tr/dosyalar/DersMateryal/bilgiguvenligidersnotu2.pdf

3.4. Ağ Adres Dönüşümü (NAT – Network Address Translation)Ağ Adres Dönüşümü (NAT - Network Address Translation), TCP/IP ağındaki bir bilgisayarın yönlendirme cihazı ile başka bir ağa çıkarken adres uzayındaki bir IP ile yeniden haritalandırma yaparak IP paket başlığındaki ağ adres bilgisini değiştirme sürecidir.

S a y f a 19 | 38

Page 20: Güvenlik duvarları ve sistem sınır (giriş çıkış) güvenliği

NAT, ağ maskelemeyle (ya da IP maskelemeyle) ile birlikte, bir adres uzayını gizlemek için kullanılan teknik bir terimdir. Bilindiği üzere, interneti etkin kullanabilmek için IP adresleri kullanılır. Ama her IP adresi internet ortamında kullanılamaz. Bazı özel IP adresleri vardır ve bu IP adres aralıkları kendi yerel ağlarımızda kullanmamız için ayrılmıştır. Bunlar yerel ağlar için ayrılmış adresler (Address Allocation for Private Internets) olarak tanımlanır ve bu IP adreslerine de yerel adresler (Local Adresses) denir. İnternette kullandığımız IP adreslerine ise genel adres (Public Adresses) denir.

Özel (Private) IP adresleri:

10.0.0.0 ile 10.255.255.254 172.16.0.0. ile 172.31.255.254 192.168.0.0 ile 192.168.255.254

arasındadır. NAT yerel adreslerin internete çıkmasına olanak sağlayan teknolojidir.

NAT mantığını daha iyi anlayabilmek için evde kullandığımız ADSL yönlendiricilerimizi düşünebiliriz. Servis sağlayıcımıza ait ADSL kullanıcılarına sabit (statik) veya değişken (dinamik) olarak dağıtılan belli IP aralıkları vardır. Buraya dış taraf (outside) denir. ADSL yönlendiricisine, bilgisayara veya ağ üzerinden haberleşen başka bir cihaza özel IP verilir. Buraya da iç taraf (Inside) denir. Yerel ağdaki adresler birbirleriyle haberleşebilirler. İnternete çıkarken ise NAT devreye girmektedir.

İstek gönderdiğimizde bu istek ADSL yönlendiricisinin Ethernet (eth0) arayüzüne gelir ve NAT bunu çevirip diğer arayüze yönlendirir, o bağlantı için NAT tablosunda bir kayıt tutulur. Yerel ağ tarafında birden fazla cihaz internete çıktıklarında servis sağlayıcısının verdiği bir tane IP adresini kullanacaklardır.

NAT özel bir IP adresi kullanarak yüzlerce cihazın internet ortamında haberleşmesini sağlar. Böylece IP adres kıtlığı sıkıntısı kısmen önlenmiş olur13.

3.4.1. NAT Avantajları ve DezavantajlarıNAT’ın avantajları; az sayıda IP kullanarak birçok istemciyi internete çıkarabilme ve bu şekilde hem verimliliği arttırma olarak kazanç sağlama hem de IP adresi azalmasını yavaşlatma olarak sıralanabilir. Ayrıca, yerel ağı yöneticilerin istediği gibi tasarlayabilmesine de olanak sağlar. Yeni istemciler ekleyebilme, adreslerini değiştirebilme veya yeni yerel ağlar ekleyebilmeye de olanak sağlamaktadır.

Bunların yanında, güvenlik amaçlı olarak yerel ağ ile internet arasında bir çeşit firewall gibi durur. Bu şekilde dışarıdan gelen erişim talepleri izin verilmediği sürece içeriye erişemezler.

Bunların yanında dezavantajları da bahsedilebilir. Bazı uygulamalar (FTP ve IPsec gibi) NAT kullanırken zorluklar yaşayabilmektedir.

13 https://tr.wikipedia.org/wiki/NAT S a y f a 20 | 38

Page 21: Güvenlik duvarları ve sistem sınır (giriş çıkış) güvenliği

3.4.2. NAT TürleriBasit NAT(Basic NAT)

Bu sadece IP adres çevirimini sağlar, port haritalamayı sağlamaz. Sabit NAT da denir.

Değişken NAT (Dynamic NAT)

Basit NAT’a benzer. Bu tip NAT ayarında bir IP adres havuzumu bulunur. Örneğin, ISP'den gidip 85.99.230.10 ile 85.99.230.20 aralığını aldığımızı düşünelim. İçeride de 50 tane kullanıcı olduğunu varsayarsak internete çıkmak isteyenler boşta olan herhangi bir IP adresinden dışarı çıkacaklardır. Kullanıcılar hangi IP adresinden çıkacaklarına karar verme yetkisine sahip değildirler. Yoğunluğa göre NAT ayarı yapılan cihaz buna karar verir.

Sabit ve Değişken NAT işlemi şu sıra ile gerçekleşir;

1- İç taraftan bir istemci dış taraftan bir web sunucusuna bağlanmak ister.

2- İlk paket yönlendiriciye geldiğinde, yönlendirici NAT tablosuna bakar.

3-Statik olarak eşleme yapılırsa, yönlendirici ilgili IP adresi ile çevirme işlemini yapar ve gerekli yere yönlendirir. Statik eşleme yapılmazsa, IP adresi havuzumuzdan boşta duran bir IP adresi ile eşleştirir. Bu durumda sadece geçerli olan bağlantı için tabloya bir eşleme kaydı girilir.

4- Web sunucu paketi alır ve dış taraftaki ilgili IP adresine cevap gönderir çünkü çevirim olmuştur ve web sunucusunun bizim iç taraftaki ağımızdan haberi yoktur.

5- Yönlendirici, tablosundaki iç taraf – dış taraf eşlemelerine bakar ve bu paketi iç taraftaki gerekli yere yönlendirir.

6- Bundan sonra bağlantı bitene kadar bu şekilde devam edecektir. Bittiğinde değişken (dynamic) NAT yapılmışsa bu kayıt bir dahaki bağlantıya kadar tablodan silinir.

Port Adres Çevirimi (Port Address Translation - PAT)

Diğer bir ismi de Aşırı Yükleme’dir (Overloading). Bir tane genel IP adresi vardır ve içeride bulunan istemciler dışarı bu IP adresini kullanarak çıkarlar. Burada tek fark iç tarafın kullandığı port ile NAT işleminden sonra dış tarafın kullandığı port (kapı) numarasının birbirlerinden farklı olmasıdır.

Normalde istemciler bir yer ile bağlantı kurduğunda (HTTP sunucusu) onun 80 numaralı portuna (kapı) gider. Buna hedef port (destination port) denir. Buraya giderken kendilerinden de bir port açarlar. Buna da kaynak port (source port) denir. Kaynak port 1024 ile 65535 arasında herhangi bir port olabilir. Bu TCP oturumu (TCP Session) kurulması için bu gereklidir.

PAT işlemi şu sıra ile gerçekleşir;

1- İç taraftan bir istemci dış taraftan bir HTTP sunucusuna bağlanmak ister.

2- İlk paket yönlendiriciye geldiğinde, yönlendirici NAT tablosuna bakar.

S a y f a 21 | 38

Page 22: Güvenlik duvarları ve sistem sınır (giriş çıkış) güvenliği

3- Yönlendirici (router) iç tarafın IP adresini ve port numarasını NAT tablosuna yazar. Sonra yönlendirici iç taraftaki IP adresi ile port numarasını dış taraftaki ile çevirime sokar. Bu işlemden sonra artık HTTP sunucuna giden IP adresi ve kaynak port farklı olacaktır.

4- HTTP sunucu paketi alır ve dış taraftaki ilgili IP adresine cevap gönderir çünkü çevirim (translation) olmuştur ve HTTP sunucusunun bizim iç taraftaki ağımızdan haberi yoktur.

5- Yönlendirici, tablosundaki iç taraf - dış taraf eşlemelerine bakar ve bu paketi iç taraftaki gerekli yere yönlendirir.

6- Bundan sonra bağlantı bitene kadar bu şekilde devam edecektir. Bittiğinde bu kayıt bir dahaki bağlantıya kadar veya farklı bir bağlantı isteği gelene kadar tablodan silinir.

Örtüşüm (Overlapping)

Bulunulan yerdeki bir IP adresinin internette veya başka bir ağda da kullanılmasından kaynaklanan karışıklığı önlemek için kullanılmaktadır. Bunun için bir DNS sunucusu ile veya sabit/değişken NAT ile beraber kullanılması gerekmektedir.

4. İşletim Sistemlerinde Güvenlik Duvarı Kullanımı4.1. Windows XP’de Güvenlik Duvarı KullanımıAşağıda Şekil 9’da Windows XP’de güvenlik duvarı kullanımı gösterilmektedir.

S a y f a 22 | 38

Page 23: Güvenlik duvarları ve sistem sınır (giriş çıkış) güvenliği

Şekil 9. Windows XP’de Güvenlik Duvarı

Kaynak: https://www.microsoft.com/en-us/windows

4.2. Windows Server 2008’de Güvenlik Duvarı KullanımıAşağıda Şekil 10’da Windows Server 2008’de güvenlik duvarı kullanımı gösterilmektedir.

S a y f a 23 | 38

Page 24: Güvenlik duvarları ve sistem sınır (giriş çıkış) güvenliği

Şekil 10. Windows 2008 Server Manager

Kaynak: http://www.windowsnetworking.com/articles-tutorials/windows-server-2008/configure-Windows-Server-2008-advanced-firewall-MMC-snap-in.html

Şekil 11. Microsoft Yönetim Konsolu (MMC–Microsoft Management Console) ile Windows 2008 Güvenlik Duvarı

Kaynak: http://www.windowsnetworking.com/articles-tutorials/windows-server-2008/configure-Windows-Server-2008-advanced-firewall-MMC-snap-in.html

S a y f a 24 | 38

Page 25: Güvenlik duvarları ve sistem sınır (giriş çıkış) güvenliği

Şekil 12. Microsoft Yönetim Konsolu (MMC–Microsoft Management Console) ile Windows 2008 Güvenlik Duvarı

Kaynak: http://www.windowsnetworking.com/articles-tutorials/windows-server-2008/configure-Windows-Server-2008-advanced-firewall-MMC-snap-in.html

Şekil 13. Windows 2008 Server Güvenlik Duvarı Profilleri

Kaynak: http://www.windowsnetworking.com/articles-tutorials/windows-server-2008/configure-Windows-Server-2008-advanced-firewall-MMC-snap-in.html

S a y f a 25 | 38

Page 26: Güvenlik duvarları ve sistem sınır (giriş çıkış) güvenliği

Şekil 14. Windows 2008 Server Güvenlik Duvarı Kural Ekleme

Kaynak: http://www.windowsnetworking.com/articles-tutorials/windows-server-2008/configure-Windows-Server-2008-advanced-firewall-MMC-snap-in.html

Şekil 15. Windows 2008 Server Güvenlik Duvarı Kural Ekleme

Kaynak: http://www.windowsnetworking.com/articles-tutorials/windows-server-2008/configure-Windows-Server-2008-advanced-firewall-MMC-snap-in.html

S a y f a 26 | 38

Page 27: Güvenlik duvarları ve sistem sınır (giriş çıkış) güvenliği

Şekil 16. Windows 2008 Server Güvenlik Duvarı İçyönlü Kurallar

Kaynak: http://www.windowsnetworking.com/articles-tutorials/windows-server-2008/configure-Windows-Server-2008-advanced-firewall-MMC-snap-in.html

Şekil 17. Windows 2008 Server Güvenlik Duvarı Kural Ekleme

Kaynak: http://www.windowsnetworking.com/articles-tutorials/windows-server-2008/configure-Windows-Server-2008-advanced-firewall-MMC-snap-in.html

Şekil 18. Windows 2008 Server Güvenlik Duvarı Kurallar

Kaynak: http://www.windowsnetworking.com/articles-tutorials/windows-server-2008/configure-Windows-Server-2008-advanced-firewall-MMC-snap-in.html

S a y f a 27 | 38

Page 28: Güvenlik duvarları ve sistem sınır (giriş çıkış) güvenliği

4.3. Linux İşletim Sistemlerinde Güvenlik Duvarı Kullanımı14

İnternet ve iç ağ arasında yönlendirme yapabilmek için, Linux çekirdeğindeki yönlendirme (forwarding) ayarının açılması gerekir. Bu işlemi root yetkileriyle yapılması gerekmektedir ( "su -" komutu ile root olduktan sonra, ya da komutun başına "sudo" ekleyerek).

sysctl -w net.ipv4.conf.default.forwarding=1Bu işlemin kalıcı olarak, sistemin her açılışında yapılması için ise, "/etc/sysctl.conf" dosyasının içine aşağıdaki satırı eklenmesi gerekmektedir.

net.ipv4.conf.default.forwarding=1

4.3.1. Tablolar ve ZincirlerLinux'taki iptables/netfilter altyapısı paketleri işlerken tablolar ve zincirlerden faydalanır. Filter tablosu, ağ paketlerinin incelenip izin verildiği ya da engellendiği tablodur. Temel bir güvenlik duvarı, paketleri hedef/kaynak IP adresi, hedef/kaynak portu gibi özelliklerine göre inceleyeceği için, örneklerimizde filter tablosunu kullanıyor olacağız. Çeşitli zincirler arasında kullanacağımız üç tanesi ise;

Giriş (Input): Internet'ten ya da iç ağdan yola çıkıp, güvenlik duvarının kendisine gelen paketler. Örneğin güvenlik duvarının yönetimi için iç ağdan yapılan bir SSH bağlantısı, INPUT zincirinde işlem görecektir

Çıkış (Output): Güvenlik duvarı makinasından kaynaklanıp Internet'e veya iç ağa giden paketler. Örneğin güvenlik duvarı makinasındaki paket yöneticisi, güncellemeleri indirmeye çalıştığında giden paketler çıkış zincirinde işlem görecekler

Yönlendirme (Forward): Bir ağı korumak için kurulan güvenlik duvarında en önemli zincir “forward” zinciridir, çünkü Internet'ten gelip iç ağa gitmeye çalışan paketler bu zincirden geçerler. Aynı şekilde iç ağdan çıkıp Internet'e gitmeye çalışan paketler de bu zincirde işlem görürler.

Iptables kuralları girmek için izlenebilecek iki yol vardır. İlki kuralları "iptables" programına parametreler halinde teker teker girmektir. Bu yöntem çok verimli değildir ve de kuralların girilmesi esnasında güvenlik duvarı yarım bir kural kümesi ile çalışıyor olacaktır. Tercih edilen ikinci yöntem ise tüm kuralları bir dosyaya yazıp "iptables-restore" komutuna yönlendirmek. Bu sayede hem verimli bir şekilde kurallar yüklenir, hem de kural yükleme işlemi anlık olarak gerçekleştiği için kurallar yarımken paketler incelenmemiş olur. Aşağıda herhangi bir yönlendirme yapmayan, bu yüzden de FORWARD zincirini kullanmayan temel bir iptables kural kümesi dosyası vardır.

*filter:INPUT ACCEPT [:]:FORWARD ACCEPT [:]:OUTPUT ACCEPT [:]

14 Bu başlık altındaki kısımlar http://e-bergi.com/y/Linux-ile-Bir-Guvenlik-Duvari-Kuralim sayfasından alınmıştır.S a y f a 28 | 38

Page 29: Güvenlik duvarları ve sistem sınır (giriş çıkış) güvenliği

-A INPUT -i lo -j ACCEPT-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT-A INPUT -m state --state INVALID -j DROP-A INPUT -p tcp --dport 22 -s 10.0.0.45 -j ACCEPT-A INPUT -p tcp -j REJECT --reject-with tcp-reset-A INPUT -p udp -j REJECT --reject-with icmp-port-unreachable-A INPUT -p ALL -j DROPCOMMITŞimdi bu dosyanın nasıl bir kural kümesi tanımladığını satır satır inceleyelim. En baştaki dört satır, "filter" tablosunu kullanacağımızı, ve INPUT, FORWARD, OUTPUT zincirlerindeki varsayılan işlemin ise pakete izin vermek olduğunu belirtiyor.

-A INPUT -i lo -j ACCEPTBu satır, loopback arayüzü (yani "ifconfig -a" çıktısında 127.0.0.1 ip adresine sahip görünen arayüz) üzerinden gelen tüm paketlere izin veriyor. Satırın detaylarına bakılacak olursa "-A" parametresinden sonra kullanılacak zincir, "-i" parametresinden sonra hangi arayüzden gelen paketler üzerinde işlem yapılacağı, "-j" parametresiyle de bu pakete ne gibi bir işlem uygulanacağını belirtilmektedir. ACCEPT pakete izin verildiği anlamına gelmektedir.

-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPTBu satır önceden yapılmış bağlantıların devam paketlerine izin vermeyi sağlamaktadır. Iptables durumlu (stateful) bir güvenlik duvarıdır. "-m state" parametresi bu durum kontrolünü etkinleştirirken, "--state" parametresinden sonra hangi durumlar üzerinde işlem yapılabileceği belirtilmektedir. Burada ESTABLISHED ve RELATED durumlarındaki paketlere "-j ACCEPT" ile izin verilmiştir.

-A INPUT -m state --state INVALID -j DROPBu satırda durumu tanımsız olan (INVALID) paketlere izin verilmemektedir. "-j DROP" bu paketin daha fazla işlem görmeyeceğini ve "çöpe atılacağını" belirtiyor.

-A INPUT -p tcp --dport 22 -s 10.0.0.45 -j ACCEPTBU komutla, "-p tcp" ile TCP protokolü taşıyan paketleri işlemeyi sağlamaktadır. "--dport 22" hedef TCP portu 22 olan, "-s 10.0.0.45" de kaynak IP adresi 10.0.0.45 olan paketlerle kural sınırlanmaktadır. INPUT zinciri ile birlikte tüm satırı ele alınırsa; güvenlik duvarı makinasının 22. TCP portuna, 10.0.0.45 IP adresinden gelen tüm paketlere izin verilmektedir.

-A INPUT -p tcp -j REJECT --reject-with tcp-reset-A INPUT -p udp -j REJECT --reject-with icmp-port-unreachable-A INPUT -p ALL -j DROPBu kurallar, daha önce izin verilmemiş olan tüm bağlantı isteklerinin reddedilmesini sağlamaktadır. Reddetme işlemini "-j REJECT" ve "-j DROP" kararlarıyla yapılmaktadır. TPC protokolü için ayrı, UDP protokolü için ayrı reddetme yöntemleri kullanılmıştır ("--reject-with"). Tüm diğer protokollerdeki

S a y f a 29 | 38

Page 30: Güvenlik duvarları ve sistem sınır (giriş çıkış) güvenliği

paketleri ise kaldırılmaktadır. Bu yaklaşıma "varsayılan olarak reddet" (default deny) adı verilir. İzin verilmeyen tüm bağlantıların varsayılan olarak reddedilmesi sistemin ve iç ağın güvenliğini sağlamakta önemli bir adımdır.

COMMITCOMMIT satırı ile tüm kural kümesini tek bir anda etkinleştirir.

Bu kural kümesini bir dosyaya kaydettikten sonra aşağıdaki gibi bir komutla dosyadaki kurallar etkinleştirilebilir. Bu işlemin root olarak yapılması gerekmektedir.

iptables-restore < /etc/iptables-kurallariKural kümesini iptal etmek ve gelen ağ paketlerini herhangi bir işlem yapmadan kabul etmek için ise aşağıdaki komutu root olarak çalıştırabilir.

iptables –F

4.3.2. İç Ağın Trafiğini Kontrol EtmeŞimdi iç ağı koruyacak kuralları nasıl yazılacağını incelenmektedir. Aşağıdaki kurallar, COMMIT satırının öncesine eklenir.

-A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT-A FORWARD -m state --state INVALID -j DROP-A FORWARD -i eth1 -j ACCEPT-A FORWARD -i eth0 -p udp --dport 53 -d 10.0.0.88 -j ACCEPT-A FORWARD -p tcp -j REJECT --reject-with tcp-reset-A FORWARD -p udp -j REJECT --reject-with icmp-port-unreachable-A FORWARD -p ALL -j DROPFORWARD zinciri için eklediğimiz bu kuralların ilk ikisi ve son üç tanesi, yukarıda INPUT zincirinde kullandıklarımızla aynıdır.

-A FORWARD -i eth1 -j ACCEPTBu kuralla, iç ağdan eth1 arayüzü aracılığıyla gelip, Internet'e giden tüm bağlantılara izin verilmektedir. İç ağımızdaki bilgisayarlar, herhangi bir kısıtlamaya tabi tutulmadan Internet'teki her yere bağlantı kurabilirler.

-A FORWARD -i eth0 -p udp --dport 53 -d 10.0.0.88 -j ACCEPTBu kural ile, Internet'e bağlı eth0 arayüzü üzerinden gelip, 10.0.0.88 IP adresli bilgisayarın 53 numaralı UDP portuna giden paketlere izin verilmektedir. Bu kural 10.0.0.88 IP adresli makinada DNS sunucusu çalıştırılıyorsa faydalı olacaktır.

S a y f a 30 | 38

Page 31: Güvenlik duvarları ve sistem sınır (giriş çıkış) güvenliği

4.3.3. “Iptables” Parametreleri“Iptables” ile yaygın olarak kullanılan parametrelerin listesine aşağıda yer verilmektedir. Bu parametrelerle istenilen koşullara uyan paketleri yakalayıp, "-j" parametresi ile bunlara izin verilip verilmeyeceğini belirlenmektedir.

-d “IP”: Belirtilen IP adresine gitmekte olan paketleri yakalar. -s “IP”: Belirtilen IP adresinden gelen paketleri yakalar. -p “PROTOKOL”: Belirtilen protokoldeki (TCP,UDP,ICMP) paketleri yakalar. --dport “PORT”: Belirtilen porta gitmekte olan paketleri yakalar, -p ile protokol belirtilmesi

gerekir. --sport “PORT”: Belirtilen porttan gelmekte olan paketleri yakalar, -p ile protokol belirtilmesi

gerekir. -i “ARAYÜZ”: Belirtilen ağ arayüzünden alınan paketleri yakalar. -o “ARAYÜZ”: Belirtilen ağ arayüzüne gönderilecek paketleri yakalar. -m mac --mac-source “MAC_ADRESİ”: Belirtilen MAC adresinden gönderilmiş paketleri

yakalar, böylelikle bir makinanın IP adresi değişse bile MAC adresine bağlı olarak filtreleme yapılabilir. MAC adresi filtresi sadece iç ağ için anlamlıdır.

Ayrıca, yukarıdaki kurallar "!" işareti ile tersine çevrilebilir, örneğin "-s! 10.0.0.13" ile, kaynak IP adresi 10.0.0.13 dışında herhangi bir şey olan paketleri yakalanabilir.

4.3.4. İç Ağdan Çıkan Trafiği KısıtlamakBurada, son örnekte, iç ağdan dışarı giden istekleri kısıtlamak istediğimizde nasıl bir yol izleneceği gösterilecektir. Aşağıda FORWARD zincirine yeni eklenen kurallarla birlikte tüm iptables kural kümesi görülmektedir. "#" işaretiyle başlayan satırlar yorum satırları olup iptables tarafından işlenmezler ve kural kümesini açıklamak için kullanılmışlardır.

*filter:INPUT ACCEPT [:]:FORWARD ACCEPT [:]:OUTPUT ACCEPT [:]-A INPUT -i lo -j ACCEPT-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT-A INPUT -m state --state INVALID -j DROP# Bu bilgisayar güvenlik duvarını yönetmek için SSH bağlantısı yapabilir-A INPUT -p tcp --dport 22 -s 10.0.0.45 -j ACCEPT# Güvenlik duvarı makinasına gelen diğer bütün bağlantı isteklerini reddet-A INPUT -p tcp -j REJECT --reject-with tcp-reset

S a y f a 31 | 38

Page 32: Güvenlik duvarları ve sistem sınır (giriş çıkış) güvenliği

-A INPUT -p udp -j REJECT --reject-with icmp-port-unreachable-A INPUT -p ALL -j DROP# İç ağ trafiğini filtrele-A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT-A FORWARD -m state --state INVALID -j DROP# 10.0.0.88 IP adresinde çalıştırdığımız DNS sunucusuna gelen paketlere izin ver-A FORWARD -i eth0 -p udp --dport 53 -d 10.0.0.88 -j ACCEPT# Dışarı giden trafiği incele Giden HTTP ve HTTPs trafiğine izin ver# sadece 5.1.1.1 IP adresine çıkılmasına izin verme-A FORWARD -i eth1 -p tcp --dport 80 -d ! 5.1.1.1 -j ACCEPT-A FORWARD -i eth1 -p tcp --dport 443 -d ! 5.1.1.1 -j ACCEPT# Gelen ve giden tüm diğer bağlantıları reddet-A FORWARD -p tcp -j REJECT --reject-with tcp-reset-A FORWARD -p udp -j REJECT --reject-with icmp-port-unreachable-A FORWARD -p ALL -j DROPCOMMIT

4.4. Mac OS İşletim Sistemlerinde Güvenlik Duvarı KullanımıAşağıda Şekil 17’de Mac OS İşletim Sistemlerinde güvenlik duvarı kullanımı gösterilmektedir.

Şekil 17. Mac OS'da Güvenlik Duvarı

Kaynak: http://www.howtogeek.com/205108/your-mac%E2%80%99s-firewall-is-off-by-default-do-you-need-to-enable-it/

S a y f a 32 | 38

Page 33: Güvenlik duvarları ve sistem sınır (giriş çıkış) güvenliği

4.5. Windows Server 2008’de NAT İşlemiAşağıda Windows Server 2008’de NAT işleminin yapılışı şekillerle anlatılmaktadır15.

Şekil 18. Server Manager Üzerinden Network Policy and Accsess Services Rolünü Yükleme

Kaynak: http://www.btgonulluleri.com/windows-server-2008-r2-zerinde-nat-uygulamasi/

15 http://www.btgonulluleri.com/windows-server-2008-r2-zerinde-nat-uygulamasi/S a y f a 33 | 38

Page 34: Güvenlik duvarları ve sistem sınır (giriş çıkış) güvenliği

Şekil 19. Bazı Ayarların Yapılması

Kaynak: http://www.btgonulluleri.com/windows-server-2008-r2-zerinde-nat-uygulamasi/

Şekil 20. Servisin Başlatılması

Kaynak: http://www.btgonulluleri.com/windows-server-2008-r2-zerinde-nat-uygulamasi/

S a y f a 34 | 38

Page 35: Güvenlik duvarları ve sistem sınır (giriş çıkış) güvenliği

4.6. Linux İşletim Sisteminde NAT İşlemiAşağıda Linux işletim sisteminde NAT işleminin yapılabilmesi için geekli komutlara yer verilmektedir16

# vim /etc/network/interfaces# This file describes the network interfaces available on your system# and how to activate them. For more information, see interfaces(5).# The loopback network interfaceauto loiface lo inet loopback# The primary network interfaceauto eth0iface eth0 inet dhcpauto eth1iface eth1 inet staticaddress 172.16.16.1netmask 255.255.255.0network 172.16.16.0broadcast 172.16.16.255# vim /etc/network/interfaces komutu ile interfaces dosyasının içeriği yukarıdaki hale getirilmelidir. Interfaces dosyası yukarıdaki hale getirildikten sonra

# vim /etc/sysctl.confnet.ipv4.ip_forward=1# vim /etc/sysctl.conf Komutu ile sysctl.conf dosyasında bazı değişikliler yapmak üzere bu dosyayı açılır ve “net.ipv4.ip_forward” yazan satırı bularak başındaki diyez(#) işaretini kaldırılır. Yapılan bu değişiklik linux üzerinde network servisinin yeniden başlatılmasından sonra aktif hale gelecektir. Eğer hemen aktif olmasını isteniyorsa;

# sysctl -w net.ipv4.ip_forward=1Komutu kullanılabilir.

NAT işlemi için “iptables” modülünü “transparan” olarak devreye alınır. Herhangi bir kesme yapmaksızın, sadece IP NAT işlemini yapmak üzere konfigure edilir.

“rc.local” dosyasına her açılışta “iptables”a eklemesi için gereken komutlar aşağıdaki gibidir;

# vim /etc/rc.local#!/bin/sh -e# rc.local# This script is executed at the end of each multiuser runlevel.# Make sure that the script will "exit 0" on success or any other# value on error.# In order to enable or disable this script just change the execution# bits.# By default this script does nothing.iptables -P FORWARD ACCEPTiptables --table nat -A POSTROUTING -o eth0 -j MASQUERADE16 http://www.cozumpark.com/blogs/linux_unix/archive/2014/05/11/linux-ile-basit-network-tasarimi-gw-nat-dhcp-dns.aspx

S a y f a 35 | 38

Page 36: Güvenlik duvarları ve sistem sınır (giriş çıkış) güvenliği

exit 0“rc.local” dosyasını yukarıdaki hali ile kaydedip çıkılır. “rc.local” dosyası kabaca linux işletim sisteminin “boot” sırasında hangi komutları çalıştıracağını barındıran bir dosyadır. Dolayısı ile bu dosyaya yazdırılan komutlar bir sonraki sistem başlangıcından sonra aktif olacaktır. Sistemi yeniden başlatmadan ”iptables” komutları “Shell”de çalıştırılır;

# iptables -P FORWARD ACCEPT# iptables --table nat -A POSTROUTING -o eth0 -j MASQUERADEEğer “server1” sunucusu üzerinde 172.16.16.2 olarak “static IP” tanımlanmışsa, “server1” üzerinden 192.168.2.0 ağına veya dış bir ağa “ping” atarak konfigürasyonu kontrol edebilir.

Şekil 19. Linux NAT İşlemi için Konfigurasyon Kontrolü

Kaynak: http://www.cozumpark.com/blogs/linux_unix/archive/2014/05/11/linux-ile-basit-network-tasarimi-gw-nat-dhcp-dns.aspx

SonuçPakistan Elektrik Mühendisliği ve Bilgisayar Bilimleri Bölümü tarafından yapılan ve 2013 yılında 11. Uluslararası IEEE Otonom Dağıtık Sistemler Sempozyumunda (IEEE Eleventh International Symposium on Autonomous Decentralized Systems)17 yayınlanmış olan bir araştırmada18 15 adet uygulama seviyesi güvenlik duvarı arasında testler gerçekleştirilmiş olup bunların hepsinin farklı özelliklerde bir diğerine göre üstün olmasına rağmen hiçbirinin bütün kriterleri sağlayacak şekilde bir güvenlik sunamadığı gözlemlenmiştir.

Yukarıda anlatılanlar ile birlikte bakıldığında, güvenlik duvarlarının iç ağların veya kişisel bilgisayarların güvenliğini sağlamada çok önemli bir araç olduğu fakat uygulamaları, sistemi veya iç ağı korumak için tek başına mükemmel bir çözüm olmadığıdır. Yapılması gereken ise bu öneriler doğrultusunda amaca yönelik olarak maliyet-fayda analizi yaparak ihtiyaçlar için en uygun bir güvenlik duvarının temin edilip kullanılmasıdır.

KaynakçaBERGEL, C. (2004). Bilgisayar Ağları ve Güvenlik. Sakarya: Fen Bilimleri Enstitüsü Dergisi, 8. Cilt, 1.

Sayı, SAÜ.

17 http://www.ieee.org/conferences_events/conferences/conferencedetails/index.html?Conf_ID=20799 18 http://www.bilgiguvenligi.gov.tr/web-guvenligi/ugulama-guvenlik-duvarlarinin-web-application-Güvenlik duvarıs-analizi.html

S a y f a 36 | 38

Page 37: Güvenlik duvarları ve sistem sınır (giriş çıkış) güvenliği

BTgonulluleri. (2016). http://www.btgonulluleri.com/windows-server-2008-r2-zerinde-nat-uygulamasi/

BTK. (2012). Geleneksel Arabağlantıdan IP Arabağlantıya Geçiş Sürecinde Türkiye Değerlendirmesi. Ankara.

CISCO. (2008). Introduction to Security and Firewalls.

ÇÖZÜMPARK. (2016). http://www.cozumpark.com/blogs/linux_unix/archive/2014/05/11/linux-ile-basit-network-tasarimi-gw-nat-dhcp-dns.aspx

DARICI, A. (2005). İnternet Arabağlantısı: Çevirmeli İnternet Arabağlantısı, AB Uygulamaları ve Türkiye İncelemesi. Telekomünikasyon Kurumu Uzmanlık Tezi, Ankara.

FORTINET. (2016). 03 18, 2016 tarihinde http://www.firewallmerkezi.com/fortigate-fortinetfirewallnedir.php

GOLENIEWSKI, L. (2002). Telecommunications Essentials: The Complete Global Source for Communications Fundamentals, Data Networking and the Internet, and Next Generation Networks. Boston: Addison-Wesley.

How-To Geek. (2006). http://www.howtogeek.com/205108/your-mac%E2%80%99s-firewall-is-off-by-default-do-you-need-to-enable-it/

http://ssimurg.tripod.com. (2016). 03 18, 2016 tarihinde http://ssimurg.tripod.com/Net/TCP/genelbk.htm

HU, L. (2014). A Firewall Model of File System Security. Michigan Technological University. Ann Arbor: ProQuest.

IEEE. (2016). http://www.ieee.org/conferences_events/conferences/conferencedetails/index.html?Conf_ID=20799

INFORMIT. (2016). 03 18, 2016 tarihinde http://www.informit.com: http://www.informit.com/articles/article.aspx?p=373120

İstanbul Sebahattin Zaim Üniversitesi. (2016). http://obs.iszu.edu.tr/dosyalar/DersMateryal/bilgiguvenligidersnotu2.pdf

ITU. (1994). Data Networks and Open System Communications Open System Interconnection - Model and Notation. ITU-T Recommendation.

KTÜ. (2016). Güvenlik Duvarları (Firewalls) ve Ağ Güvenliği. http://www.ktu.edu.tr/dosyalar/bilgisayar_a93f2.pdf

MEGEP. (2016). http://megep.meb.gov.tr/mte_program_modul/moduller_pdf/A%C4%9F%20G%C3%BCvenli%C4%9Fi%20Ve%20A%C4%9F%20Protokolleri.pdf

ODTÜ. (2016). ODTÜ Bilgisayar Topluluğu Elektronik Dergisi: http://e-bergi.com/y/Linux-ile-Bir-Guvenlik-Duvari-Kuralim

TELEKOM. (2016). www.telekom.com.tr

TUBİTAK. (2016). http://www.bilgiguvenligi.gov.tr/web-guvenligi/ugulama-guvenlik-duvarlarinin-web-application-firewalls-analizi.html

S a y f a 37 | 38

Page 38: Güvenlik duvarları ve sistem sınır (giriş çıkış) güvenliği

UZUNER, H. (2016). 03 18, 2016 tarihinde http://www.hakanuzuner.com: http://www.hakanuzuner.com/index.php/alt-aglara-blme-subnetting.html

WIK-Consult. (2008). The Future of IP Interconnection: Technical, Economic, and Public Policy Aspects. Almanya: Bad Honnef.

Wikipedia. (2016). https://tr.wikipedia.org/wiki/NAT

S a y f a 38 | 38