İsimli (Named) Access List Yapılandırması

Standart access list ve geliştirilmiş access list yapılandırmasında, yeni kural eklendikçe listeye kurallar eklenerek devam ediyordu. Bu da araya bir kural eklenmesini zorlaştırıyordu ve bu değişim işlemlerinin yapılması için access list devre dışı bırakılıp sonra tekrar aktif ediliyordu. Fakat isimli access list yapılandırmasında bunların hiçbirine gerek kalmadan gerekli yapılandırmalar yapılabilmekte.

Yukarıdaki gibi bir ağımız olsun. PC0 ve PC2’nin routera Telnet yapabilmesine izin vereceğiz. Böylece hem isimli(named) access list yapılandırmasını hem de ağ içinde belirli hostlara Telnet yetkisi vererek, routera yetkisiz girişlerin engellenmesini sağlayacağız.

PC0 IP : 192.168.1.3

PC1 IP : 192.168.1.4

PC2 IP : 192.168.1.5

PC3 IP : 192.168.1.6

PCler için Subnet : 255.255.255.0 gateway : 192.168.1.1

Router0 için Gi0/0/1 interfacesini açma;

Router#conf t

Router(config)#interface gigabitEthernet 0/0/1

Router(config-if)#ip address 192.168.1.1 255.255.255.0

Router(config-if)#no shutdown

Router0 için Telnet bağlantısını aktif edelim:

Router#conf terminal

Router(config)#line vty 0 4

Router(config-line)#password 123456

Router(config-line)#login

Intreface ve Telnet bağlantısını da açtığımıza göre tüm hostlardan telnet bağlanmaya çalışalım. Tüm hostların sorunsuz bir şekilde bağlandığını görelim.

Görüldüğü gibi herhangi bir problem yok.

Standart isimli accesslist yapılandırmamızı yapalım;

Router#configure terminal

Router(config)#ip access-list standard DENEME  (DENEME isminde standart access list oluşturdum)

Router(config-std-nacl)#permit host 192.168.1.3    (192.168.1.3 adresli hostun geçişine izin verdim)

Router(config-std-nacl)#permit host 192.168.1.5    (192.168.1.3 adresli hostun geçişine izin verdim)

Router(config-std-nacl)#exit

Router(config)#line vty 0 4     (Telnet arayüzüne girdim)

Router(config-line)#access-class DENEME in  (DENEME isim access listi girişi yönünde uyguladım)

Router(config-line)#end

PC0 ve PC2 için aldığım sonuç:

PC1 ve PC3 için aldığım sonuç:

show  access-lists komutu ile access listleri görüntüleyelim.

show access-lists

ACL’lelere baktığımızda 10 ve 20 ID’sine sahip olan 2 tane kurla görüyoruz. Normalde yeni kural eklediğimde 30 ID numarası vererek devam ederdi. Fakat isimli (named) access listlerde araya da kolay bir şekilde kural tanımlayabiliyoruz. Ben 11 nolu ID tanımlayacağım ve 192.168.1.4 adresini de Telnet erişimine açacağım.

Router(config)#ip access-list standard DENEME (DENEME isimli access listin yapılandırmasına girdim)

Router(config-std-nacl)#11 permit host 192.168.1.4 (Önce ID tanımlayıp sonra da kuralı yazdım)

Böylece 192.168.1.4 hostuda erişim izni almış oldu. Peki oluşturulan ACL’yi nasıl silerim?

Bu da çok basit; ACL yapılandırmasına girip oluşturduğum kuralın başına no komutunu ekliyorum.

Router(config)#ip access-list standard DENEME  (DENEME isimli ACL’nin yapılandırmasına girdim)

Router(config-std-nacl)# no 11 permit host 192.168.1.4 (11 nolu ACL’yi silmiş oldum)

Standart ve geliştirilmiş access list konusuna aşağıdaki bağlantıdan ulaşabilirsiniz.

ACL (Access List) – Standart & Extended

ACL (Access List) – Standart & Extended

Access-List’ler (erişim listeleri) ağ trafiğinin kontrolünü sağlar.  Oluşturulan kurallar ile hangi trafiğin geçeceğinin, hangisinin geçemeyeceği gibi kontroller sağlanır.

 

