Biraz önce kendimi Nic.tr’nin yaşadığı DDoS sorunu ile ilgili saçma bir yazının altına blog tadında bir cevap yazarken buldum 🙂 Ben de oraya yazmak yerine, uzun zamandır yazmadığım bloğuma yazmaya karar verdim.

Bildiğiniz gibi, DoS ya da DDoS, bir sunucuya kapasitesinin üzerinde trafik göndermek ve bu şekilde servis kesintisi yaratmayı hedefleyen bir kriminal(!) aktivite. 1Gbps lik bir bağlantıya, 1.1 Gbps lik bir trafik gelmesi, o bağlantıyı taşırır ve servis kesilir ya da yavaşlar. Bir noktadan gelirse DoS, birden fazla noktadan dağıtık bir trafik gelirse, DDoS diye adlandırılır.

  • DoS: Denial of Service
  • DDoS: Distributed Denial of Service

Peki DDoS neden engellenemiyor(!)?

Ipv4 protokolünün bilinen tasarımsal sorunları var. Bunlardan birisi, bir noktadan diğerine giden trafiği hedefine ulaştıran yönlendiriciler, sadece ip paketinin hedef kısmına bakar. Siz kaynak ip paketinin kaynak kısmına istediğinizi yazabilirsiniz (ip spoofing) ve özel olarak önlem alınmadı ise (ki kimse almıyor) bu paket sorunsuzca hedefine ulaşır. Ufak bir script ile, bir sistemden ağa kablo hızına yakın miktarda, bu şekilde kaynak ip adresi rastgele manipüle edilmiş paketler atabilirsiniz. Karşı taraf sizden geldiğini hiçbir zaman bilemez.

TCP protokolünde spoof ip paketleri genelde SYN olarak gelir. Burada atağı yapanın hedefi, three-way-handshake için bekleyen bir sürü açık bağlantının, işletim sisteminin oturum tablosunu taşırmasıdır. Bu atağı önlemenin efektif bir yolu var. TCP bağlantıları, sistemin önünde konumlandırılan bir synproxy servisinde karşılanır ve three-way-handshake tamamlanmayan trafiğin sisteme erişimi önlenebilir.

Kaynak: http://pub.kb.fortinet.com/Platform/Publishing/images/cgustave/33596/synproxy2.png

Gelelim asıl şenliğin başladığı UDP protokolüne. UDP, tasarımı gereği TCP deki gibi bir doğrulama mekanizmasına sahip değil. Bir UDP ağa verilir ve hedefe ulaşıp ulaşılmadığı bilinemez. Hedef sunucu da, hiçbir zaman ip paketinde yazan kaynak ip adresinin doğruluğundan emin olamaz. Gönderen o kısma istediğini yazabilir. Bu nedenle DDoS için en çok kullanılan protokol UDP’dir. Internet trafiğinin vazgeçilmez bir parçası olan DNS sistemleri de, UDP üzerinden çalıştıkları için DDoS ataklarının en kolay hedefleridirler.

Şu zamana kadar anlattığım spoof edilen ip paketleri ile alakalı idi. Bir de gerçekten bu işi layıkı(!) ile yapanlar, yani botnet ağları var. Bunlar sizin bizim gibi kullanıcıların bilgisayarlarına, bir şekilde sızıp sessizce sahibinden komut bekleyen zararlı yazılımlardır. Siz internette kedi videosu seyrederken, torrentten indirip kullandığınız antivirüs yazılımınızdan bulaşan bir kod parçası, sizden habersiz birilerinin sistemine sayısız istek gönderebilir. Bu trafik gerçek bir istemciden geldiği için ,spoof trafiklerde kullanılan önlemler anlamsız kalır.

ddos_fig02

Kaynak: http://www.cisco.com/web/about/security/images/csc_child_pages/white_papers/ddos_fig02.jpg

Engelleyen nasıl engelliyor kardeşim!

Herşeyden önce şunu belirtmek lazım. Savunmak kesinlikle saldırmaktan daha zor. Engellemek için bir çok yöntem var ama tek başına birini kullanmak kesin çözüm değil.Bu nedenle bu soruna sistematik bir şekilde önlem almak lazım.

Basitten zora doğru gidelim. İlk önce kolay kolay Ddos atağı yemeyecek kadar büyük kapasitelerde internet bağlantı kapasitemizin olması lazım. Bunun sonu yok tabi, ama maddi imkan ne ise sınır da o. 🙂 Bu noktada kural “money talks”

