ACLcheck — утилита проверки списков доступа Cisco IOS
Если Вы не раз сталкивались с большими списками доступа или входящими в них object-группами, то наверняка уже задавались вопросом, существует ли инструмент, позволяющий определить, пропустит ли access-лист определённый пакет и какие строки сработают.
Конечно, такие инструменты существуют и полностью или частично решают перечисленные задачи. Однако, они, как правило, являются частью мощных «комбайнов» управления сетью, 90% функционала которых Вас не интересует.
Безусловно, никто не запрещает использовать регулярные выражения для поиска определённых строк списка доступа прямо с консоли сетевого устройства. Но данный метод предоставит очень поверхностный результат. Например, он не отобразит доступ хоста, попадающего в сетевую маску или порт, попадающий под диапазон. Тем более, таким образом нельзя отобразить все существующие доступы между двумя заданными узлами или сетями. Опытный сетевой администратор осведомлён о безрезультативности метода простого парсинга access-листа для таких задач.
Рассматриваемая небольшая утилита создана именно для этого — найти строки access-листа, разрешающие или запрещающие определённый сетевой трафик, и даже более — выявить все строки, имеющие отношение к доступам между между заданными точками.
Идея простая: программа находит строки access-листа, удовлетворяющие заданному критерию. Сам критерий выглядит как строка access-листа, но без использования оператора «permit» или «deny».
Если регулярно добавлять сетевые правила в access-лист без проверки их существования, то списки доступа станут содержать большое количество избыточных правил. Для решения этой задачи в программе реализован функционал анализа списка доступа на избыточность. С его помощью можно выявить лишние правила и высвободить ресурсы оборудования.
При использовании в ACL object-групп программе необходимо передать (скопировать) их состав. В итоговом ACL такие группы будут представлены элементарными правилами.
Интерфейс программы
Рис.1 Главное окно
На рисунке 1 представлено главное окно программы со следующими элементами:
1 — поле ввода access-листа
2 — поле ввода object-групп
3 — запуск распознавания access-листа
4 — поле вывода распознанного access-листа
5 — однострочное поле ввода условия
6 — многострочный список ввода условий
7 — прямая проверка условия
8 — обратная проверка условия
9 — поле результата проверки
10 — шкала позиционирования сработавших строк ACL
11 — поле просмотра деталей сработавших строк ACL
12 — анализ ACL на конфликты и избыточность
13 — упорядочивание строк ACL по различным критериям
14 — указатель текущего активного условия в многострочном списке (6)
15 — поле краткого обозначения результатов проверки списка условий (6)
16 — переключатель типа маски
17 — переключатель алгоритма проверки адресов источника и назначения
18 — игнорирование строк ACL с ICMP в режиме частичного совпадения адресов
19 — выбор вариантов использования имени ACL в командах CLI
20 — вывод object-групп, используемых в распознанном ACL
21 — вывод поддерживаемых протоколов, а также типов и кодов ICMP
22 — поле вывода ошибок распознавания ACL
Основные шаги
Исходный access-list необходимо скопировать в поле 1. Если он содержит object-группы, то их состав необходимо скопировать в поле 2. ACL и object-группы можно копировать как с конфигурации устройства (“show running-config”, “show startup-config”), так и с результата команд “show access-lists”, “show object”.
Ниже приведён пример результата команды “show running-config”, допустимого для использования в поле 1:
ip access-list extended ACL permit icmp host 172.16.0.6 host 172.21.0.6 permit ip host 172.16.0.6 host 172.21.0.1 permit tcp host 192.168.8.15 range 1024 65534 host 192.168.66.47 permit tcp 192.168.8.0 0.0.0.255 eq 22 1521 3389 addrgroup ADMIN_BSD permit tcp host 192.168.8.12 eq 1521 192.168.83.20 0.0.0.1
Тот же access-list по команде “show access-lists”:
Extended IP access list ACL 10 permit icmp host 172.16.0.6 host 172.21.0.6 20 permit ip host 172.16.0.6 host 172.21.0.1 (32 matches) 30 permit tcp host 192.168.8.15 range 1024 65534 host 192.168.66.47 40 permit tcp 192.168.8.0 0.0.0.255 eq 22 1521 3389 addrgroup ADMIN_BSD (1 match) 50 permit tcp host 192.168.8.12 eq 1521 192.168.83.20 0.0.0.1
Пример результата команды “show running-config”, допустимого для использования в поле 2:
object-group ip address ADMIN_BSD host-info 10.237.92.131 host-info 10.22.145.132 host-info 10.22.145.136 host-info 10.22.145.141
Содержимое вывода команды “show object-group”:
IP address object group ADMIN_BSD host 10.237.92.131 host 10.22.145.132 host 10.22.145.136 host 10.22.145.141
Также допустимы и другие форматы object-групп.
Пример допустимого фрагмента команды “show running-config”:
object-group network Servers host 10.15.12.5 host 10.15.5.11 host 10.15.4.2 host 10.15.7.34 object-group service Ports1 tcp-udp eq domain tcp-udp eq 88 udp range 3268 3269 tcp gt 49151
Пример того же фрагмента команды “show object-group”:
Network object group Servers host 10.15.12.5 host 10.15.5.11 host 10.15.4.2 host 10.15.7.34 Service object group Ports1 tcp-udp eq domain tcp-udp eq 88 udp range 3268 3269 tcp gt 49151
Поддерживаются и вложенные группы:
object-group network zzz 5.5.5.0 255.255.255.0 host 6.6.6.6 object-group network yyy host 3.3.3.3 group-object zzz object-group network xxx host 1.1.1.1 group-object zzz group-object yyy permit udp any object-group xxx eq 21 permit tcp object-group xxx host 7.7.7.7 eq ftp permit tcp object-group xxx object-group xxx eq 22 permit tcp object-group yyy object-group xxx eq ftp
После копирования ACL и object-групп необходимо нажать кнопку 3. В результате access-list будет распознан и отображён в развёрнутом виде (в случае использования object-групп) в поле 4. Если на этапе распознавания возникли ошибки, то они будут отображены в поле 22. Результат ошибки можно скопировать в буфер обмена.
Строки, полученные из object-групп, дополняются спереди цифрой ‘0’ (рис.2).
Рис.2 Стока получена из object-группы
Если access-лист скопирован вместе с его заголовком, то активируется кнопка 19, позволяющая использовать команды конфигурирования, содержащие имя access-листа. Посмотреть список используемых в access-листе object-групп можно кнопкой 20 (рис.3).
Рис.3 Список используемых object-групп
Названия используемых в access-листе объектов в упорядоченном виде отобразятся в левой части окна. Выбор соответствующей группы покажет её детали в правой части окна.
После того, как access-лист будет распознан, в поле 5 необходимо ввести условие для поиска интересуемого нас доступа и нажать кнопку 7. Результат поиска доступа отобразится в поле 9. При наличии доступа более детальная информация о нём появится в поле 11. Место расположения сработавших строк в access-листе можно определить по шкале 10. Вызов контекстного меню “Показать результат” по правой кнопке мыши на поле 11 позволит отобразить строки ACL, удовлетворяющие условию поиска.
Пример 1. Проверка существования доступа между заданными узлами по определённому порту.
Предположим, нас интересует наличие доступа с хоста 192.168.1.2 по порту TCP 1521 на сервер 192.168.2.2 в следующем списке доступа:
ip access-list extended ACL 10 permit tcp 192.168.1.0 0.0.0.255 192.168.2.0 0.0.0.255 range 1521 1522 20 permit tcp host 192.168.1.2 any 30 permit tcp host 192.168.1.3 any eq 1521
Копируем access-лист в поле 1 и нажимаем кнопку 3. В поле 5 вводим следующее условие:
tcp host 192.168.1.2 gt 1023 host 192.168.2.2 eq 1521
Нажимаем кнопку 7 или клавишу “Enter”.
В поле 9 отобразится результат:
Разрешено в строке 1: 10 permit tcp 192.168.1.0 0.0.0.255 192.168.2.0 0.0.0.255 range 1521 1522
Имеются ещё совпадения
Здесь значение “1:” является результатом сквозной нумерации строк распознанного ACL, а “10” – номер строки в исходном ACL. Надпись “Имеются ещё совпадения” означает, что в ACL присутствуют и другие строки, в которых теоретически может сработать наше условие. Результаты совпадения правил можно просмотреть в поле 11. Если на этом поле вызвать контекстное меню (правой кнопкой мыши) и выбрать пункт “Показать результат”, то появится дополнительное окно с выборкой сработавших строк ACL.
Пример 2. Определение узлов заданной сети, к которым имеется доступ по определённому порту.
Рассмотрим ситуацию, когда требуется выяснить, к каким серверам сети 192.168.2.0 /24 открыт доступ по SSH (TCP 22). Список доступа следующий:
ip access-list extended ACL 10 permit tcp 192.168.1.0 0.0.0.255 192.168.2.0 0.0.0.255 range 1521 1522 20 permit tcp any 192.168.2.0 0.0.0.3 eq 22 3389 30 permit tcp host 192.168.1.3 host 192.168.2.254 40 permit tcp host 192.168.1.10 any
Копируем access-лист в поле 1 и нажимаем кнопку 3.
Ставим переключатель 17 в положение “частичное по src и dst”. Алгоритм будет учитывать строки ACL, в которых IP-адреса источника и назначения полностью или частично попадают в диапазон адресов, указанный в условии.
В поле 5 вводим следующее условие:
tcp any gt 1023 any eq 22
Нажимаем кнопку 7 или клавишу “Enter”.
В поле 9 отобразится результат:
Блок
Результаты совпадения правил можно просмотреть в поле 11. Если на этом поле вызвать контекстное меню (правой кнопкой мыши) и выбрать пункт “Показать результат”, то появится дополнительное окно с выборкой сработавших строк ACL. Символ “?” в этом окне означает частичное совпадение по адресам.
Пример 3. Определение доступов, открытых между определёнными узлами.
Выясним, какие доступы открыты от узла 192.168.1.10 к узлу 192.168.2.254 в следующем ACL:
ip access-list extended ACL 10 permit tcp 192.168.1.0 0.0.0.255 192.168.2.0 0.0.0.255 range 1521 1522 20 permit tcp any 192.168.2.0 0.0.0.3 eq 22 3389 30 permit tcp host 192.168.1.3 host 192.168.2.254 40 permit tcp host 192.168.1.10 any
Копируем access-лист в поле 1 и нажимаем кнопку 3.
Ставим переключатель 17 в положение “частичное по src и dst”.
В поле 5 вводим следующее условие:
ip host 192.168.1.10 host 192.168.2.254
Метод состоит в том, что заданное условие рассматривается как access-лист, а каждая строка исходного ACL как отдельное условие. Другими словами, условие и ACL меняются ролями. Именно поэтому кнопка (8), решающая эту задачу, называется “Обратная проверка”.
Нажимаем кнопку 8 или комбинацию “Ctrl-Enter”.
В поле 9 отобразится результат:
Блок
Результаты совпадения правил можно просмотреть в поле 11. Если на этом поле вызвать контекстное меню (правой кнопкой мыши) и выбрать пункт “Показать результат”, то появится дополнительное окно с выборкой сработавших строк ACL. Символ “?” в этом окне означает частичное совпадение по адресам.
Важным требованием при такой проверке является необходимость установки переключателя 17 в среднее положение “частичное по src и dst”.
Зачастую для правильной работы сети необходимо открывать протокол ICMP полностью для всех сегментов. Описанная в это разделе проверка доступов по протоколу IP между узлами среди прочих результатов будет отображать срабатывание таких правил ICMP. Если ICMP открыт по всей сетевой инфраструктуре, то наличие доступов по ICMP можно считать по умолчанию и не отображать их в результатах анализа access-листов. Для игнорирования доступов с ICMP предусмотрен переключатель 18.
Многострочный список условий (поле 6)
Список условий (6) предназначен для ввода нескольких условий и последовательной их проверки. Метод подходит для проверки некого шаблонного набора доступов, либо для сравнения разных доступов, имеющих небольшие различия. Для ввода каждого следующего условия (новой строки) предусмотрена комбинация “Shift-Enter”. Поддерживается вставка текста с буфера обмена. Для проверки условия из списка необходимо установить на него курсор и нажать кнопку 7 (Enter) или 8 (Ctrl-Enter). В поле 15 напротив строки условия отобразится соответствующий символ результата. Он сохранится до изменения условия в этой строке списка. Маркер 14 указывает на активное условие в списке.
Сортировка (кнопка 13)
Распознанный access-list, выведенный в развёрнутом виде в поле 4, можно упорядочить по различным критериям и их комбинации. При нажатии на кнопку сортировки (13) открывается дополнительное окно (см. рис. 4).
Рис.4 Окно сортировки
1-7 — кнопки включения элементов в цепь сортировки
8 — отображение исходных номеров строк
9 — режим группирования результатов сортировки
10 — сворачивать в object-группы
Каждый следующий критерий в цепочке выбирается соответствующей кнопкой.
Рассмотрим следующий список доступа:
1 permit udp 192.168.8.0 0.0.0.255 host 192.168.38.24 eq syslog 2 permit tcp 192.168.8.0 0.0.0.255 host 192.168.38.23 eq 1514 3 permit tcp 192.168.8.0 0.0.0.255 host 192.168.38.24 eq 1514 4 permit tcp 192.168.8.0 0.0.0.255 host 192.168.38.23 eq 4041 5 permit tcp 192.168.8.0 0.0.0.255 host 192.168.12.26 6 permit ip 192.168.8.0 0.0.0.255 192.168.41.0 0.0.0.255 7 permit ip 192.168.8.0 0.0.0.255 host 192.168.41.31
Чтобы упорядочить эти строки сначала по IP адресу назначения, а затем по протоколу, необходимо нажать последовательно кнопки 5 и 1. Полученный результат представлен на рисунке 5.
Рис.5 Результат сортировки
Цифры в круглых скобках на соответствующих кнопках указывают позицию элемента в цепочке сортировки. При отключении элемента из цепочки также исключаются все элементы с номерами выше отключенного.
Опция 10 предназначена для сортировки ACL с сохранением object-групп. Сначала строки с object-группами трансформируются в элементарные правила. После этого производится упорядочивание строк. На этом этапе строки, полученные из одной исходной строки с object-группой, оказываются в разных местах ACL. В такой ситуации расположение строки с object-группой в отсортированном ACL определяется по максимальной концентрации правил, полученных из исходной строки.
Рассмотрим следующий ACL:
10 permit tcp 192.168.8.0 0.0.0.255 eq 1521 addrgroup Empl_Center 20 permit udp 192.168.5.0 0.0.0.255 host 10.232.202.18 30 permit udp 192.168.8.0 0.0.0.255 host 192.168.7.34 eq ntp domain 40 permit tcp host 192.168.8.21 addrgroup HB_WEB_DMZ eq 12040 12060 50 permit tcp 192.168.8.0 0.0.0.255 eq 1521 host 10.237.49.254
Имеющий следующие object-группы:
object-group ip address Empl_Center host-info 10.237.49.100 host-info 10.237.49.6 host-info 10.237.130.15 object-group ip address HB_WEB_DMZ host-info 10.232.202.12 host-info 10.232.202.16 host-info 10.232.202.19
Сортировка по адресу назначения (кнопка “dst addr”) отобразит следующий результат (рис.6):
Рис.6 Результат сортировки при наличии object-групп.
Присутствие “0” вначале строк означает, что строка получена путём извлечения содержимого object-групп. Обратите внимание, как изменилось положение исходных строк 20 и 40.
Активируем сворачивание результатов обратно в object-группы (переключатель 10). Получим следующий результат (рис.7):
Рис.7 Результат сортировки с поддержкой object-групп.
Для использования готового ACL достаточно снять галочку нумерации строк и скопировать содержимое.
В реальных задачах упорядочивание ACL, содержащего object-группы, может привести к большому разбросу строк, полученных из этих object-групп. В отсортированном ACL новым местом для сворачивания таких строк обратно в object-группы алгоритм выбирает ту развёрнутую строку, к которой ближе всех находятся остальные строки её группы.
Анализ на конфликты и избыточность (кнопка 12)
Кнопка “Анализ” (12) становится активной после распознания access-листа. Её нажатие запускает процесс анализа строк access-листа на конфликты и избыточность. Конфликтующей является строка access-листа, которая никогда не сработает из-за вышестоящего правила противоположного значения (“deny” после “permit” или наоборот).
К примеру, загрузим следующий ACL:
10 permit icmp any any 20 permit tcp host 10.15.2.11 eq 1521 host 10.15.1.10 30 deny tcp 10.15.2.0 0.0.0.255 10.15.0.0 0.0.31.255 40 permit udp 10.15.2.0 0.0.0.255 host 10.19.9.232 50 permit udp 10.15.2.0 0.0.0.255 host 10.19.9.120 eq syslog 60 permit tcp host 10.15.2.11 eq 1521 host 10.15.7.11
Распознаем его (кнопка 3) и нажмём кнопку “Анализ” (12). Программа предупредит нас о имеющихся конфликтах (рис. 8):
Рис.8 Сообщение о наличии конфликтов
Кнопка “Да” откроет окно с результатами анализа, включающими только конфликты (рис. 9):
Рис.9 Окно результатов анализа конфликтов
Если нажать кнопку ‘Нет’ (рис.8), то откроется окно, включающее как конфликтующие, так и избыточные правила.
Рассмотрим следующий access-list:
10 permit icmp any any 20 permit tcp host 192.168.1.10 host 192.168.2.20 eq 22 30 permit tcp host 192.168.1.10 host 192.168.2.20 40 permit ip 192.168.1.0 0.0.0.255 192.168.2.0 0.0.0.255
Анализ такого ACL отобразит следующие результаты:
Рис.10 Окно результатов анализа
Жирным шрифтом выделены строки, описывающие более общие правила для других более детальных правил, имеющихся в ACL. Далее такие избыточные более детальные правила будем называть производными. Остальные строки (обычный шрифт) являются производными правилами.
Установив курсор на определённой строке с нажатой клавишей “Ctrl”, получим детальную информацию в нижней части окна (рис.11):
Рис.11 Детализация анализа строки
1 — поле результатов
2 — поле детализации выбранного правила
3 — иерархический вид детализации
В данном случае правило 2 является производным от правила 3. В свою очередь, правило 3 входит в правило 4. Визуально уровень такой вложенности можно определить по отступам строки вправо или выбрать иерархический вид (3). При иерархическом виде производные правила будут выведены ниже строк, в которые они входят. В поле 1 можно выделить диапазон интересуемых строк и вызвать контекстное меню (правой кнопкой мыши) со следующими вариантами действий над результатами анализа:
- “Cкопировать всё”. Данный выбор копирует все правила поля 1 с исходными номерами строк вне зависимости от выделенного диапазона;
- “Скопировать с префиксом ‘no’”. Данный пункт скопирует правила выделенного диапазона с префиксом ‘no’ вначале каждой строки. Номера строк не копируются. Используется для безусловного удаления строк из ACL;
- “Скопировать с префиксом ‘no’ избыточные правила”. Данный пункт скопирует избыточные правила выделенного диапазона с префиксом ‘no’ вначале каждой строки. Номера строк не копируются;
- “Скопировать с префиксом ‘no’ избыточные правила, не имеющие производных”. Данный пункт работает как и предыдущий, но для правил, которые сами по себе не имеют производных от них избыточных правил. Рекомендован для поэтапного удаления избыточных правил от более детальных к более общим. После каждого прохода необходимо загружать обновлённый ACL и анализировать его заново. Такой способ позволяет принять решение по оптимизации правил на определённом уровне детализации;
- “Скрыть производные этого вхождения”. Пункт исключает из результатов текущее указанное правило и производные от него.
Загрузим и проанализируем следующий access-лист:
1 permit tcp any host 192.168.2.20 eq 22 2 permit tcp host 192.168.1.10 host 192.168.2.20 eq 22 3 permit tcp host 192.168.1.10 any eq 22 4 permit ip 192.168.1.0 0.0.0.255 192.168.2.0 0.0.0.255
В окне анализа (рис.12) подробности по сроке 2 можно получить двумя способами:

