Reflexive ACL (Dynamiczne listy dostępu zwrotnego) to rozszerzenie list ACL w Cisco IOS, które umożliwia filtrowanie ruchu na podstawie sesji inicjowanych z wnętrza sieci. Są one szczególnie przydatne do kontroli ruchu przychodzącego w sieciach, gdzie tylko odpowiedzi na połączenia wychodzące powinny być dozwolone.
Działa to podobnie do zasady działania stateful firewall: tylko pakiety należące do wcześniej zainicjowanych sesji TCP/UDP są przepuszczane w kierunku powrotnym.
Sieć prywatna: `192.168.1.0/24` Router Cisco z interfejsem zewnętrznym `GigabitEthernet0/0` Sieć publiczna (np. Internet): `0.0.0.0/0`
ip access-list extended OUTBOUND permit tcp 192.168.1.0 0.0.0.255 any reflect ALLOW_OUT permit udp 192.168.1.0 0.0.0.255 any reflect ALLOW_OUT
* `reflect ALLOW_OUT` – tworzy dynamiczny wpis o tej nazwie dla każdego połączenia wychodzącego.
ip access-list extended INBOUND evaluate ALLOW_OUT
* `evaluate` – sprawdza dynamiczne wpisy utworzone przez ACL OUTBOUND.
Załóżmy:
interface GigabitEthernet0/1 ip access-group OUTBOUND out interface GigabitEthernet0/0 ip access-group INBOUND in
Sprawdź utworzone dynamiczne wpisy ACL:
show ip access-lists
Wyświetl informacje o dynamicznych sesjach:
show ip access-list cache
ip reflexive-list timeout 300
Reflexive ACL to prosty sposób na ochronę sieci wewnętrznej przed nieautoryzowanym ruchem przychodzącym, przy jednoczesnym zachowaniu funkcjonalności dla ruchu wychodzącego. Idealne w scenariuszach, gdzie nie jest dostępny lub wymagany pełnoprawny firewall.
Konfiguracja FW:
FW#show running-config Building configuration... Current configuration : 1481 bytes ! version 12.4 service timestamps debug datetime msec service timestamps log datetime msec no service password-encryption ! hostname FW ! boot-start-marker boot-end-marker ! ! no aaa new-model memory-size iomem 5 no ip icmp rate-limit unreachable ip cef ! ! ! ! no ip domain lookup ! multilink bundle-name authenticated ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! archive log config hidekeys ! ! ! ! ip tcp synwait-time 5 ! ! ! ! interface FastEthernet0/0 ip address 192.168.1.1 255.255.255.0 ip access-group wejscie in duplex auto speed auto ! interface Serial0/0 ip address 1.0.0.2 255.255.255.0 ip access-group wyjscie out clock rate 2000000 ! interface FastEthernet0/1 no ip address shutdown duplex auto speed auto ! interface Serial0/1 no ip address shutdown clock rate 2000000 ! interface Serial0/2 no ip address shutdown clock rate 2000000 ! interface FastEthernet1/0 no ip address shutdown duplex auto speed auto ! interface FastEthernet2/0 no ip address shutdown duplex auto speed auto ! ip forward-protocol nd ip route 0.0.0.0 0.0.0.0 1.0.0.1 ! ! no ip http server no ip http secure-server ! ip access-list extended wejscie evaluate ok ip access-list extended wyjscie permit ip any any reflect ok ! no cdp log mismatch duplex ! ! ! ! ! ! control-plane ! ! ! ! ! ! ! ! ! ! line con 0 exec-timeout 0 0 privilege level 15 logging synchronous line aux 0 exec-timeout 0 0 privilege level 15 logging synchronous line vty 0 4 login ! ! end