BTD Denetim ve Danışmanlık Hizmetleri
Cisco Router Hardening

Cisco ağ sistemlerinin güvenlik seviyesinin yükseltilmesi için yapılması gerekenler

Cisco routerlardaki güvenlik seviyesi yükseltim işlemi asgari seviyede aşağıdaki çalışmaları içermelidir.

·         Temel Yapılandırma

·         Servisler

·         Sistem İzleme

·         Yönetim

·         Erişim Denetimi

·         Yönlendirme Yapılandırması

Temel Yapılandırma

Temel yapılandırma ile ilgili yapılacak güvenlik seviyesi yükseltim işlemleri,  Sistem Açılış Konfigürasyonu Kontrolü, Karşılama Mesajları ve HSRP & Korumalı ağ ile ilgili yapılacak çalışmaları içerir.

Cisco yönlendiricilerin açılış işlemi ROM monitörün aktif hale getirilmesi ile başlar ve bu prosesin ilk kontrol ettiği şey “config-register” değeridir. Bahsedilen değerin karşılığı “1” ise sistem ROM'dan veya flash bellekten açılış işlemine devam eder. Sistem güvenliği açısından yönlendirici konfigürasyonunda yüklenecek işletim sistemi dosyasının yerinin ve adının belirtilmesi gerekir.

Yönlendiricinin ve dolayısıyla bu yönlendiricinin hizmet ettiği ağın güvenliği için yönlendiricinin nereden ve hangi dosyadan açılış işlemini gerçekleştireceğinin belirlenmesi önemlidir. Bunun için yönlendiricinin konfigürasyonuna

           boot system flash:işletim_sistemi_dosya_adı

komutu girilmelidir.

Bu şekilde yönlendiricinin istenilen işletim sistemini yüklendiğinden emin olunabilir. Bu komut kullanılmaz ise yönlendirici flash bellekte bulunan ilk dosyayı işletim sistemi dosyası olarak yüklemeye çalışacaktır. Flash belleğe dizin yapısında istenilenden daha önce okunacak bir dosyanın herhangi bir şekilde konulması durumunda bu dosya ile yönlendirici ele geçirilebilir veya istenmeyen işlemleri gerçekleştirmesi sağlanabilir.

Yönlendirici güvenliği açısından fiziksel güvenlik risklerinin bulunmadığı ortamlarda yönlendiricinin ağ üzerindeki bir TFTP sunucusu yerine kendi üzerindeki bir donanımdan açılışını gerçekleştirmesi yönlendirici ve ağ güvenliği seviyesinin yükseltilmesini sağlayacaktır.

boot system tftp://192.168.1.1/ciscoxxxxxxxxx.bin

Yönlendirici konfigürasyonundaki böyle bir komut yönlendiricinin kendi üzerindeki işletim sistemi dosyası yerine ağ üzerindeki başka bir sistemden tftp veya ftp protokollerini kullanarak açılmasını sağlamak için kullanılan bir komutudur. Yönlendirici konfigürasyonunda böyle bir satırın bulunması sakıncalıdır. Kaynak sistemin adresini alabilecek başka bir sistem veya kaynak sistemdeki zafiyetler nedeniyle ilgili dosyasının değiştirilmesi mümkündür. Bu durumlarında güvenlik riskleri oluşturacaktır. Yönlendirici açılışları için bu yöntem tercih edilmemelidir.

Yönlendirici konfigürasyonundaki “boot system rom” komutu kendisinden önce gelen bir yükleme işleminin başarısız olması durumunda yedek olarak çalışacak işletim sistemini belirler.

“boot system flash:isletim_sistemi_dosyası_adı” gibi bir konfigürasyon satırı olduğu ve bu satırda belirtilen dosyanın bulunmadığı veya bozulduğu durumda sistemin bir sonraki dosyayı yüklemesini veya hata durumunda ROM monitor olarak açılması sağlayacaktır.

Karşılama Mesajları

Yönlendiricilere açılan oturumlarda oturum açılan sisteme, yönlendiriciye erişimlerin kayıt altına alındığı ve yetkisiz girişlerin yasal süreçlere konu olacağı uyarısını belirtilen karşılama mesajları vermek yönlendirici güvenliği ve/veya sonrasında olabilecek yasal süreçler için önemlidir.

Yönlendirici karşılama mesajlarında sadece yetkili kişilerin erişebileceği, tüm erişimlerin kayıt altına alındığı ve yasal delil olarak kullanılabileceği, yetkisiz erişim girişimlerinin yasal olmadığı ve suç olduğu belirtilmelidir.

