dns security
TRANSCRIPT
DNS GÜVENLİĞİ
Kadir AKIŞSelahattin ÇEBİ
İçindekiler
DNS Nedir ?DNS Genel Çalışma PrensibiDNS te Güvenlik Problemleri Nelerdir ?DNS te Güvenlik Nasıl Sağlanır ?DNSSEC
DNS Nedir ?
DNS (Domain Name System ; Etki Alanı İsim Sistemi), ağdaki bilgisayarları ve ağ hizmetlerini adlandırmak için kullanılan bir sistemdir.
DNS adlandırması, Internet gibi TCP/IP ağlarında,
bilgisayarları ve hizmetleri hatırlanması kolay adlarla tanımlamak için kullanılır. Kullanıcı bir uygulamaya bir DNS adı girdiğinde, DNS hizmetleri bu adı çözümleyip kaynağa ulaşılmasını
sağlayan bir IP adresi bilgisini kullanıcıya temin eder.
• Alan Adı Sistemi (Domanin Name System ) dir.• İsim çözümleme için dağıtık veritabanı sağlar.• İsimleri kaynak kayıtlarına çevirir.
• Address (A)• Mail hosts (MX)• Text (TXT)• ve daha fazlası….
• Kaynak kayıtları Zone’ larda yer alır.
DNS NEDİR ?
domain
zone.money.net .kids.net
unix.os.net
mac.os.net
nt.os.net
.os.net
.net .com
marnick.kids.netdop.kids.net
. root
top level
DNS Ağacı
DNS Kaynak Kayıtları
SOA:Domain bilgilerini içeren DNS sunucusunu tanımlarA :Bir konak (bilgisayar) adını bir IPv4 adresi ile eşlerPTR :Bir IP adresini bir konak (host) adı ile eşlerCNAME :Belli bir host için alias adı yaratırMX :E-posta hizmeti veren sunucuları tanımlarSRV :Belli hizmetleri veren sunucuların IP bilgisini tutar.NS :Domain içindeki DNS sunucularının adlarını listelerAAAA :Bir konak (bilgisayar) adını bir IPv6 adresi ile eşler
DNS Çözümleme
stub resolver
www.cnn.com A ?
resolver
. www.cnn.com A ?
ask .com server the ip address of .com server
.comwww.cnn.com A ?
ask cnn.com serverthe ip address of cnn.com server
cnn.com
www.cnn.com A ?
xxx.xxx.xxx.xxx
xxx.xxx.xxx.xxx
add to cache
www.cnn.com
lab.cs.umass.edudns.cs.umass.edu
Question: www.cnn.com
DNS - Veri akışı
master resolver
stub resolver
Zone administrator
Zone file
slavesDynamicupdates
DNS Güvenlik Açıkları
DataProtection
Zone file
slaves
master resolver
stub resolver
Zone administrator
Dynamicupdates
Data spoofing ile cache zehirlemeİzinsiz güncelleme
Corrupting data Master taklidi
Cache taklit etme
DNS Güvenlik Tehditleri
• Alan tutma (Footprinting):
Bir saldırganın DNS bölge verilerini elde etme işlemidir; bu şekilde saldırgan, hassas ağ kaynaklarının DNS etki alanı adlarını, bilgisayar adlarını ve IP adreslerini elde edebilir. Saldırgan genelde bir ağın topolojisini çıkarmak veya alanını tutmak için bu DNS verilerini kullanarak saldırıya geçer. DNS etki alanı ve bilgisayar adları, bir etki alanı veya bilgisayarın işlevini veya konumunu gösterir. Saldırgan, ağdaki etki alanlarının ve bilgisayarların işlevini veya konumunu öğrenmek için bu DNS ilkesinden yararlanır.
DNS Güvenlik Tehditleri
• Servis dışı bırakma (Denial of service) saldırısı:
Saldırganın özyinelemeli (recursive) saldırılarla ağdaki bir veya birden çok DNS sunucusunu isteklere cevap veremez hale getirme girişimidir. Sorgularla taşmış bir DNS sunucusunda CPU kullanımı sonuçta en yüksek düzeye ulaşır ve DNS Sunucusu hizmeti kullanılamaz hale gelir. Ağda tam olarak çalışan bir DNS sunucusu olmadan, ağ kullanıcıları, DNS üzerinden öğrenilen ağ hizmetlerini kullanamaz.
DNS Güvenlik Tehditleri
Veri değişikliği (Data modification):
DNS'yi kullanarak ağda alan tutmuş olan bir saldırganın, kendi oluşturduğu IP paketlerinde geçerli IP adreslerini kullanarak, bu paketlere ağdaki geçerli bir IP adresinden gelmiş görüntüsü verme girişimidir. Buna genel olarak IP aldatmacası denir. Saldırgan, geçerli bir IP adresiyle (alt ağın IP adresi aralığı içindeki bir IP adresi) ağa erişim sağlayarak verileri yok edebilir veya başka saldırılar düzenleyebilir.
DNS Güvenlik Tehditleri
• Yeniden Yönlendirme (Redireciton) / Cache Zehirlenmesi : Saldırganın, DNS adlarına ilişkin sorguları kendi denetimi altındaki sunuculara yeniden yönlendirmesidir. Yeniden yönlendirme yöntemlerinden biri, DNS sunucusunun DNS önbelleğini hatalı DNS verileriyle kirletme ve böylece gelecekteki sorguları saldırganın denetimindeki sunuculara yönlendirebilme girişimidir. Örneğin, başlangıçta example.microsoft.com için bir sorgu yapıldıysa ve başvuru yanıtı, microsoft.com etki alanının dışındaki bir ad için (kötüniyetlikullanıcı.com gibi) bir kayıt sağladıysa, DNS sunucusu, o ada ilişkin sorguyu çözümlemek üzere kötüniyetli-kullanıcı.com için önbelleğe alınan verileri kullanır.Güvenli olmayan dinamik güncelleştirmelerde olduğu gibi, bir saldırganın, DNS verilerine yazma erişimi olduğunda yeniden yönlendirme gerçekleştirilebilir.
Aradaki Adam(Man in the middle)
DNS Changer / Trojan
Özellikle kablosuz ağ ortamlarının olduğu topluma açık paylaşım ağlarında sıklıkla ve rahatça yayılan DnsChanger, bulaştığı bilgisayarlarda 85.255.114.13, 85.255.112.174 numaralarını kullanan sahte DNS Kayıtları oluşturuyor. Bu şekilde bulaştığı kullanıcılar mesela bir banka sitesine girdiklerini sandıkları halde onları kendi taklit ettiği sahte banka sitesine yönlendirebiliyor.
DNS Changer / Trojan
Ayrıca çoğu kullanıcı varsayılan ADSL modem şifrelerini kullanıyor. Ülkemizde hali hazırda kullanılan ADSL modemlerin varsayılan şifrelerini Google üzerinden search ettiren bir kişi çok rahatlıkla bu şifrelere erişebiliyor. Durum böyle olunca DNSChanger gibi zeki trojanların ADSL modeme girmesi ve buradan o modeme bağlanan bilgisayarlara kendini bulaştırması da zor olmuyor. DNSChanger kendi içine daha önceden yaratıcısı tarafından yerleştirilmiş Wordlisteki şifreleri tek tek deneyerek (brute-force) ilgili modeme Administrator yetkilisi olarak bağlanmaya çalışıyor ve bağlandığı zaman da o modeme bağlı tüm bilgisayarlar zararlı yazılımdan nasibini almış oluyor. Trojan kendi içerisindeki sahte web sitelerine kullanıcıları yönlendirerek kişisel bilgileri, kredi kartı bilgileri, e-posta ve MSN bilgileri gibi bilgileri sahibine gönderebiliyor. DNS Changer çoğunlukla Film, MP3 Siteleri, Forumlar ve Warez içerik barındıran web sitelerinden içerik indiren kullanıcılara bulaşıyor.
DNS ‘ te Güvenlik
• DNS hizmeti nasıl güvenli hale getirilebilir ?DNS hizmeti tehditlere karşı koyabilmek için güvenli bir şekilde yapılandırılabilir. DNS hizmetinin güvenliğinin arttırılması beş ana alanda uygulanacak tedbirler ile sağlanabilmektedir.
1. DNS isim alanı2. DNS sunucusu3. DNS bölgeleri4. DNS kaynak kayıtları5. DNS istemcileri
DNS ‘ te Güvenlik
1. DNS isim alanı tasarımında DNS güvenliğinin sağlanması
DNS tehditlerine karşı uygulanabilecek ilk adım DNS güvenliği tedbirleri DNS sunucularının kurum ağı içinde yerleşimi ile ilgilidir. DNS sunucu dağıtımı tasarlanırken aşağıdaki güvenlik prensiplerine dikkat edilmesi gerekmektedir:
• Ağdaki bilgisayarların Internet'teki adları çözümlemesi gerekmiyorsa , Internet'le DNS iletişiminin kaldırılması gerekir.
• Kurumun DNS isim alanının, güvenlik duvarının arkasındaki iç DNS sunucuları ve güvenlik duvarının önündeki dış DNS sunucuları olarak ayrılması gerekir.
DNS ‘ te Güvenlik • İç DNS ad alanının iç DNS sunucularında, dış DNS ad alanının Internet'e açık dış DNS sunucularında barındırılması: İç DNS sunucuları, iç ana bilgisayarların yaptığı dış adlara ilişkin sorguları çözümlemek üzere dış DNS sunucularına iletir. Dış ana bilgisayarlar Internet ad çözümlemesi için yalnızca dış DNS sunucularını kullanır.
• Güvenlik duvarının, dış DNS sunucusuyla tek bir iç DNS sunucusu arasındaki sadece UDP ve TCP 53. port iletişimine izin verecek şekilde yapılandırılması, alan transferi ihtiyacı yoksa sadece UDP 53.port kullanımı yeterli olacaktır.
DNS ‘ te Güvenlik
2. DNS Sunucu Hizmeti GüvenliğiDNS hizmetini veren DNS sunucularının güvenliğinin sağlanması için aşağıdaki güvenlik prensiplerine dikkat edilmesi gerekmektedir:
• Arabirimler: Sunucusu hizmetinin dinlediği IP adresini, DNS istemcilerinin tercih edilen DNS sunucusu olarak kullandıkları IP adresi ile sınırlanması gerekmektedir.
Önbelleğin Korunması: DNS sunucusunun önbelleğinin DNS sunucusunun istemediği kaynak kayıtlarıyla kirletmesinin önlenmesi gerekir.
DNS ‘ te Güvenlik
•Özyineleme (Recursion): . Özyineleme, saldırganlar tarafından DNS sunucusu servis dışı bırakmak için kullanılabilir; dolayısıyla, ağdaki bir DNS sunucusunun, özyinelemeli sorguları alması amaçlanmıyorsa, özyineleme devre dışı bırakılmalıdır.
Kök ipuçları (Root Hints): DNS altyapınızda bir iç DNS kökünüz varsa iç DNS sunucularınızın, adları çözümlerken Internet üzerinden özel bilgiler göndermesini önleyecek şekilde yapılandırılması.
Eski DNS Kaynak Kayıtları: Kullanılamayan ve belli bir süreden uzun zaman güncellenmeyen DNS kaynak kayıtları bir takım performans ve güvenlik sorunlarına yol açabilir.
DNS ‘ te Güvenlik
• Olay Kayıtları: DNS sunucularda gerçekleşen olayların kayıtlarının tutulması DNS güvenliğini sağlama amacıyla gerçekleşen olayların takibini yapmada ve izini sürmede önemli rol oynar.
• Erişim Kontrol Listeleri: Etki alanı kontrolcülerinde çalışan DNS sunucularında isteğe bağlı erişim kontrol listelerinin (DACL) güvenlik ihlallerine yol açmayacak şekilde yapılandırılması gerekmektedir.
• Dosya Sistemi: DNS sunucuları için her zaman kullanılacak dosya sistemi, etki alanları, kullanıcı hesapları ve diğer önemli güvenliközellikleri için gereken özellikleri desteklemelidir.
DNS ‘ te Güvenlik 3. DNS Alanlarının Güvenliği :
• Aktif Dizin tümleşik(Active Directory Integrated) DNS: Bu durum DNS’nin güvenliğini önemli ölçüde arttıran bir yapı sunmaktadır. Aktif dizinin gelişmiş güvenlik özellikleri kullanılarak DNS alanlarına yetkisiz kişilerce erişilmesi engellenmiş olur.
• Güvenli dinamik güncellemeler (Secure Dynamic updates): Güvenli dinamik güncelleme özelliği yetkisiz kişilerce veya yetkisiz kaynaklardan DNS isim alanı dosyalarına yanıltıcı veya yanlış bilgi girilerek DNS’e yapılabilecek saldırıları önleyen bir özelliktir.
• Erişim Kontrol Listelerinin Güvenli Yapılandırılması
• Alan transferlerinde sınırlama: Bölge aktarımları ya tamamen kapatılmalı veya sadece belirli konakların alan transferi yapmasına izin verilmelidir.
4. DNS Kaynak Kayıtlarının Güvenliğinin Sağlanması : Güvenlik açısından imtiyazlı haklar sadece yönetimden sorumlu yetkili gruplara veya kullanıcılara verilmelidir.
5. DNS İstemcilerinin Güvenliği•Statik IP Adresli DNS Sunucu: Mümkün olan her durumda Statik IP Adresli DNS Sunucular kullanılmalıdır. Bu şekilde istemcilerin başka bir bilgisayarı DNS sunucu olarak kabul etmesi ile gerçekleşebilecek olası bir saldırı ortadan kaldırılabilir.
• DNS istemcilerini kısıtlama: Bir DNS sunucusu yalnızca belirli IP adreslerini dinlemek üzere yapılandırılmalıdır. Bu sayede başka ağa ait istemcilerin DNS sunucusuna erişmeleri engellenecektir.
DNS Protokolü Güvenli mi ?
DNS hizmetiyle ilgili tüm güvenlik önlemleri tam olarak alınmış olsa da , DNS protokolü, isim sunuculardaki bilgilerin bütünlüğü ve güvenilirliği konusunda garanti vermediği için değiştirilmiş ya da kötü niyetli isim sunuculardan yönlendirilmiş cevaplar, kullanıcıların yanlış sunuculara bağlanmasına ve devamında daha büyük bilgi kayıplarının gerçekleşmesine sebep olabilirler.
DNSSECDNSSEC nedir?
DNSSEC (DNS Security Extensions), DNS protokolüne güvenlik özellikleri eklemek üzere başlatılmış bir çalışmadır. DNS protokolünde doğru ve güvenilir bir DNS cevabı almak oldukça önemlidir. Aksi takdirde kullanıcılar kasıtlı olarak tuzak hedeflere yönlendirilebilirler.
DNSSEC, DNS önbellek (cache) zehirleme gibi saldırılara karşı geliştirilmiş güvenlik eklentilerinden oluşmaktadır.Temel olarak, DNS cevaplarının kaynağının doğrulanması, DNS veri bütünlüğünün sağlanması ve inkar edememe güvenlik hedeflerini sağlamayı amaçlamaktadır.
DNSSEC
DNSSEC ile dört yeni kayıt tipi tanımlanmaktadır. Bunlar, RRSIG (Resource Record Signature), DNSKEY (DNS Public Key), DS (Delegation Signer) ve NSEC (Next Secure)' dir. Bu yeni kayıt tipleri RFC 4034 ile detaylı olarak tanımlanmıştır.
DNSSECRRSIG (Resource Record Signature) : Her kaynak kaydının , o alanın özel anahtarıyla şifrelenmiş halidir. Her bir kaynak kaydı için bir tane SIG Kaydı vardır.
DNSSEC
DNSKEY(DNS Public Key) : Alana ait genel anahtarın tutulduğu kaynak kaydıdır.
DNSSEC
DS (Delegation Signer) : Bir alanın genel anahtarının özetini tutar. Bu kaynak kaydı alanın bir üst alanında tutulur.Özet alınırken SHA1 veya SHA256 algoritmaları kullanılır.
DNSSEC
NSEC (Next Secure) : Bir alanda bulunan kaynak kayıtlarının listesini tutar. Ayrıca Zone file da bulunan bir sonraki alanın ismini tutar.
DNSSEC
İsviçre (.se), Brezilya (.br), Bulgaristan (.bg) ve Çek Cumhuriyeti (.cz) gibi ülkeler kendi ülke kod alanları için DNSSEC teknolojisini uygulamaya geçirdiler. .edu, .gov, .org gibi alanlar için devam eden ya da yada yakın zamanda tamamlanmış çalışmalar bilinmektedir.
•DNSSEC, isim sorgularını güvenilir bir dijital imza ile kullanıma sunarak doğru hedefe bağlanmayı garanti edebilir.
• DNSSEC veri gizliliği sağlamaz.
•DoS ( Dennial of Service) ataklarına karşı savunma yapamaz.
DNSSEC
5 Mayıs 2010 tarihi itibariyle tüm root dns sunucular DNSSEC desteğine kavuştular. Tüm DNS sorgu cevaplarının söz konusu bütünlük garantisini taşıması için sadece kök DNS sunucuların DNSSEC uyumlu çalışması yeterli değildir. Uçtan uca bir güvenlik için alt DNS sunucuların da benzer şekilde DNSSEC hizmeti verir duruma gelmesi gerekir ki bu yaygınlaştırmanın tüm İnternet ağını kapsayacak şekilde gerçekleştirilmesi halen sektörün çözüm bulması gereken büyük bir problemdir.
DNSSEC
DNSSEC İLE İSİM ÇÖZÜMLEME
DNSSEC
stub resolver
Question: www.cnn.com
www.cnn.com A ?
resolver
. (root)www.cnn.com A ?
ask .com server SIG(the ip address and PK of .com
server) by its private key
.comwww.cnn.com A ?
ask cnn.com serverSIG(the ip address and PK of cnn.com server)
by its private key
cnn.com
www.cnn.com A ?
SIG(xxx.xxx.xxx.xxx)by its private key
xxx.xxx.xxx.xxx
add to cache
www.cnn.com
lab.cs.umass.edudns.cs.umass.edu
transaction signatures
slave serverstransaction signatures
DNSSEC
DNSSEC sonrası bazı sistemlerde sorun yaşanabilir.
RFC x’e göre DNS(UDP) paketleri 512 bytedan büyük olamaz. 512 bytedan büyük DNS paketlerinde UDP’den TCP’e geçiş yapılır ya da sistem destekliyorsa EDNS0(RFC 2671) özelliği kullanılır.Günümüzde çok az sayıda da olsa bazı ağ/güvenlik cihazları 512 bytedan büyük DNS(UDP) paketlerini engellemektedir.(Cisco PIX cihazlarda 512 bytedan büyük udp paketlerinin engellenmesi öntanımlı olarak gelir), DNSSEC kullanıldığında da dns cevap paketlerinin boyutu 512 byte aşabilmektedir. Bu durumda eğer 512 byte sorunlu bir ağ/güvenlik cihazı kullanılıyorsa gerekli ayarların yapılması gerekir.
DNSSEC
Klasik bir DNS isteği ve cevabı :# dig www.lifeoverip.net; <<>> DiG 9.6.1-P1 <<>> www.lifeoverip.net;; global options: +cmd;; Got answer:;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 51212;; flags: qr rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 2, ADDITIONAL: 2;; QUESTION SECTION:;www.lifeoverip.net. IN A;; ANSWER SECTION:www.lifeoverip.net. 9707 IN CNAME lifeoverip.net.lifeoverip.net. 9708 IN A 91.93.119.80;; AUTHORITY SECTION:lifeoverip.net. 41617 IN NS ns3.tekrom.com.lifeoverip.net. 41617 IN NS ns4.tekrom.com.;; ADDITIONAL SECTION:ns3.tekrom.com. 9669 IN A 70.84.223.226ns4.tekrom.com. 9669 IN A 70.84.223.227;; Query time: 2 msec;; SERVER: 195.175.39.40#53(195.175.39.40);; WHEN: Wed May 5 22:22:44 2010;; MSG SIZE rcvd: 144
DNSSECDNSSEC destekli DNS sorgusu ve cevabı
# dig +dnssec www.ripe.net @ns3.nic.fr; <<>> DiG 9.6.1-P1 <<>> +dnssec www.ripe.net @ns3.nic.fr;; global options: +cmd;; Got answer:;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 53747;; flags: qr aa rd; QUERY: 1, ANSWER: 2, AUTHORITY: 5, ADDITIONAL: 7;; WARNING: recursion requested but not available;; OPT PSEUDOSECTION:; EDNS: version: 0, flags: do; udp: 4096;; QUESTION SECTION:;www.ripe.net. IN A;; ANSWER SECTION:www.ripe.net. 172800 IN A 193.0.6.139www.ripe.net. 172800 IN RRSIG A 5 3 172800 20100604050008 20100505050008 47391 ripe.net. sf4Dwm+GhDpr8rugFO7irAMX+VArEGYyd0snu5j5P1Dm/JtFxAcpn2Ve JKrx0BrPd0Wz6ZriR7Hy+kkDdb7PGFYqIm/Oc0r1sPzlfkrpNziqMhpH SPYyrKhO8nGgErS/cE+2bZQ0JFGi4b0lZtm35ip2Yh7c3YyCe66c+uPz mf/a5x/lJs8qxidcjPamZ/bTz6OSRbrp;; AUTHORITY SECTION:ripe.net. 172800 IN NS ns3.nic.fr.ripe.net. 172800 IN NS ns-pri.ripe.net.ripe.net. 172800 IN NS sns-pb.isc.org.ripe.net. 172800 IN NS sunic.sunet.se.ripe.net. 172800 IN RRSIG NS 5 2 172800 20100604050008 20100505050008
DNSSEC47391 ripe.net. 3+IKrtiq6M8Xdfq86NvnJPVugRVcWewx6wp/3YuDOgbV/tFcS3rtYudV YDwK0SlELCQTbFDwmSI6nGBc1TfYowgIhAYGozZm6Tob+Cl5d3L9hqa0 9whbwg39RrCFA4fnLNhdWo49BwgiFFNrItWDcogPtL5lrVgexALQeIAF aRq3kIAUtNVmTvKEnnlY9k0Bowd+UfwD;; ADDITIONAL SECTION:ns3.nic.fr. 172800 IN A 192.134.0.49ns3.nic.fr. 172800 IN AAAA 2001:660:3006:1::1:1ns-pri.ripe.net. 172800 IN A 193.0.0.195ns-pri.ripe.net. 172800 IN AAAA 2001:610:240:0:53::3ns-pri.ripe.net. 172800 IN RRSIG A 5 3 172800 20100604050008 20100505050008 47391 ripe.net. ITnSKVEA+i+9s8NHNgM71s3eG/f78f1m94TQhkO0zEwHyKpWHcQL6qLP 91KhTZlQDeh0Ia+1En5sX0eJNK/7dZ5HFhSoi8Ef6npROvAQns3HKziW WJAeCCK3wVzUPZWUk4bIQd+NxpqWhfkDwWIqAeII6WGIm1Hn9SHkUI3z 6E2nDmR1AzxLogH7fssUsKseV1fQvB0/ns-pri.ripe.net. 172800 IN RRSIG AAAA 5 3 172800 20100604050008 20100505050008 47391 ripe.net. GAvzp6SrAcFrptvzb5o3sYGWjhPlLPqi5Rsju4b/QY8TkGcA09/cWL2y SjMnZOr1nivjKc9EEgscbc1kHb3xo9cS4c4S1eWUsxShQDn1Qd1qItEK L/Rt0oWVYX+/aQpgM/frp9JVXLdyi8H2IKayq76RwWkiJOiJzbUdk/+d cUSrSSuMhPvkkrZZxXfNgoDWTPTSalm2;; Query time: 196 msec;; SERVER: 192.134.0.49#53(192.134.0.49);; WHEN: Wed May 5 21:46:45 2010
;; MSG SIZE rcvd: 1006