Giriş: Güvenlik Duvarı mı, Ağ Anahtarı mı?
Ağ güvenliği dediğimizde aklımıza ilk gelen genellikle güvenlik duvarları (firewall) olur. Ancak, ağın temel yapı taşlarından olan anahtarlar (switchler) da, eğer doğru şekilde yapılandırılmazsa, en az bir güvenlik duvarı kadar kritik bir zafiyet noktası oluşturabilir. Yıllardır sistem ve network yönetimiyle uğraşıyorum ve gördüğüm kadarıyla birçok kurumda switch hardening konusuna ya yeterince eğilinmiyor ya da bir standarda oturtulmadan rastgele yapılıyor. Bu yazıda, switch hardening’in inceliklerini, her cihaz için aynı derecede detaylı yapılandırmanın gerçekten gerekli olup olmadığını ve kendi deneyimlerimden yola çıkarak nasıl pragmatik bir yaklaşım izlediğimi anlatacağım.
Bu konuya girerken, öncelikle “hardening” kelimesinin ne anlama geldiğini netleştirelim. Basitçe, bir sistemin veya cihazın güvenliğini artırmak için gereksiz servisleri kapatmak, varsayılan ayarları değiştirmek, erişim kontrollerini sıkılaştırmak gibi adımları içerir. Ağ anahtarlarında bu, genellikle yönetici erişimini kısıtlamak, SNMP gibi izleme servislerini güvenli hale getirmek, yetkisiz portları kapatmak ve çeşitli broadcast/multicast fırtınalarını önleyici tedbirler almak anlamına gelir. Ancak soru şu: Bu önlemlerin hepsi, ağdaki her bir anahtar için aynı yoğunlukta ve aynı detayda uygulanmalı mı?
Yönetilebilir vs. Yönetilemez Switchler: Temel Ayrım
Ağ anahtarlarını güvenlik yapılandırması açısından iki ana kategoriye ayırabiliriz: yönetilebilir (managed) ve yönetilemez (unmanaged) switchler. Yönetilemez switchler tak-çalıştır mantığıyla çalışır ve üzerinde herhangi bir yapılandırma imkanı sunmazlar. Bu nedenle, bu cihazlar için özel bir hardening işlemi yapmak mümkün değildir. Ancak, yönetilebilir anahtarlar, üzerinde VLAN oluşturma, port güvenliği ayarlama, SNMP konfigürasyonu yapma, erişim listeleri tanımlama gibi pek çok gelişmiş özellik sunar. Bu da onları hem daha esnek hem de potansiyel olarak daha fazla saldırı yüzeyi sunan cihazlar haline getirir.
Kendi deneyimlerimde, genellikle veri merkezi anahtarları (core switches) ve dağıtım katmanı anahtarları (distribution switches) en yüksek güvenlik önlemlerini gerektirir. Bu cihazlar, ağın bel kemiğini oluşturur ve üzerlerinden geçen trafik miktarı çok daha fazladır. Buna karşılık, son kullanıcı cihazlarının bağlandığı erişim katmanı anahtarları (access switches) için bazen daha basitleştirilmiş bir hardening yaklaşımı yeterli olabilir. Örneğin, bir ofis katındaki her çalışanın bilgisayarının bağlandığı bir access switch’in, veri merkezindeki core switch kadar karmaşık güvenlik politikalarına sahip olması gerekmeyebilir.
Katman Katman Güvenlik: Kim Nereye Bağlanıyor?
Ağ güvenliğinde “zero-trust” (sıfır güven) mimarisi prensiplerini benimsemek, her cihazın ve her bağlantının potansiyel bir tehdit olarak ele alınmasını gerektirir. Bu, switch hardening’de de geçerlidir. Ancak, bu prensibi uygularken “her şeye aynı muameleyi yap” şeklinde anlamamak gerekiyor. Ağ katmanları arasındaki sorumlulukları ve trafik akışını anlayarak, hardening seviyesini belirlemek daha akılcıdır.
Core switchler, tüm ağ trafiğinin toplandığı ve yönlendirildiği noktalardır. Bu cihazlarda, OSPF veya IS-IS gibi routing protokollerinin güvenliği, BGP peer’lerinin doğrulanması, QoS (Quality of Service) ayarlarının doğru yapılması ve yönetici erişiminin SSHv2 ile kısıtlanması gibi konulara odaklanılır. Bu katmanda bir zafiyet, tüm ağın güvenliğini tehlikeye atabilir.
Dağıtım katmanı switchleri ise, farklı VLAN’lar veya alt ağlar arasındaki geçişi sağlar. Burada da benzer güvenlik önlemleri alınır, ancak odak noktası genellikle VLAN’lar arası trafiğin kontrolü ve port güvenliği olabilir. Örneğin, bir VLAN’dan diğerine izinsiz geçişleri engellemek için access-list’ler kullanılabilir.
Erişim katmanı switchleri ise genellikle son kullanıcı cihazlarının bağlandığı noktalardır. Bu switchlerde en çok dikkat edilmesi gereken konular şunlardır: port güvenliği (port security), MAC adres filtreleme, DHCP snooping, ARP inspection ve 802.1X kimlik doğrulama. Bu önlemler, yetkisiz cihazların ağa bağlanmasını ve ağdaki diğer cihazlara saldırı düzenlemesini engellemeye yardımcı olur. Kendi projelerimde, genellikle bir access switch’te yönetici erişimini sadece belirli IP adreslerinden veya SSH üzerinden sağlamakla yetiniyorum. Ancak core switchlerde, erişim denetim listeleri (ACL) ile çok daha detaylı kısıtlamalar uyguluyorum.
Somut Örnekler: Hangi Ayarlar, Hangi Cihazlar İçin?
Pratiğe dökelim. Bir kurumda üç farklı senaryo düşünelim:
-
Veri Merkezi Core Switch: Bu cihaz, tüm veri merkezindeki sunucuların trafiğini yönetiyor. Burada almamız gereken önlemler şunlar olabilir:
- SSHv2 zorunluluğu:
ip ssh version 2 - Güçlü şifre politikası:
aaa new-model,aaa authentication login default local - Yetkisiz portların kapatılması: Her portun
shutdownkomutuyla pasif hale getirilmesi ve sadece ihtiyaç duyulan portların aktif edilmesi. - SNMPv3 kullanımı: SNMPv1/v2c’nin bilinen zafiyetlerinden kaçınmak için
snmp-server group <group_name> v3 privgibi komutlarla SNMPv3 yapılandırması. - BPDU Guard: Uç noktalarda STP (Spanning Tree Protocol) döngülerini engellemek için kritik portlarda
spanning-tree bpduguard enable. Bu, access portlarında olması gereken bir özellik olsa da, core switch’lerde yanlışlıkla veya kötü niyetle bir switch takılması durumunda döngüyü önler.
- SSHv2 zorunluluğu:
-
Katman 3 Dağıtım Switchi: Farklı VLAN’lar arasındaki yönlendirmeyi yapıyor.
- Yukarıdaki SSHv2, güçlü şifre ve SNMPv3 ayarları burada da geçerli.
- VLAN’lar arası erişim listeleri (ACL): Örneğin, bir sunucu VLAN’ından (VLAN 100) bir kullanıcı VLAN’ına (VLAN 200) sadece belirli portlara erişim izni vermek:
ip access-list extended VLAN100-TO-VLAN200 permit tcp 192.168.100.0 0.0.0.255 host 192.168.200.50 eq 80 deny ip any any log ! interface Vlan100 ip access-group VLAN100-TO-VLAN200 in - Routing protokol güvenliği: OSPF kullanılıyorsa,
ip ospf authentication message-digestgibi komutlarla kimlik doğrulama eklemek.
-
Katman 2 Erişim Switchi: Çalışanların bilgisayarlarının bağlandığı portlar.
- SSHv2 ve güçlü şifre ayarları.
- Port Güvenliği: Belirli bir porta sadece bir MAC adresinin izin verilmesi:
Bu ayar, bir kullanıcının birden fazla cihazı aynı porta bağlamasını engeller. MAC adresi “sticky” olarak öğrenilir ve switch yeniden başlatıldığında bile korunur.interface GigabitEthernet0/1 switchport mode access switchport port-security maximum 1 switchport port-security mac-address sticky switchport port-security - DHCP Snooping: Güvenilmeyen kaynaklardan gelen DHCP tekliflerini engellemek:
ip dhcp snooping ip dhcp snooping vlan 10,20,30 // VLAN'ları belirtin interface GigabitEthernet0/1 ip dhcp snooping trust // Güvenilir DHCP sunucusunun bağlı olduğu portlar ! interface GigabitEthernet0/2 ip dhcp snooping limit rate 10 // Saniyede 10 DHCP paketini aşmasın - Dynamic ARP Inspection (DAI): ARP spoofing saldırılarını önlemek için DHCP snooping’e bağımlıdır ve güvenilir DHCP sunucusu tarafından oluşturulan ARP paketlerini doğrular.
- 802.1X Port Tabanlı Kimlik Doğrulama: Kullanıcı veya cihaz kimliğinin ağe bağlanmadan önce doğrulanmasını sağlar. Bu, özellikle kurumsal ağlarda çok etkilidir.
aaa new-model,dot1x system-auth-controlgibi komutlarla yapılandırılır.
Bu örnekler, farklı katmanlardaki switchler için alınması gereken önlemlerin nasıl değiştiğini göstermektedir. Her cihaz için aynı detaya inmek, hem zaman kaybına yol açabilir hem de gereksiz karmaşıklık yaratabilir.
Trade-off’lar ve Pragmatik Yaklaşımlar
Her güvenlik önleminin bir bedeli vardır. Bu bedel, performans düşüşü, yapılandırma karmaşıklığı, maliyet artışı veya yanlış yapılandırma riski olabilir. Switch hardening’de de bu trade-off’ları göz önünde bulundurmak gerekir.
Örneğin, her porta MAC adresi sabitleme (port security mac-address sticky) uygulamak, yeni bir cihaz eklenmesi gerektiğinde port yapılandırmasını manuel olarak güncellemenizi gerektirir. Bu, özellikle sık sık cihaz değişikliği olan ortamlarda ciddi bir operasyonel yük getirebilir. Bu durumda, belki de 802.1X gibi daha dinamik ve merkezi bir kimlik doğrulama mekanizması tercih edilebilir. Kendi deneyimlerimde, kullanıcıların sık sık cihaz değiştirdiği departmanlarda port güvenliği yerine 802.1X’e yöneldim. Bu, başlangıçta kurulumu daha karmaşık olsa da, uzun vadede yönetimi kolaylaştırdı.
Bir diğer önemli trade-off ise, anahtarın işlem gücü ve hafızasıdır. Çok karmaşık ACL’ler veya güvenlik özellikleri uygulamak, özellikle eski veya giriş seviyesi anahtarlarda performansı olumsuz etkileyebilir. Örneğin, binlerce satırlık bir ACL’yi işlemek için anahtarın CPU’su yoğun kullanıma maruz kalabilir. Bu nedenle, seçtiğiniz anahtarın donanım yeteneklerini ve uygulayacağınız güvenlik politikalarının bu yeteneklerle uyumlu olup olmadığını değerlendirmek kritiktir. Yıllar önce, bir üretim tesisinin ağı için yaptığım bir güvenlik güncellemesinde, yeni eklenen detaylı ACL kurallarının eski anahtarların işlemcisini ciddi şekilde yorduğunu ve ağda paket kayıplarına neden olduğunu görmüştüm. O zamanlar, ACL’leri daha optimize hale getirerek veya bazı kuralları daha az kritik portlara uygulayarak sorunu çözmüştük.
Bu nedenle, benim yaklaşımım her zaman şu olmuştur: En kritik cihazlara en yüksek güvenlik önlemlerini uygularken, daha az kritik olanlar için iş yükünü ve karmaşıklığı dengeleyen, “yeterince iyi” (good enough) bir hardening seviyesi belirlemek. Bu, “her cihaza aynı özeni göster” mantığından ziyade, “her cihaza ihtiyacı olan özeni göster” prensibine dayanır.
Sonuç: Akıllı ve Hedefe Yönelik Güvenlik
Sonuç olarak, switch hardening her ağ cihazı için aynı detaya indirgenmeli mi sorusunun cevabı net bir “hayır”dır. Ağınızın mimarisini, cihazların rollerini ve üzerlerinden geçen trafiğin kritiklik seviyesini anlamak, etkili bir güvenlik stratejisi oluşturmanın temelidir. Core switchler, en kapsamlı ve detaylı hardening’i gerektirirken, access switchler için daha pragmatik ve yönetimi kolaylaştırıcı yaklaşımlar benimsenmelidir.
Bu, güvenlikten ödün vermek anlamına gelmez. Aksine, kaynakları (zaman, insan gücü, cihaz kapasitesi) en verimli şekilde kullanarak, en büyük riskleri en iyi şekilde bertaraf etmektir. Güvenlik, bir maraton koşusu gibidir; her adımın bilinçli atılması, gereksiz yorgunluğa yol açacak adımlardan kaçınılması gerekir. Kendi projelerimde de bu dengeyi kurarak, hem ağ güvenliğini sağlamayı hem de operasyonel verimliliği artırmayı hedefledim. Unutmayın, en iyi güvenlik, karmaşık ve anlaşılmaz olan değil, anlaşılır, uygulanabilir ve sürdürülebilir olan güvenliktir.