Hikayeler

Reklam vermek için turkmmo@gmail.com

Genişletilmiş Numaralı ACL'nin Uygulanması

Nizam-ı Alem

Malato psichico
Telefon Numarası Onaylanmış Üye Turkmmo Discord Nitro Booster
Yönetici
Dergi Editörü
Turnuva
Admin
Yarışma
Gümüş Üye
VIP Üye
Paylaşım
Ayın Üyesi
Altın Üye
Katılım
15 May 2013
Konular
971
Mesajlar
6,650
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,212
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!

Bu konumuzda , Cisco IOS-XE yönlendiricilerinde genişletilmiş numaralı erişim kontrol listelerini (ACL'ler) planlayacak, yapılandıracak ve doğrulayacağız. ACL sırasının, yerleşiminin ve eşleştirme mantığının trafiği nasıl etkilediğini göstermeye çalışıcam. Ayrıca, gereksinimleri okumayı ve bunları kaynak, hedef, protokol ve port numaralarını kullanan ACL ifadelerine çevirmeyi de uygulamaya çalışacağız..

Başlangıç Topolojisi

Birkaç uç cihaz, bir anahtar, bir yönlendirici ve bir web sunucusundan oluşan aşağıdaki topolojiyi kullanacağız. Cihazlar VLAN 10'a (10.1.1.0/24) bağlanır ve varsayılan ağ geçidi olarak R1'in eth0/0 arayüzünü (10.1.1.254) kullanır. Diğer her şey varsayılan ayarlardadır.

1775579542568.png


Her cihaz, EVE-NG Community sürümünde Cisco IOL imajı çalıştırır. Dersin ilerleyen kısımlarında, her cihazın başlangıç yapılandırmalarını bulabilirsiniz.

Laboratuvar Görevleri

Göreviniz, aşağıdaki hedefleri tamamlamak için ağı yapılandırmaktır:

Görev 1: VLAN 10'dan Web Sunucusuna TELNET ve SSH erişimini engelleyin. Bu görevi gerçekleştirmek için yalnızca bir ACE (erişim listesi girişi) kullanın.

Görev 2: PC1, PC2 ve PC3'ten web sunucusuna SSH erişimine izin verin. Bu görevi gerçekleştirmek için yalnızca bir ACE (erişim listesi girişi) kullanın.

Görev 3: Yerel LAN'dan web sunucusuna FTP erişimini engelleyin. 1-4. görevler için kullanılan erişim listesinin aynısını kullanamazsınız. Farklı bir ACL kullanın.

Her görev için, yalnızca modern alt yapılandırma modu kullanılarak yapılandırılmış genişletilmiş numaralı bir ACL kullanmanıza izin verilir.

Başlangıç Yapılandırmaları

Bağlam için, her cihazın başlangıç yapılandırmasına bakalım. Gördüğünüz gibi, çoğunlukla temel IP adresleme ve VLAN yapılandırması yapılmış. Başka hiçbir şey yapılandırılmamış.

Ana Bilgisayarlar (PC1-5)

Kod:
hostname PC5
!
no ip routing
ip default-gateway 10.1.1.254
!
interface Ethernet0/0
 ip address 10.1.1.5 255.255.255.0
 no shutdown
!

SW1​


Kod:
hostname SW1
!
vlan 10
 name Users
!
interface range Eth0/0-3, Eth1/0
 switchport access vlan 10
 switchport mode access
 switchport nonegotiate
!

R1​


Kod:
hostname R1
!
interface Ethernet0/0
 ip address 10.1.1.254 255.255.255.0
!
interface Ethernet0/1
 ip address 192.168.1.254 255.255.255.0
!

Web Server​


Kod:
hostname Web_server
!
username cisco password 0 cisco
ip domain name Cisco.com
!
interface Ethernet0/0
 ip address 192.168.1.100 255.255.255.0
 no shutdown
!
line vty 0 4
 login local
 transport input all
!

İlk Kontroller

Son olarak, yönlendiricide erişim listelerini yapılandırmaya ve uygulamaya başlamadan önce VLAN 10'dan web sunucusuna IP bağlantısının olup olmadığını doğrulayalım.

Aşağıdaki CLI çıktısı, PC1'in web sunucusuna ping atabildiğini göstermektedir.

Kod:
PC1# ping 192.168.1.100
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 192.168.1.100, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 1/1/2 ms

Şimdi görevlere başlayalım.

Laboratuvar Çözümleri

Kavramları en etkili şekilde anlamak için, önce tüm hedefleri kendi başınıza tamamlamaya çalışın, ardından geri dönüp sonuçlarınızı çözümlerimiz ile karşılaştırın. Unutmayın, bazı görevler birden fazla şekilde yapılabilir. Daha iyi bir çözüm bulursanız, herkes için dersi güncelleyebilmemiz için yorumlarda paylaşın.

Genişletilmiş Numaralı ACL'ler Hızlı Özet
Başlamadan önce, önceki derste tartıştıklarımızı hızlıca özetleyelim.

Genişletilmiş numaralı ACL'ler 100-199 ve 2000-2699 aralıklarını kullanır.
Protokol, kaynak, hedef ve port (TCP/UDP için) ile eşleşirler.
Sıra önemlidir.
İlk eşleşme kazanır.
İşlem yürütülür.
Değerlendirme süreci daha fazla devam etmez.
Sonunda görünmez bir deny ip any any bulunur.
En iyi uygulama, genişletilmiş ACL'leri kaynağa yakın yerleştirmektir.

Görev 1
Şimdi, aşağıda listelenen birinci görevle başlayalım:

VLAN 10'dan Web Sunucusuna TELNET ve SSH erişimini engelleyin. Bu görevi gerçekleştirmek için yalnızca bir ACE (erişim listesi girişi) kullanın.

Öncelikle, TELNET ve SSH'nin şu anda çalışıp çalışmadığını kontrol edelim. Aşağıdaki CLI çıktısında gösterildiği gibi, PC1'den web sunucusuna bağlantı kurmayı deneyebiliriz.

Kod:
PC1# telnet 192.168.1.100
Trying 192.168.1.100 ... Open

User Access Verification
Username: cisco

Password: *****
Web_Server>

Kod:
PC1# ssh -l cisco 192.168.1.100
Password: *****
Web_Server> exit
[Connection to 192.168.1.100 closed by foreign host]

Şu anda hem Telnet hem de SSH'nin çalıştığını görüyoruz. Şimdi, tek bir erişim listesi satırı ile her ikisini de nasıl engelleyebileceğimizi ele alalım.

Bunu yapmak için, Telnet'in TCP 23 portunu, SSH'nin ise TCP 22 portunu kullandığını ezbere bilmeniz gerekir. Açıkçası, her iki protokol de TCP kullanır, tek fark TCP port numarasıdır. Bu nedenle, ACL ifadesini aşağıdaki gibi tek bir satırda birleştirebiliriz:

Kod:
ip access-list extended 100
 10 deny tcp any any range 22 23

Bu ACL girişi, SSH ve Telnet'i aynı anda engelleyerek amacı karşılayacaktır.

Ardından, bunu R1'in e0/0 arayüzünde gelen yönde aşağıdaki gibi uygulamamız gerekiyor:

Kod:
R1(config)# interface Ethernet0/0
R1(config-if)# ip access-group 100 in
R1(config-if)# end
R1#

Şimdi, PC1'den web sunucusuna TELNET veya SSH bağlantılarının çalışıp çalışmadığını kontrol edersek, aşağıda gösterildiği gibi bunların engellendiğini görebiliriz.

Kod:
PC1# ssh -l cisco 192.168.1.100
% Destination unreachable; gateway or host down

Kod:
PC1# telnet 192.168.1.100
Trying 192.168.1.100 ...
% Destination unreachable; gateway or host down

Böylece görev tamamlanmış olur. Ama gerçekten öyle mi?

Bu, trafik filtreleme için erişim listeleriyle çalışmaya başlarken insanların yaptığı çok yaygın ve çok tehlikeli bir hatadır. Şunu unutmayın:

Her erişim listesinin sonunda görünmez bir 'deny ip any any' ifadesi bulunur.

Bu, belirli bir trafiğe açıkça izin vermezseniz, aşağıdaki şemada gösterildiği gibi, erişim listesini bir arayüze uyguladığınızda her şeyin engelleneceği anlamına gelir.

1775580073838.png


PC1'den web sunucusuna ping atarak bunun böyle olduğunu doğrulayabiliriz. Sadece SSH ve telnet'i engellemeye çalıştığımız halde (başka hiçbir şeyi engellemedik), ping işlemi açıkça başarısız oluyor.

Kod:
PC1# ping 192.168.1.100
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 192.168.1.100, timeout is 2 seconds:
U.U.U
Success rate is 0 percent (0/5)

Bu durum laboratuvar ortamlarında sorun teşkil etmez, ancak üretim ağlarında çok tehlikeli bir durumdur. Çözüm, erişim listesinin sonuna, o ana kadar engellenmemiş tüm trafiğe izin veren, oldukça gevşek bir ACL satırı eklemektir; bu, aşağıdaki CLI bloğunda gösterilmiştir.

Kod:
ip access-list extended 100
 10 deny tcp any any range 22 telnet
 20 permit ip any any

Şimdi görev hedefleri karşılandı. VLAN 10'dan web sunucusuna hem Telnet hem de SSH bağlantıları engellendi, ancak aşağıdaki şemada gösterildiği gibi diğer tüm trafiğe aynı anda izin verildi.

1775580121666.png


Görev 2
Bir sonraki göreve geçelim, bu görev şu şekilde listelenmiştir:

PC1, PC2 ve PC3'ten web sunucusuna SSH erişimine izin verin. Bu görevi gerçekleştirmek için yalnızca bir ACE (erişim listesi girişi) kullanın.

R1'in Eth0/0 arayüzünde ACL100'ü oluşturup uyguladığımız için, yerel ana bilgisayarların hiçbiri web sunucusuna SSH veya TELNET ile bağlanamaz. Ancak, yalnızca PC1, PC2 ve PC3'ten web sunucusuna SSH erişimine izin vermeliyiz; bu da PC5 ve VLAN 10'daki diğer tüm IP'lerin sunucuya SSH erişiminin engellenmesi anlamına gelir. Bunu başarmak için yalnızca bir satır kullanmalıyız.

İşte burada joker maske devreye giriyor.

Joker maske

Joker maske, yönlendiriciye trafiği eşleştirirken IP adresinin hangi bitlerini kontrol edeceğini ve hangi bitlerini yok sayacağını söyler. Ters alt ağ maskesi gibi çalışır.

Esneklik sağlar. Bu, kuralı uygulamak için bir IP adresinin ne kadarının eşleşmesi gerektiğini tanımlar ve tek bir ana bilgisayardan tüm bir ağ aralığına kadar her şeyi kontrol etmenizi sağlar.

Örneğimizde, 10.1.1.1, 10.1.1.2 ve 10.1.1.3 IP adreslerini tek bir ağ/joker maske ifadesiyle eşleştirmemiz gerekiyor. Joker maskeyi nasıl bulacağımız konusunda çok detaylı bilgi vermeyeceğiz. Bu süreç, ücretsiz IP alt ağ oluşturma kursumuzda ayrıntılı olarak ele alınmıştır. Ancak, aşağıdaki diyagram sürecin bir özetini göstermektedir.

1775580138637.png


Aradığımız network_id/wildcard_mask kombinasyonu aşağıda gösterilmiştir:

Kod:
network_id wildcard_mask
10.1.1.0  0.0.0.3

Bu, PC1, PC2 ve PC3'ü de içeren 10.1.1.0 ile 10.1.1.3 arasındaki IP adresleriyle eşleşir, ancak VLAN 10 alt ağındaki diğer IP adreslerinden hiçbiriyle eşleşmez.

ACE girişi

Joker karakteri hesapladıktan sonra, PC 1'den PC 3'e kadar olan bilgisayarlardan web sunucusuna SSH erişimine izin veren bir ACE satırı oluşturalım. Aşağıdaki gibi görünecektir:

Kod:
permit tcp 10.1.1.0 0.0.0.3 any eq 22

Ancak, bunu 1. görevdeki mevcut ACL 100'ün içine yapılandırmadan önce, girişlerin sırasını dikkate almamız gerekiyor. Bu satırda hangi sıra numarasını yapılandırmalıyız? Şu anda aşağıdaki ACL'ye sahibiz:

Kod:
R1# sh ip access-lists
Extended IP access list 100
  10 deny tcp any any range 22 telnet
  20 permit ip any any

Sıra numarası belirtmeden girişi yapılandırırsak, şu şekilde 30 numara olur:

Kod:
Extended IP access list 100
  10 deny tcp any any range 22 telnet
  20 permit ip any any
  30 permit tcp 10.1.1.0 0.0.0.3 any eq 22

Sizce herhangi bir etkisi olacak mı? ACL'lerde sıranın önemli olduğunu hatırlayın. İlk eşleşme kazanır. Olacak şey, tüm SSH trafiğinin 10. sırada eşleşip reddedilmesidir. İşlem daha aşağıya doğru devam etmeyecek ve asla 30. sırada eşleşmeyecektir. Bu nedenle, 30. satırın hiçbir etkisi olmayacaktır.

Yukarıdaki satırı, `deny tcp any any range 22 telnet` girdisinin üzerine yapılandırmamız gerekiyor; bu da yeni satıra 10'dan düşük bir sıra numarası atamamız gerektiği anlamına gelir, aşağıdaki CLI çıktısında gösterildiği gibi.

Kod:
R1# conf t
Enter configuration commands, one per line.  End with CNTL/Z.
R1(config)# ip access-list extended 100
R1(config-ext-nacl)# 5 permit tcp 10.1.1.0 0.0.0.3 any eq 22
R1(config-ext-nacl)# end

Şimdi, görev hedefini başarıyla tamamlayıp tamamlamadığımızı test edelim. PC1 ve PC5'ten web sunucusuna SSH bağlantısı kurmayı deneyelim.

Kod:
PC1# ssh -l cisco 192.168.1.100
Password:

Web_Server> exit
[Connection to 192.168.1.100 closed by foreign host]

Kod:
PC5# ssh -l cisco 192.168.1.100
% Destination unreachable; gateway or host down

PC1'in SSH bağlantısı kurabildiğini, PC5'in ise kuramadığını görebilirsiniz; bu beklenen bir durumdur.

Aşağıdaki diyagram, yapılandırdığımız erişim kontrol listesini ve bunun etkilerini özetlemektedir.

1775580251532.png


Böylece görev tamamlandı. R1'in Eth0/0 arayüzüne ACL'yi yeniden uygulamamıza gerek kalmadığını fark edin. 1. görevde uygulanmıştı ve şimdi sadece düzenledik.

3. Görev
Sonra, aşağıdaki gibi listelenen son görevi tamamlayalım:

Yerel LAN'dan web sunucusuna FTP erişimini engelleyin. 1-4. görevler için kullanılan erişim listesini kullanamazsınız. Farklı bir ACL kullanın.

Burada, görevin önemli bir ayrıntısı, farklı bir ACL kullanmamız gerektiğidir; 1 ve 2. görevlerde oluşturduğumuz ve uyguladığımız (100 numaralı) ACL'yi kullanamayız.

İzin verilen ACL sayısı
Unutmayın ki Cisco cihazlarında, her arayüz için her yönde yalnızca bir erişim listesi uygulayabilirsiniz. Bu, herhangi bir arayüzde şunları uygulayabileceğiniz anlamına gelir:

Bir ACL gelen (o arayüzden yönlendiriciye giren trafik)
Bir ACL giden (o arayüzden yönlendiriciden çıkan trafik)
Aynı yönde başka bir ACL uygulamaya çalışırsanız, yenisi eskisinin yerini alacaktır. Bu nedenle, R1'in E0/0 arayüzüne başka bir gelen ACL uygulayamayız. Bu da bize yeni bir ACL uygulamak için üç alternatif seçenek bırakıyor:

R1'in Eth0/0 arayüzünde giden trafik
R1'in Eth0/1 arayüzünde gelen trafik
R1'in Eth0/1 arayüzünde giden trafik
Sizce en uygun olan hangisi ve hangi yönde?

Yeni bir genişletilmiş ACL numarası 101 yapılandıralım ve bunu R1'in E0/1 arayüzüne giden yönde aşağıdaki gibi uygulayalım:

Kod:
R1# conf t
Enter configuration commands, one per line.  End with CNTL/Z.
R1(config)# ip access-list extended 101
R1(config-ext-nacl)# deny tcp 10.1.1.0 0.0.0.255 any eq 21
R1(config-ext-nacl)# permit ip any any

Kod:
R1(config)# interface Ethernet0/1
R1(config-if)# ip access-group 101 out
R1(config-if)# end

Aşağıdaki hususlara dikkat edin:

Yeni bir ACL numarası 101 oluşturuyoruz.
VLAN 10'un alt ağını eşleştirmek için 0.0.0.255 joker maskesini kullanıyoruz.
FTP'yi TCP hedef portu 21 ile eşleştiriyoruz.
Diğer tüm trafiğin (FTP hariç) geçebilmesi için en alta permit ip any any satırını ekliyoruz. Aksi takdirde, sondaki örtülü reddetme işlemine takılacaktır.
ACL'yi R1'in Eth0/1 arayüzüne kendi yönümüzde uyguluyoruz.
Aşağıdaki diyagram, yapılandırdığımız erişim kontrol listesini göstermekte ve etkisini özetlemektedir.

1775580292973.png


ACL'nin düzgün çalışıp çalışmadığını test etmek için 21 numaralı portta Telnet kullanabiliriz. Telnet bağlantısı aşağıdaki gibi başarısız olmalıdır:

Kod:
PC1# telnet 192.168.1.100 ftp
Trying 192.168.1.100, 21 ...
% Destination unreachable; gateway or host down

Böylece tüm laboratuvar hedefleri tamamlanmış oldu. Uygulamanız ve hatırlamanız gereken önemli noktaları özetleyelim.

Önemli noktalar:

ACL'ler yukarıdan aşağıya bir değerlendirme sürecini izler. İlk eşleşme kazanır ve daha fazla satır kontrol edilmez.
Her ACL'nin sonunda, görünür olmasa bile, örtük bir deny ip any any bulunur.
Tüm trafiği engellememek için, reddetmelerinizden sonra her zaman permit ip any any (veya diğer gerekli izinler) ekleyin.
Genişletilmiş ACL'leri kontrol etmek istediğiniz trafiğin kaynağına yakın yerleştirmek en iyisidir.
Her arayüz için her yönde yalnızca bir ACL uygulayabilirsiniz (bir gelen ve bir giden). Aynı yönde yeni bir ACL uygulamak, önceki ACL'nin yerini alır.
IP adreslerini verimli bir şekilde gruplandırmak için joker maskeler kullanın. Örnek: 0.0.0.3, 10.1.1.0–10.1.1.3 olmak üzere dört adresle eşleşir.
Bir ACL içindeki girişlerin sırası önemlidir. Geçerli trafiği engellememek için belirli izinleri geniş reddetmelerden önce yerleştirin.

Birden fazla port numarasını tek bir ACE'de birleştirmek için `range` anahtar kelimesini kullanın; örneğin, hem SSH hem de Telnet'i engellemek için `deny tcp any any range 22 23` komutunu kullanabilirsiniz.

Gerçek ağlarda, üretimde uygulamadan önce ACL'leri dikkatlice test edin; yanlış yerleştirilmiş veya eksik kurallar kritik trafiği engelleyebilir.​
 
Eline sağlık
 

Şu an konuyu görüntüleyenler (Toplam : 0, Üye: 0, Misafir: 0)

Geri
Üst