Pek çok güvenlik ve network yöneticisi sistemlerinin güvenliğini sağlayabilmek için gelebilecek tehditleri üst katmanlara kadar taşımaktansa, olabildiğince alt katmanda yapılacak gerekli yapılandırma veya kısıtlamalarla çözüm arayışına gitmektedirler. Gelelim yönetilebilir bir switch’i sahada kullanmaya başlamadan önce bu cihaz üzerinde uygulanması gereken güvenlik aşamalarına. Öncelikle network’e dahil edilecek her cihazda olması gerektiği gibi, cihazın şifreleri belirlenmelidir. Bu şifreler belirlenirken, herkes tarafından kolayca tahmin edilebilen ya da herhangi bir sözlük atakla kolaylıkla tespit edilebilen bir şifre vermemeye özen gösterilmelidir. Birden fazla switch ve network yöneticisinin bulunduğu yerlerde, en iyi yöntem AAA Authentication modu aktive edilerek, bunun üzerinde kullanıcıların sorgularının yapılacağı yerel kullanıcı veritabanı, TACACS+ ya da RADIUS sunucu üzerinden kimlik doğrulaması yapılmasıdır. TACACS+ bunlar arasında ayrıntılı log tutma özelliğiyle diğerlerinden bir adım önde olarak gözükse ihtiyaca göre kullanılacak yöntem de değişebilmektedir.
1) SSH erişimini aktive etme ve kimlik doğrulama yöntemi
Ayrıca, yine cihazı yönetebilmek için, cihazın performans ve yüküne göre ssh ya da telnet erişimleri aktif edilmelidir. Tercih daima kriptolu olan ssh bağlantısı olması gerekir fakat yine de belirlenecek güvenlik seviyesine göre telnet erişimi de tercih edilebilmektedir.
Cisco IOS üzerinde Örnek SSH Yapılandırması |
|
Komut | Açıklama |
username cisco privilege 15 password 0 123 |
Kullanıcı eklenir ve şifre atanır. |
aaa new-model |
Yerel veritabanı kullanılarak,AAA modu ayarlamaları yapılır. |
aaa authentication login default local |
|
aaa authorization exec default local |
|
aaa authorization network default local |
|
aaa session-id common |
|
ip domain name tanergunal.com.tr |
Alan adı belirlenir. |
crypto key generate rsa |
Sertifika oluşturulur.(en az 768 bit Diffie-Hellman key kullanılır) |
line vty 0 4 |
İlgili vty belirlenir. |
transport input ssh |
Yalnızca SSH bağlantılarına izin verilir. |
Cisco Catalyst OS Üzerinde Örnek SSH Yapılandırması |
|
Komut | Açıklama |
set crypto key rsa 1024 |
1024 bit RSA key oluşturur. |
set ip permit 10.0.0.0 255.255.255.0 ssh |
Belirlenen ip aralığıdaki SSH bağlantılarına izin verilir. |
set ip enable |
2) VTP ve SNMP yapılandırması
Kullanıcı sayısı ve bunun paralelinde cihaz sayısı yüksek networklerde VLAN yapılandırmasının network’ü rahatlatan ve düzeni sağlayan bir işlevi olsa da, düzgün konfigüre edilmeyen bir VLAN yapılandırması çok ciddi güvenlik açıklarına neden olmaktadır.Bu konuda yapılabilecek en iyi düzenleme ise,, switch üzerinde oluşturulan vlan veritabanın paylaşımını gerekli etki alanı altında, belirlenen şifreyle sadece ilgili cihazlara aktarılmasını sağlamaktır. Ayrıca VTP pruning özelliğiyle de switchler arasında akan broadcast trafiği sadece ilgili cihazlara yönelerek, cihazın üzerinden gereksiz trafiğin geçmesini engelleyecektir.
Cisco IOS Üzerinde Örnek VTP Konfigürasyonu |
|
Komut | Açıklama |
vtp domain VTP-Adı |
VTP adı belirlenir |
vtp password VTP-Şifresi |
VTP şifresi belirlenir. |
vtp pruning |
VTP pruning aktive edilir. |
Cisco Catalyst OS Üzerinde Örnek VTP Konfigürasyonu |
|
Komut | Açıklama |
set vtp domain VTP-Adı |
VTP adı belirlenir |
set vtp passwd VTP-Şifresi |
VTP şifresi belirlenir. |
set vtp pruning enable |
VTP pruning aktive edilir. |
Bunun yanına cihazın üzerinden anlık bilgileri okuyabilmek gibi pek çok farklı şekilde kullanılan SNMP’nin ayarlamaları da en düzgün şekilde belirlenmelidir. Cihaz üzerine gelen SNMP sorgularının kontrolü sağlanmadığı sürece, SNMP kullanılarak yapılabilen farklı uygulamalarla cihaz kolaylıkla ele geçirilebilir. SNMP versiyonları arasında da en güvenli sürümü v3 sürümüdür. Bu sürümde v1 ve v2 de kullanılan topluluk belirleme ve kullanıcı işlemleri gibi işlemlere ek olarak şifreleme gibi özellikler eklenmiştir.
Cisco IOS Üzerinde Örnek SNMP Konfigürasyonu |
|
Komut | Açıklama |
snmp-server community Read-Only- Sorgusu ro 10 |
ACL 10 ile korunan read-only SNMP sorgusu belirlenir. |
snmp-server community Read-Write-Sorgusu rw 11 |
ACL 11 ile korunan read-write SNMP sorgusu belirlenir. |
access-list 10 permit IP-adresi-ro_için |
Read-only SNMP sorgusunun yapılabileceği ip(ler) belirlenir. |
access-list 11 permit IP-adresi-rw_için |
Read-write SNMP sorgusunun yapılabileceği ip(ler) belirlenir. |
Cisco Catalyst OS Üzerinde Örnek SNMP Konfigürasyonu |
|
Komut | Açıklama |
set snmp community read-only read-only-string |
read-only sorgu belirlenir. |
set snmp community read-write read-write-string |
read-write sorgu belirlenir. |
set snmp community read-write-all rwo-string |
read-write-all sorgu belirlenir. |
3) Port kısıtlamaları ve tanımlamaları
Cihaz üzerinde gerekmedikçe trunk port bırakılmamalıdır. Hatta, switch üzerinde kullanılmayan bir vlan oluşturularak, tüm kullanılmayan portlar bu vlan’e atanmalıdır. Ayrıca yine kullanılmayan portlar gerek duyulmadıkça “shutdown” durumunda bırakılmalıdır ve “description PORTUN-AÇIKLAMASI” komutuyla kullanılan her porta olası bir hata tespit durumunda sonuca daha çabuk ulaştırabilecek tanımlamalar yapılmalıdır. Son olarak bu konuda dikkat edilmesi gereken en önemli nokta ise, vlan yapılandırmasında pek çok konuda (native vlan) portlara varsayılan olarak atanan VLAN 1, gerekmedikçe kullanılmamalıdır.
Cisco IOS Üzerinde Temel Port Örnek Kısıtlamaları |
|
Komut | Açıklama |
int range FastEthernet0/1 – 48 |
interface 1 – 48 arasına komut girilebilecek interface moda girilir |
switchport access vlan 8 |
Portu VLAN 8’e atar. |
switchport mode access |
VLAN Trunking modunu disable eder. |
Shutdown |
Portu kapatır. |
4) Allowed-Vlan belirleme
Trunk olarak belirlenen portlar dahil, üzerinden tüm vlanlerin geçmesine izin verilmeyip, sadece o porttan akması gereken vlan trafiklerine izin verilmelidir.
Cisco IOS Üzerinde Örnek VLAN Trunking Kısıtlamaları |
|
Komut | Açıklama |
interface GigabitEthernet0/1 |
Kısıtlama yapılacak interfacenin içine girilir. |
switchport mode trunk |
Port trunk moda ayarlanır. |
switchport trunk encapsulation dot1q |
Encapsulation türü belirlenir. |
switchport trunk allow 10-14, 26-28 |
10-14 ve 26-28 arası vlanlere izin verilir. |
Spanning Tree(STP) her nekadar oluşabilecek loop’ları engellemek için çalışan bir protokol olsa da, böyle güzel işler yapmaya çalışan bir protokolün de belli önlemler alınarak yapılandırılması gerektiği gerçeğini ortadan kaldıramamaktadır. Alınabilecek önlemlerden ilki, “Portfast” enable edilen porttaki BPDU paketlerini engellemek ya da bir şekilde filtrelemektir. Kısaca PortFast’i anlatmak gerekirse; PortFast,portları listening learning gibi loop önleyen aşamalardan geçirmeyerek, çok hızlı bir şekilde ilgili portun açılmasını sağlamaktadır. Bu portlardan BPDU mesajı alındığında topoloji tamamen bozulabilir ve hatta sorunun loop’a kadar büyümesine neden olabilir. Bununla beraber Cisco switchler üzerinde yapılacak RootGuard yapılandırması ile, bir porta bağlanan cihazın küçük olan bridge ID’si topolojiyi etkileyerek root olarak seçilmesini engelleyecektir.
Cisco IOS üzerinde STP BPDU ve Root Guard Kısıtlamaları |
|
Komut | Açıklama |
spanning-tree portfast bpduguard |
Switch üzerinde BPDU guard’ı aktif eder. |
spanning-tree guard root |
Switch üzerinde Root guard’ı aktif eder. |
spanning-tree rootguard |
Farklı IOS’larda ki kullanım şekli. |
Switchlerin üzerinde sınırlı sayıda mac adresi kayıt altına alınabilir. Bu da saldırgan kişiler tarafından atak yapılabilecek bir açık olarak değerlendirilebilir. Switche bağlı kişi çok kısa sürede çokça kez mac adresini değiştirerek dchp sunucusundan ip isteğinde bulunur, bu sayede hem dhcp havuzunu hem de switch üzerindeki mac adres tablosunu doldurarak atağın ilk aşamasını tamamlamış olurlar. Switch üzerindeki mac addreslerinin tutulduğu veritabanı dolunca switch hub olarak görev yapmaya başlar. Bu da switch üzerindeki tüm trafiğin tüm portlara yönlendirilmesi anlamına gelmektedir. Artık bu aşamadan sonra cihaz üzerindeki tüm trafiği dinleyebilen saldırgan artık network’ün bir parçası haline gelmiştir:) Bu atağı engellemek için cisco cihazlarda aşağıdaki konfigürasyon kullanılabilir.
Cisco IOS Üzerinde MAC Adres Tablosu Ataklarına Karşı Kısıtlama |
|
Komut | Açıklama |
int range FastEthernet 0/1 – 24 |
Değişiklik yapılacak interface’ler (ya da interface) belirlenir. |
switchport port-security |
Port-Security aktif edilir. |
switchport port-security maximum 10 |
İnterface üzerinde izinli sayılacak mac adresi sayısı belirlenir. |
switchport port-security violation protect |
İzinsiz mac’lere switch tarafından uygulacak yaptırım belirlenir. |
switchport port-security aging time 5 |
Örnekte görüldüğü üzere, mac adresi 5 dakika “inactivity” modunda kaldıktan sonra tablodan silineceğini gösterir. |
switchport port-security aging type inactivity |
İlgili mac adreslerinin tablodan silinmesini gerektirecek şart belirlenir. |
NOT:Örnekte “range” komutuyla birden fazla porta uygulanmıştır, komutlar yalnızca istenilen interface’e de uygulanabilmektedir. |
Cenker Çetin sitesinden alınmıştır.