İkinci olarak trafik kapasitemiz ne olursa olsun mümkün mertebe çok ISP ile çalışılması lazım. Çünkü ne kadar çok ISP ile komşuluk kurulursa, zararlı trafiğin asıl kaynağını tespit etmek de o kadar kolay olur. Örneğin, bolca BGP komşunuz varsa, URPF denen teknik ile spoof paketleri önlemek kolaylaşır. Bu noktada, ülkemizde bir IX(Internet eXchange) bulunmuyor olması da ayrı bir dezavantaj. 2013’de Spamhaus 300Gbps ile o zaman için bilinen en yüksek ddos atağın hedefi olmuştu. Cloudflare’in yardımı ile IX bağlantılarında bu atak süzülebilmişti.

Üçüncü olarak bu soruna özel olarak üretilmiş Ddos filtreleme ekipmanları kullanılabilir. Tabi bu cihazların kapasiteleri belirli olduğu için öncelikle atağın diğer yöntemler ile azaltılması şart. Arbor, Riorey, Radware v.s. gibi bu işe özel cihazlar piyasada sağlam fiyatlara alıcı bulmakta.

Nic.tr bu sıkıntıyı yaşamamak için ne yapmalıydı?

DNS servisi DDoS için en kolay hedef. İlk yapılması gerken DNS trafiğinin segmente edilmesi. Bu segmentasyonu Nic.tr round-robin DNS ile yapmak istemiş.

➜ ~ dig +trace pau.edu.tr

; <<>> DiG 9.8.3-P1 <<>> +trace pau.edu.tr
;; global options: +cmd
. 983 IN NS a.root-servers.net.
. 983 IN NS b.root-servers.net.
. 983 IN NS c.root-servers.net.
. 983 IN NS d.root-servers.net.
. 983 IN NS e.root-servers.net.
. 983 IN NS f.root-servers.net.
. 983 IN NS g.root-servers.net.
. 983 IN NS h.root-servers.net.
. 983 IN NS i.root-servers.net.
. 983 IN NS j.root-servers.net.
. 983 IN NS k.root-servers.net.
. 983 IN NS l.root-servers.net.
. 983 IN NS m.root-servers.net.
;; Received 228 bytes from 8.8.8.8#53(8.8.8.8) in 90 mtr. 172800 IN NS ns21.nic.tr.
tr. 172800 IN NS ns22.nic.tr.
tr. 172800 IN NS ns8.nic.tr.
tr. 172800 IN NS ns41.nic.tr.
tr. 172800 IN NS ns31.nic.tr.
tr. 172800 IN NS ns7.nic.tr.
tr. 172800 IN NS ns3.nic.tr.
tr. 172800 IN NS ns42.nic.tr.
;; Received 309 bytes from 192.36.148.17#53(192.36.148.17) in 91 ms
pau.edu.tr. 43200 IN NS dns1.pau.edu.tr.
pau.edu.tr. 43200 IN NS dns2.pau.edu.tr.
;; Received 154 bytes from 31.210.155.2#53(31.210.155.2) in 381 ms
pau.edu.tr. 38400 IN A 193.255.52.56
pau.edu.tr. 38400 IN NS dns1.pau.edu.tr.
pau.edu.tr. 38400 IN NS dns2.pau.edu.tr.
;; Received 170 bytes from 193.255.52.50#53(193.255.52.50) in 44 ms

Görüldüğü üzere bir alan adı için yedi tane sunucu işaret ediyor ve dns sorguları rastgele (round-robin) bu yedi sunucudan birine gidiyor. Bu ilk bakışta iyi gibi görünse de, bunların hepsine birden atak gelmesi ihtimal dahilinde. Kolay uygulanan bir çözüm olduğu için ilk başvurulan bu yöntem olmuş. Ancak trafiği segmente etmek için yeterli değil. Trafiği segmente etmenin en etkili yolu anycast dns yapısı kullanmak. Anycast her tür internet servisi  için kullanılabilen, standartları belirlenmiş bir prensip.

Anycast DNS sistemlerinde, birden fazla ağda bulunan, aynı IP adresini kullanan sunucular bulunur. İstemciler IP yönlendirme kuralları ile bunlardan birisine yönlendirilir. Bu sayede aynı IP adresini kullanan onlarca farklı ülkede DNS sunucunuz olabilir. Benim tespit ettiğim kadarı ile bu yazıyı yazdığım an itibari ile Nic.tr halen bu tekniği kullanmıyor. Örneğin ns7.nic.tr adresine istemciler nasıl ulaşıyor bakalım.