HSRP & Korumalı Ağ

Hot Standby Router Protocol (HSRP) cisco yönlendiricilerin yedeklenmesini, aktif durumda çalışan yönlendiricide sorun olması durumunda yedek yönlendiricinin devreye girmesini sağlayan ve erişilebilirliği artıran bir çözümdür. Bu yapının güvenliği için yönlendiricilerin birebirlerini kontrol ettikleri arabirimlerinin yerel ağdan fiziksel olarak ayrılması gerekir.

Fiziksel olarak ayrılmamış bir ağ yapısında kullanılan HSRP yönlendirici yedeklemesi ağ ortamındaki herhangi bir istemcinin yönlendiricilerdeki HSRP ip adresini alması durumunda yedeklemenin devre dışı kalmasına sebep olacaktır.

 

 

 

 

 


 

 

Servisler

Yönlendirici güvenliği için bazı servislerin aktif bazı servislerin ise pasif durumda olması gerekir.

Aktif Olması Gereken Servisler

“Service password-encryption”

“Service password-encryption” servisinin aktif durumda olmaması yönlendirici konfigürasyonundaki şifrelerin düz metin olarak görünmesine neden olacaktır.

Örneğin yönlendiriciye SNMP protokolü ve yazma yetkisine sahip SNMP sözdizimi ile bağlanılması durumunda yönlendirici konfigürasyonunun alınması mümkün olmaktadır.

Yönlendirici konfigürasyonunun ele geçirilmesi durumunda yönlendirici üzerindeki şifreler düz metin olarak görülecektir. Bu nedenle “Service password-encryption” servisinin aktif durumda olması gerekir.

Ayrıca yönlendirici üzerinde oluşacak olay kayıtlarının doğru zaman bilgisi taşıması ve gerektiğinde doğru olay kaydına ulaşılabilmesi için “service timestamps debug datetime” ve “service timestamps log datetime localtime” servislerinin de aktif durumda olması gerekir.

Yönlendiriciye ve/veya yönlendiriciden açılan oturumların izlenebilmesi ve karşı sistemden yanıt alınamaması durumunda oturumun sonlanmasını sağlamak için “service tcp-keepalives-in” ve “service tcp-keepalives-out” servislerinin aktif olması gerekir.

Pasif Olması Gereken Servisler

Cisco yönlendiricilerde güvenlik açısından bazı servislerin pasif hale getirilmesi gerekir. Bahsedilen servislerin bazılarının güvenlik zafiyetleri barındırması ve/veya güvenlik riskleri yaratması nedeniyle kapatılması önerilir. Ancak burada bahsedilen bazı servislerin yönetimsel ihtiyaçlar nedeniyle aktif hale getirilmesi gerekebilir. Özellikle SNMP servisi buna bir örnek olarak gösterilebilir. Böyle bir durum söz konusu olduğunda ise ilgili servis ile ilgili güvenlik düzenlemelerinin yapılması gerekir. Örneğin SNMP protokolü ile yönlendiriciye erişimin erişim denetim listeleri (ACL) ile kısıtlanması gerekir.

“small servers” servisleri tarafından sunulan echo ve chargen servis engelleme saldırılarında kullanılabileceğinden bu servislerin kapatılması gerekir.

Zorunlu olmadıkça aşağıdaki servislerin kapatılması gerekir.

cdp

boot network

service config

ip source-route

ip classless

ip domain-lookup

service finger

ip finger

ip identd

ip proxy-arp

ip redirects

ip unreachables

service pad

 

Yönlendirici konfigürasyonunda bu servisler “no servis_adı” komutu ile pasif hale getirilir.

Örneğin : no cdp

Sistem İzleme

Servis Zaman İşaretleri

Yönlendiricilerde gerçekleşen pek çok işlemlerin kayıt altına alınması (log) mümkündür. Kayıt atına alınan bilgilerin de oluşma zamanının doğru olarak tespit edilebilmesi için zaman bilgilerinin doğru olarak tutulması gerekir.

Bunun için yönlendirici konfigürasyonunda aşağıdaki komutların girilmiş olması gerekir.

           service timestamps debug datetime

           service timestamps log datetime msec localtime

Syslog

Yönlendiriciler üzerinde oluşan erişim, uyarı, bilgilendirme ve benzeri mesajların güvenlik açısından, periyodik olarak veya ihtiyaç durumunda incelenmek üzere kayıt altına alınması gerekir.