- установить на неё курсор с нажатой клавишей “Ctrl”;
- установить на неё курсор, а затем нажать “Enter”.
Рис.12 Множественная избыточность.
По цветовому выделению можно определить для каких более общих правил эта строка является производной (избыточной).
Следует учитывать, что избыточные строки access-листа, полученные из object-групп, нельзя удалить, т.к. в исходном ACL они не присутствуют отдельными правилами. По этой причине при попадании таких строк в диапазон к удалению они не будут скопированы, а на экране появится предупреждение (рис.13):
Рис.13 Предупреждение об исключении групповых правил.
В некоторых случаях операторы “permit” и “deny” намеренно присутствуют в определённых местах одного ACL для его упрощения. Следует учитывать этот факт и анализировать такие ACL частями. Например, до и после операторов “deny”. Либо анализировать полностью, но дополнительно обращать внимание на порядок следования конфликтующих строк в ACL и не удалять такие производные строки из исходного ACL.
Поддерживаемые протоколы (кнопка 21)
Кнопка 21 отображает список поддерживаемых программой имён портов TCP и UDP, а также кодов ICMP-сообщений (рис.14).
Рис.14 Фрагмент списка портов и кодов ICMP.
Опции запуска программы
Предусмотрены следующие опции запуска exe-файла:
/h, /?, /help — вызов справки параметров запуска
/l (rus) — выбор языка
/nm — включение режима “netmask”
/pm (and,or) — выбор режима совпадения адресов
/skipicmp — включение режима “игнорировать ICMP при частичном совпадении”.
- cisco ACL test
- access-list check
- проверка списков доступа cisco
Eq domain cisco что за порт
- Информационный материал
- Метод. документация
- Метод. рекомендации
- Лабораторные работы
- Практические работы
- СРС
- Лабораторные работы
- Лекции
- Темы СРС
- Лабораторные работы
- Лекции МДК 02.01
- Темы СРС
- Лабораторные работы
- Лекции
- Темы СРС
- Достижения
- Достижения студентов/школьников
- Кроссворды
Главная » Компьютерные сети » Настройка Cisco ASA. Урок 2.5. Настройка динамического PAT – сопоставление разных внутренних подсетей разным адресам PAT.
Настройка Cisco ASA. Урок 2.5. Настройка динамического PAT – сопоставление разных внутренних подсетей разным адресам PAT.

