- Katılım
- 15 May 2013
- Konular
- 972
- Mesajlar
- 6,651
- Online süresi
- 2ay 11g
- Reaksiyon Skoru
- 5,350
- Altın Konu
- 314
- Başarım Puanı
- 319
- TM Yaşı
- 12 Yıl 11 Ay 12 Gün
- MmoLira
- 22,215
- DevLira
- 15
Metin2 EP, Valorant VP dahil tüm oyun ürünlerini en uygun fiyatlarla bulabilir, Item ve Karakterlerinizi hızlıca satabilirsiniz. HEMEN TIKLA!
Genişletilmiş Numaralı Erişim Kontrol Listelerini (ACL) ele alacağız. Standart ve genişletilmiş ACL'ler arasındaki farkları, ardından da adlandırılmış ve numaralı ACL'ler arasındaki farkları inceleyeceğiz. Son bölümde ise genişletilmiş erişim listelerini yapılandırma ve düzenleme alıştırmaları yapacağız.
Genişletilmiş ACL'lere neden ihtiyacımız var?
Önceki bölümde standart erişim kontrol listelerini ele aldık. Standart bir ACL, en temel kontrol listesi türüdür. Yalnızca paketin 3. katman başlığındaki kaynak IP adresini inceler.
Bu nedenle standart ACL'ler genellikle NAT, QoS ve yönlendirme haritaları gibi özelliklerle IP bloklarını eşleştirmek için kullanılır. Trafik filtreleme için nadiren kullanılırlar çünkü istemeden planlanandan daha fazla trafiği engelleyebilirler. Filtreleme için kullanıldıklarında, aşırı filtreleme riskini en aza indirmek için hedefe yakın yerleştirilmeleri önerilir.
Trafik filtreleme için standart ACL'lerin kullanımı, belirli bir IP adresine veya adres bloğuna ağ erişimini tamamen engellemekle sınırlıdır. Örneğin, R1 üzerinde 10.1.1.1 IP adresini filtreleyebilirsiniz; bu, PC1'in kurumsal ağa erişemeyeceği ve yalnızca yerel ağıyla sınırlı kalacağı anlamına gelir.
Ancak, PC1'in yalnızca belirli bir uygulamasını veya hizmetini engellemek istiyor ancak ağ erişimini tamamen kısıtlamak istemiyorsanız ne olacak? Örneğin, PC1'in web erişimini (TCP portları 80 ve 443) engellemek ancak diğer tüm uygulamalara izin vermek istiyorsunuz. İşte bu noktada standart erişim listesinin sınırlamalarıyla karşılaşıyorsunuz. Aşağıdaki diyagram, standart ACL'lerin iyi, kötü ve çirkin yönlerini özetlemektedir.
Bir noktada Cisco, ağ yöneticilerinin erişim kontrolü filtreleme sürecinde daha ayrıntılı kontrole ihtiyaç duyduğunu fark etti ve genişletilmiş erişim listesini (ACL) tanıttı.
Genişletilmiş ACL'ler imdada yetişiyor.
Genişletilmiş bir ACL, aşağıdaki şemada sarı renkle gösterildiği gibi, yalnızca kaynak adreslerine değil, birden fazla kritere göre ağ trafiğini filtreleyebilir.
Genişletilmiş kontrol listesinin ne kadar daha ayrıntılı olduğunu görebilirsiniz. Neredeyse durum bilgisi tutan bir güvenlik duvarı kadar trafiği eşleştirebilir. Elbette, sınırlamaları da var - paketin 7. katman başlığına ulaşamaz.
Yukarıdaki Şekil 1'de gösterilen aynı örneğe bakalım, ancak standart bir liste yerine genişletilmiş bir erişim listesi kullanalım. PC1'den kurumsal ağa giden yalnızca HTTP(s) trafiğini kolayca engelleyebildiğimizi, diğer tüm trafiğe ise izin verdiğimizi görebilirsiniz.
Özetlemek gerekirse, Cisco cihazlarının kullandığı iki tür erişim kontrol listesi (ACL) şunlardır:
Standart ACL'ler - Yalnızca kaynak IPv4 adresini eşleştirirler. Gerçek dünya ağlarında, genellikle NAT, QoS veya yönlendirme filtrelemesi için bir IP adresi bloğunu eşleştirmek için kullanılırlar.
Genişletilmiş ACL'ler - Kaynak ve hedef IP adresleri, protokol (TCP, UDP, ICMP, vb.) ve hatta TCP/UDP portları dahil olmak üzere birden fazla alanı eşleştirirler. Genellikle "bir sunucuya web'e izin ver, FTP'yi engelle, DNS'ye izin ver" gibi hassas trafik filtrelemesi için kullanılırlar.
Genişletilmiş Numaralı ACL nedir?
Genişletilmiş numaralı ACL, aşağıdaki şemada sarı renkte gösterildiği gibi 100-199 veya 2000-2699 aralığındaki bir sayı ile tanımlanan genişletilmiş bir ACL'dir.
Genişletilmiş olduğu için Katman 3 ve Katman 4 bilgilerine bakabilir. Bu, aşağıdakilere göre karar verebileceği anlamına gelir:
Protokol: IP, TCP, UDP, ICMP, GRE, OSPF, vb.
Kaynak IP ve hedef IP.
TCP/UDP portları: HTTP (80), HTTPS (443), DNS (53), SSH (22), özel portlar, aralıklar ve büyük/küçük operatörleri.
Genişletilmiş Numaralı ACL nasıl çalışır?
Hem genişletilmiş hem de standart ACL'ler, anlaşılması çok önemli olan katı ancak basit bir mantığı izler. Aşağıdaki diyagramı kullanarak bunu birkaç adımda özetleyelim.
Yukarıdan aşağıya, ilk eşleşme kazanır. Yönlendirici, her girişi yukarıdan aşağıya sırayla kontrol eder. Trafik bir satırla eşleşir eşleşmez, işlem uygulanır ve işleme durur. Örneğin, diyagramda gösterilen paket önce 10 numaralı girişe göre değerlendirilir. Eşleşmez. Ardından 20 numaralı girişe göre değerlendirilir. Eşleşir, işleme durur ve reddetme işlemi yürütülür. Paket 30 numaralı girişte de eşleşebilse de, değerlendirme işlemi daha aşağıya doğru devam etmez.
Sonunda örtük "TÜMÜNÜ REDDET" bulunur. Hiçbir satır eşleşmezse, paket listenin sonundaki gizli "ip herhangi bir herhangi bir şeye izin verme" ile düşürülür.
Yön önemlidir. Bir ACL, bir arayüzde gelen veya giden yönde uygulanır.
Gelen: Trafik, yönlendirmeden önce arayüze girer.
Giden: Trafik, yönlendirmeden sonra arayüzden çıkar.
Ayrıca, ACL'nin ağ ortamındaki yerleşimi de önemlidir. Genişletilmiş ACL'leri kontrol etmek istediğiniz trafiğin kaynağına yakın yerleştirmeniz önerilir. Bu, istenmeyen paketleri erken düşürerek bant genişliğinden ve CPU'dan tasarruf sağlar.
Genişletilmiş olduğu için Katman 3 ve Katman 4 bilgilerine bakabilir. Bu, aşağıdakilere göre karar verebileceği anlamına gelir:
Protokol: IP, TCP, UDP, ICMP, GRE, OSPF, vb.
Kaynak IP ve hedef IP.
TCP/UDP portları: HTTP (80), HTTPS (443), DNS (53), SSH (22), özel portlar, aralıklar ve büyük/küçük operatörleri.
Genişletilmiş Numaralı ACL nasıl çalışır?
Hem genişletilmiş hem de standart ACL'ler, anlaşılması çok önemli olan katı ancak basit bir mantığı izler. Aşağıdaki diyagramı kullanarak bunu birkaç adımda özetleyelim.
Yukarıdan aşağıya, ilk eşleşme kazanır. Yönlendirici, her girişi yukarıdan aşağıya sırayla kontrol eder. Trafik bir satırla eşleşir eşleşmez, işlem uygulanır ve işleme durur. Örneğin, diyagramda gösterilen paket önce 10 numaralı girişe göre değerlendirilir. Eşleşmez. Ardından 20 numaralı girişe göre değerlendirilir. Eşleşir, işleme durur ve reddetme işlemi yürütülür. Paket 30 numaralı girişte de eşleşebilse de, değerlendirme işlemi daha aşağıya doğru devam etmez.
Sonunda örtük "TÜMÜNÜ REDDET" bulunur. Hiçbir satır eşleşmezse, paket listenin sonundaki gizli "ip herhangi bir herhangi bir şeye izin verme" ile düşürülür.
Yön önemlidir. Bir ACL, bir arayüzde gelen veya giden yönde uygulanır.
Gelen: Trafik, yönlendirmeden önce arayüze girer.
Giden: Trafik, yönlendirmeden sonra arayüzden çıkar.
Ayrıca, ACL'nin ağ ortamındaki yerleşimi de önemlidir. Genişletilmiş ACL'leri kontrol etmek istediğiniz trafiğin kaynağına yakın yerleştirmeniz önerilir. Bu, istenmeyen paketleri erken düşürerek bant genişliğinden ve CPU'dan tasarruf sağlar.
Genişletilmiş Numaralı ACL'lerin Yapılandırılması
Şimdi odak noktamızı yapılandırma tarafına kaydıralım. Numaralı ve isimli ACL'ler arasındaki farkla başlayalım.
Numaralı ve İsimli (Genel ve Alt Komutlar)
Farkı anlamak için, erişim kontrol listesini yapılandırmanın iki yolu olduğunu bilmelisiniz:
Aşağıdaki CLI çıktısında gösterildiği gibi, genel komutları kullanmanın eski yolu:
Aşağıdaki CLI çıktısında gösterildiği gibi, genel komutları kullanmanın eski yolu:
R1# conf tEnter configuration commands, one per line. End with CNTL/Z.R1(config)# access-list 100 deny tcp host 10.1.1.1 any eq 80R1(config)# access-list 100 deny tcp host 10.1.1.1 any eq 443R1(config)# access-list 100 permit ip any anyR1(config)# endR1#
ACL tanımlamanın daha modern yolu ise, aşağıda gösterildiği gibi, tek bir genel komutla başlayıp, alt komutlar kullanılarak ACE'nin (erişim kontrol girdileri) yapılandırılmasıyla gerçekleşir.
R1# conf tEnter configuration commands, one per line. End with CNTL/Z.R1(config)# ip access-list extended 101R1(config-ext-nacl)# 10 deny tcp host 10.1.1.1 any eq 80R1(config-ext-nacl)# 20 deny tcp host 10.1.1.1 any eq 443R1(config-ext-nacl)# 30 permit ip any anyR1(config-ext-nacl)# endR1#
İşlevsel açıdan bakıldığında, her iki yapılandırma yöntemi de aynı sonucu verir. Ancak, yapılandırma açısından büyük bir fark vardır. Mevcut bir ACL'yi değiştirmeniz gerektiğinde bu farkı anlarsınız. Örneğin, erişim listesinden aşağıdaki girişi silmek istediğimizi varsayalım:
deny tcp host 10.1.1.1 any eq 443
Bunu nasıl yaparsınız? Bu ACE'yi ACL100 ve ACL101'den nasıl silersiniz?
ACL100'ü Değiştirme (genel komut kullanarak)
ACL'yi aşağıdaki gibi genel yapılandırma komutları kullanarak yapılandırdığınızda:
R1(config)# access-list 100 deny tcp host 10.1.1.1 any eq 80
R1(config)# access-list 100 deny tcp host 10.1.1.1 any eq 443
R1(config)# access-list 100 permit ip any any
Tek tek satırları düzenleyemezsiniz. Bir şeyi değiştirmeniz gerekiyorsa, tüm ACL'yi şu komutla kaldırmanız gerekir:
R1(config)# no access-list 100
Ardından, gerekli değişiklikleri yaparak tüm ifadeleri baştan girin.
R1(config)# access-list 100 deny tcp host 10.1.1.1 any eq 80
R1(config)# access-list 100 permit ip any any
Bu sınırlama, genel yapılandırma modunda oluşturulan numaralı ACL'ler için geçerlidir.
ACL101'i Değiştirme (alt komutlar kullanarak)
Buna karşılık, alt yapılandırma modunda yapılandırılan ACL'ler, tüm listeyi yeniden oluşturmak zorunda kalmadan tek tek girişleri eklemenize, silmenize veya değiştirmenize olanak tanır. Örneğin, 20 numaralı girişi silmek için, ACL101 yapılandırma moduna girip aşağıdaki CLI bloğunda gösterildiği gibi satırı silmeniz yeterlidir.
R1(config)# ip access-list extended 101R1(config-ext-nacl)# no 20R1(config-ext-nacl)# endR1#
Şimdi listeyi kontrol ediyoruz ve 20 numaralı satırın silindiğini görüyoruz. Ancak, ACL hala arayüz altında uygulanıyor ve yürürlükte.
R1# show ip access-lists 101Extended IP access list 101 10 deny tcp host 10.1.1.1 any eq www 30 permit ip any any
Modern CLI yöntemiyle yapılandırılmış bir ACL'yi değiştirmenin ne kadar kolay olduğunu görebilirsiniz. Bu nedenle, IOS-XE'ye sahip çoğu modern cihaz, eski ACL yapılandırmanızı otomatik olarak modern CLI yapısına dönüştürür. Ancak, sınav ortamlarında ve eski cihazlarda, eski CLI yapısıyla hala karşılaşabilirsiniz.
Genişletilmiş ACE yapısı
Şimdi, genişletilmiş bir ACL'deki giriş satırının genel yapısına bakalım. Aşağıdaki şemada görebileceğiniz gibi, birden fazla parametre kullanarak trafiği eşleştirebilir.
İşte ACE'nin her bir bölümünün anlamı:
Sıra numarası – Erişim listesindeki giriş satırını tanımlar. Sıra numaraları, ACL'yi yeniden oluşturmadan girişleri eklemenize, kaldırmanıza veya yeniden sıralamanıza olanak tanır. Bir sıra numarası belirtmezseniz, IOS otomatik olarak bir tane atar (genellikle 10'dan başlayarak 10'ar artar).
İzin ver | Engelle – Eşleşen trafiğe izin verilip verilmeyeceğini veya engellenip engellenmeyeceğini tanımlar.
Protokol – Eşleştirilecek protokol (IP, TCP, UDP, ICMP gibi). Belirli bir hizmeti veya uygulamayı eşleştirmek istediğinizde, genellikle TCP veya UDP ve ardından bir hedef bağlantı noktası numarası kullanırsınız.
Kaynak – Paketin kaynak IP adresi. "any", "host" veya doğrudan bir ağ adresi anahtar kelimelerini kullanabilirsiniz.
Joker karakter – Kaynak adresinin hangi bitlerinin göz ardı edileceğini tanımlar (0 = eşleşme, 1 = göz ardı).
Kaynak bağlantı noktası– TCP/UDP'nin belirli bir bağlantı noktasını eşleştirmesi için kullanılır. "eq", "lt", "gt" ve "range" gibi operatör anahtar kelimelerini kullanabilirsiniz.
Hedef – Hedef IP adresi. Kaynakla aynı kurallar geçerlidir.
Hedef joker karakteri – Kaynak joker karakteriyle aynı şekilde çalışır.
Hedef port – Kaynak portla aynıdır.
İşte ACE'nin her bir bölümünün anlamı:
Sıra numarası – Erişim listesindeki giriş satırını tanımlar. Sıra numaraları, ACL'yi yeniden oluşturmadan girişleri eklemenize, kaldırmanıza veya yeniden sıralamanıza olanak tanır. Bir sıra numarası belirtmezseniz, IOS otomatik olarak bir tane atar (genellikle 10'dan başlayarak 10'ar artar).
İzin ver | Engelle – Eşleşen trafiğe izin verilip verilmeyeceğini veya engellenip engellenmeyeceğini tanımlar.
Protokol – Eşleştirilecek protokol (IP, TCP, UDP, ICMP gibi). Belirli bir hizmeti veya uygulamayı eşleştirmek istediğinizde, genellikle TCP veya UDP ve ardından bir hedef bağlantı noktası numarası kullanırsınız.
Kaynak – Paketin kaynak IP adresi. "any", "host" veya doğrudan bir ağ adresi anahtar kelimelerini kullanabilirsiniz.
Joker karakter – Kaynak adresinin hangi bitlerinin göz ardı edileceğini tanımlar (0 = eşleşme, 1 = göz ardı).
Kaynak bağlantı noktası– TCP/UDP'nin belirli bir bağlantı noktasını eşleştirmesi için kullanılır. "eq", "lt", "gt" ve "range" gibi operatör anahtar kelimelerini kullanabilirsiniz.
Hedef – Hedef IP adresi. Kaynakla aynı kurallar geçerlidir.
Hedef joker karakteri – Kaynak joker karakteriyle aynı şekilde çalışır.
Hedef port – Kaynak portla aynıdır.
Port Operatörleri
Yukarıdaki giriş yapısında, kaynak ve hedef portların eq, lt, gt ve range gibi operatör anahtar kelimelerini kullandığını görebilirsiniz. Bu operatörler, yalnızca IP adreslerini değil, belirli uygulamaları veya hizmetleri ayrıntılı olarak kontrol etmenizi sağlar. Elbette, yalnızca TCP ve UDP protokolleriyle çalışırlar çünkü yalnızca bu protokoller başlıkta port numaraları kullanır. ICMP veya IP gibi diğer protokoller için bunları kullanamazsınız.
Her operatörün ne yaptığını kısa bir örnekle görelim. Her birini anlamak önemlidir çünkü genişletilmiş ACL'nin esnekliğini sağlarlar.
eq (eşittir)
Trafiği belirli bir port numarasıyla eşleştirir. Örnek:
Her operatörün ne yaptığını kısa bir örnekle görelim. Her birini anlamak önemlidir çünkü genişletilmiş ACL'nin esnekliğini sağlarlar.
eq (eşittir)
Trafiği belirli bir port numarasıyla eşleştirir. Örnek:
# Allows all TCP traffic on port 80 (HTTP).permit tcp any any eq 80
gt (büyüktür)
Verilen sayıdan büyük portları eşleştirir.
# Allows all TCP traffic using ports above 1023.permit tcp any any gt 1023
lt (küçüktür)
Verilen sayıdan küçük olan portları eşleştirir.
# Allows traffic to well-known ports below 1024.permit tcp any any lt 1024
neq (eşit değil)
Belirtilen port hariç tüm portlarla eşleşir.
# Allows all TCP traffic except Telnet (port 23).permit tcp any any neq 23
range
Belirtilen sayı aralığındaki (dahil) portları eşleştirir.
# Allows UDP traffic with destination ports between 10000 and 20000.permit udp any any range 10000 20000
Liman İşletmecileri Örnekleri
Son olarak, ACE yapısını daha net anlamamızı sağlayacak birkaç örneği inceleyelim.
# Blocks HTTP traffic from 10.1.1.1 to any destination.10 deny tcp host 10.1.1.1 any eq 80
# Allows HTTPS traffic from any source to 192.168.1.10.20 permit tcp any host 192.168.1.10 eq 443
# Allows UDP traffic using ports between 10000 and 20000.
30 permit udp any any range 10000 20000
# Blocks all TCP traffic with destination ports greater than 1023.
40 deny tcp any any gt 1023
# Allows all TCP traffic except traffic using port 25 (SMTP).
50 permit tcp any any neq 25
# Allows all IP traffic from a single host 172.16.5.5.
60 permit ip host 172.16.5.5 any
Erişim listeleri hakkındaki teori çok önemlidir. Ancak, bu, insanların pratik yaparak öğrendiği konulardan biridir, bu nedenle bir sonraki derste bazı gerçek dünya örneklerini inceleyelim.
Önemli Noktalar
Standart ACL'ler yalnızca kaynak IP'ye göre filtreleme yapar.
Genişletilmiş ACL'ler kaynak, hedef ve protokol/port'a göre filtreleme yapar.
Genişletilmiş numaralı ACL'ler 100-199 ve 2000-2699 aralıklarını kullanır.
ACL'ler yukarıdan aşağıya doğru işler, ilk eşleşme kazanır.
ACL'ler örtük bir "tümünü reddet" ile sona erer.
İstenmeyen trafiği erken durdurmak için genişletilmiş ACL'leri kaynağa yakın yerleştirin.
TCP/UDP portlarını eq, gt, lt veya range kullanarak eşleştirin.
Arayüzlerde ip access-group inbound veya outbound ile ACL'ler uygulayın.
ACL'ler durumsuzdur - geri dönüş trafiğine açıkça izin verilmelidir.
Genişletilmiş ACL'ler kaynak, hedef ve protokol/port'a göre filtreleme yapar.
Genişletilmiş numaralı ACL'ler 100-199 ve 2000-2699 aralıklarını kullanır.
ACL'ler yukarıdan aşağıya doğru işler, ilk eşleşme kazanır.
ACL'ler örtük bir "tümünü reddet" ile sona erer.
İstenmeyen trafiği erken durdurmak için genişletilmiş ACL'leri kaynağa yakın yerleştirin.
TCP/UDP portlarını eq, gt, lt veya range kullanarak eşleştirin.
Arayüzlerde ip access-group inbound veya outbound ile ACL'ler uygulayın.
ACL'ler durumsuzdur - geri dönüş trafiğine açıkça izin verilmelidir.