Yönlendirici üzerinde özellikle bir düzenleme yapılmadıysa çok az sayıda mesaj bellekte tutulacaktır. Ancak düzenleme yapılsa dahi kapasite yönlendiricinin hafızası ile sınırlı ve aynı zamanda yönlendirenin kapatılması, tekrar başlatılması veya komut ile mesajlar bellekten silinmektedir. Bu nedenlerle yönlendiriciler üzerinde oluşan mesaj ve olay kayıtlarının yönlendirici dışında bir sistem üzerinde kayıt altına alınmaları gerekir. Bu işlem için de Syslog sunucular kullanılır.

Yönlendirici üzerinde oluşan mesaj ve olay kayıtları aşağıdaki yönlendirici komutları ile Syslog sunucusuna yönlendirilir.

           logging ip_adresi

           logging facility syslog

 

 

 

Sistem Olay Kayıtları İçeriği

Yönlendiriciler üzerinde oluşan erişim, uyarı, bilgilendirme ve benzeri mesajların hangilerinin kayıt altına alınacağının belirlenmesi gerekir.

logging trap informational

Syslog sunucusuna bilgi düzeyindeki mesajlar da dâhil olmak üzere tüm olay kayıtlarının gönderilmesini sağlar.

logging console warnings

Yönetici konsolunda sadece uyarı ve daha üst seviyedeki olay kayıtlarının görüntülenmesini sağlar.

Ayrıca erişim denetim listelerinde ilgili işlemlerin kayıt altına alınabilmesi için “log” parametresinin kullanılması gerekir

Aşağıdaki örnek SSH protokolü için hazırlanmış erişim denetim listesinin aynı zamanda bu işlemin kayıt altına alınmasını sağlar.

access-list 101 permit tcp host 10.10.10.1 any eq 22 log

Yönetim

Şifre

Yönlendiricilerin konfigürasyon moduna geçilebilmesi ve VTY, CON gibi portlardan erişimde kullanıcı adı ve şifre doğrulamasının kullanılması gerekir.

Konfigürasyon moduna geçiş için kullanılacak şifrenin “enable password” ile değil “enable secret” ile verilmesi gerekir, “enable password” ile verilen şifreler kolaylıkla kırılabilir.

Ayrıca yönlendirici konfigürasyonunda girilen tüm şifrelerin düz metin olarak tutulmaması için “service password-encryption” kullanılması gerekir.

Yönlendirici üzerinde tanımlanan kullanıcılara atanacak şifrelerin minimum uzunluklarının da tanımlanması gerekir.

Yönlendirici konfigürasyonlarında şifre güvenliği için aşağıdaki komutların bulunması gerekir :

service password-encryption

enable secret <password>

username yönetici privilege 15 <password>

security passwords min-length <min-length >

 

 

Bağlantı Noktaları Erişimi

Yönlendiricilere VTY olarak bilinen terminal, CON olarak bilinen konsol  ve AUX olarak bilinen auxilary bağlantı noktalarından bağlantı kurmak mümkündür. AUX bağlantı noktası genellikle yönlendiricilere uzaktan müdahale için modemle kullanılan bir bağlantı türü olup kapalı bulundurulması gerekir.

Console bağlantı noktası fiziksel olarak yönlendiriciye bağlanan konsol kablosu ve COM bağlantı noktası üzerinden terminal emülatör yazılımı ile bağlantı için kullanılır.

VTY bağlantı noktaları ise ağ üzerinden erişim için kullanılır.

VTY ve CON bağlantı noktalarına erişimlerin kullanıcı adı ve şifre doğrulamasının yanında oturum zamanaşımı ve erişim denetimlerinin uygulanması gerekir.

VTY, CON ve AUX bağlantı noktalarının erişim güvenliğinin yükseltilmesi için asgari seviyede aşağıdaki tanımları barındırmaları gerekir.

line vty 0 4

password 7 xxxxxxxxxxxxxx

exec-timeout 5 0

access-class 1 in

login local

transport input ssh

Bu konfigürasyonda belirtilen “access-class 1 in” komutu için 1 nolu erişim denetim listesinin tanımlanmış olması ve bu liste içerisinde de bağlantıya izin verilen kaynak ağ adres tanımının yapılmış olması gerekir.

line con 0

password 7 xxxxxxxxxxxxxx

exec-timeout 5 0

login local

line aux 0

no exec

exec-timeout 0 0

no login

transport input none

transport output none

HTTP Servisi

