Какая команда выводит к просмотру списки доступа acl access control list для протокола ip
Списки управления доступом являются частью комплексной системы безопасности сети. Они позволяют запретить/разрешить определенным хостам доступ к ресурсам сети. Например, в корпоративной сети администраторы могут запретить доступ в интернет определенным пользователям, а остальным наоборот - разрешить.
Запретить/разрешить мы можем на основе IP адресов, портов и задействованных протоколов. На этом принципе и работают списки управления доступом ACL ( Access Control List ).
Другим примером использования списков доступа является запрет поступающих на маршрутизатор пакетов протокола ICMP. Как мы знаем с помощью ICMP работают утилиты Ping, Traceroute/Tracert. С помощью данных утилит можно просканировать сеть, а это нежелательно с точки зрения политики безопасности каждой сети.
Списки доступа позволяют фильтровать трафик на входе и выходе интерфейса маршрутизатора.
И в чем же разница?
Разница в том, что на входе весь поступающий трафик подвергается фильтрации. Нежелательные пакеты отбрасываются и уже только потом остальные пакеты маршрутизируются:
Когда ACL настроены на выходе интерфейса, то трафик фильтруется сразу же после процесса маршрутизации:
Данная особенность может быть полезна при определенных обстоятельствах.
Так что же из себя представляют списки доступа и как они работают?
Списки доступа содержат просто набор инструкций какие порты и адреса блокировать, а какие наоборот разрешить. Этих инструкций может от нескольких единиц до десятков.
При поступлении трафика проверка списка доступа начинается сверху вниз, то есть с первой инструкции. Как только будет найдено совпадение проверка списка прекратится и будет выполнено действие, указанное в инструкции (заблокировать или пропустить).
Внизу списка всегда следует неявная инструкция по блокировке всего трафика. Данная инструкция добавляется автоматически самой системой. В настройках она не видна, но нужно знать, что она есть.
Cisco IOS поддерживает 3 типа ACL:
- стандартные списки
- расширенные списки
- именованные списки
Стандартные списки позволяют проверять только IP адрес отправителя. Например,в нашем 1-ом примере доступ в интернет Алисе и Кате можно закрыть с помощью стандартного списка. В данном случае блокируется абсолютно весь трафик, проходящий через маршрутизатор. Стандартные списки доступа рекомендуется устанавливать как можно ближе к отправителю.
Расширенные списки позволяют фильтровать пакеты на основе адресов, портов и протоколов получателя и отправителя.
Например, Алисе разрешается использовать электронную почту, но все еще запрещается использовать остальной доступ в интернет. Кате же разрешены звонки по интернет и запрещены все остальные службы интернет.
Электронная почта работает по протоколам POP/SMTP (порты 110/ 25). Следовательно можно внести исключение в списки доступа исходя из выше описанных условий.
То же самое касается и IP телефонии - выбираем задействованный протокол и порт и вносим в список доступа.
Расширенные списки рекомендуется устанавливать ближе к получателю.
Именованные списки являются теми же стандартными и расширенными ACL, однако предоставляют более гибкие возможности для редактирования (об этом немного позже).
Рассмотрим какие команды используются в каждом типе ACL, а затем применим их на примере.
Стандартный список
Инструкция задается следующей командой:
Номер списка принимает значения от 1 до 99. Цифры не означают приоритет или упорядоченность. Это просто номер списка. Затем следует команда permit (разрешить) или deny (запретить). С помощью инвертированной маски (wildcard mask) мы можем определить диапазон адресов, на которые будет распространяться запрет/разрешение.
В первой команде мы запрещаем сеть 192.168.1.0/24, а во второй разрешаем сеть 10.1.0.0/16.
Таких команд (инструкций) можно добавлять сколько угодно. Как было отмечено ранее работа всегда начинается с самой первой команды и далее идет вниз по списку. В конце списка всегда стоит неявная команда запрещающая весь остальной трафик, поэтому необходимо это учитывать при планировании списков доступа. При добавлении новой команды в список она добавляется всегда в конец списка.
А как работает инвертированная маска (wildcard mask)?
Работа инвертированной маски основана на следующем принципе.
На тех битовых позициях, где установлен 0 IP адрес устройства должен совпадать с адресом, указанным в настройках ACL.
На тех битовых позициях, где установлена 1 IP адрес устройства может не совпадать с адресом, указанным в настройках ACL, то есть может принимать любые значения. Поясню сказанное на примерах.
Пример №1
Необходимо разрешить доступ диапазону адресов 192.168.1.0 - 192.168.1.255. Так как первые 3 октета должны совпадать полностью, а четвертый может принимать любые значения, то используем маску 0.0.0.255. Вот как это выглядит на рисунке
Пример №2
К диапазону 192.168.1.0-192.168.1.255 добавим еще один диапазон 192.168.2.0 - 192.168.2.255.
Теперь у нас должны совпадать первые 2 октета полностью и первые 6 бит третьего октета. Поэтому маска у нас 0.0.3.255. А в настройках ACL мы укажем адрес 192.168.0.0. Можно, конечно, указать сразу 2 отдельные команды на каждый диапазон, с помощью маски мы можем сократить запись
Пример №3
Необходимо разрешить/запретить диапазон 200.40.0.4 - 200.40.0.7. У нас совпадают полностью первые 3 октета и первые 6 бит четвертого октета:
После того, как список создан, необходимо определить направление (входящий или исходящий) трафика и на каком интерфейсе он будет фильтроваться:
in - входящий трафик
out - исходящий трафик
Алгоритм работы стандартного списка выглядит так:
Расширенный список доступа
Расширенные списки доступа имеют номера от 100 до 199.
Команды имеют довольно широкий набор опций, поэтому покажу наиболее общий пример команды:
Данная команда разрешает TCP трафик от хостов с диапазоном 192.168.1.0/24 на хосты с диапазоном 10.1.1.0/24. Причем порты отправителя должны быть равны 80, а порты получателя - 443. Если все эти условия соблюдаются, то пакет пропускается, если нет, то переходит к следующей команде.
А вот эта команда запрещает весь TCP трафик от любого хоста на конкретный хост с адресом 172.16.1.5. Причем запрет действует при условии, что запросы идут на порты получателя от 5001 и выше.
В конце списка всегда следует неявная команда, запрещающая весь трафик.
Не забудь определить интерфейс и направление трафика для фильтрации.
Вот как выглядит алгоритм работы расширенных списков:
Для просмотра настроек используй следующие команды:
Именованные списки
Ничем не отличаются от стандартных и расширенных списков, однако позволяют гибко редактировать вновь созданные списки.
Стандартные и расширенные списки редактировать нельзя. К примеру, нельзя в середину списка вставить команду или удалить ее. Для этого нужно сначала деактивировать список на самом интерфейсе , а затем полностью его удалить и настроить заново.
Именованный список позволяет использовать названия списков вместо их номеров. Все введенные команды нумеруются, что позволяет легко добавлять и удалять команды.
Синтаксис команд представлен ниже.
Для стандартных списков:
Для расширенных списков:
Чтобы удалить ненужную команду достаточно узнать ее номер. Чтобы узнать номер введи команду:
а затем укажи ее номер при удалении:
Ну а чтобы добавить команду достаточно тоже указать номер и затем саму команду.
Обращаю твое внимание, что удаление и добавление строк списка происходит в режиме настройки ACL, например так:
Пример использования списков доступа
Сеть состоит из 3 частей:
- Внутренняя сеть - основная инфраструктура локальной сети любого предприятия.
- Демилитаризованная зона DMZ - в ней располагаются сервера, которые доступны из интернета. Доступ во внутреннюю сеть из этой зоны закрыт из соображений безопасности.
- Внешняя сеть - связывается напрямую с провайдером. Обычно состоит из маршрутизаторов и сетевых экранов (firewalls).
Именно по этому принципу и строятся сети предприятий.
Задача у нас следующая:
- Всем серверам из DMZ запретить доступ во внутреннюю сеть
- Всем серверам из DMZ разрешить двустороннюю связь в интернет
- Пользователям из интернета разрешить доступ на серверы в DMZ, учитывая протокол взаимодействия и порты TCP/UDP
- Разрешить доступ внутренним пользователям на серверы DMZ
- Запретить Алине и Саше доступ в интернет и DMZ, то есть они могут работать только во внутренней сети.
Пункт №1 можно решить с помощью расширенного списка на маршрутизаторе LAN_Router
Поэтому список доступа на маршрутизаторе LAN_router безусловно необходим.
А какие ошибки могут привести к тому, что сеть LAN будет доступна для DMZ?
Например, на маршрутизаторе Firewall при настройке статического маршрута может быть по ошибке указан интерфейс, ведущий к маршрутизатору LAN_Router.
Или на маршрутизаторе LAN_Router будет выполнена команда redistribute connected . В данный момент между 2-мя маршрутизаторами настроен EIGRP. Если выполнить вышеназванную команду, то маршрутизатор Firewall узнает о сети LAN.
Пункты №2 и №3 не требуют списков доступа. Достаточно настроить правильно маршрутизацию и NAT на маршрутизаторе Firewall
Пункт №4. Внутренние пользователи уже имеют доступ в зону DMZ, однако связь будет работать только в одну сторону, так как мы закрыли доступ еще в п.1.
Как же сделать так, чтобы внутренние пользователи имели полноценный доступ ко всем серверам и в то же время запретить серверам доступ во внутреннюю сеть?
Решение простое - достаточно настроить NAT на маршрутизаторе LAN_Router. Тогда только внутренние пользователи смогут подключаться к серверам, а сервера уже не смогут из-за активированного списка доступа. Однако это не единственное решение
В данном документе описываются простые конфигурации для распространенных списков управления доступом IP Access Control Lists (ACL), которые фильтруют IP-пакеты в зависимости от следующих данных:
любая комбинация данных пунктов
Для фильтрации сетевого трафика ACL проверяют, пересылаются ли передаваемые пакеты или же блокируются на интерфейсе маршрутизатора. Маршрутизатор проверяет каждый пакет и на основании критериев, указанных в ACL, определяет, что с ним нужно сделать: переслать или сбросить. Критерии ACL включают:
адреса источника трафика
адрес назначения трафика
протокол верхнего уровня
Выполните следующие действия, чтобы создать такой же ACL, как в приведенных в этом документе примерах:
Создайте список управления доступом.
Примените список ACL к интерфейсу.
IP ACL – последовательный набор состояний разрешения и отказа, применяемый к IP-пакету. Маршрутизатор проверяет пакеты на соответствие условиям ACL по одному.
Первое соответствие определяет, что программное обеспечение Cisco IOS® сделает с пакетом: примет или отвергнет его. Поскольку программное обеспечение Cisco IOS останавливает проверку по условиям после первого совпадения, то порядок условий становится критически важен. Если совпадений нет, маршрутизатор отвергает пакет из-за неявного условия deny all.
Вот примеры того, как IP ACL могут быть настроены в программном обеспечении Cisco IOS:
динамические ACL (замок и ключ)
именованные IP-списки ACL
синхронизируемые списки ACL, использующие временные диапазоны
откомментированные записи IP ACL
распределенные синхронизируемые ACL
В этом документе описываются некоторые общеупотребительные стандартные и расширенные списки ACL. Подробнее о различных типах ACL, которые поддерживает программное обеспечение Cisco IOS, и об их настройке и редактировании см. в разделе Настройка списков доступов IP.
Формат синтаксиса команды стандартного ACL выглядит следующим образом: access-list access-list-number
состояние бита SYN
Форматы синтаксиса команд расширенных ACL следующие:
Internet Control Message Protocol (ICMP)
Transport Control Protocol (TCP)
User Datagram Protocol (UDP)
Справочник по командам ACL см. в разделе Команды IP-служб.
Примеры конфигурации
Следующие примеры конфигурации используют наиболее распространенные ACL для IP.
Разрешение доступа выбранного узла к сети
На данном рисунке показывается, как выбранный узел получает разрешение на доступ в сеть. Весь трафик из узла B, направленный к сети NetA, принимается, в то время как весь другой трафик из NetB, направленный к NetA, отвергается.
Выходные данные в таблице R1 показывают, как сеть выдает узлу право на доступ. Выходные данные таковы:
Эта конфигурация допускает только узел с IP-адресом 192.168.10.1 через интерфейс Ethernet 0 на R1.
У этого узла есть доступ к IP-службам сети NetA.
Никакие другие узлы в NetB не имеют доступа к NetA.
В ACL не настроены никакие инструкции запрета.
По умолчанию в конце каждого ACL есть неявное условие deny all (запретить все). Все, что не разрешается явно, отвергается.
Примечание: ACL фильтрует IP-пакеты от NetB к NetA – кроме пакетов, исходящих из NetB. Пакеты, направляющиеся в узел B из NetA, разрешаются.
Примечание: другой способ настроить то же самое правило – ACL access-list 1 permit 192.168.10.1 0.0.0.0.
Запрет доступа выбранного узла к сети
На данном рисунке показано, как весь трафик из узла B, направленный к NetA, отвергается, в то время как весь другой трафик из NetB, направленный к NetA, разрешается.
Следующая конфигурация запрещает получение всех пакетов от узла 192.168.10.1/32 через Ethernet 0 или R1 и разрешает получение всех остальных пакетов. Для того чтобы явно разрешить все остальные пакеты, следует использовать команду access list 1 permit any, поскольку в каждом ACL есть неявное условие deny all.
Примечание: Порядок условий критичен для функционирования списка ACL. Если расположить записи в обратном порядке, как показано в данной команде, первая строка соответствует адресу любого источника пакета, поэтому ACL не сможет блокировать доступ узла 192.168.10.1/32 к NetA.
Разрешение доступа к диапазону смежных IP-адресов
На данном рисунке показано, как всем узлам NetB с сетевым адресом 192.168.10.0/24 разрешается доступ к сети 192.168.200.0/24 в NetA.
Эта конфигурация позволяет IP-пакетам, IP-заголовки которых содержат адрес источника в сети 192.168.10.0/24 и адрес назначения в сети 192.168.200.0/24, получить доступ к NetA. Неявное условие deny all в конце ACL запрещает прохождение всего трафика, не удовлетворяющего разрешающим условиям, через входящий Ethernet 0 на R1.
Примечание: В команде access-list 101 permit ip 192.168.10.0 0.0.0.255 192.168.200.0 0.0.0.255 параметр 0.0.0.255 – это обратная маска сети 192.168.10.0 с маской 255.255.255.0. ACL используют обратную маску, чтобы знать, сколько битов в адресе сети требуют сопоставления. В таблице ACL разрешает все узлы с адресами источника в сети 192.168.10.0/24 и адресами назначения в сети 192.168.200.0/24.
Подробнее о маске сетевого адреса и о том, как вычислить обратную маску, необходимую для ACL, см. раздел Маски в документе Настройка списков доступа IP.
Запрет трафика Telnet (TCP, порт 23)
Для соответствия более высоким требованиям безопасности может быть необходимым отключение доступа Telnet к частной сети из публичной. Данный рисунок показывает, как трафик Telnet из сети NetB (публичной), направленный в сеть NetA (частную), отвергается, что позволяет NetA инициировать и установить сеанс Telnet с NetB, при этом разрешая весь другой IP-трафик.
Telnet использует TCP, порт 23. Следующая конфигурация показывает, что весь TCP-трафик, направленный в NetA для порта 23, заблокирован, а остальной IP-трафик разрешен.
Разрешение инициировать сеансы TCP только внутренним сетям
На данном рисунке показано, как весь TCP-трафик из NetA, направленный к NetВ, разрешается, в то время как TCP-трафик из NetB, направленный к NetA, отвергается.
Назначением ACL в данном примере является следующее:
разрешить узлам в NetA инициировать и устанавливать сеанс TCP к узлам в NetB;
запретить узлам в NetB инициировать и устанавливать сеанс TCP к узлам в NetA.
Эта конфигурация разрешает датаграмме проходить через внутренний интерфейс Ethernet 0 на R1, если у нее есть:
подтвержденный (ACK) или сброшенный (RST) набор данных (указывающий на установленный сеанс TCP);
значение конечного порта больше 1023.
Поскольку большинство портов IP-служб используют значения ниже 1023, все датаграммы с портом назначения, предшествующим 1023, и незаданным битом ACK/RST отклоняются списком ACL 102, поэтому, когда хост из сети NetB инициирует соединение TCP, отправив первый пакет TCP (без установленного бита синхронизации/начального пакета (SYN/RST)) в порт, номер которого меньше 1023, этот пакет будет отвергнут, и сеанс TCP не установится. Сеансы TCP, инициированные NetA к NetB, разрешаются, поскольку у них есть набор битов ACK/RST для возврата пакетов и они используют значения портов ниже 1023.
Полный список портов см. в документе RFC 1700 .
Запрет трафика FTP (TCP, порт 21)
На следующем рисунке показано, что трафик FTP (TCP, порт 21) и данных FTP (порт 20), пересылаемый из NetB в NetA, отвергается, а весь остальной IP-трафик разрешается.
FTP использует порты 21 и 20. Трафик TCP, предназначенный для порта 21 и порта 20, отвергается, а все остальное явным образом разрешается.
Разрешение трафика FTP (активного FTP)
FTP может работать в двух различных режимах: активном и пассивном. Общие сведения о работе активного и пассивного FTP см. в разделе Функционирование FTP.
Когда FTP работает в активном режиме, сервер FTP использует порт 21 для управления и порт 20 для данных. Сервер FTP (192.168.1.100) расположен в сети NetA. В следующем примере показано, что трафик FTP (TCP, порт 21) и данных FTP (порт 20), пересылаемый из NetB на сервер FTP (192.168.1.100), разрешается, а весь остальной IP-трафик отвергается.
Разрешение трафика FTP (пассивного FTP)
FTP может работать в двух различных режимах: активном и пассивном. Общие сведения о работе активного и пассивного FTP см. в разделе Функционирование FTP.
Когда FTP работает в пассивном режиме, сервер FTP использует порт 21 для управления и динамические порты, начиная с 1024 и выше, для данных. Сервер FTP (192.168.1.100) расположен в сети NetA. В следующем примере показано, что трафик FTP (TCP, порт 21) и данных FTP (порты, начиная с 1024 и выше), пересылаемый из NetB на сервер FTP (192.168.1.100), разрешается, а весь остальной IP-трафик отвергается.
Разрешение эхо-тестирования (ICMP)
На следующем рисунке показано, что трафик ICMP, пересылаемый из NetA в NetB, разрешается, а эхо-тесты из NetB в NetA отвергаются.
Эта конфигурация разрешает проходить по интерфейсу Ethernet 0 из NetB в NetA только пакетам эхо-ответа (отклика эхо-теста). Конфигурация блокирует все пакеты эхо-запроса ICMP, когда эхо-тесты исходят из NetB и направляются в NetA. Таким образом, узлы в сети NetA могут выполнять эхо-тестирование узлов в сети NetB, но узлы в сети NetB не могут выполнять эхо-тестирование узлов в сети NetA.
Эта конфигурация разрешает трафик TCP со значениями порта назначения, которые соответствуют WWW (порт 80), Telnet (порт 23), SMTP (порт 25), POP3 (порт 110), FTP (порт 21) или данным FTP (порт 20). Следует помнить, что неявное условие deny all в конце ACL запрещает весь трафик, не удовлетворяющий разрешающим условиям.
Разрешение DNS
На следующем рисунке показывается ситуация, в которой разрешен только трафик Domain Name System (DNS), и запрещен весь остальной трафик, идущий из NetB в NetA.
Эта конфигурация разрешает TCP-трафик со значением порта назначения 53. Неявное условие deny all в конце ACL запрещает весь трафик, не удовлетворяющий разрешающим условиям.
Разрешение обновлений маршрутизации
При применении внутреннего ACL к интерфейсу убедитесь, что обновления маршрутизации не отфильтрованы. Используйте необходимые ACL из этого списка, чтобы разрешить пакеты протокола маршрутизации:
Выполните эту команду, чтобы разрешить использование протокола RIP:
Выполните эту команду, чтобы разрешить использование протокола IGRP:
Выполните эту команду, чтобы разрешить использование протокола EIGRP:
Выполните эту команду, чтобы разрешить использование OSPF:
Выполните эту команду, чтобы разрешить использование протокола BGP:
Отладка трафика с помощью ACL
Использование команд debug требует выделения системных ресурсов, например ресурсов памяти и процессора, и в экстремальных ситуациях может привести к зависанию сильно загруженной системы. Используйте команды debug с осторожностью. Воспользуйтесь ACL, чтобы отобрать трафик, который следует проверить, и снизить таким образом воздействие команд debug. В такой конфигурации фильтрация пакетов не выполняется.
Эта конфигурация включает команду debug ip packet только для пакетов между хостами 10.1.1.1 и 172.16.1.1.
Подробнее о воздействии команд отладки см. в разделе Важные сведения о командах отладки.
Подробнее об использовании ACL с командами отладки см. раздел Использование команды debug в документе Общие сведения о командах Ping и Traceroute .
Поиск и устранение неисправностей
Для этой конфигурации отсутствуют данные о поиске и устранении неисправностей.
Сегодня я расскажу вам о том, как отфильтровать трафик в сети с помощью списков контроля доступа. Рассмотрим как они работают соответственно, что собой представляют, для чего предназначены. Позже я покажу как они настраиваются в Cisco IOS и выложу архив с лабораторными работами для закрепления ваших знаний.
Введение
ACL (Access Control List) — это набор текстовых выражений, которые что-то разрешают, либо что-то запрещают. Обычно ACL разрешает или запрещает IP-пакеты, но помимо всего прочего он может заглядывать внутрь IP-пакета, просматривать тип пакета, TCP и UDP порты. Также ACL существует для различных сетевых протоколов (IP, IPX, AppleTalk и так далее). В основном применение списков доступа рассматривают с точки зрения пакетной фильтрации, то есть пакетная фильтрация необходима в тех ситуациях, когда у вас стоит оборудование на границе Интернет и вашей частной сети и нужно отфильтровать ненужный трафик.
Вы размещаете ACL на входящем направлении и блокируете избыточные виды трафика.
Теория
- На интерфейсе: пакетная фильтрация
- На линии Telnet: ограничения доступа к маршрутизатору
- VPN: какой трафик нужно шифровать
- QoS: какой трафик обрабатывать приоритетнее
- NAT: какие адреса транслировать
Сам же ACL представляет собой набор текстовых выражений, в которых написано permit (разрешить) либо deny (запретить), и обработка ведется строго в том порядке в котором заданы выражения. Соответственно когда пакет попадает на интерфейс он проверяется на первое условие, если первое условие совпадает с пакетом, дальнейшая его обработка прекращается. Пакет либо перейдет дальше, либо уничтожится.
Ещё раз, если пакет совпал с условием, дальше он не обрабатывается. Если первое условие не совпало, идет обработка второго условия, если оно совпало, обработка прекращается, если нет, идет обработка третьего условия и так дальше пока не проверятся все условия, если никакое из условий не совпадает, пакет просто уничтожается. Помните, в каждом конце списка стоит неявный deny any (запретить весь трафик). Будьте очень внимательны с этими правилами, которые я выделил, потому что очень часто происходят ошибки при конфигурации.
- Стандартные (Standard): могут проверять только адреса источников
- Расширенные (Extended): могут проверять адреса источников, а также адреса получателей, в случае IP ещё тип протокола и TCP/UDP порты
- Стандартные: от 1 до 99
- Расширенные: от 100 до 199
Виды ACL
Динамический (Dynamic ACL)
Рефлексивный (Reflexive ACL)
Здесь ситуация немножко отличается, когда узел в локальной сети отправляет TCP запрос в Интернет, у нас должен быть открытый проход, чтобы пришел TCP ответ для установки соединения. Если прохода не будет — мы не сможем установить соединение, и вот этим проходом могут воспользоваться злоумышленники, например проникнуть в сеть. Рефлексивные ACL работают таким образом, блокируется полностью доступ (deny any) но формируется ещё один специальный ACL, который может читать параметры пользовательских сессий, которые сгенерированны из локальной сети и для них открывать проход в deny any, в результате получается что из Интернета не смогут установить соединение. А на сессии сгенерированны из локальной сети будут приходить ответы.
Ограничение по времени (Time-based ACL)
Настройка
- Обработка ведется строго в том порядке, в котором записаны условия
- Если пакет совпал с условием, дальше он не обрабатывается
- В конце каждого списка доступа стоит неявный deny any (запретить всё)
- Расширенные ACL нужно размещать как можно ближе к источнику, стандартные же как можно ближе к получателю
- Нельзя разместить более 1 списка доступа на интерфейс, на протокол, на направление
- ACL не действует на трафик, сгенерированный самим маршрутизатором
- Для фильтрации адресов используется WildCard маска
Стандартный список доступа
- permit: разрешить
- deny: запретить
- remark: комментарий о списке доступа
- address: запрещаем или разрешаем сеть
- any: разрешаем или запрещаем всё
- host: разрешаем или запрещаем хосту
- source-wildcard: WildCard маска сети
- log: включаем логгирование пакеты проходящие через данную запись ACL
Расширенный список доступа
- protocol source: какой протокол будем разрешать или закрывать (ICMP, TCP, UDP, IP, OSPF и т.д)
- deny: запретить
- operator:
A.B.C.D — адрес получателя
any — любой конечный хост
eq — только пакеты на этом порте
gt — только пакеты с большим номером порта
host — единственный конечный хост
lt — только пакеты с более низким номером порта
neq — только пакеты не на данном номере порта
range — диапазон портов - port: номер порта (TCP или UDP), можно указать имя
- established: разрешаем прохождение TCP-сегментов, которые являются частью уже созданной TCP-сессии
Прикрепляем к интерфейсу
- in: входящее направление
- out: исходящее направление
Именованные списки доступа
- standard: стандартный ACL
- extended: расширенный ACL
- default: установить команду в значение по умолчанию
Ограничение доступа к маршрутизатору
Динамические списки доступа
Рефлексивные списки доступа
Ограничение по времени
Поиск проблем
Пример
Мы видим что у нас есть два ACL (стандартный и расширенный) под названиями nick и nick5. Первый список разрешает хосту 172.16.1.1 обращаться по IP (это значит что разрешены все протоколы работающие поверх IP) к хосту 10.0.0.5. Весь остальной трафик запрещен показывает команда deny ip any any. Рядом с этим условием в нашем примере пишет (16 match(es)). Это показывает что 16 пакетов попали под это условие.
Второй ACL разрешает проходить трафик от любого источника в сети 172.16.0.0/16.
Практика
Я собрал лабораторные работы для Packet Tracer с 5 главы курса CCNA 4 по теме ACL. Если у вас есть желание закрепить знания на практике, пожалуйста — ссылка, зеркало — FTP. Размер — 865.14 KB.
Сегодня я расскажу вам о том, как отфильтровать трафик в сети с помощью списков контроля доступа. Рассмотрим как они работают соответственно, что собой представляют, для чего предназначены. Позже я покажу как они настраиваются в Cisco IOS и выложу архив с лабораторными работами для закрепления ваших знаний.
Введение
ACL (Access Control List) — это набор текстовых выражений, которые что-то разрешают, либо что-то запрещают. Обычно ACL разрешает или запрещает IP-пакеты, но помимо всего прочего он может заглядывать внутрь IP-пакета, просматривать тип пакета, TCP и UDP порты. Также ACL существует для различных сетевых протоколов (IP, IPX, AppleTalk и так далее). В основном применение списков доступа рассматривают с точки зрения пакетной фильтрации, то есть пакетная фильтрация необходима в тех ситуациях, когда у вас стоит оборудование на границе Интернет и вашей частной сети и нужно отфильтровать ненужный трафик.
Вы размещаете ACL на входящем направлении и блокируете избыточные виды трафика.
Теория
- На интерфейсе: пакетная фильтрация
- На линии Telnet: ограничения доступа к маршрутизатору
- VPN: какой трафик нужно шифровать
- QoS: какой трафик обрабатывать приоритетнее
- NAT: какие адреса транслировать
Сам же ACL представляет собой набор текстовых выражений, в которых написано permit (разрешить) либо deny (запретить), и обработка ведется строго в том порядке в котором заданы выражения. Соответственно когда пакет попадает на интерфейс он проверяется на первое условие, если первое условие совпадает с пакетом, дальнейшая его обработка прекращается. Пакет либо перейдет дальше, либо уничтожится.
Ещё раз, если пакет совпал с условием, дальше он не обрабатывается. Если первое условие не совпало, идет обработка второго условия, если оно совпало, обработка прекращается, если нет, идет обработка третьего условия и так дальше пока не проверятся все условия, если никакое из условий не совпадает, пакет просто уничтожается. Помните, в каждом конце списка стоит неявный deny any (запретить весь трафик). Будьте очень внимательны с этими правилами, которые я выделил, потому что очень часто происходят ошибки при конфигурации.
- Стандартные (Standard): могут проверять только адреса источников
- Расширенные (Extended): могут проверять адреса источников, а также адреса получателей, в случае IP ещё тип протокола и TCP/UDP порты
- Стандартные: от 1 до 99
- Расширенные: от 100 до 199
Виды ACL
Динамический (Dynamic ACL)
Рефлексивный (Reflexive ACL)
Здесь ситуация немножко отличается, когда узел в локальной сети отправляет TCP запрос в Интернет, у нас должен быть открытый проход, чтобы пришел TCP ответ для установки соединения. Если прохода не будет — мы не сможем установить соединение, и вот этим проходом могут воспользоваться злоумышленники, например проникнуть в сеть. Рефлексивные ACL работают таким образом, блокируется полностью доступ (deny any) но формируется ещё один специальный ACL, который может читать параметры пользовательских сессий, которые сгенерированны из локальной сети и для них открывать проход в deny any, в результате получается что из Интернета не смогут установить соединение. А на сессии сгенерированны из локальной сети будут приходить ответы.
Ограничение по времени (Time-based ACL)
Настройка
- Обработка ведется строго в том порядке, в котором записаны условия
- Если пакет совпал с условием, дальше он не обрабатывается
- В конце каждого списка доступа стоит неявный deny any (запретить всё)
- Расширенные ACL нужно размещать как можно ближе к источнику, стандартные же как можно ближе к получателю
- Нельзя разместить более 1 списка доступа на интерфейс, на протокол, на направление
- ACL не действует на трафик, сгенерированный самим маршрутизатором
- Для фильтрации адресов используется WildCard маска
Стандартный список доступа
- permit: разрешить
- deny: запретить
- remark: комментарий о списке доступа
- address: запрещаем или разрешаем сеть
- any: разрешаем или запрещаем всё
- host: разрешаем или запрещаем хосту
- source-wildcard: WildCard маска сети
- log: включаем логгирование пакеты проходящие через данную запись ACL
Расширенный список доступа
- protocol source: какой протокол будем разрешать или закрывать (ICMP, TCP, UDP, IP, OSPF и т.д)
- deny: запретить
- operator:
A.B.C.D — адрес получателя
any — любой конечный хост
eq — только пакеты на этом порте
gt — только пакеты с большим номером порта
host — единственный конечный хост
lt — только пакеты с более низким номером порта
neq — только пакеты не на данном номере порта
range — диапазон портов - port: номер порта (TCP или UDP), можно указать имя
- established: разрешаем прохождение TCP-сегментов, которые являются частью уже созданной TCP-сессии
Прикрепляем к интерфейсу
- in: входящее направление
- out: исходящее направление
Именованные списки доступа
- standard: стандартный ACL
- extended: расширенный ACL
- default: установить команду в значение по умолчанию
Ограничение доступа к маршрутизатору
Динамические списки доступа
Рефлексивные списки доступа
Ограничение по времени
Поиск проблем
Пример
Мы видим что у нас есть два ACL (стандартный и расширенный) под названиями nick и nick5. Первый список разрешает хосту 172.16.1.1 обращаться по IP (это значит что разрешены все протоколы работающие поверх IP) к хосту 10.0.0.5. Весь остальной трафик запрещен показывает команда deny ip any any. Рядом с этим условием в нашем примере пишет (16 match(es)). Это показывает что 16 пакетов попали под это условие.
Второй ACL разрешает проходить трафик от любого источника в сети 172.16.0.0/16.
Практика
Я собрал лабораторные работы для Packet Tracer с 5 главы курса CCNA 4 по теме ACL. Если у вас есть желание закрепить знания на практике, пожалуйста — ссылка, зеркало — FTP. Размер — 865.14 KB.
Проверка
Для этой конфигурации отсутствует процедура проверки.
Предварительные условия
Требования
Прежде чем использовать эту конфигурацию, убедитесь, что выполняются следующие требования:
Имеются основные сведения об IP-адресации
Используемые компоненты
Данный документ не ограничен отдельными версиями программного и аппаратного обеспечения.
Условные обозначения
Дополнительные сведения об условных обозначениях см. в разделе Технические советы Cisco. Условные обозначения.
Читайте также: