Giriş: Switch Hardening’in Göz Ardı Edilen Önemi
Bu sabah bilgisayar başına oturduğumda, aklıma network switch hardening’in neden hala çoğu ortamda bir muamma olduğu geldi. Yıllardır sistem ve network yönetimiyle iç içeyim, ama ne zaman bu konuya değinsem, hep aynı tepkiyle karşılaşıyorum: “Onu halletmek için zamanımız yok,” ya da daha kötüsü, “Zaten o kadar kritik değil.” Gerçekten öyle mi? Bir üretim tesisinin ERP sistemini yönetirken, bir e-ticaret sitesinin altyapısını kurarken ya da kendi finansal hesaplayıcılarımı barındıran VPS’imde bile, en temel ağ cihazlarının güvenliği hep en sona kalan işlerden biri oluyor. Bu durum, sanki evin kapısını kilitlemek yerine sadece pencere kilitlerini kontrol etmek gibi.
Aslında switch hardening, saldırı yüzeyini daraltmak, yetkisiz erişimi engellemek ve ağın genel güvenliğini artırmak için atılması gereken kritik bir adım. Ancak pratikte, bunun karmaşıklığı, zaman maliyeti ve doğrudan bir “kâr” getirmemesi gibi nedenlerle sıklıkla ihmal ediliyor. Bu yazıda, switch hardening’in neden genellikle göz ardı edildiğini, hangi somut adımların atılması gerektiğini ve bu adımların beraberinde getirdiği trade-off’ları, kendi saha deneyimlerimden yola çıkarak anlatacağım. Bu sadece teorik bir rehber değil, bizzat tecrübe ettiğim, bazen de hatalar yaptığım bir yolculuğun özeti.
Neden Switch Hardening Göz Ardı Ediliyor?
Switch hardening dediğimizde, genellikle “secure by default” prensibinden uzaklaşarak, cihazı daha güvenli hale getirmek için ek yapılandırmalar yapmaktan bahsediyoruz. Bu, varsayılan şifreleri değiştirmekten çok daha fazlasını içeriyor. Örneğin, kullanılmayan portları kapatmak, SNMP erişimini kısıtlamak, SSH yerine Telnet gibi güvensiz protokolleri devre dışı bırakmak, hatta daha ileri seviyede port security, DHCP snooping gibi özelliklerle ağ trafiğini kontrol altına almak gibi adımlar bu kapsama giriyor. Ancak bu adımların çoğu, ilk kurulumda ya da rutin bakımda akla gelmiyor.
En büyük nedenlerden biri, “güvenlik açığı olsa fark edilirdi” yanılgısı. Çoğu yönetici, ağın genel olarak çalıştığını gördüğünde, altta yatan ince güvenlik zafiyetlerinin farkında olmuyor. Bir saldırgan, bu zafiyetleri kullanarak ağa sızıp kritik verileri çalabilir, hizmetleri aksatabilir veya sistemleri rehin alabilir. Özellikle kurumsal ortamlarda, bir switch’in ele geçirilmesi, tüm ağın kontrolünü ele geçirmek için bir basamak olabilir. Ancak bu tür bir senaryo, “çok düşük ihtimal” olarak görülüp erteleniyor.
Maliyet ve Zaman Kaygısı
Bir başka önemli faktör ise maliyet ve zaman kaygısı. Switch hardening yapmak, özellikle büyük ölçekli ağlarda ciddi bir zaman ve efor gerektirir. Her bir switch’i tek tek ele almak, gerekli yapılandırmaları yapmak, test etmek ve belgelerle kaydetmek, IT departmanlarının mevcut iş yükü altında zorlanmasına neden oluyor. Ayrıca, bazı gelişmiş güvenlik özellikleri, daha pahalı veya daha yetenekli switch modelleri gerektirebilir. Bu da bütçe kısıtlamaları olan kurumlar için ek bir engel teşkil ediyor.
Örneğin, birkaç yıl önce bir üretim firmasının altyapısını yenilerken, yeni nesil yönetilebilir switch’ler kullanmaya karar verdik. Varsayılan olarak gelen birçok güvenlik özelliği olmasına rağmen, bunları tam anlamıyla etkinleştirmek ve test etmek için ek bir ekip ve zaman ayırmak gerekiyordu. Sonuç olarak, en kritik birkaç özelliği (varsayılan şifreleri değiştirme, kullanılmayan portları kapatma gibi) uygulayabildik. Diğerleri, “ileride bakarız” denilerek rafa kaldırıldı. Bu, maalesef sık karşılaştığım bir durum.
Temel Switch Hardening Adımları ve Teknik Detaylar
Switch hardening’in temelinde, cihazın gereksiz özelliklerini kapatmak, erişimi kısıtlamak ve ağ trafiğini daha güvenli hale getirmek yatar. Bu adımlar, genellikle switch’in işletim sistemine (CLI veya Web arayüzü üzerinden) erişilerek yapılır. İşte en temel ve etkili adımlardan bazıları:
-
Varsayılan Yönetici Şifrelerini Değiştirme: Bu, en basit ama en kritik adımdır. Çoğu switch, kutudan çıktığı haliyle varsayılan bir kullanıcı adı ve şifre ile gelir (örneğin, admin/admin, cisco/cisco gibi). Bu şifrelerin hemen değiştirilmesi şarttır. Bu adım ihmal edildiğinde, saldırganlar basit bir aramayla varsayılan bilgileri bulup cihaza kolayca erişebilirler.
# Örnek Cisco IOS komutu enable configure terminal username admin privilege 15 secret <yeni_guclu_sifre> line console 0 password <yeni_guclu_sifre> login exit line vty 0 4 password <yeni_guclu_sifre> login exit write memoryBu komut dizisi, hem global yönetici hesabını hem de konsol ve VTY (telnet/ssh) erişimleri için şifreyi belirler.
secretkomutu, şifreyi hash’leyerek saklar, bu da daha güvenlidir. -
Kullanılmayan Portları Kapatma (Shutdown): Ağınızda aktif olarak kullanılmayan fiziksel portları kapatmak, yetkisiz cihazların ağınıza fiziksel olarak bağlanmasını engeller. Bu, özellikle kablo karmaşasının yoğun olduğu ortamlarda veya misafir erişimi sağlanan alanlarda önemlidir.
# Örnek Cisco IOS komutu configure terminal interface range GigabitEthernet1/0/5 - 24 shutdown exit write memoryBu komut, belirli bir port aralığını kapatır. Kapatılan portların takibi de önemlidir, zira yeni bir cihaz bağlandığında bu portların tekrar açılması gerekebilir.
-
Güvenli Yönetim Protokolleri Kullanma: Telnet gibi şifrelenmemiş protokoller yerine SSH kullanmak zorunludur. SSH, tüm yönetici trafiğini şifreleyerek dinlemeyi engeller. Ayrıca, SNMPv1/v2c yerine SNMPv3 kullanmak, topluluk (community) dizelerinin şifrelenmesini ve kimlik doğrulama mekanizmalarının kullanılmasını sağlar.
# Örnek Cisco IOS komutu (SSH etkinleştirme) configure terminal ip domain-name yourdomain.local crypto key generate rsa modulus 2048 line vty 0 4 transport input ssh exit ip ssh version 2 write memoryBu ayarlar, SSHv2’yi etkinleştirir ve anahtar üretimini sağlar. SNMPv3 yapılandırması ise daha detaylıdır ve kullanıcı adı, kimlik doğrulama protokolü (MD5/SHA) ve şifreleme protokolü (DES/AES) gibi parametreler gerektirir.
İleri Düzey Switch Hardening Teknikleri
Temel adımların ötesinde, switch’lerin güvenliğini daha da artırmak için çeşitli ileri düzey teknikler mevcuttur. Bu teknikler, ağdaki potansiyel saldırı vektörlerini daha etkin bir şekilde kapatmaya yardımcı olur.
Port Security
Port security, bir switch portuna bağlanabilecek MAC adreslerini sınırlamaya yarar. Bu sayede, yetkisiz bir kullanıcının kendi cihazını ağınıza bağlayıp kötü niyetli aktiviteler yapması engellenmiş olur. İki temel modu vardır:
- Sticky MAC: Port’a ilk bağlanan cihazın MAC adresini öğrenir ve bu MAC adresi dışındaki tüm trafiği engeller.
- Static MAC: Yönetici tarafından manuel olarak tanımlanan MAC adreslerine izin verir.
# Örnek Cisco IOS komutu (Sticky MAC ile port security)
configure terminal
interface GigabitEthernet1/0/1
switchport mode access
switchport port-security
switchport port-security maximum 1 # Sadece bir MAC adresi
switchport port-security mac-address sticky
switchport port-security violation shutdown # İhlal durumunda portu kapat
exit
write memory
Bu yapılandırma, port’a ilk bağlanan cihazın MAC adresini öğrenir ve sadece o cihaza izin verir. Eğer başka bir cihaz bağlanmaya çalışırsa (ihlâl), port otomatik olarak kapatılır (shutdown). Bu, özellikle kullanıcıların kendi bilgisayarlarını veya “evil twin” AP’lerini bağlamasını engellemek için etkilidir.
DHCP Snooping
DHCP snooping, bir switch’in güvenilir olmayan DHCP sunucularından gelen yanıtları engellemesini sağlar. Ağdeki cihazlara IP adresi atayan DHCP sunucusunun kimliği doğrulanır ve sahte sunucuların ağa hizmet vermesi önlenir. Bu, IP spoofing saldırılarına karşı önemli bir savunmadır.
DHCP snooping’in düzgün çalışması için, genellikle bir portun “trusted” (güvenilir) olarak yapılandırılması gerekir. Bu port, genellikle ağdaki resmi DHCP sunucusuna bağlıdır. Diğer tüm portlar ise “untrusted” (güvenilmez) olarak işaretlenir.
# Örnek Cisco IOS komutu (DHCP Snooping)
configure terminal
ip dhcp snooping
ip dhcp snooping vlan 10,20 # DHCP snooping'in etkin olacağı VLAN'lar
interface GigabitEthernet1/0/1 # DHCP sunucusunun bağlı olduğu port
ip dhcp snooping trust
exit
interface GigabitEthernet1/0/2 # Kullanıcı cihazlarının bağlı olduğu port
ip dhcp snooping limit rate 15 # Saniyede 15 DHCP paketine izin ver (rate limiting)
exit
write memory
Bu yapılandırma ile, 10. ve 20. VLAN’larda DHCP snooping etkinleştirilir. 1/0/1 portu güvenilir DHCP sunucusuna bağlı olduğu için “trust” olarak ayarlanır. Diğer portlarda ise paket oranı sınırlandırılarak kötü niyetli DHCP flood saldırıları engellenir.
Ağ Segmentasyonu ve VLAN Güvenliği
Ağ segmentasyonu, ağı daha küçük, yönetilebilir ve güvenli bölümlere ayırma işlemidir. VLAN’lar (Virtual Local Area Network), bu segmentasyonu fiziksel kablolamayı değiştirmeden yapmanın en yaygın yoludur. Her VLAN kendi broadcast alanına sahip olur ve varsayılan olarak diğer VLAN’larla iletişim kuramaz. Bu, bir segmentte oluşan bir güvenlik sorununun diğer segmentlere yayılmasını engeller.
Ancak VLAN’lar kendi başlarına tam bir güvenlik sağlamazlar. Eğer VLAN’lar arası yönlendirme (inter-VLAN routing) doğru yapılandırılmazsa, zafiyetler ortaya çıkabilir. Güvenlik duvarları veya L3 switch’ler aracılığıyla VLAN’lar arası trafiği kontrol etmek, güvenlik politikalarını uygulamak için kritik önem taşır.
VLAN Hopping Saldırıları ve Önlemleri
VLAN hopping, saldırganların bir VLAN’dan diğerine geçerek yetkisiz erişim sağlamaya çalıştığı bir saldırı türüdür. İki ana türü vardır: Switch Spoofing ve Double Tagging.
- Switch Spoofing: Saldırgan, kendi cihazını bir switch gibi tanıtarak, switch’in trunk portlarından geçiş yapmaya çalışır.
- Double Tagging: Saldırgan, çift VLAN etiketi ekleyerek trafiği hedeflenen VLAN’a yönlendirir. Bu saldırı genellikle, switch’in trunk portunun hedef VLAN ile aynı etiketlenmemiş bir VLAN’da olması durumunda işe yarar.
Bu saldırıları önlemek için alınacak önlemler şunlardır:
- Varsayılan VLAN’ı Değiştirme: Genellikle “native VLAN” olarak adlandırılan ve trunk portlarda etiketsiz gönderilen VLAN’ı, varsayılan olan VLAN 1’den farklı bir VLAN’a taşımak.
- Kullanılmayan Trunk Portlarını Kapatma: Sadece gerçekten trunk bağlantısı gerektiren portları trunk olarak yapılandırmak.
- Port Security ve DHCP Snooping: Daha önce bahsedilen bu özellikler, switch spoofing’e karşı dolaylı olarak koruma sağlar.
- VLAN’ları Sınırlandırma: Her porta sadece ihtiyacı olan VLAN’ları atamak, gereksiz VLAN’ların erişimini engellemek.
# Örnek Cisco IOS komutu (Native VLAN değiştirme)
configure terminal
interface GigabitEthernet1/0/24 # Trunk port
switchport mode trunk
switchport trunk native vlan 99 # Varsayılan VLAN 1 yerine VLAN 99 kullan
switchport trunk allowed vlan 10,20,30,99 # Sadece izin verilen VLAN'ları belirt
exit
write memory
Bu yapılandırma ile, trunk portun native VLAN’ı 99 olarak ayarlanır ve sadece 10, 20, 30 ve 99 numaralı VLAN’lara izin verilir. Bu, hem double tagging saldırısını zorlaştırır hem de ağdaki VLAN’ların yönetimini daha temiz hale getirir.
Protokol Kısıtlamaları ve Servis Yönetimi
Switch’lerin üzerinde çalışan servisler ve protokoller de potansiyel güvenlik riskleri barındırır. Örneğin, CDP (Cisco Discovery Protocol) veya LLDP (Link Layer Discovery Protocol) gibi protokoller, ağdaki diğer cihazlar hakkında bilgi sızdırabilir. Bu bilgilerin saldırganların eline geçmesi, ağ topolojisinin anlaşılmasına yardımcı olabilir.
CDP/LLDP ve Diğer Gereksiz Protokolleri Devre Dışı Bırakma
Eğer ağınızda bu protokolleri kullanmıyorsanız, devre dışı bırakmak güvenlik duruşunuzu güçlendirir.
# Örnek Cisco IOS komutu (CDP devre dışı bırakma)
configure terminal
no cdp run
write memory
Bu basit komut, CDP’yi global olarak devre dışı bırakır. Benzer şekilde, LLDP de devre dışı bırakılabilir.
Ayrıca, network boot (PXE boot), TFTP gibi servislerin de sadece gerektiğinde ve kontrollü ortamlarda çalıştırılması önemlidir. Bu servisler, kötü niyetli bir kullanıcının ağınıza kötü amaçlı yazılım indirmesi veya sistemleri yeniden yapılandırması için kullanılabilir.
Gerçek Senaryo: Bir E-Ticaret Sitesinin Switch Güvenliği
Birkaç yıl önce, büyük bir TR e-ticaret sitesinin altyapısını yenileme projesinde yer aldım. Bu proje kapsamında, veri merkezi ve ofis network’lerindeki yüzlerce switch’in güvenliğini gözden geçirdik. Gördüğüm manzara, maalesef beklendiği gibiydi: Çoğu switch’te varsayılan şifreler hala duruyordu, kullanılmayan portlar açık ve SNMPv1/v2c ile erişim sağlanıyordu.
Bu deneyim bana şunu öğretti: Switch hardening, bir “yapılıp biten” iş değil, sürekli bir süreçtir. Yeni cihazlar eklendikçe, ağ yapısı değiştikçe bu güvenlik önlemlerinin de güncellenmesi ve denetlenmesi gerekir. En basit adımlar bile, genel güvenlik duruşunu önemli ölçüde iyileştirebilir.
Trade-off’lar ve Geleceğe Bakış
Switch hardening yaparken karşılaşılan en büyük trade-off, güvenlik ile operasyonel kolaylık arasındaki dengeyi bulmaktır. Çok sıkı güvenlik önlemleri, ağ yönetimini zorlaştırabilir ve beklenmedik sorunlara yol açabilir. Örneğin, port security’yi aşırı kısıtlamak, yeni bir cihazın ağa bağlanmasını engelleyebilir ve acil durum müdahalesini yavaşlatabilir.
Diğer bir trade-off ise maliyettir. Daha gelişmiş güvenlik özelliklerine sahip switch’ler daha pahalıdır. Ancak, bir güvenlik ihlalinin maliyeti, bu tür cihazların maliyetinden çok daha yüksek olabilir. Bu nedenle, kurumların risk toleranslarına göre doğru dengeyi bulmaları gerekir.
Gelecekte, ağ cihazlarının “güvenlik varsayılanı” ile gelmesi daha da önem kazanacak. Zero Trust mimarisi gibi yaklaşımlar, her cihazın ve her bağlantının güvenli olduğundan emin olmayı gerektiriyor. Bu da, switch hardening gibi temel güvenlik uygulamalarının daha da kritik hale gelmesine neden olacak. Kendi VPS’imde bile, temel ağ yapılandırmalarımı her zaman gözden geçiririm. Basit bir Linux sunucusu bile, kendi ağ arayüzleriyle birlikte gelir ve bu arayüzlerin güvenliğinin sağlanması gerekir.
Sonuç olarak, network switch hardening’in ihmal edilmesinin temel nedenleri zaman, maliyet ve güvenlik farkındalığının düşüklüğüdür. Ancak bu adımları atmak, ağ güvenliğimiz için uzun vadede kritik bir yatırım olacaktır. Kendi projelerimde de gördüğüm gibi, en basit adımlar bile büyük fark yaratabilir. Bu nedenle, ağ güvenliği stratejilerimizde switch hardening’e hak ettiği yeri vermeliyiz.