А.4.3.13 Расширенные списки управления доступом
Расширенные списки управления доступом (extended access control
list, extended ACL) используются чаще, чем стандартные,
поскольку они обеспечивают большие возможности контроля. Рекомендуется,
например, использовать их в тех случаях, когда надо разрешить передачу
данных в World Wide Web и заблокировать протоколы FTP (File
Transfer Protocol) или Telnet для использования их сетями, не
принадлежащими организации. Расширенные списки проверяют как адрес
источника, так и адрес получателя. Они могут также проверять конкретные
протоколы, номера портов и другие параметры. Это придает им большую
гибкость в задании проверяемых условий. Пакету может быть разрешена
отправка или отказано в передаче в зависимости от того, откуда он был
выслан и куда направлен. Например, на рис. А.11 изображен расширенный
список, который разрешает отправку электронной почты с Е0 на S0, но
блокирует вход в систему с удаленных хостов и передачу файлов.
Предположим, что интерфейс Е0 на рис. А.11 логически связан с
расширенным списком управления доступом. Это означает, при создании
списка были аккуратно и последовательно записаны соответствующие
директивы. Перед тем, как пакет будет направлен на интерфейс, он
проверяется списком управления доступом, связанным с этим интерфейсом.
На основании проверки, выполняемой расширенным списком, пакету может
быть разрешена передача или отказано в доступе. Для выходных списков это
означает, что пакет, которому разрешена передача, будет непосредственно
направлен на Е0. Если пакет не соответствует условиям списка, то
он будет отброшен. Список управления доступом маршрутизатора
обеспечивает контроль с помощью брандмауэра для запрещения использования
интерфейса Е0. При отбрасывании пакетов некоторые протоколы
отправляют один пакет отправителю, сообщая, что получатель недостижим.
Для одного списка можно определить несколько директив. Каждая из них
должна ссылаться на имя или на номер, для того чтобы все они были
связаны с одним и тем же списком. Количество директив может быть
произвольным, и ограничено лишь объемом имеющейся памяти. Конечно, чем
больше в списке директив, тем труднее понять работу списка и
контролировать ее. Поэтому рекомендуется аккуратно заносить всю
информацию о списках в специальный журнал.
Может оказаться, что стандартные списки управления доступом (имеющие
номера от 1 до 99) не обеспечивают требуемого уровня управления
фильтрацией потока данных. Стандартные списки осуществляют фильтрацию на
основе адреса источника и маски. Они также могут полностью разрешить или
заблокировать использование протокола управления передачей (Transmission
Control Protocol, TCP). Возможно, что потребуется более точный
способ управления потоком данных и доступом.
Более точное управление потоком и фильтрацией можно осуществить с
помощью расширенных списков управления доступом. Их директивы проверяют
как адрес источника, так и адрес получателя пакета. Кроме того, в конце
директивы расширенного списка имеется поле, указывающее номер порта
необязательного протокола TCP или протокола передачи пользовательских
дейтаграмм (User Datagram Protocol, UDP), что обеспечивает
дополнительную точность фильтрации. Эти номера соответствуют номерами
портов протоколов TCP/IP. Некоторые часто используемые номера портов
приведены в табл. А.18.
Таблица А.18. Общие номера портов
Номер порта (десятичный) |
IP-протокол |
20 |
Данные протокола FTP |
21 |
Программа FTP |
23 |
Telnet |
25 |
Simple Mail Transport Protocol (SMTP) |
53 |
DNS |
69 |
TFTP |
Можно задать логическую операцию, которую расширенный список будет
выполнять с отдельными протоколами. Номера расширенных списков находятся
в диапазоне от 100 до 199.
Примеры расширенных списков управления доступом.
Полный формат команды access-list имеет следующий вид.
Router(config)# access-list номер-списка {permit | deny}
протокол source [маска-источника destination
маска-получателя]
[оператор операнд] [established] [log]
Параметры команды имеют следующие значения (табл. А.19).
Таблица А.19. Параметры команды access-list.
Параметр |
Описание |
номер-списка |
Указывает список, используются
номера от 100 до 199. |
permit | deny |
Указывает на то, разрешает ли
данная позиция доступ к указанному адресу. |
протокол |
Используемый протокол, например,
IP, TCP, UDP, ICMP, GRE или IGRP. |
source и destination |
Указывает адреса источника и
получателя. |
Маска источника и маска
получателя |
Шаблон маски, нули указывают
позиции, которые должны соответствовать заданным условиям, в то
время как единицы указывают позиции, значение которых не влияет
на доступ. |
оператор операнд |
it, gt, eq, neq (меньше
чем, больше чем, равно, не равно) и номер порта established.
Разрешает прохождение TCP-потока, если он использует
установленное соединение (т.е. если бит АСК в заголовке сегмента
установлен). |
Команда ip access-group связывает созданный расширенный список с
выходным или входным интерфейсом. Следует обратить внимание на то, что
каждому порту, протоколу и направлению может соответствовать только один
список. Команда имеет следующий формат:
Router(config)# ip access-group номер-списка {in | out}
Параметры команды имеют следующие значения (табл. А.20).
Таблица А.20. Параметры команды ip access-group.
Параметр |
Описание |
номер-списка |
Указывает номер списка, который
будет логически связан с этим интерфейсом. |
in | out |
Выбирает, к каким пакетам данного
интерфейса будет применяться условие приходящим или к
отправляемым. Если не указан параметр in или out,
то по умолчанию принимается значение out. |
Адресам источника и получателя или конкретным протоколам, использующим
расширенные списки, должны быть присвоены номера из диапазона от 100
до 199. Номерам портов протоколов верхнего уровня TCP и
UDP, в дополнение к другим условиям, также должны быть присвоены
номера из этого диапазона. Некоторые часто используемые
зарезервированные номера портов приведены в табл. А.21.
Таблица А.21. Зарезервированные номера часто используемых портов
Десятичное число |
Ключевое слово |
Описание |
Протокол |
0 |
|
Зарезервировано |
|
1 - 4 |
|
Не назначено |
|
20 |
FTP-DATA |
FTP (данные) |
TCP |
21 |
FTP |
FTP |
TCP |
23 |
TELNET |
Терминальное соединение |
TCP |
25 |
SMTP |
SMTP |
TCP |
42 |
NAMESERV-ER |
Сервер имен |
UDP |
53 |
DOMAIN |
DNS |
TCP/UDP |
69 |
TFTP |
TFTP |
UDP |
70 |
|
Gopher |
TCP/IP |
80 |
|
WWW |
TCP |
133-159 |
|
He назначены |
|
160-223 |
|
Зарезервированы |
|
161 |
|
FNP |
UDP |
224-241 |
|
He назначены |
|
242-255 |
|
He назначены |
|
Примеры конфигурации расширенных списков управления доступом в
приведенных ниже разделах относятся к сети, показанной на рис. А.12. В
первом примере блокируется протокол FTP для Е0. Во втором
примере блокируется только выход Telnet с интерфейса Е0, а
всем остальным потокам данных доступ разрешен.
Пример 1 расширенного списка доступа: блокировка протокола FTP на
интерфейсе Е0.
В листинге 4 показан расширенный список управления доступом, который
блокирует поток данных протокола FTP.
Листинг 4. Отказ протоколу FTP в доступе к интерфейсу Е0
access-list 101 deny tcp 172.16.4.0 0.0.0.255 eq 20
172.16.3.0 0.0.0.255 eq 21
access-list 101 permit ip 172.16.4.0 0.0.0.255
0.0.0.0 255.255.255.255
(неявно отказывает в доступе всем остальным; в тексте это не
отображается) (access-list 101 deny ip 0.0.0.0 255.255.255.255 0.0.0.0
255.255.255.255)
interface ethernet 0 ip access-group 101
Вот описание значений соответствующих полей листинга 4 (табл. А.22).
Таблица А.22. Описание значений соответствующих полей листинга 4.
Поле |
Описание |
101 |
Номер списка управления доступом;
указывает на расширенный список. |
deny |
Поток данных, удовлетворяющий
условию, будет блокирован. |
tcp |
Протокол транспортного уровня. |
172.16.4.0 и 0.0.0.255 |
Адрес и маска источника, первые
три октета должны отвечать условию, последний не имеет значения. |
172.16.3.0 и 0.0.0.255 |
Адрес и маска получателя, первые
три октета должны отвечать условию, последний не имеет значения. |
eq 21 |
Указывает на известный номер
порта для протокола FTP. |
eq 20 |
Указывает на известный номер
порта для данных протокола FTP. |
Команда interface Е0 access-group 101 связывает 101-й список
управления доступом с выходным интерфейсом Е0. Этот список не блокирует
поток данных FTP, блокируются только порты 20 и 21. На серверах FTP
легко может быть установлена конфигурация для работы на различных
портах. Описанные выше хорошо известные номера портов не гарантируют,
что службы будут предоставляться именно на них.
Пример 2 расширенного списка доступа: разрешение доступа только на
интерфейс Е0 и блокирование всех остальных потоков данных.
В листинге 5 показан расширенный список управления доступом, который
разрешает поток данных на интерфейс Е0 для протокола SMTP.
Листинг 5. Разрешение доступа только на интерфейс Е0 и блокирование
всех остальных потоков данных
access-list 101 permit tcp 172.16.4.0 0.0.0.255 any eq 25
(неявно отказывает в доступе всем остальным; в тексте это не
отображается)
(access-list 101 deny ip 0.0.0.0 255.255.255.255 0.0.0.0
255.255.255.255)
interface ethernet0 ip access-group 101
Вот описание значений отдельных полей листинга 5 (табл. А.23).
Таблица А.23. Описание значений отдельных полей листинга 5.
Поле |
Описание |
101 |
Номер списка управления доступом;
указывает на расширенный список. |
permit |
Поток данных, удовлетворяющий
условию, будет направлен далее. |
tcp |
Протокол транспортного уровня. |
172.16.4.0 и 0.0.0.255 |
Адрес и маска источника; первые
три октета должны отвечать условию, последний не имеет значения. |
0.0.0.0 и 255.255.255.255 |
Адрес и маска получателя; все
значения октетов не имеют значения. |
eq 25 |
Указывает на известный номер
порта для SMTP. |
access-group 101 |
Направляет каналы списка
управления доступом на интерфейс выходного порта ЕО. |
В этом примере разрешается пересылка SMTP-потока данных (eq 25)
от сети 172.16.4.0 с интерфейса Е0. Пересылка всех
остальных данных от любого источника к любому получателю разрешена, как
это указано ключевым словом any. Конфигурация интерфейса Е0
установлена командой access-group 101 out. Таким образом, список
101 связывается с интерфейсом Е0 выходного порта.
Далее
>>> |