Yönetimsel olarak zorunlu değilse kapalı bulundurulması gereken bu servis kullanılmasının zorunlu olduğu durumlarda da varsayılan port numarasının değiştirilmesi, erişim denetim listesi uygulanması ve kimlik doğrulama yöntemlerinin uygulanması ile daha güvenli hale getirilmelidir.

 

Kullanımı zorunlu değil ise aşağıdaki komut ile kapatılması gerekir.

           no ip http server

Kullanımı zorunlu ise aşağıdaki komutlar ile güvenlik seviyesi artırılmalıdır.

           ip http access-class ACL#

ACL# bu servise bağlantı için kullanılacak erişim denetim listesini ifade eder ve ayrıca tanımlanmış olmalıdır.

ip http access-class ACL# satırındaki # yerine 11 konularak aşağıdaki gibi erişim denetim listesi uygulanabilir.

access-list 11 permit host 10.10.10.1 log

access-list 11 permit host 10.10.10.2 log

access-list 11 deny any log

 

ip http authentication {aaa|enable|local|tacacs}

HTTP servisinde kullanılacak kimlik doğrulama mekanizmasını belirler

ip http port Number

HTTP servisinin ön tanımlı 80 portu yerine farklı bir porttan çalışmasını sağlar.

SNMP Servisi

Yönetimsel olarak zorunlu değilse kapalı bulundurulması gereken bu servis kullanılmasının zorunlu olduğu durumlarda da kullanılacak SNMP servis sürümünün işletim sistemi destekliyor ise v3 olarak düzenlenmesi , erişim denetim listesi uygulanması ve kimlik doğrulama yöntemlerinin uygulanması ile daha güvenli hale getirilmelidir.

Kullanımı zorunlu değil ise aşağıdaki komut ile kapatılması gerekir.

           no snmp-server

Kullanımı zorunlu ise aşağıdaki komutlar ile güvenlik seviyesi artırılmalıdır.

snmp-server user user1 grp1 v3

snmp-server user user2 grp2 v3 auth md5 pass2

snmp-server group grp2 v3 auth

snmp-server community guclu_sifre RO xx

Yukarıdaki örnekte :

v3       SNMP versiyon 3 kullanılacağını

auth    md5 kimlik doğrulamada parolanın md5 hash bilgisinin kullanılacağını

guclu_sifre     firmanın şifre politikalarını uygun bir şifre

RO       SNMP protokolü ile sadece okuma işlemlerinin yapılabileceği

xx        SNMP protokolü için tanımlanan erişim denetim listesi numarasını ifade etmektedir.

Yukarıdaki xx erişim denetimi listesi için xx yerine 12 yazılarak ip adresi bazında aşağıdaki bir erişim denetimi uygulanabilir.

access-list 12 permit 10.10.10.1 log

access-list 12 deny any log

Erişim Denetimi

Erişim Denetim Listeleri

Cisco yönlendiricilerde Temel ve İleri Düzey olmak üzere iki ayrı türde erişim denetim listesi düzenlemek mümkündür. Bununla beraber daha yüksek güvenlik seviyesi için ileri düzey erişim denetimlerinin kullanılması tercih edilmelidir. Temel erişim denetimlerinde sadece ağ adresi denetlenebilirken ileri düzey erişim denetim listelerinde ağ adresinin yanı sıra protokol ve bu protokole ait bağlantı noktaları da denetlenebilmektedir.

Temel Erişim Denetim Listeleri

Temel erişim denetim listeleri 1-99 arasında numara alabilirler ve bu listeler ip adresi bazında erişim denetim listeleri hazırlanması amacıyla kullanılabilir.

Erişim denetim listelerinde Beyaz Liste yaklaşımı uygulanmalı yasaklanacak değil izin verilecek ağ adresleri tanımlanmalıdır.

Tüm erişim denetim listelerinin son satırı “deny any” olmalıdır.

Erişim denetim listesine uyan tüm başarılı ve başarısız erişim ve erişim girişimleri kayıt altına alınmalıdır.

Örnek Temel Erişim Denetim Listesi:

access-list 1 permit 10.10.10.0 0.0.1.255 log

access-list 1 deny any log

access-list 11 permit host 10.10.10.1 log

access-list 11 deny any log

Yukarıdaki 11 nolu erişim denetim listesini VTY bağlantı noktası için kullanmak istersek :

line vty 0 4

access-class 11 in

İleri Düzey Erişim Denetim Listeleri

İleri düzey erişim denetim listeleri 100-199 arasında olabilir ve protokol yanında port adresleri de erişim denetimlerinde kriter olarak kullanılabilir.

