Cisco Switch Güvenlik Sıkılaştırması
1. Genel Bakış
Bir ağ yöneticisi veya ağ mühendisi olarak, bir veri merkezinde yeni bir Cisco switch kurarken ve bunu ağ altyapısına bağlarken, bu ağ cihazını güvenli hale getirmeniz çok önemlidir. Bilgisayar korsanları bir switch’e zarar verirse, ağ altyapısının tüm güvenliği tehlikeye girer, sonuçlar korkunç olabilir.
Bu örnekte, Cisco switch için güvenlik sıkılaştırmasının nasıl yapılandırılacağı ve veri merkezindeki ağ altyapısının genel güvenliğini nasıl artıracağı anlatılacaktır.
2. Başlarken
a. Ağ altyapınızda zaten Tacacs + sunucunuz olduğunu ve çalıştığını varsayıyoruz. Eğer yoksa bağlantıyı takip ederek yapabilirsiniz.
RHEL / CentOS 7 üzerinde Tacacs+ Yapılandırması ve Kullanıcı Kimlik Doğrulaması
b. Ağ altyapınızda halihazırda Cacti veya Nagios gibi ağ izleme sunucunuz olduğunu varsayıyoruz. Eğer yoksa aşağıdaki bağlantıdan kurulum adımlarını takip ederek kurabilirsiniz.
IT Altyapısını İzlemek için RHEL / CentOS 7 Üzerinde Nagios Kurulumu
3. Senaryo
Aşağıdaki resimde senaryoyu görebilirsiniz. Konsol kablosu ile Cisco switch konsol portuna bağlı bilgisayar var. Data Center’daki Cisco switch, ağ altyapısına Ethernet bağlantıları üzerinden bağlanır. AAA protokolü ve SNMP protokolü kullanan Ağ İzleme Sistemi için Tacacs + hizmeti için iki özel sunucu zaten kurulmuş ve yapılandırılmıştır. Ağ yöneticisi veya ağ mühendisi, güvenlik sıkılaştırmasını Cisco switch’te konsol arabirimi üzerinden yapıyor ve bilgisayarı da bu ağ altyapısına bağlı.
4. Cihaza isim verme
Bir kurumsal Veri Merkezi’nde, bir ağ altyapısının çalışması için yapılandırılmış switch’ler, router’lar ve güvenlik duvarları gibi birçok ağ aygıtı vardır. Bu ağ aygıtları için ana makine adının ayarlanması, yönetilebilir bir ağ altyapısı için gerçekten önemlidir, çünkü cihazın konumunu ve amacını / işlevini / hizmetini ana bilgisayar adıyla kolayca belirleyebiliriz.
# hostname DCSW-COR01
5. Yerel Kullanıcı Yönetici Hesabı Oluşturun
Yerel bir kullanıcı yönetici hesabı oluşturulmalıdır. Dolayısıyla, Cisco switch’e SSH ile uzaktan yönetimi veya konsol arabirimi üzerinden erişmek istediğinizde, önce doğru bir kullanıcı adı ve şifre girmemiz gerekir. Bu hesap bilgisi, Cisco switch’in, Tacacs + sunucusuna ulaşamaması veya bir cevap gelmemesi durumunda kullanılır.
# username netadmin privilege 15 secret 1111 # enable secret 2222 # service password-encryption # aaa new-model # aaa authentication login default local-case # aaa local authentication attempts max-fail 10
6. Yönetim IP’sini Yapılandırma
Loopback arabirimleri her zaman “UP” olduğundan, Cisco switch’e SSH ile uzaktan erişim için, loopback arabirimlerinin kullanılması önerilir. Fiziksel arayüzler, potansiyel olarak UP/DOWN olabilirler ve cihaza erişim mümkün olmaz.
# int lo0 ip add 20.20.20.10 255.255.255.255
7. SSH Yapılandırmasını Yapın
SSH, şifreli ve güvenli uzaktan erişim sağladığından ağ yöneticisinin Cisco switch’e erişim için kullandığı bir uzaktan yönetim protokolüdür. Telnet bağlantısı düz metin içerdiğinden ve şifreniz kolayca yakalanabildiğinden, herhangi bir ağ cihazına erişmek için Telnet’i asla kullanmayın. Aşağıda, SSH yapılandırması örneğini görebilirsiniz.
# ip domain-name tanergunal.com.tr # crypto key generate rsa modulus 2048 # ip ssh version 2 # ip ssh time-out 30 # ip ssh logging events # ip ssh maxstartups 10 # ip ssh authentication-retries 5
8. Güvenli Giriş Denetimi’ni Etkinleştirin
Bazen kötü niyetli bir kullanıcı, şifre giriş ekranında sözlük saldırısı (dictionary attack) gerçekleştirmek isteyebilir. Belirli bir IP adresinden, belirli bir zaman dilimi içinde çok fazla sayıda başarısız girişimde bulunulması durumunda Cisco switch’e saldırı yapılan IP adresini blokla diyebilirsiniz.
# login block-for 300 attempts 5 within 120 # login delay 2 # login on-failure log # login on-success log
9. Uzaktan Yönetim Erişimini Kısıtlama ve Güvenli Hale Getirme
Cisco switch’e yetkisiz SSH uzaktan erişimin engellenmesi, Access Control List (ACL) yapılandırılması ve yönetim erişimi için sadece ağ yöneticisinin IT ekibinin IP adreslerine izin verilmesi gerekir.
# ip access-list standard ACL-SSH permit 10.10.20.0 0.0.0.255 log deny any log # line vty 04 transport input ssh access-class ACL-SSH in exec-timeout 15
10. Konsol Erişimini Kısıtlayın
Konsol oturumlarının boşta kalma zaman aşımını süre olarak kısıtlandırın. Belirli bir süre kullanılmadığında konsol arabirimi bağlantısı kesilmesi de pratik bir güvenlik önlemidir.
# line con 0 exec-timeout 15 no privilege level 15
11. Günlük kaydını etkinleştirin
Günlüğe kayıt tutma, Cisco switch’deki güvenlik sıkılaştırmaları için oldukça önemlidir. Güvenlik olaylarını Cisco switch ile daha etkili bir şekilde ilişkilendirmek ve denetlemek için, uzak bir syslog sunucusuna günlük kayıtlarınızı oluşturmanız önerilir.
# logging buffered 16000 informational # logging 10.10.10.5 # logging source-interface Loopback 0 # service timestamps debug datetime msec localtime show-timezone # service timestamps log datetime msec localtime show-timezone
12. Konfigürasyon Değişikliği Bildirimini ve Günlüğü Etkinleştirin
Cisco switch’inizde yapılan konfigürasyon değişikliklerini kaydetmeniz ve Günlüğe işlemeniz, bu kayıtların günlüğünü tutmanız önerilir. Konfigürasyon Değişikliği Bildirimi ve Günlüğe kaydetme özelliği etkinleştirildikten sonra, show archive log config all komutu ile önceki kayıtlardan bu bilgilere erişim sağlayabilirsiniz.
# archive log config logging enable logging size 200 hidekeys notify syslog# sh archive log config all idx sess user@line Logged command 1 1 console@console |access-list 199 permit icmp host 10.10.10.10 host 20.20.20.20 2 1 console@console |crypto map NiStTeSt1 10 ipsec-manual 3 1 console@console |match address 199 4 1 console@console |set peer 20.20.20.20 5 1 console@console |exit 6 1 console@console |no access-list 199 7 1 console@console |no crypto map NiStTeSt1 8 2 netadmin@console |crypto key generate rsa modulus ***** 9 0 netadmin@vty0 |!exec: enable
13. Konsol Logging veya Monitor Oturumlarını Günlük Tutmayı Kapatın
Monitör ve konsol oturumları etkileşimli yönetim oturumlarıdır ve Cisco switch’in CPU yükünü yükseltebilir. Bu yüzden show logging komutunu dikkatli kullanmanız önerilir.
# no logging console # no logging monitor
14. NTP Sunucusunu Aktif Edin
NTP, doğru zaman ve saat dilimi ile listelenecek günlük verileri için doğru ve düzgün bir saat ayarlarına sahip olmak için çok önemlidir. Kayıtları oluşturma, işleme ve doğru biçimde izleme ve korelasyon kurmanızda yardımcı olur.
# clock timezone PHN 7 # ntp server 192.168.0.18
15. SNMP Erişimini Kısıtlayın ve Güvenli Hale Getirin
Büyük harf, küçük harf, sayılar ve özel karakterler kombinasyonuyla, her ağ aygıtında standart bir SNMP topluluk dizesi kullanılması önerilir. Genel veya özel gibi varsayılan dizeler kaldırılmalıdır. SNMP, erişim hakları RO (salt okunur) ve geçerli ACL ile yapılandırılmalıdır. Sadece SNMP sürüm 2.0 ve 3’e izin verilir.
SNMP version 2 yapılandırması.
# ip access-list standard ACL-SNMP permit 10.10.10.6 deny any log # snmp-server community T@s9aMon RO ACL-SNMP # snmp-server location DC # snmp-server contact netadmin@tanergunal.com.tr
SNMP version 3 yapılandırması.
# ip access-list standard ACL-SNMP permit 10.10.10.6 deny any log # snmp-server group SYSMON v3 priv access ACL-SNMP # snmp-server user nms-v3 SYSMON v3 auth md5 33331111 priv 3des 44442222 # snmp-server location DC # snmp-server contact netadmin@tanergunal.com.tr
Doğrulamak için ağ izleme sunucusundan snmpwalk komutunu kullanabiliriz.
# snmpwalk -v2c -c A@B9aMon 10.10.10.1 # snmpwalk -v3 -u nms-v3 -A 33331111 -l auth -a MD5 -x DES -X 44442222 10.100.1.36
16. Kullanılmayan Servisleri Kapatın
Sıklıkla kullanılan bazı servisler, DoS ve paket filtrelemeyle başka şekilde önlenen diğer saldırıları başlatmak için kullanılabilirler.
# no ip http server # no ip http secure-server # no service dhcp # no cpd run # no lldp run global # no ip bootp server # no ip domain-lookup # no ip source-route
17. Login Banner’ı Aktif Edin
“Computer Misuse Act 1990” yayını, kullanıcıların giriş yapmadan önce bilgisayarların bir başlık mesajı göstermelerini öngörür. Bu yasa, yetkisiz erişim suçunun ancak suçlunun zamanında bilmesi durumunda işlenebileceğini öngörür. “Regulation of Investigatory Powers Act 2000” ‘e göre, bilgisayara erişen kullanıcılara bilgi verilmesini gerektirmektedir. Login Banner da bu işe yarar.
# banner login # UNAUTHORIZED ACCESS TO THIS DEVICE IS PROHIBITED! You must have explicit permission to access or configure this system. All activities performed on this system may be logged, and violations of this policy may result in disciplinary action, and may be reported to law enforcement. Use of this system shall constitute consent to monitoring. # # banner motd # AUTHORIZED ACCESS ONLY! If you are not an authorized user, disconnect IMMEDIATELY! All connections are monitored and recorded. #
18. TCP Sessions Keepalives Etkinleştirin
# service tcp-keepalives-in # service tcp-keepalives-out
19. Bellek ve İşlemci Eşik Bildirimlerini Açın
Bir aygıttaki boş belleğin, yapılandırılmış eşik değerinden daha düşük olduğunu belirtmek için Bellek ve İşlemci Eşik Bildiriminin günlük mesajı oluşturması önerilir.
# memory free low-watermark processor 204800 # memory free low-watermark io 204800 # memory reserve critical 20480 # process cpu threshold type total rising 80 interval 60 falling 70 interval 60 # process cpu statistics limit entry-percentage 80 size 60 # memory reserve console 4096 # exception memory ignore overflow io # exception memory ignore overflow processor # exception crashinfo maximum files 32
20. Secure Copy Protocol (SCP) Etkinleştirin
Cisco switch yazılım imajının ve switch tarafından kullanılan aygıt yapılandırmasının bir kopyasını güvenli bir şekilde saklamak önemli bir güvenlik yöntemidir.
# ip scp server enable # copy scp://usernam@10.10.10.20/home/tanergunal/file.txt flash: # configuration mode exclusive auto # secure boot-image # secure boot-config
21. AAA Yapılandırması Yapın
Tacacs +, kimlik doğrulama, yetkilendirme, hesap denetimi olan AAA servisleri ile güvenlik için bir protokoldür. Yerel kullanıcı hesaplarını kullanmak yerine, ağ cihazlarına merkezi bir kimlik doğrulama olarak kullanılır. Ayrıca, ağ cihazlarıyla çalışmak için belirli bir kullanıcıya merkezi erişim ile belirli bir yetkilendirme sağlayabilir. Hesap denetimi ile, ayrıcalıklı kullanıcılar tarafından yürütülen tüm eylemleri günlüğe kaydederek zorunlu denetim günlüklerini verir.
22. Kullanılmayan Port’ları Devre Dışı Bırakın ve Port Güvenliği Uygulayın
Tüm Cisco switch cihazlarının port veya arabirimleri, Veri Merkezinde dağıtılmadan önce güvenceye alınmalıdır. Bağlantı noktası güvenliği, bir bağlantı noktasında izin verilen geçerli MAC adreslerinin sayısını sınırlayacak şekilde tüm Cisco switch’ler için yapılandırılmalı ve kullanılmayan tüm bağlantı noktaları devre dışı bırakılmalıdır.
# int range fa0/1 - 48 switchport port-security maximum 2 switchport port-security aging time 10 switchport port-security aging type inactivity switchport port-security shu
23. Sonuç
Cisco switch’iniz için güvenlik sıkılaştırma adımlarını tamamladınız. Herhangi bir sorunuz veya öneriniz varsa, yorumlarınızı aşağıya yazabilirsiniz.