Pro zpřesnění porovnávání určitého síťového provozu se používají rozšířené přístupové seznamy. Rozšířené přístupové seznamy jsou náročnější na konfiguraci a vyžadují více procesorového času než standardní přístupové seznamy, ale umožňují mnohem podrobnější úroveň řízení.
Pomocí rozšířených přístupových seznamů můžete vyhodnocovat další informace o paketech, jako jsou:
- zdrojová a cílová IP adresa
- typ protokolu TCP/IP (TCP, UDP, IP…)
- číslo zdrojového a cílového portu
Konfigurace rozšířeného přístupového seznamu vyžaduje dva kroky:
1. Nastavení rozšířeného přístupového seznamu:
Přidejte k němu další informace. nakonfigurujte rozšířený seznam přístupu pomocí následujícího příkazu:
(config) access list NUMBER permit|deny IP_PROTOCOL SOURCE_ADDRESS WILDCARD_MASK DESTINATION_ADDRESS WILDCARD_MASK PROTOCOL_INFORMATION
2. aplikujte seznam přístupu na rozhraní pomocí následujícího příkazu:
(config) ip access-group ACL_NUMBER in | out
Čísla rozšířených seznamů přístupu jsou v rozmezí 100 až 199 a 2000 až 2699. Rozšířené seznamy přístupových práv byste měli vždy umístit co nejblíže ke zdroji vyhodnocovaných paketů.
Pro lepší pochopení koncepce rozšířených seznamů přístupů uvažujte následující příklad:
Chceme povolit pracovní stanici správce (10.0.0.1/24) neomezený přístup k serveru (192.168.0.1/24). Zároveň zakážeme jakýkoli typ přístupu k Serveru z pracovní stanice uživatele (10.0.0.2/24).
Nejprve vytvoříme příkaz, který povolí přístup pracovní stanice správce k serveru:
Následuje vytvoření příkazu, který zakáže přístup pracovní stanice uživatele k serveru:
Nakonec musíme použít seznam přístupu na rozhraní Fa0/0 na R1:
Tím donutíme směrovač vyhodnocovat všechny pakety vstupující na Fa0/0. Pokud se správce pokusí o přístup k serveru, bude provoz povolen, a to díky prvnímu příkazu. Pokud se však uživatel pokusí o přístup k Serveru, bude provoz zakázán kvůli druhému příkazu ACL.
Na konci každého přístupového seznamu je explicitní příkaz deny all, takže druhý příkaz ACL ve skutečnosti nebyl nutný. Po použití seznamu přístupu bude každý provoz, který není výslovně povolen, zakázán.
Na pravé straně máme Server, který slouží jako webový server, naslouchající na portu 80. Na pravé straně máme Server, který slouží jako webový server. Potřebujeme povolit Uživateli přístup k webovým stránkám na S1 (port 80), ale zároveň potřebujeme zakázat jiný typ přístupu.
Nejprve musíme povolit provoz od Uživatele na port 80 Serveru. To můžeme provést pomocí následujícího příkazu:
Pomocí klíčového slova tcp můžeme filtrovat pakety podle zdrojového a cílového portu. Ve výše uvedeném příkladu jsme povolili provoz z adresy 10.0.0.2 (pracovní stanice uživatele) na adresu 192.168.0.1 (server) na portu 80. V tomto případě se jedná o příkaz, který se vztahuje k portu 80. Poslední část příkazu, eq 80, určuje cílový port 80.
Protože na konci každého seznamu přístupu je implicitní příkaz deny all, nemusíme definovat žádný další příkaz. Po použití seznamu přístupu bude každý provoz, který nepochází z 10.0.0.2 a směřuje na 192.168.0.1, port 80, odepřen.
Na rozhraní musíme použít seznam přístupu:
Zda byla naše konfigurace úspěšná, můžeme ověřit tak, že se pokusíme přistupovat k serveru z pracovní stanice uživatele pomocí různých metod. Například ping se nezdaří:
Telnetování na port 21 se nezdaří:
Pomocí prohlížeče však budeme moci přistupovat k Serveru na portu 80:
.