Сценарий 2: сопоставление разных внутренних подсетей разным адресам PAT
Версии Cisco ASA до 8.3
Используя параметр nat-id, мы можем связать две или более пары операторов nat / global, чтобы сопоставить разные подсети внутренней сети с разными адресами PAT, как показано на рисунке ниже:

ciscoasa(config)# nat (inside) 1 192.168.1.0 255.255.255.0
ciscoasa(config)# global (outside) 1 100.1.1.1 netmask 255.255.255.255
ciscoasa(config)# nat (inside) 2 192.168.2.0 255.255.255.0
ciscoasa(config)# global (outside) 2 100.1.1.2 netmask 255.255.255.255
Исходящие соединения из внутренней подсети 192.168.1.0/24 будут исходить из адреса 100.1.1.1, а исходящие соединения из подсети 192.168.2.0/24 будут исходить из адреса 100.1.1.2.
Cisco ASA версии 8.3 и новее
В этом сценарии внутренняя сеть 192.168.1.0/24 будет скрыта за адресом PAT 100.1.1.1, а также внутренняя сеть 192.168.2.0/24 будет скрыта за адресом PAT 100.1.1.2.
ciscoasa(config)# object network internal_lan1
ciscoasa(config-network-object)# subnet 192.168.1.0 255.255.255.0
ciscoasa(config-network-object)# nat (inside,outside) dynamic 100.1.1.1
ciscoasa(config)# object network internal_lan2
ciscoasa(config-network-object)# subnet 192.168.2.0 255.255.255.0
ciscoasa(config-network-object)# nat (inside,outside) dynamic 100.1.1.2
Сценарий 3: сочетание динамического NAT с преобразованием PAT
Мы можем использовать пул внешних общедоступных IP-адресов для динамической трансляции NAT и дополнить этот пул одним адресом PAT на случай, если адреса в глобальном пуле исчерпаны.
Версии Cisco ASA до 8.3
ciscoasa(config)# nat (inside) 1 192.168.1.0 255.255.255.0
ciscoasa(config)# global (outside) 1 100.1.1.100-100.1.1.253 netmask 255.255.255.0
ciscoasa(config)# global (outside) 1 100.1.1.254 netmask 255.255.255.255
Исходящим соединениям из внутренней сети 192.168.1.0/24 назначаются адреса из диапазона от 100.1.1.100 до 100.1.1.253. Если брандмауэр назначает все адреса из своего динамического пула, он перейдет к своему адресу PAT 100.1.1.254.
Cisco ASA версии 8.3 и новее
Сопоставленный пул IP-адресов 100.1.1.100-100.1.1.253 будет использоваться для динамического преобразования NAT внутренней сети 192.168.1.0/24. Если сопоставленный пул исчерпан, для преобразования будет использоваться единственный адрес PAT 100.1.1.254.
ciscoasa(config)# object network mapped_IP_pool
ciscoasa(config-network-object)# range 100.1.1.100 100.1.1.253
ciscoasa(config)# object network PAT_IP
ciscoasa(config-network-object)# host 100.1.1.254
ciscoasa(config)# object-group network nat_pat
ciscoasa(config-network-object)# network-object object mapped_IP_pool
ciscoasa(config-network-object)# network-object object PAT_IP
ciscoasa(config)# object network internal_lan
ciscoasa(config-network-object)# subnet 192.168.1.0 255.255.255.0
ciscoasa(config-network-object)# nat (inside,outside) dynamic nat_pat
Per-Session PAT и Multi-Session PAT (для ASA 9.x и новее)
В ASA версии 9.x Port Address Translation (PAT) было улучшено двумя типами механизмов PAT: Per-session PAT и Multi-Session PAT.
- Per-SessionPAT: этот механизм PAT включен по умолчанию для всего TCP-трафика и UDP-трафика DNS. Per-Session PAT значительно улучшает масштабируемость PAT, потому что в конце каждого сеансового PAT-соединения ASA отправляет сброс и немедленно удаляет преобразование, тем самым разрывая соединение и, следовательно, освобождая ресурсы на устройстве. Для трафика «hit-and-run», такого как HTTP или HTTPS, функция сеанса очень эффективна. Однако для трафика в реальном времени (например, VoIP, H323, SIP и т. Д.) Per-Session PAT не подходит.
Как мы уже говорили выше, сеанс PAT включен по умолчанию. По умолчанию настроены следующие правила PAT:
xlate per-session permit tcp any4 any4
xlate per-session permit tcp any4 any6
xlate per-session permit tcp any6 any4
xlate per-session permit tcp any6 any6
xlate per-session permit udp any4 any4 eq domain
xlate per-session permit udp any4 any6 eq domain
xlate per-session permit udp any6 any4 eq domain
xlate per-session permit udp any6 any6 eq domain
ПРИМЕЧАНИЕ. В ASA версии 9.x ключевое слово конфигурации «any4» означает ВЕСЬ IPv4 трафик, а ключевое слово «any6» означает ВЕСЬ IPv6 трафик. Если вы используете ключевое слово «any», это означает ВЕСЬ трафик IPv4 и IPv6.
- Multi-Session PAT: Multi-session PAT, использует тайм-аут PAT, по умолчанию 30 секунд, прежде чем разрывать преобразование и, следовательно, соединение. Multi-Session PAT применим для трафика VoIP, H323, SIP и Skinny. Поэтому всякий раз, когда у вас есть такой трафик в вашей сети, рекомендуется запретить Per-Session PAT, чтобы использовать Multi-Session PAT.
Предположим, у нас есть сервер VoIP (или H323, сервер SIP и т. д.) в нашей сети (с IP 10.10.10.10), и мы хотим отключить Per-Session PAT для этого сервера. Вот как это сделать:
ASA(config)# xlate per-session deny tcp any4 10.10.10.10 eq 1720
ASA(config)# xlate per-session deny udp any4 10.10.10.10 range 1718 1719
Приведенная выше конфигурация создает правило запрета для трафика H.323 для сервера 10.10.10.10, поэтому он использует multi-session PAT.
Малоизвестные функции обеспечения безопасности IOS
B системе IOS компании Cisco имеется множество достаточно редко используемых функций, но тем не менее они весьма полезны для укрепления защищенности сети. В случае возвратных списков управления доступом (Reflexive Access Control Lists, RACL) можно более тщательно исследовать сетевой трафик и даже изменять путь передачи данных, представляющих особую важность, с помощью маршрутизации на базе правил (Policy Based Routing, PBR). Механизмы перехвата TCP (TCP Intercept) и проверки обратного маршрута пакетов IP (Unicast Reverse Path Forwarding, URPF) позволяют на границе сети ликвидировать представляющий угрозу безопасности трафик, проверив каждую попытку установления входящего соединения и ее источник. В следующих разделах описываются некоторые из этих полезных, но пока еще мало известных функций обеспечения безопасности маршрутизаторов Cisco.
ВОЗВРАТНЫЕ СПИСКИ УПРАВЛЕНИЯ ДОСТУПОМ
Как правило, списки контроля доступа (Access Control Lists, ACL) конфигурируются статически на отбрасывание либо пропуск тех или иных сетевых пакетов. В таком случае управление безопасностью сети затрудняется, так как обратный трафик для соединений, инициированных изнутри сети, должен быть разрешен явным образом. При использовании возвратных списков контроля доступа маршрутизатор автоматически делает записи в динамическом ACL, после чего тот может применяться для авторизации обратного трафика. Поскольку подобные динамические записи в ACL автоматически создаются для конкретного соединения и определяют при этом протокол, адреса отправления и назначения, а также порты соединения, их применение повышает безопасность сети, разрешая лишь трафик, который непосредственно связан с соединением, инициированным изнутри сети. Без данной функциональности было бы нелегко обеспечивать защиту, поскольку обратный трафик пришлось бы разрешить для всех возможных исходящих соединений.
Возвратные списки контроля доступа повышают функциональность расширенных именованных списков контроля доступа за счет включения двух дополнительных ключевых слов: reflect и evaluate. Слово reflect употребляется для обновления динамического ACL с помощью зеркального образа пакета, соответствующего конкретной записи в ACL. Обратный трафик впоследствии сопоставляется с этим динамическим ACL с помощью ключевого слова evaluate. Следующий далее пример содержит исходящий и входящий именованные расширенные списки ACL IP, необходимые для осуществления обмена данными клиента DNS с сервером DNS без использования возвратных ACL:
ip access-list extended OUTBOUND permit udp any any eq domain ip access-list extended INBOUND permit udp any eq domain any
Хотя такой сценарий может показаться вполне удовлетворительным, он, однако, позволяет любому компьютеру, находящемуся вне сети и посылающему трафик UDP на порт 53, осуществлять обмен данными посредством UDP с любым компьютером в сети. Применив в нашем примере команды reflect и evaluate, мы получим конфигурацию с более высоким уровнем защищенности:
ip access-list extended OUTBOUND permit udp any any eq domain reflect REFLEXIVE ip access-list extended INBOUND evaluate REFLEXIVE
В приведенном примере изменяемый динамически возвратный ACL допускает обратный трафик DNS. К примеру, если клиент с IP-адресом 192.168.1.1 обменивается данными с сервером DNS с адресом 172.16.1.1, то возвратный ACL модифицируется, при этом во входящий ACL добавляется строка udp host 172.16.1.1 eq domain host 192.168.1.1 eq 1024.
Запись из возвратного ACL удаляется в двух случаях: во-первых, это окончание сеанса TCP посредством выставления битов FIN или RST и, во-вторых, отсутствие трафика в сеансе TCP или UDP. Величину времени ожидания можно установить либо с помощью команды конфигурирования на глобальном уровне ip reflexive-list timeout, либо посредством опции timeout для конкретного возвратного ACL во время создания. Приводимый ниже фрагмент предыдущего примера дополнен для иллюстрации использования опции timeout:
ip access-list extended OUTBOUND permit udp any any eq domain reflect REFLEXIVE timeout 120
После того как возвратный ACL сконфигурирован, его динамическое содержимое можно просмотреть с помощью привилегированной команды EXEC — show access-list. Она выведет на экран список пакетов, соответствующих каждой записи, а также время в секундах, по истечении которого запись, находящаяся в неактивном состоянии, будет удалена.
МАРШРУТИЗАЦИЯ НА ОСНОВЕ ПРАВИЛ
Одно из многих применений маршрутизации на основе правил (Policy Based Routing, PBR) — перенаправление потока конфиденциальных данных по альтернативному пути с более высоким уровнем безопасности. Предлагаемые возможности включают как передачу трафика telnet по туннелю, поддерживающему протокол безопасности IPSec, так и пересылку критических данных приложения через выделенные интерфейсы. Для обеспечения защиты данных или изменения следующего транзитного узла для пакета IP, конфигурирование PBR привязано к маршрутизатору. Выполнение некоторого действия на основе правил предполагает конфигурирование вручную каждого маршрутизатора на пути следования данных от пункта отправления до пункта назначения.
Конфигурирование PBR предусматривает настройку нескольких компонентов. Во-первых, необходимо задать списки доступа, чтобы определить, к какому именно трафику будут применяться правила маршрутизации. Стандартные и расширенные списки доступа IP можно создать с помощью команды глобального конфигурирования access-list. Стандартные списки проверяют лишь поле с исходным IP-адресом, и их не следует использовать вместо более гибких расширенных или именованных расширенных списков доступа IP. Последние предоставляют улучшенные средства редактирования, а также возможность добавлять комментарии непосредственно в текст. Команда глобального конфигурирования ip access-list extended создает именованные расширенные списки доступа IP.
Затем создаются карты маршрутов (route map) для сопоставления состояния пакета с изменениями параметров. В действительности происходит следующее: карта маршрута «берет» пакет, удовлетворяющий некоторому списку доступа, и применяет к нему оператор изменения (один или более). Например, для пакетов, которыми обмениваются два узла, транзитный участок передачи можно изменить так, что они будут пересылаться по более медленному, но зато более защищенному пути вне зависимости от параметров протокола маршрутизации или текущей конфигурации статических маршрутов. Поскольку к интерфейсу можно применить только одну карту маршрута, она может иметь несколько экземпляров, причем каждый из них поддерживает различные параметры для разных видов трафика. Экземпляры применяются к трафику в последовательности, определяемой порядковыми номерами, начиная с меньших и заканчивая бо/льшими. Экземпляр карты маршрута создается с помощью команды глобального конфигурирования route-map, имеющей следующий синтаксис:
route-map NAME ACTION SEQNUM
В случае PBR поле ACTION необходимо всегда устанавливать в значение permit, оно предписывает применять параметры карты маршрута ко всем пакетам, удовлетворяющим требованиям данной карты. Список доступа привязывается к экземпляру карты с помощью команды конфигурирования карты маршрута match address, что показано ниже:
route-map NAME ACTION SEQNUM match address ACL
Маршрутизация на основе правил позволяет легко изменить маршрут передачи пакетов. Команда ip next-hop, наиболее востребованная при обеспечении защиты данных, изменяет путь следования трафика. Ниже представлен набор команд для создания экземпляра карты маршрута для изменения следующего транзитного узла передачи пакета:
route-map NAME ACTION SEQNUM match address ACL set ip next-hop NEXTHOP
После того как список доступа и карты маршрутов созданы, они применяются к интерфейсу с помощью команды конфигурирования интерфейса ip policy route-map. При этом система будет анализировать весь входящий трафик, поступающий на интерфейс, и пропускать без изменения трафик, передающийся помимо него. Приводимая далее конфигурация определяет пересылку всего трафика telnet на узел 192.168.4.100 по более медленному двухточечному (point-to-point) последовательному каналу передачи данных вместо более быстрой линии frame realy:
interface Ethernet1 ip address 192.168.1.1 255.255.255.0 ip policy route-map ROUTE-MAP interface Serial2 description T1 to Frame Relay ip address 192.168.2.1 255.255.255.252 encapsulation frame-relay interface Serial3 description 56k to Site B,remote router 192.168.3.2 ip address 192.168.3.1 255.255.255.252 ! ip access-list extended ROUTE-MAP-ACL permit tcp any host 192.168.4.100 eq 23 ! route-map ROUTE-MAP permit 10 match address ROUTE-MAP-ACL set ip next-hop 192.168.3.2
Хотя для нашего примера необходимости в этом нет, мы можем видоизменить ACL и включить в него различные параметры для разных типов трафиков, используя несколько экземпляров одной и той же карты маршрута. В дополнение к изменению следующего транзитного участка передачи пакета IP в целях повышения защищенности данных, как описано в предыдущем примере, трафик Web направляется на устройство кэширования Web:
ip access-list extended ROUTE-MAP-ACL permit tcp any host 192.168.4.100 eq 23 ! ip access-list extended WEB-CACHE-ACL deny tcp 192.168.1.100 any eq 80 permit tcp any host any eq 80 ! route-map ROUTE-MAP permit 10 match address ROUTE-MAP-ACL set ip next-hop 192.168.3.2 ! route-map ROUTE-MAP permit 20 match address WEB-CACHE-ACL set ip next-hop 192.168.1.100
Несмотря на возможность использования множества записей в списках доступа и множества экземпляров карт маршрутов, к интерфейсу может быть применена только одна карта.
Для увеличения эффективности маршрутизации пакетов на основе правил необходимо применить команду конфигурирования интерфейса ip route-cache policy, обеспечивающую быструю коммутацию на тех интерфейсах, где задействован механизм PBR. Ускорение коммутации достигается благодаря использованию кэша маршрутов, что существенно повышает производительность маршрутизатора, так как пакеты обрабатываются без прерывания работы основного процессора. Проверить факт включения режима быстрого переключения для пакетов, маршрутизируемых посредством PBR, можно с помощью команды EXEC show ip interface. Если строка со списком флагов кэша маршрутов IP содержит ключевое слово Policy, значит, быстрая коммутация пакетов, маршрутизируемых на основе правил, включена для данного интерфейса.
ПЕРЕХВАТ TCP
Задействуя механизм перехвата TCP, маршрутизатор может уменьшить воздействие атак по типу SYN flood на серверы организации. Указанный механизм отслеживает соединения TCP, соответствующие списку доступа, и гораздо более активно, нежели большинство серверных операционных систем, закрывает по истечении времени тайм-аута наполовину открытые соединения.
Перехват TCP можно настроить для работы в одном из двух режимов. Работая в режиме по умолчанию, маршрутизатор устанавливает соединения с внешними клиентами от имени сервера. После того как сеанс связи с клиентом успешно открыт, маршрутизатор организует соединение с сервером, а затем связывает эти два сеанса между собой. Подобный способ соединения прозрачен как для клиента, так и для сервера, однако требует больших ресурсов маршрутизатора. Такой режим работы известен как «режим перехвата» (intercept mode).
Второй режим, так называемый «режим наблюдения» (watch mode), позволяет маршрутизатору осуществлять пассивное слежение за соединениями TCP с сервером. В обычной ситуации (когда соединение успешно установлено) он не предпринимает никаких действий. Однако, если соединение не перешло в состояние ESTABLISHED по истечении времени тайм-аута, маршрутизатор посылает серверу сброс TCP, чтобы закрыть такое соединение. Интервал времени, после которого срабатывает таймер, по умолчанию равен 30 с. Его можно изменить с помощью команды глобального конфигурирования ip tcp intercept watch-timeout. Режим перехвата TCP включается командой глобального конфигурирования ip tcp intercept mode.
Если в какой-либо момент сервер имеет 1100 незавершенных соединений или за последнюю минуту наблюдалось 1100 попыток установления соединений, механизм перехвата TCP, работающий в режиме по умолчанию, переходит в агрессивное состояние: каждая попытка установления нового соединения приводит к удалению одного наполовину открытого соединения. По умолчанию удаляется самое раннее незавершенное соединение. В качестве альтернативы маршрутизатор можно настроить на удаление соединений, выбираемых случайным образом, — это можно сделать с помощью команды глобального конфигурирования ip tcp intercept drop-mode. Если перехват TCP работает в режиме наблюдения, то при переходе в агрессивное состояние время тайм-аута для наполовину открытых соединений сокращается вдвое (по умолчанию до 15 с).
Условие перехода механизма перехвата TCP в агрессивное состояние, а также его продолжительность настраивается с помощью следующих четырех команд глобального конфигурирования:
ip tcp intercept max-incomplete high VALUE
Если количество незавершенных соединений достигает значения VALUE, то механизм перехвата переходит в агрессивное состояние. Значение VALUE по умолчанию равно 1100.
ip tcp intercept max-incomplete low VALUE
Эта команда глобального конфигурирования сообщает маршрутизатору, в какой момент ему следует из агрессивного состояния вернуться в обычный режим работы. Значение VALUE по умолчанию равно 900.
ip tcp intercept one-minute high VALUE
Если количество попыток установления соединений за последнюю минуту достигло значения VALUE, то механизм перехвата переходит в агрессивное состояние. Значение VALUE по умолчанию равно 1100.
ip tcp intercept one-minute low VALUE
Маршрутизатор продолжает работать в агрессивном режиме до тех пор, пока количество активных соединений не упадет до значения, меньшего VALUE, которое по умолчанию равно 900.
Когда превышены оба нижних порога, маршрутизатор также переходит в агрессивное состояние и начинает удаление наполовину открытых соединений. В этом состоянии он находится до тех пор, пока оба значения не станут меньше соответствующих нижних порогов.
Приводимый пример настройки использует установки по умолчанию и требует минимального конфигурирования:
! ip tcp intercept list 100 ! access-list 100 permit any 192.168.1.0 0.0.0.255 !
Следующий пример несколько длиннее, в нем явным образом задаются режим перехвата и режим удаления незавершенных соединений, а также пороги перехода в агрессивное состояние:
! ip tcp intercept list 100 ip tcp intercept mode watch ip tcp intercept drop-mode random ip tcp intercept one-minute high 2000 ip tcp intercept one-minute low 1600 ! access-list 100 permit any 192.168.1.0 0.0.0.255 eq www access-list 100 permit any 192.168.1.0 0.0.0.255 eq smtp !
Оценить параметры работы сконфигурированной системы перехвата TCP можно лишь с помощью двух команд show. Первая, show tcp intercept connections, отображает список активных завершенных и незавершенных соединений. Для каждого из них выдается его состояние, а также счетчики времени с момента создания и до момента удаления по истечении тайм-аута. Вторая команда, show tcp intercept statistics, выводит на экран общее количество завершенных и незавершенных соединений, а также количество соединений, установленных за минуту. Эта важная информация поможет на начальном этапе конфигурирования системы перехвата TCP.
ПРОВЕРКА ОБРАТНОГО МАРШРУТА IP-ПАКЕТОВ
Механизм проверки обратного маршрута IP-пакетов (Unicast Reverse Path Forwarding, Unicast RPF) позволяет устранить ложные пакеты IP на границе сети. Он проверяет каждый пакет, поступающий на вход интерфейса маршрутизатора, выясняя с помощью локальной таблицы маршрутизации, получен ли данный пакет через соответствующий интерфейс. В некоторых случаях такую защиту проще реализовать с помощью списков доступа, однако в отличие от них Unicast RPF не требует, чтобы пакеты, поступающие на вход интерфейса граничного маршрутизатора извне, были бы инициированы внутренними клиентами. К тому же работа со списками доступа требует редактирования вручную. Это утомительная процедура, и она чревата ошибками в быстроменяющихся условиях, а также при использовании между партнерами по бизнесу или большими удаленными сайтами протоколов динамической маршрутизации.
Использование Unicast RPF оправдано, когда, например, организации требуется поддерживать контакты с находящимися вне ее территории бизнес-партнерами или, возможно, удаленными неавторизованными пользователями. Применение этого механизма к интерфейсам маршрутизаторов, связывающих такие объекты, гарантирует, что они не станут источниками ложных сетевых пакетов и определенных видов атак по типу «отказ в обслуживании» (Denial of Service, DoS). Провайдеры Internet могут повысить защищенность своей сети и Internet вообще, реализовав Unicast RPF для сетевых соединений со своими потребителями.
Поскольку в случае многоканальных (multihomed) соединений Internet трафик имеет определенную асимметрию, то невозможно гарантировать, что он полностью будет проходить по одному и тому же пути при передаче в сеть и обратно. По этой причине Unicast RPF не подходит для пограничных маршрутизаторов или маршрутизаторов в тех организациях, где имеются многоканальные соединения с Internet. Использование Unicast RPF в подобных условиях может повлечь блокирование полезного трафика.
Механизм Unicast RPF появился, начиная с версии Cisco 12.0, и работает только на тех платформах, которые поддерживает Cisco Express Forwarding. Конфигурирование Unicast RPF не представляет сложности и активизируется одной командой ip verify unicast reverse-path в режиме конфигурирования интерфейса. Если для интерфейса определены также и списки контроля доступа, то они проверяются прежде, чем пакет будет передан на обработку механизму Unicast RPF.
ОГРАНИЧЕНИЕ ДОСТУПА К МАРШРУТИЗАТОРАМ ПО ПРОТОКОЛУ TELNET
Обычно лишь относительно небольшому числу рабочих станций может потребоваться установление соединения с маршрутизаторами сети по протоколу telnet. Команда конфигурирования линии access-class позволяет точно определить, какие рабочие станции будут иметь доступ к маршрутизаторам, а какие нет. Если для находящихся внутри организации маршрутизаторов такое конфигурирование не обязательно, то для подключенных к Internet маршрутизаторов оно необходимо. Команда access-class принимает в качестве аргумента список ACL для разрешения/запрещения входящих соединений telnet:
access-list 90 permit 1.1.1.0 0.0.0.255 ! line vty 0 4 access-class 90 in
В приведенном примере доступ по протоколу telnet к данному маршрутизатору будут иметь лишь устройства с исходными IP-адресами в диапазоне от 1.1.1.0 до 1.1.1.255.
ЗАЩИТА ОТ ШИРОКОВЕЩАТЕЛЬНЫХ АТАК
Встречающаяся в распространенных атаках по типу DoS направленная широковещательная передача позволяет удаленному компьютеру посылать широковещательные пакеты сразу всем компьютерам некоторой подсети. До версии 12.0 после того, как широковещательные сообщения достигали подсети назначения, маршрутизаторы Cisco по умолчанию преобразовывали их в широковещательные пакеты MAC и отправляли далее. Эту функциональность обеспечивает поддерживаемая всеми версиями системы IOS команда конфигурирования интерфейса ip directed-broadcast.
Команда глобального конфигурирования ip forward-protocol предоставляет более широкие возможности, определяя, какие именно широковещательные пакеты разрешается пересылать далее. Она поддерживает достаточно большой список протоколов, включая tftp, bootp и netbios-ns.
Команда ip directed-broadcast принимает в качестве необязательного аргумента список контроля доступа, используемый для фильтрации широковещательных пакетов. Это дает дополнительный уровень контроля, когда необходимо определить класс разрешенных для дальнейшей передачи пакетов. В нижеследующем примере разрешены только те широковещательные пакеты, которые были инициированы внутри сети и используют закрытое адресное пространство 192.168.0.0:
interface Ethernet0 ip directed-broadcast 100 ! access-list 100 permit ip 192.168.0.0 0.0.255.255 any
ЗАКЛЮЧЕНИЕ
Безопасность сети — ускользающая цель, которая многими считается вообще недостижимой. Рассмотренные нами средства, хотя и не исчерпывают всех существующих возможностей, при правильном применении могут значительно повысить сетевую защиту.
Тим Сэммет работает старшим сетевым инженером в компании Logicon FDC. Он занимается проектированием сетей и реализацией сетевых служб для федерального правительства. С ним можно связаться по адресу: tim.sammut@feddata.com.
Настройка маршрутизатора Cisco — продолжение
Немного дополню первую часть, т.к. у нас все-таки маршрутизатор, то рассмотрим еще некоторые возможности. Начнем пожалуй со списков доступа.
Итак, что такое список доступа? Образно выражаясь, это набор правил по которым маршрутизатор отбирает маршрут или пакет.
Стандартные списки доступа.
Общий вид правила:
access-list номер действие источникномер — число идентифицирующее список (1-99 стандартные списки доступа для IP, 100-199 расширенные списки доступа для протокола IP)
действие — permit или deny (разрешить, запретить), в комментариях не нуждается.
источник — адрес источника пакетовaccess-list 5 deny 10.10.10.0 0.0.0.255 access-list 5 deny 10.10.20.0 0.0.0.255 access-list permit anyПример запрещает доступ для сетей 10.10.10.0 и 10.10.20.0 и разрешает для всех остальных.
Будьте внимательней, при составлении правил маршрутизатор обрабатывает правила последовательно и если поставить строку access-list permit any первый, то остальные два отрабатывать не будут.
Применение списка доступа к интерфейсу —
interface FastEthernet0/1 ip access-group outТо бишь мы запрещаем исходящий трафик на интерфейсе FastEthernet0/1 для вышеперечисленных сетей.
Списки доступа также можно применять для доступа по ssh (см. первую часть)-transport input ssh access-class 10 in access-list 10 permit host 10.10.10.45или для доступа к web-серверу маршрутизатора —
ip http server ip http access-class 25 ip http authentication aaa ip http port 8080Расширенные списки доступа:
access-list номер действие протокол источник исх_порт приемник цел_порт дополнительные_аргументыномер — аналогично обычному списку доступа только в диапазоне от 100 до 199
протокол -ip,tcp, udp или icmp, к которому применяется правило
источник — адрес источника
исх_порт — Исходящий порт для TCP и UDP
приемник — адрес приемника
цел_порт — порт назначения пакетов для UDP и TCPдополнительные_аргументы — необязательные аргументы, такие как established (все параметры можно найти в документации, здесь на них мы останавливаться не будем.)
Коментарии в списках доступа (remark)-
access-list 110 remark Блокировать директору все, достал! acces-list 110 deny ip 10.10.10.5 0.0.0.255 anyНастройка времени в списках доступа (time-range — глобальная команда) —
Рабочее время в будние дни:time-range block-http periodic weekdays 8:00 to 17:00Пример использования:
ip access-list extended list1 deny tcp any any eq www time-range block-http permit any anyЗдесь первое правило блокирует HTTP-трафик в рабочее время и разрешает прочий трафик.
Пример списка доступа —! Блокировать подделку наших IP-адресов (spoofing) access-list 110 deny ip 10.10.10.0 0.0.0.255 any ! Разрешить возвращение обратно в сеть любых исходящих ТСР-соединений access-list 110 permit tcp any any established ! Разрешить передачу электронной почты (порт SMTP 25) на наш SMTP-сервер access-list 110 permit tcp any host 10.10.10.5 eq smtp ! Разрешить веб-трафик (порт 80) только на наш веб-сервер access-list 110 permit tcp any host 10.10.10.6 eq www ! Разрешить DNS-трафик на наш DNS-сервер; разрешить TCP и UDP access-list 110 permit tcp any host 10.10.10.8 eq domain access-list 110 permit udp any host 10.10.10.8 eq domain ! Разрешить внутренним узлам обращаться ! к внешнему DNS-серверу (192.168.1.100) access-list ПО permit upd host 192.168.1.100 eq domain any gt 1023 ! Разрешить FTP-трафик на наш FTP-сервер access-list 110 permit tcp any host 10.10.10.6 eq ftp access-list 110 permit tcp any host 10.10.1.25 eq ftp-data ! Разрешить передачу новостей внутреннему NNTP-клиенту ! только с легитимных NNTP-серверов access-list 110 permit tcp host 198.168.1.98 host 10.10.10.200 eq nntp access-list 110 permit tcp host 192.168.1.99 host 10.10.10.200 eq nntp ! Разрешить telnet-соединения (порт 23) только с одним узлом! access-list 110 permit tcp any host 10.10.10.237 eq telnet ! Некоторые вещи необходимо запретить: Xwindows, NFS access-list 110 deny tcp any any range 6000 6003 access-list 110 deny tcp any any range 2000 2003 access-list 110 deny tcp any any eq 2049 access-list 110 deny udp any any eq 2049 ! Так как мы применяем непассивное FTP-соединение на наших FTP-клиентах, ! следующая строка необходима, чтобы разрешить возвращение этих FTP-сеансов ! обратно в сеть. Если у вас есть FTP-сервер. для него следует создать ! отдельный пункт, access-list 110 permit tcp any eq ftp-data any gt 1024 ! Разрешить ICMP-трафик в нашу сеть ! Внимание! ICMP - это больше, чем просто эхо-запрос. Если вы решите ! запретить его. то следует явно запретить определенные типы ICMP-команд ! (echo, echo-reply и т. п.). ! Механизмы выбора маршрутов для MTU и подавления источника работают ! благодаря протоколу ICMP и очень важны для некоторых соединений. ! Сначала запрещаем перенаправление широковещательных ICMP-рассылок access-list 110 deny icmp any any redirect ! Затем разрешаем все остальное access-list 110 permit icmp any any ! Разрешить NTP-сообщения времени на все внутренние машины access-list 110 permit udp any any eq ntp ! Неявное запрещение ! Оно задано по умолчанию, но мы включаем его сюда, чтобы команда ! show access-list выводила число пакетов, заблокированных ! из-за неявного запрещения. access-list 110 deny ip any anyПримените этот список к нашему интерфейсу:
interface FastEthernet 0/1 ip access-group 110 inНастройка snmp
По умолчанию доступ по протоколу SNMP отключен. Чтобы включить его,
необходимо выполнить —snmp-server community имя режим список_доступаНиже перечислены параметры команды:
имя — Строка сообщества (community string),
режим — доступны два режима: R0 — доступ (непривилегированный) только для
чтения и RW — доступ (привилегированный) для чтения и записи.
список_доступа — Имя или номер стандартного списка управления доступом.snmp-server community not-public R0 1 ! Включение привилегированного доступа и применение списка доступа 2 snmp-server community highly-secure RW 2 snmp-server location Servernaya snmp-server contact admin@my-domain.ru snmp-server host 10.10.10.2 highly-secure traps ! Списки доступа access-list 1 permit 10.10.10.0 0.0.0.255 access-list 2 permit 10.10.10.35Настройка DHCP
! Исключаемые адреса ip dhcp excluded-address 10.10.10.245 10.10.10.254 ip dhcp excluded-address 10.10.10.1 10.10.10.10 ip dhcp ping packets 4 ! Описываем область ip dhcp pool MY_POOL import all network 10.10.10.0 255.255.255.0 domain-name dbschenker.ru default-router 10.10.10.1 dns-server 10.10.10.2 lease 3Настройка маршрутизации и NAT
Задаем шлюз по умолчанию (вместо default-gateway) описанном в первой части и статические маршруты-
ip forward-protocol nd ip route 0.0.0.0 0.0.0.0 125.12.232.15 ip route 192.168.1.0 255.255.255.0 125.12.232.15Включаем скоростную передачу от Cisco для IPv4
ip cef
- Метод. рекомендации
- Метод. документация