Standart ACL’lelerde liste için 1-99 arası numara verilebilir. Standart access listlerde sadece kaynak IP adresine bakılır. (access-list 5 permit 192.168.1.0 0.0.0.255)

Genişletilmiş ACL’lerde liste için 100-199 arası numara verilebilir. Listede hem kaynak hem de hedef IP adresine bakılır. (access-list 111 permit tcp 192.168.1.0 0.0.0.255 any eq 80)

192.168.1.0 ağından herhangi bir 80 portuna (web portu) izin verir. TCP ve UDP için kullanılabilir.

Numaralı ACL’lerde kural içine başka şeyler eklemek için çalışan ACL önce durdurulup sonra eklenecek şeyler eklenir. Onun için güvenlik açığı oluşturur.

İsimli ACL kullanımı : ALC listesinde numara değil isim kullanılır.

ip access-list standart NO_ACCESS deny host 192.168.10.10 (192.168.10.10′ u engeller)

 

  • Standart ACL’ler hedefe yakın olan cihazda yazılır.
  • Extended ACL ise kaynağa yakın olan cihaza yazılır.
  • Eğer ACL yazıldıysa tüm ağlar için yazılmalıdır. Bir ağ için engelleme veya izin için liste oluşturulduğunda, varsayılan olarak liste dışında olan tüm ağlar engel listesine takılır.  Bu yüzden access list oluşturulduğunda tüm ağlar için de liste yapılmalıdır.

 

 

Standart Access List (Standart Erişim Listesi)

acl

Yukarıdaki gibi bir ağımız olduğunu varsayalım. 192.168.1.0’lı ağdan sadece 192.168.1.5 IP numaralı bilgisayarın diğer ağdaki bilgisayara ulaşmasını istiyorum.

Öncelikle bilgisayarlar ve routerda gerekli ayarların yapılması gerek. Her iki ağ da aynı routera bağlı olduğu için, interfaceleri tanımlamak iki ağ arasında haberleşme kurulması sağlayacaktır. Herhangi bir routing yazılmasına gerek yok.

Router1 interface yapılandırması;

Router1(config)#interface gigabitEthernet 0/0

Router1(config-if)#ip address 192.168.1.1 255.255.255.0

Router1(config-if)#no shutdown

Router1(config-if)#exit

Router1(config)#interface gigabitEthernet 0/1

Router1(config-if)#ip address 192.168.2.1 255.255.255.0

Router1(config-if)#no shutdown

 

PC1 ve PC2’den herhangi bir problem olmadan ping atabilmem lazım.

Her iki bilgisayardan da problemsiz bir şekilde PC3’e eriştim. Şimdi PC1’in erişip PC3’ün erişemeyeceği şekilde yapılandırma yapacağız.

Gerekli ayarları routerda yapacağız.

Router1(config)#access-list 5 permit 192.168.1.5

Bu komut ile şunu yapmış oldum: 5 nolu bir liste oluşturdum ve bunda 192.168.1.5 adresinin izinli olduğunu belirttim. Liste numarasına 1-99 arasında istenilen numarayı verebiliriz.

Şimdi sadece 192.168.1.5 IP adresine sahip bilgisayarın erişim izninin olup, ağdaki diğer bilgisayarların erişimini engellemek istiyorum.

Router1(config)#access-list 6 deny 192.168.1.0 0.0.0.255

Bu komut ile şunu yapmış oldum: 192.168.1.0 ağındaki tüm hostların erişimini engelle. Bunu yapmak için ise 0.0.0.255 wildcard maskı ile yapmış oldum.

Yapılan ayarların router tarafından yorumlanması için ilgili arayüze access-listin tanımlanması gerek.

Verilen örnekte Router1’in gigabitEthernet 0/0 interfacesini kullanmamız gerecek.

Router1(config)#interface gigabitEthernet 0/0

Router1(config-if)#ip access-group 5 in  (ACL 5’in giriş yönünde uygulanmasını seçtik. Eğer böyle yapmamış olsaydık hostlardan gelen paketler routerda işlenecekti ve sonra erişim/engelleme yapılacaktı. Bu da ekstra bir trafik oluşturacaktı. ACL’yi giriş interfacenini giriş yönünde uygulayarak ekstra trafiğin önüne geçmiş olduk.