Aşağıdaki görüntü benim bilgisayarımın  ns7.nic.tr’ye gittiği yol. ICMP paketleri engellendiği için son hopa kadar gitmiyoruz ama 7 numaralı hop bence nereye gittiğimiz konusunda yeterli.Screen Shot 2015-12-26 at 20.05.40

Bu da aynı sunucuya, tracetoute servisi veren Kuzey Amerika’daki bir siteden erişim. 14 numaralı hop benim istemcimin gittiği yol ile aynı. Yani dünyanın her yerinden ns7.nic.tr adresine aynı yoldan gidiliyor.

Screen Shot 2015-12-26 at 20.06.36

Peki anycast olarak çalışan meşhur Google Public DNS çözücüsü 8.8.8.8 de bu test ne sonuç veriyor? Tahmin edebileceğiniz gibi farklı 🙂 Bu benim istemcim.

Screen Shot 2015-12-26 at 20.07.31

Bu da Kuzey Amerika’dan atılan trace.Screen Shot 2015-12-26 at 20.07.48

Bambaşka rotalardan, ancak aynı IP adresine giden bir trafik mevcut.

Hepi topu 40Gbps uplinki ile tüm akademik kurumlara internet veren Ulaknet ağında birden fazla DNS sunucu tutmak, RIPE’ın verdiği ücretsiz DNS servisine sırtı dayamak, atak geldiğinde yurtdışına erişimi kapamak gibi anlamsız önlemlere başvurmak, kamuoyunu zamanında ve yeterli bilgilendirmemek, bence bu kriz ortamında hata olarak sayılabilecek diğer konular.

ODTÜ ve nic.tr,  ülkemizi temsilen .tr uzantısını yönetiyor. Bu tip teknik konularda önceden önlem alıp uygulayan üçten fazla Türk tanıyorsanız, o zaman nic.tr hatalıdır 🙂 Şaka bir yana, eleştirilecek çok yan olmasına rağmen bir çok konuda öncü kimliği ile, zamanında ülkemizde  .tr alan adının kullanımı için elini taşın altına sokmuş ve kamu kurumu kimliği ile bu güne kadar getirmiş bir kurumun, bu kadar acımasız eleştirilmesinin arkasında başka niyetlerin olduğunu düşünüyorum ama bu başka bir konu.

Olaya iyi tarafından bakarsak, siber güvenlik konusunda farkındalığın artması için güzel bir fırsat. Bugünden sonra bu konuda hiçbirşey eskisi gibi olmayacak. Önümüzdeki en büyük zorluk ise uzman personel eksikliği. Nihayetinde dört yılda hem elektriği, hem de elektroniği öğretebileceğini düşünen mühendislik bölümleri olan bir ülkeden bahsediyoruz. Şimdilik ülkemizdeki durum aşağıdaki gibi olmaya devam edecek. 🙂

CWnE3pVVAAAUXPT

Nic.tr’nin yaşadığı DDoS problemi üzerine…