Erişim denetim listelerinde Beyaz Liste yaklaşımı uygulanmalı yasaklanacak değil izin verilecek ağ adresleri ve bağlantı noktaları tanımlanmalıdır.

Tüm erişim denetim listelerinin son satırı “deny any” olmalıdır.

Erişim denetim listesine uyan tüm başarılı ve başarısız erişim ve erişim girişimleri kayıt altına alınmalıdır.

Örnek İleri Düzey Erişim Denetim Listesi:

Örnek :1

access-list 100 remark telnet erişim denetim listesi

access-list 100 permit tcp host 10.10.10.1 2.2.2.0 0.0.0.255 telnet

access-list 100 deny any log

Örnek :2

access-list 101 remark Sistem yöneticilerinin SSH erişim denetim listesi

access-list 101 permit tcp host 10.10.10.1 any eq 22 log

access-list 101 deny any log

Yukarıdaki 100 nolu erişim denetim listesini VTY bağlantı noktası için kullanmak istersek :

line vty 0 4

access-class 100 in

Yönlendirme Yapılandırması          

Yönlendiricilerin hangi ağa hangi yönlendiricinin hangi arabirimi üzerinden erişeceği yönlendiricilerde yapılan statik yönlendirme tanımlamaları veya yönlendiricilerde kullanılan dinamik yönlendirme protokolleri tarafından belirlenir. Statik yönlendirmelerin kullanılamayacağı ortamlarda hangi dinamik yönlendirme protokolünün kullanacağı ağ yapısı ve ihtiyaçlar dikkate alınarak belirlenmelidir. Örneğin IGRP ve EIGRP protokolleri Cisco'ya özgü olup ağ ortamında başka üreticilere ait yönlendiriciler var ise bu protokollerin kullanılması uygun olmayacaktır.

Statik Yönlendirme

Yönlendiricilerde dinamik yönlendirme protokolü yerine statik yönlendirme kullanılması güvenlik ve performans açısından daha uygun olmakla beraber ağ yapısı, ağ bağlantılarında yük paylaşımı hat yedeklemesi gibi sebeplerden dolayı her ortamda statik yönlendirme kullanılamayabilir.

Statik yönlendirme örneği :

ip route 0.0.0.0 0.0.0.0 192.168.1.254

ip route 192.168.5.0 255.255.255.0 192.168.4.1

Yukarıdaki statik yönlendirme örneklerinden birincisi bilinmeyen tüm ağ veya alt ağlara ait paketlerin hangi ağ adresi veya arabirim üzerinden gönderileceğini belirlerken ikinci örnek ise 192.168.5.0 ağı ile haberleşme için 192.168.4.1 ağ adresi veya arabiriminin kullanılacağını belirler.

Ağ yapısından kaynaklanan zorlayıcı bir neden yok ise statik yönlendirme tercih edilmelidir.

Dinamik Yönlendirme

Dinamik yönlendirme protokolleri kullanılacak ise ilgili yönlendirme protokolüne uygun doğrulama ve erişim denetim listeleri uygulanmalıdır.

Dinamik yönlendirme protokollerinin kullanılması durumunda doğrulama için MD5 kullanılmalıdır.

Aşağıda değişik dinamik yönlendirme protokolleri için konfigürasyon örnekleri bulunmaktadır.

RIP:

key chain ripmd5

key 1

key-string RIPpasswd

interface Loopback0

ip address 10.10.10.10 255.255.255.255

interface Serial0

ip address 20.20.20.20 255.255.255.252

ip rip authentication mode md5

ip rip authentication key-chain ripmd5

router rip

version 2

network 10.10.10.0

network 20.0.0.0

OSPF:

interface ethernet 0

ip address 192.168.251.201 255.255.255.0

ip ospf authentication-key adcdefgh

interface ethernet 1

ip address 10.56.0.201 255.255.0.0

ip ospf authentication-key ijklmnop

router ospf 201

network 10.0.0.0 0.255.255.255 area 10.0.0.0

network 192.168.0.0 0.0.255.255 area 0

area 10.0.0.0 authentication

area 0 authentication

 

Ayrıca yönlendiriciler üzerinde tutulan yönlendirme tablolarının güvenlik seviyesinin yükseltilmesi için erişim denetimi uygulanmalı ve yönlendiricinin hangi ağ adresine sahip yönlendiriciden güncelleme Kabul edeceği belirlenmelidir.

Yönlendirme tablolarının güncellemelerinde erişim denetimi için “distribute-list” kullanılmalıdır.

Örnek :

access-list 1 permit 10.10.10.0 0.255.255.255

router rip

distribute-list 1 in