Şimdi iki bilgisayardan da 192.168.2.5 bilgisayarına erişim var mı yok mu görelim.

ACL öncesi ve sonrasını kırmızı çizgi ile ayırdım. Çizginin üst tarafı ACL öncesini, alt tarafı ise ACL sonrasını gösteriyor.

PC1’e baktığımız zaman erişimde herhangi bir problem yok.

Pc2’ye baktığımız zaman ise ACL öncesi erişim sağlandığını, ACL sonrası ise erişimin sağlanamadığını görüyoruz.

 

NOT :Yapılan bu listede işlemler hiyerarşik düzende yorumlanır. Bu yüzden dikkatli bir şekilde listeyi hazırlamak gerekir. Ben önce 192.168.1.5 adresine izin verip sonra 192.168.1.0 ağındaki tüm hostları engellediğim için 192.168.1.5 hostu erişimde herhangi bir problem yaşamadı. Ama önce ağdaki tüm hostları engelleyip sonra 192.168.1.5 hostuna erişim izni vermiş olsaydım, 192.168.1.0 hostu da  erişemeyecekti.

Extended Access List (Geliştirilmiş Erişim Listesi)

Bu kategorideki listeler numara olarak 100-199 arası numara alabilirler.  Extended Access Listler, Standart Access Listlere göre göre daha esnek ve daha detaylı kontrol listesi oluşturmaya yarar. Standart ACL’lerde izin verme ya da engelleme işlemi tüm servisleri kapsıyordu. Ancak Extended ACL’lerde izin verilen ve engellenen servisler seçilebilir. Örneğin, bir hostun internete ulaşmasına izin verip FTP’ye ulaşmasını engelleyebiliriz. Bunu bir örnek ile yapalım.

extended access control list

Yukarıdaki gibi bir ağımız olsun. 192.168.2.10 IP adresine sahip bilgisayarın hem WEB hem de FTP servislerine erişmesine izin vereceğiz. Fakat, 192.168.2.11 IP adresine sahip bilgisayarın sadece WEB’e erişimine izin vereceğiz.

Router ve PC’lerdeki ayarlamalara değinmeyeceğim.

Şu anki durumda PC1 ve PC2, Server1’in açık olan tüm servislerine ulaşabilir.

Her iki bilgisayarda da FTP ve ping denemesi yaptım ve ikisinde de erişimde problem yaşamadım.

Router1(config)#access-list 150 permit tcp host 192.168.2.10 host 192.168.10.10 eq ftp

Accesss list 150 yazarak 150 numarayı vermiş oldum. Ardından hangi protokol ile bağlanacağımı seçtim (tcp)

Tek kaynak ve tak hedef olduğu için host komutu ile bunları belirttim.

eq (eşittir) yazarak servisi belirttim(FTP) . Burada ister servis ismi yazılarak istersek de servisin port numarası yazarak yapabiliriz.

Şimdi 192.168.2.0 ağındaki tüm FTP erişimi kapatacağım.

Router1(config)#access-list 150 deny tcp 192.168.2.0 0.0.0.255 host 192.168.10.10 eq 21 (21 yerine ftp yazabiliriz)

Bu yapılandırma ile 192.168.2.0 ağından hiçbir hostun 192.168.10.10 adresindeki FTP servisine bağlanmamasını sağlamış olduk. Tabii ilk önce 192.168.2.10 adresine izin verdiğimiz için o host bu kuraldan etkilenmeyecektir.

ACL yazdığımızda tüm servisler default olarak kapatılır. Bu yüzden şu an iki bilgisayar da (PC1’in FTP’ye ulaşabilmesi dışında) hiçbir servise ulaşamaz.

PC2 hostundan hiçbir servise erişemezken, PC1 hostumdan sadece FTP’ye erişebiliyorum.

Router1(config)#access-list 150 permit icmp any any

Bu komut ile ICMP(Internet Control Message Protocol)’ye tüm kaynaklar ve hedefler için izin vermiş olduk

Böylece tüm hostlar engel belirtilmediği sürece servis erişimleri sağlayabilecek.

Named Access List (İsimli Erişim Listesi) konusuna aşağıdaki bağlantıdan ulaşabilirsiniz.

İsimli (Named) Access List Yapılandırması