28 thoughts on “Nic.tr’nin yaşadığı DDoS problemi üzerine…

  • 27 December 2015 at 01:12
    Permalink

    Hem bilgilendirici hem öğretici tadında bir anlatım olmuş.

    Teşekkürler.

    Reply
  • 27 December 2015 at 11:29
    Permalink

    Güzel bir yazı ellerinize sağlık. Bu bilgileri nic.tr ye yazdınız mı _? onlarla bu konualrda iletişime geçtiniz mi _? veya ilettiyseniz nasıl bir geri dönüş aldınız _? Asıl önemli nokta burası bence.

    Reply
    • 27 December 2015 at 12:27
      Permalink

      Teşekkür ederim. Nic.tr nin bu bilgileri bilmediğini sanmıyorum. Bunlar uygulanmadı ise farklı nedenleri olabilir. Mesela kamu kurumları belirli bütçe mevzuatlarına tabi. Belki de bunu uygulamak istedi ama gerekli bütçeyi bulamadı.Bu tip durumlarda yapılacak en doğru iş, kurumsal iletişimi sağlıklı kurarak kamuoyunu bilgilendirmek. Bir diğer konu da kriz anlarında bu tip geri bildirimler çok sağlıklı ele alınmaz. Kendimden biliyorum 🙂

      Reply
    • 28 December 2015 at 23:57
      Permalink

      “Bu bilgileri nic.tr’ye yazdınız mı?” İşte bence kritik soru bu. Nic.tr ile nasıl iletişime geçeceğiz? http://www.nic.tr web sitesine gidiyoruz, “İletişim” bölümüne giriyoruz. Telefon, faks ve fiziksel adres bilgileri var. Eposta adresi yok. “Destek istiyorum” diye bir link var. Tıklıyoruz. “Sorumlu Kodu olmadan devam etmeniz mümkün değildir” diye bir hata mesajı alıyoruz. Sorumlu Kodumuz yok. O zaman web üstünden de iletişim kurmak mümkün değil. Sosyal medya? Yok. Twitter, facebook, vs hiçbir sosyal ağda nic.tr’yle iletişim kurmak mümkün değil. Düşünün, internette .tr alan adını yöneten kuruma ancak telefon, faks veya mektup yoluyla ulaşabiliyorsunuz. Son 30 yılda geliştirilmiş bir teknolojiyle iletişim kurmak mümkün değil.

      Biz nic.tr ile iletişim kuramıyoruz, ama nic.tr de bizimle iletişim kurmak için hiçbir çaba göstermiyor. Web sitelerinde bir blog, bir duyuru veya basın açıklaması bölümü yok. Sadece son DDOS saldırısı hakkında iki sayfalık bir Word belgesinin (docx formatlı) PDF olarak kaydedilmiş hali, bir duyuru olarak sayfada yayınlanıyor.

      Fransa’nın .fr alan adını yöneten AFNIC adlı kuruma bakalım: https://www.afnic.fr/en/
      Blogu var: https://www.afnic.fr/en/resources/blog/
      Düzenli yayınladığı bir bülteni var: https://www.afnic.fr/en/resources/afnic-newsletter-35.html
      AFNIC
      Twitter hesabı var: https://twitter.com/AFNIC
      Web üstünden mesaj gönderilebiliyor: https://www.afnic.fr/en/about-afnic/contact/
      Facebook, Instagram, Youtube, Google+, LinkedIn ve daha birkaç sosyal ağdan da iletişim kurmak mümkün: https://www.afnic.fr/en/resources/subscriptions-and-social-networks-2.html

      Nic.tr, “Bizi yanlış tanıtıyorlar” diye hiç ağlamasın. Pancurlarını dünyaya sıkı sıkı kapatan kendileri.

      Reply
      • 29 December 2015 at 00:08
        Permalink

        Bu yazdıklarınızın tamamına ben de katılıyorum. Bütün bunlar bence kamu kurumu kimliği ile, kamu kurumu refleksleri ile yapılan işlerin ortak özellikleri.

        Reply
  • 27 December 2015 at 12:15
    Permalink

    Elinize sağlık, çok iyi yazmışsınız 🙂

    Reply
  • 27 December 2015 at 13:21
    Permalink

    Ellerinize sağlık Volkan Hocam. Çok güzel bir yazı olmuş.

    Reply
  • 27 December 2015 at 13:30
    Permalink

    Öncelikle yazınız için teşekkür ederim. Terimsel kısımları anladığımı söyleyemem ama bir ihmalkarlığın olduğunu söyleyebilirim. Belkide böyle bir şeyin olacağını düşünmemişlerdir. Bu olay bu işle ilgilenen kişi ve kurumların bundan sonra daha dikkatli olmalarını sağlayacağını düşünüyorum. Kesin çizgilerle eleştirmek ise çok yanlış olur zaten. Kimi? Neyi eleştiriyoruz? Bu sorun sadece Nic.tr’nin değil hepimizin sorunu. Bu konuda da bilinçli olmak en doğrusu.

    Reply
  • 27 December 2015 at 15:26
    Permalink

    Çok güzel yazı hocam, elinize sağlık.

    Reply
  • 27 December 2015 at 16:09
    Permalink

    Bilgilendirme ve yaptığınız eleştiriler adeta yerine tam yerine oturmuş .
    Özellikle son paragraf genel durumu özetliyor .
    Güzel yazınız için teşekkürler.

    Reply
  • 27 December 2015 at 16:58
    Permalink

    Elinize saglik. Derli toplu meraklisina saglam bir yazi olmus. Binali’den sonra ferahlatici bir ufuk yakaladik.

    Reply
  • 28 December 2015 at 10:30
    Permalink

    “birisine” anlatır gibi olmuş, eline sağlık

    Reply
  • 28 December 2015 at 10:34
    Permalink

    Gerçekten çok bilgilendirici bir yazı olmuş. Özellikle teknik terimlerin şematik gösterimlerle desteklenmesi fevkalede. Elinize sağlık.

    Reply
  • 28 December 2015 at 11:46
    Permalink

    Merhaba,
    Yazınızda geçen “Örneğin, bolca BGP komşunuz varsa” kısımdaki BGP nedir?
    Teşekkürler

    Reply
    • 28 December 2015 at 15:11
      Permalink

      BGP (Boarder Gateway Protocol), servis sağlayıcıların yönlendirme tablolarını birbirleri ile paylaşmalarını ve ip paketlerinin hedefine en kısa yoldan ulaşmasını sağlayan bir yönlendirme protokolüdür. Şu şekilde düşünebilirsiniz; bizim bilgisayarlarımıza girdiğimiz ağ geçidi adresini elle değil bu sistem ile otomatik ayarlıyorlar 🙂

      Reply
      • 28 December 2015 at 17:12
        Permalink

        Peki, şu kısmıda biraz açar mısınız ?
        URPF denen teknik ile spoof paketleri önlemek kolaylaşır. Bu noktada, ülkemizde bir IX(Internet eXchange) bulunmuyor olması da ayrı bir dezavantaj

        Reply
        • 28 December 2015 at 23:42
          Permalink

          URPF bir güvenlik mekanizması ve mantığı çok basit. Elinizde bir network listesi var ve bunlardan birine giderken hangi yoldan gideceğinizi BGP ile biliyorsunuz. Bunu tersine kullandığınızda, eğer bir ip paketi, sizin ona giderlen kullandığınız yoldan değil, başka bir bağlantıdan size geliyorsa bu spoof olmalıdır. Internet eXchane noktaları, uluslararası trafik taşıyıcılarının hepsinin birer pop noktasının olduğu yerleşim yerleridir. Bu noktalarda bu büyük ISP ler birbirleri ile trafik değişimi yaparlar. Bu noktalarda yönlendiricisi olanlar da bu firmaların tamamı ile direkt komşuluk kurabilirler. Bu noktalarda çok yüksek kapasiteli trafik kullanabilme imkanı da olur. Eğer BGP-URPF kombinasyonu ile bir çözüm geliştirilecekse bunun için en elverişli nokta bir IX dir.

          Reply
  • 28 December 2015 at 11:59
    Permalink

    Hemen hemen herkesin ilgi odağı olduğu bir konu ama yinede kimsenin bilgi edinemediği bir konuydu, Teşekkürler..

    Reply
  • 28 December 2015 at 15:28
    Permalink

    Güzel yazı, tebrik ederim.

    Reply
  • 29 December 2015 at 11:20
    Permalink

    Türkiye’deki en önemli sorunlardan biri.
    Herkes sorunu tespit eder ama sorunun çözülmesine geldiğinde tespit edenlerin çok azı çözümü uygulayabilir. Internetten de bulunabilecek okunabilecek bilgilerle sorun çözülmez. Mesela birden fazla sunucu ile load balancing yapma fikri güzeldir. Ya da disaster center kurmak. Bunları hayata geçirmeye geldiğinde Türkiye’deki hemen herkes açar googleı yazılmış şeyleri dener. Ne nasıl çalıştığı ile ilgilenebilir ne de temelindeki prensiplerden anlar.
    Bunu nerden mi biliyoruz? Ortalıkta sistem uzmanı ya da IT danışmanı diye gezinenlerin eğitim ve çalışma geçmişlerine bakın yeter.

    Reply
    • 30 December 2015 at 09:33
      Permalink

      Bunun ile ilgili bilgim yok. Ancak honeypot bir ddos çözümü değildir. Honeypotlar yetkisiz erişim denemelerini loglayan ve yöneticiye haber veren sistemlerdir. Ddos gibi servis kesintisini amaçlayan ataklarda honeypotların bir işlevi olmuyor malesef.

      Reply
  • 1 January 2016 at 14:16
    Permalink

    Eline sağlık…

    Reply
  • 31 January 2016 at 23:32
    Permalink

    Gerçekten harika ve öğretici bir yazı olmuş teşekkürler.
    Bence nic.tr ya daha profesyonel olmalı ya da bu işi profesyonellere vermeliler.

    Reply
  • 26 May 2016 at 02:11
    Permalink

    Volkan Abi, Eline, Diline, Bilgine Sağlık. knowledge is power as shown, thnx so much, şükran kesira.

    Reply
  • 23 October 2016 at 15:59
    Permalink

    Yaklaşık 1 yıl önce ele almışsınız, güncelliğini koruyor. Tebrikler. Faydalı bir yazı olmuş.

    Reply

Leave a Reply

Your email address will not be published. Required fields are marked *