Маршрутизация и коммутации

Списки контроля доступа

Разбить на страницы
Показывать лекцию целиком

Информационная безопасность телекоммуникационных сетей обеспечивается комплексом мер по их защите. Для защиты информации широко используются пароли, криптографирование передаваемой информации, устройства физической безопасности и другие аппаратные и программные средства. В настоящем разделе рассматриваются списки контроля доступа - сетевые фильтры, которые устанавливаются на интерфейсах маршрутизаторов. Списки доступа обеспечивают базовый уровень безопасности и определяют, к каким доменам сети открыт доступ, а к каким закрыт. Списки доступа широко применяются на практике.

5.1. Функционирование списков доступа

Сетевой администратор должен иметь возможность управления трафиком, обеспечивая доступ к требуемым ресурсам зарегистрированным легальным пользователям и запрещая несанкционированный доступ к сети. Эффективным средством фильтрации трафика являются списки контроля доступа (Access Control Lists - ACL) или просто списки доступа, которые являются сетевыми фильтрами. Списки доступа представляют собой последовательность команд, разрешающих (permit) или запрещающих (deny) продвижение пакетов через маршрутизатор, т.е. разрешающих или запрещающих доступ из других локальных сетей или из Интернета в защищаемую сеть, а также удаленный доступ по протоколам Telnet, SSH. При конфигурировании списков доступа маршрутизатор не только создает пути передачи пакетов, но и фильтрует проходящий через него трафик.

Списки доступа ACL могут быть созданы для всех сетевых протоколов, функционирующих на маршрутизаторе, например, IPv4, IPv6 или IPX, и устанавливаются на интерфейсах маршрутизаторов. Запрет или разрешение сетевого трафика через интерфейс маршрутизатора реализуется на основании анализа совпадения определенных условий (правил). Для этого списки доступа представляются в виде последовательных записей, в которых анализируются используемые адреса и протоколы.

Списки доступа (сетевые фильтры)создаются как для входящих, так и для исходящих пакетов на основании анализируемых параметров (адреса источника, адреса назначения, используемого протокола и номера порта верхнего уровня), указанных в списке доступа ACL (рис 5.1).

(рис 5.1) Принятие решения при тестировании пакета

Отдельные списки доступа могут быть созданы на каждом интерфейсе маршрутизатора для каждого направления сетевого трафика (исходящего и входящего) и для каждого сетевого протокола, установленного на интерфейсе. Например, на трех интерфейсах маршрутизатора (рис 5.2), сконфигурированных для двух сетевых протоколов (IPv4, IPv6), может быть создано 12 отдельных списков доступа: шесть для IPv4 и шесть для IPv6. То есть, на каждом интерфейсе по 4 списка: 2 для входящего и 2 для исходящего трафика.

(рис 5.2) Списки доступа для одного сетевого протокола (IPv4)

Списки доступа, установленные для фильтрации входящего трафика, обрабатывают пакеты до продвижения пакета на выходной интерфейс. Таким образом, пакет, который по условиям списка доступа отбрасывается, не будет маршрутизироваться, что экономит ресурсы маршрутизатора.

Исходящие списки доступа удобно использовать для защиты локальной сети от нежелательного трафика, поступающего на разные входы маршрутизатора.

Списки доступа повышают гибкость сети. Например, списки, ограничивающие видео трафик, могут уменьшить нагрузку на сеть и поэтому повысить ее пропускную способность для передачи данных или аудио сигналов. Списки позволяют определить, какие типы трафика могут быть отправлены, а какие заблокированы в интерфейсах маршрутизатора, например, можно разрешить маршрутизацию электронной почте, но блокировать трафик Telnet. Можно использовать разрешение или запрет доступа различным типам файлов, таким как FTP или HTTP.

Если списки доступа не формируются на маршрутизаторе, то все проходящие через маршрутизатор пакеты, будут иметь доступ к сети.

Список доступа ACL составляется из утверждений (условий), которые определяют, следует ли пакеты принимать или отклонять во входных или выходных интерфейсах маршрутизатора. Программное обеспечение IOS Cisco проверяет пакет последовательно по каждому условию. Если условие, разрешающее продвижение пакета, расположено наверху списка, никакие условия, добавленные ниже, не будут запрещать продвижение пакета.

Список доступа можно редактировать только в определенных условиях, которые специально конфигурируются. В большинстве случаев при необходимости редактирования рекомендуется список доступа целиком удалить и создать новый список с новыми условиями.

Созданные маршрутизатором пакеты списками доступа не фильтруются.

Функционирование маршрутизатора по проверке соответствия принятого пакета требованиям списка доступа производится следующим образом. Когда кадр поступает на интерфейс, маршрутизатор извлекает (декапсулирует) из кадра пакет и проверяет его на соответствие условиям списка ACL входного интерфейса. При отсутствии запрета или отсутствии списка доступа пакет маршрутизируется и продвигается на выходной интерфейс, где вновь проверяется, затем инкапсулируется в новый кадр и отправляется интерфейсу следующего устройства.

Проверка условий (утверждений) списка доступа производится последовательно. Если текущее утверждение верно, пакет обрабатывается в соответствие с командами permit или deny списка доступа. В конце каждого списка присутствует неявно заданная по умолчанию команда deny any (запретить все остальное). Поэтому если в списке доступа нет ни одного разрешающего условия, то весь трафик будет заблокирован.

Существуют разные типы списков доступа: стандартные (standard ACLs), расширенные (extended ACLs), именованные (named ACLs). Когда список доступа конфигурируются на маршрутизаторе, каждый список должен иметь уникальный идентификационный номер или имя. Идентификационный номер созданного списка доступа должен находиться в пределах определенного диапазона, заданного для этого типа списка (табл. 5.1).

Диапазоны идентификационных номеров списков доступа
Диапазон номеров Название списка доступа
1-99 IP standard access-list
100-199 IP extended access-list
1300-1999 IP standard access-list (extended range)
2000-2699 IP extended access-list (extended range)
600-699 Appletalk access-list
800-899 IPX standard access-list
900-999 IPX extended access-list

Стандартные списки доступа (Standard access lists) - для принятия решения (permit или deny) в IP пакете анализируется только адрес источника сообщения.

Расширенные списки доступа (Extended access lists) проверяют как IP-адрес источника, так и IP-адрес назначения, поле протокола в заголовке пакета сетевого уровня и номер порта в заголовке транспортного уровня.

Таким образом, для каждого протокола, для каждого направления трафика и для каждого интерфейса может быть создан свой список доступа. Исходящие фильтры не затрагивают трафик, который идет из местного маршрутизатора.

Стандартные списки доступа рекомендуется устанавливать по возможности ближе к адресату назначения, а расширенные - ближе к источнику. То есть стандартные списки доступа должны блокировать устройство или сеть назначения и располагаться поближе к защищаемой сети, а расширенные списки устанавливаются ближе к возможному источнику нежелательного трафика.

Список доступа производит фильтрацию пакетов по порядку, поэтому в строках списков следует задавать условия фильтрации, начиная от специфических условий - до общих. Условия списка доступа обрабатываются последовательно от вершины списка к основанию, пока не будет найдено соответствующее условие. Если никакое условие не найдено, то тогда пакет отклоняется и уничтожается, поскольку неявное условие deny any (запретить все остальное) есть неявно в конце любого списка доступа. Не удовлетворяющий списку доступа пакет протокола IP будет отклонен и уничтожен, при этом отправителю будет послано сообщение протокола ICMP. Новые записи (линии) всегда добавляются в конце списка доступа.

5.2. Конфигурирование стандартных списков доступа

Конфигурирование списков доступа производится в два этапа:

  • Создание списка доступа в режиме глобального конфигурирования.
  • Привязка списка доступа к интерфейсу в режиме детального конфигурирования интерфейса.
  • Формат команды создания стандартного списка доступа следующий:

    Router(config)#access-list {номер} {permitилиdeny} {адрес источника}
      

    Списки доступа могут фильтровать как трафик, входящий в маршрутизатор (in), так и трафик, исходящий из маршрутизатора (out). Направление трафика указывается при привязке списка доступа к интерфейсу. Формат команды привязки списка к интерфейсу следующий:

    Router(config-if)#{протокол} access-group {номер} {in или out}
      

    После привязки списка доступа его содержимое не может быть изменено. Не удовлетворяющий администратора список доступа должен быть удален командой no access-list и затем создан заново.

    Ниже приведены примеры конфигурирования стандартных списков доступа по защите Сети 1 (рис 5.3).

    (рис 5.3) Схема сети

    Пример 1. Необходимо, чтобы узлы Сети 1 были доступны только узлу Сети 2 с адресом 192.168.20.11, а все остальные узлы Сети 2 и Сети 3 не имели бы доступа в Сеть1. Список доступа следует установить на интерфейс G0/0 маршрутизатора Router_A. Номер списка доступа (10) выбирается из диапазона табл. 5.1.

    Создание и установка списка доступа производится по командам:

    Router_A(config)#access-list 10 permit 192.168.20.11
    Router_A(config)#int g0/0
    Router_A(config-if)#ip access-group 10 out
      

    Согласно созданной конфигурации ко всем исходящим из маршрутизатора через интерфейс G0/0 пакетам будет применяться список доступа:

  • permit 192.168.20.11 - присутствует в списке в явном виде,
  • deny any - присутствует неявно в конце каждого списка доступа.
  • Некоторые версии операционных систем IOS маршрутизаторов требуют в обязательном порядке использование инверсных масок Wild Card при задании адресов узлов и сетей, либо расширения host при задании адресов узлов. Подобные дополнения рассмотрены в следующих примерах.

    Пример 2. Серверы Сети 1 должны быть доступны всем узлам Сети 2 и узлу Сети 3 с адресом 192.168.30.11, остальные узлы Сети 3 не должны иметь доступа. Список доступа установить на интерфейс G0/0 Router_A. В списке доступа анализируются адреса сети и отдельного узла, поэтому необходимо использовать маску Wild Card. Нулевые значения шаблонной маски Wild Card означают требование обработки соответствующих разрядов адреса, а единичные значения - игнорирование соответствующих разрядов адреса при функционировании списка доступа. Таким образом, маска 0.0.0.0 предписывает анализ и обработку всех разрядов адреса, т.е. в этом случае будет обрабатываться адрес узла. Маска 0.0.0.255 показывает, что обрабатываться будет только сетевая часть адреса класса С.

    Следовательно, список доступа будет следующим:

    Router_A(config)#access-list 11 permit 192.168.30.11 0.0.0.0
    Router_A(config)#access-list 11 permit 192.168.20.0 0.0.0.255
    Router_A(config)#int g0/0
    Router_A(config-if)#ip access-group 11 out
      

    Согласно созданной конфигурации ко всем исходящим из маршрутизатора пакетам через интерфейс f0/0 будет применяться список доступа:

  • permit 192.168.30.11 0.0.0.0 - разрешение доступа узлу в Сеть 1,
  • permit 192.168.20.0 0.0.0.255 - разрешение доступа всем узлам Сети 2 в Сеть 1,
  • deny any - присутствует неявно в конце списка доступа.
  • Записи 192.168.30.11 0.0.0.0 полностью соответствует другой вариант - host 192.168.30.11, который также предписывает обрабатывать адрес только одного узла.

    необходимо установить список доступа, который:

  • блокирует рабочей станции 192.168.20.11 Сети 2 доступ в Сеть1;
  • блокирует рабочей станции 192.168.30.24 Сети 3 доступ в Сеть1;
  • Для этого создается список доступа:

    Router_А(config)#access-list12 deny host 192.168.20.11 
    Router_А(config)#access-list12 deny host 192.168.30.24 
    Router_А(config)#access-list12 permit any 
    Router_А(config)#int g0/0
    Router_А(config-if)#ip access-group 12 out
      

    Данный список блокирует доступ в Сеть 1 только двум рабочим станциям 192.168.20.11 и 192.168.30.24, а всем остальным - доступ разрешен. Если бы отсутствовала третья строка списка доступа, то ни одна станция из других сетей не могла бы попасть в Сеть 1.

    Поскольку созданные маршрутизатором пакеты списками доступа не фильтруются, то это дает возможность открывать несанкционированные Telnet- и SSH-сессии. Поэтому для повышения безопасности удаленного доступа через виртуальные линии vty могут использоваться списки контроля доступа c командой access-class. Списки доступа, созданные этой командой, управляют процессом создания исходящих и входящих соединений маршрутизатора. Формат команды следующий:

    Router(config)#access-class {номер} {in [vrf-also] | out}
      

    Пример конфигурирования списка ограничения удаленного доступа рассмотрен для сети рис 5.4. Например, в сети ограничивается удаленный доступ, например по Telnet, с одного из узлов сети 192.168.10.0 или 192.168.20.0:

    R-A(config)#enable password cis-1
    R-A(config)#line vty 0 4
    R-A(config-line)#password cis-2
    R-A(config-line)#login
      
    (рис 5.4) Сеть со списком ограничения удаленного доступа

    Для ограничения доступа только узлу 192.168.10.11 из сети 1 создается следующий список:

    R-A(config-line)#access-class 11 in
    R-A(config-line)#exit
    R-A(config)#access-list 11 permit 192.168.20.11 0.0.0.0
    R-A(config)#access-list 11 deny any
      

    Параметр in ограничивает доступ входящим соединениям между адресами списка и маршрутизатором, out - блокирует исходящие соединения.

    5.3. Конфигурирование расширенных списков доступа

    В отличие от стандартных списков доступа, где в качестве критерия фильтрации используется только один параметр - адрес источника, расширенные списки используют несколько параметров:

  • адрес источника,
  • адрес назначения,
  • протокол,
  • порт.
  • Формат команды создания расширенного списка доступа следующий:

    Router(config)#access-list {номер} {permitили deny} {протокол} {адрес источника} {адрес назначения} {порт}
      

    В поле протокола задается имя или номер (0 - 255) протокола сети Интернет. Наиболее часто используются протоколы IP, TCP, UDP, OSPF, RIP и др. Поле порта используется либо для задания номера (0 - 65535), либо - имени портов, например, FTP или Telnet.

    Формат команды привязки списка доступа к интерфейсу аналогичен команде стандартного списка:

    Router(config-if)#{протокол} access-group {номер} {in или out}
      

    ) необходимо:

  • разрешить одной рабочей станции 192.168.30.11 Сети 3 доступ к серверу Сети1 с IP-адресом 192.168.10.25 и адресом порта 8080;
  • разрешить всем рабочим станциям Сети2 с адресом 192.168.20.0 доступ к тому же серверу;
  • разрешить всем рабочим станциям доступ ко всем Web-серверам Сети
  • Для этого создается список доступа:

    Router_А(config)#access-list 110 permit tcp host 192.168.30.11 host 192.168.10.25 eq 8080 
    Router_А(config)#access-list 110 permit tcp 192.168.20.0 0.0.0.255 host 192.168.10.25 eq 8080 
    Router_А(config)#access-list 110 permit tcp any any eq WWW
    Router_А(config)#int g0/0
    Router_А(config-if)#ip access-group 110 out
      

    Запись any (все) эквивалентна записи 0.0.0.0 255.255.255.255, т.е. ни один бит адреса не должен анализироваться. Следовательно, в третьем условии Примера 4 записано требование, исключить фильтрацию по адресу источника и адресу назначения, т.е. запись permit tcp any any означает "разрешить доступ всем сегментам tcp ко всем узлам сети". Единственный критерий фильтрации - это порт eq WWW.

    Запись eq означает требование анализа пакетов только с данным номером порта назначения. Вместо нее могла быть другая запись, например, neq, означающая требование анализа пакетов с другими номерами, за исключением данного. Запись range означает требование анализа пакетов с номерами портов в указанном диапазоне.

    ) создать список доступа, чтобы:

  • блокировать рабочей станции 192.168.20.11 Сети 2 доступ по telnet в Сеть 1, но оставить доступ для другого сервиса;
  • блокировать рабочей станции 192.168.30.24 Сети 3 доступ по telnet в Сеть 1, но оставить доступ для другого сервиса;
  • Для этого создается список доступа:

    Router_А(config)#access-list 115 deny tcp host 192.168.20.11 192.168.10.0 0.0.0.255 eq telnet 
    Router_А(config)#access-list 115 deny tcp host 192.168.30.24 192.168.10.0 0.0.0.255 eq telnet
    Router_А(config)#access-list 115 permit ip any any 
    Router_А(config)#int g0/0
    Router_А(config-if)#ip access-group 115 out
      

    Третье условие Примера 4 предписывает исключить фильтрацию по адресу источника и адресу назначения всех IP-пакетов, т.е. всех сегментов TCPи UDP.

    Удаление списков доступа производится с использованием отрицания no. Например, удаление списка доступа из предыдущего примера производится по команде:

    RouterА(config)#no access-list 115
      

    Именованные списки доступа

    Именованные списки доступа позволяют за счет введения имени списка сократить затем объем записей при конфигурировании. Кроме того, снимаются ограничения в 99 стандартных и 100 номеров расширенных списков, поскольку имен можно придумать много. Именованный список доступа с именем spisok для вышеприведенного примера 4 будет выглядеть следующим образом:

    Router_А(config)#access-list extended spisok
    Router_А(config-ext-nac1)#permit tcp host 192.168.30.11 host 192.168.10.25 eq 8080 
    Router_А(config-ext-nac1)#permit tcp 192.168.20.0 0.0.0.255 host 192.168.10.25 eq 8080 
    Router_А(config-ext-nac1)#permit tcp any any eq WWW
    Router_А(config-ext-nac1)#exit
    Router_А(config)#int g0/0
    Router_А(config-if)#ip access-group spisok out
        

    Контроль списков доступа

    Контроль списков доступа производится по командам show. Например, контроль любых списков доступа производится по команде:

    RouterА#show access-list
    Extended IP access list 110
    permit tcp host 192.168.30.11 host 192.168.10.25 eq 8080 (34 matches)
    permit tcp 192.168.20.11 0.0.0.255 host 192.168.10.25 eq 8080 (11 matches)
    permit tcp any any eq WWW (29 matches)
        

    Контроль IP-списков доступа производится по команде:

    RouterА#show ip access-list
        

    Списки доступа, установленные на интерфейсы, можно посмотреть по команде show ip interface, а также show running-config.

    Редактирование списков доступа

    В разделе 5.1 отмечалось, что при необходимости редактирования рекомендуется список доступа целиком удалить и создать новый список с новыми условиями. Чтобы облегчить этот процесс, требующий редактирования список можно скопировать, например, из распечатки команды show run, затем вставить его в текстовый редактор, отредактировать, удалить старый список из конфигурации маршрутизации и создать новый отредактированный список.

    Второй способ редактирования предусматривает использование свойства нумерации строк именованного списка доступа. Например, создан именованный список доступа:

    R-A(config)#ip access-list standard ACL
    R-A(config-std-nacl)#permit host 192.168.20.11
    R-A(config-std-nacl)#permit host 192.168.30.11
    R-A(config-std-nacl)#int g0/0
    R-A(config-if)#ip access-group ACL out
        

    Команда show access-lists отображает строки списка, причем нумерация идет через 10

    R-A#show access-lists
    Standard IP access list ACL
        10 permit host 192.168.20.11 (4 match(es))
    20 permit host 192.168.30.11 (4 match(es))
    R-A#
        

    Если в списке необходимо произвести изменения, например, запретить узлу host 192.168.20.11 доступ в сеть 1 и разрешить доступ всем остальным узлам сети 192.168.20.0, то это может реализовать следующая последовательность команд:

    R-A(config)#ip access-list standard ACL
    R-A(config-std-nacl)#no 10
    R-A(config-std-nacl)#10 deny host 192.168.20.11
    R-A(config-std-nacl)#15 permit 192.168.20.0 0.0.0.255
        

    В этом примере новая строка списка (15) вставлена между 10-ой и 20-ой строками:

    R-A#sh access-list
    Standard IP access list ACL
        10 deny host 192.168.20.11
        15 permit 192.168.20.0 0.0.0.255
        20 permit host 192.168.30.11 (4 match(es))
    R-A#
        

    5.4. Списки доступа IPv6

    Ниже рассмотрены особенности конфигурирования списков доступаIPv6на примере сети рис 5.5.

    (рис 5.5) Пример сети IPv6

    Протокол IPv6 поддерживает только именованные расширенные списки доступа. Имена списков IPv6 и IPv4 должны быть разными. Вместо команды IPv4 назначения списка доступа на интерфейс (ip access-group), в сетях IPv6 используется команда ipv6 traffic-filter.

    В конце списка доступа IPv6 неявно присутствует команда deny ipv6 any any. Кроме того, список доступа IPv6 включает еще два неявных условия:

    permit icmp any any nd-ns,
    permit icmp any any nd-na.
      

    Эти условия необходимы для разрешения передачи пакетов обнаружения соседних устройств и их МАС-адресов (Neighbor Discovery - nd) средствами протокола ICMP (вместо протокола ARP в сетях IPV4). Для получения МАС-адреса соседнего устройства (конечного узла или интерфейса сетевого элемента) маршрутизатор посылает запрос (Neighbor Solicitation - ns), и в ответ получает сообщение объявления соседнего устройства (Neighbor Advertisement - na). Первое условие разрешает передачу запроса обнаружения соседей (nd-ns), второе (nd-na) - объявления соседних устройств.

    необходимо создать список доступа, запрещающий доступ в Сеть 1 всем узлам Сети 3 и разрешающий доступ всем узлам Сети 2:

    R-A(config)#ipv6 access-list ACL
    R-A(config-ipv6-acl)#deny ipv6 2001:DB8:A:3::/64 any
    R-A(config-ipv6-acl)#permit ipv6 any any
      

    Назначение списка ACL на интерфейс S0/3/0 маршрутизатора А производится по команде:

    R-A(config)#int s0/3/0
    R-A(config-if)#ipv6 traffic-filter ACL in
      

    Верификацию списка доступа можно провести по командам show run, show access-list. Например:

    R-A#show run
    Building configuration...
    ...
    ipv6 unicast-routing
    ...
    interface GigabitEthernet0/0
    ipv6 address 2001:DB8:A:1::1/64
     ipv6 ospf 1 area 0
    !
    interface Serial0/3/0
    ipv6 traffic-filter ACL in
     ipv6 address 2001:DB8:B:1::1/64
     ipv6 ospf 1 area 0
     clock rate 64000
    !
    ipv6 router ospf 1
     router-id 1.1.1.1
     log-adjacency-changes
    !
    ip classless
    !
    ipv6 access-list ACL
     deny ipv6 2001:DB8:A:3::/64 any
     permit ipv6 any any
    ...
    R-A#
      

    Для удаления списка доступа необходимо отменить назначение на интерфейс в режиме конфигурирования интерфейса (no ipv6 traffic-filter имя in|out) затем удалить сам список (no ipv6 access-list имя).

    Краткие итоги

  • Для защиты информации на интерфейсах маршрутизаторов конфигурируются списки доступа (ACL), которые обеспечивают базовый уровень безопасности.
  • Списки доступа могут использоваться, чтобы разрешать (permit) или запрещать (deny) продвижение пакетов через маршрутизатор.
  • Запрет или разрешение сетевого трафика через интерфейс маршрутизатора реализуется на основании анализа совпадения определенных условий (правил).
  • В списке доступа ACL могут анализироваться адреса источника, адреса назначения, протоколы и номера портов.
  • Списки доступа могут быть определены для каждого установленного на интерфейсе протокола и для каждого направления сетевого трафика (исходящего и входящего).
  • Каждый список должен иметь уникальный идентификационный номер или имя.
  • Стандартные списки доступа для принятия решения анализируют в пакете только IP-адрес источника сообщения.
  • Расширенные списки доступа проверяют IP-адрес источника, IP-адрес назначения, поле протокола в заголовке пакета и номер порта в заголовке сегмента.
  • Стандартные списки доступа должны располагаться поближе к адресату назначения.
  • Расширенные списки доступа должны быть установлены по возможности близко к источнику сообщений.
  • Условие deny any (запретить все остальное) есть неявно в конце любого списка доступа.
  • Создание списка доступа производится в режиме глобального конфигурирования. Формат команды создания стандартного списка доступа следующий:
    Router(config)#access-list {номер} {permitили deny} {адрес источника}.
       
  • Привязка списка доступа к интерфейсу производится в режиме детального конфигурирования интерфейса. Формат команды привязки списка к интерфейсу следующий:
    Router(config-if)#{протокол} access-group {номер} {in или out}
       
  • Формат команды создания расширенного списка доступа следующий:
    Router(config)#access-list {номер} {permitили deny} {протокол} {адрес источника}{адрес назначения} {порт}
       
  • Именованные списки доступа позволяют за счет введения имени списка сократить затем объем записей при конфигурировании.
  • Контроль списков доступа производится по командам show run, show access-list, show ip interface.
  • Нумерация строк именованного списка доступа позволяет корректировать его.
  • Протокол IPv6 поддерживает именованные расширенные списки доступа. Вместо команды назначения списка доступа на интерфейс (ip access-group) протокола IPv4, в сетях IPv6 используется команда ipv6 traffic-filter.
  • В конце списка доступа IPv6 неявно присутствует команда deny ipv6 any any.
  • Список доступа IPv6 включает также два неявных условия:
    permit icmp any any nd-ns,
    permit icmp any any nd-na,
       
    необходимых для разрешения передачи пакетов обнаружения соседних устройств и их МАС-адресов (Neighbor Discovery - nd) средствами протокола ICMP (вместо протокола ARP в сетях IPV4).
  • Вопросы

  • Для чего используются списки доступа?
  • На основании чего формируется запрет или разрешение сетевого трафика через интерфейс маршрутизатора?
  • Какие параметры пакета могут анализироваться в стандартном и расширенном списке доступа?
  • Где устанавливаются списки доступа и для какого трафика?
  • Какое условие имеется неявно в конце любого списка доступа?
  • Для чего нужны идентификационные номера списков доступа?
  • Каков формат команды создания стандартного списка доступа?
  • Каков формат команды создания расширенного списка доступа?
  • Каков формат команды привязки списка к интерфейсу?
  • Чем различается функционирование входящих и исходящих списков доступа?
  • Какие достоинства имеют именованные списки доступа?
  • Какая команда используется для ограничения удаленного доступа через виртуальные линии vty?
  • Какие команды производят контроль списков доступа?
  • Возможно ли редактирование списков доступа?
  • В чем особенности конфигурирования списков доступа в сетях IPv6?
  • Какие команды используются для удаления списков доступа IPv6?
  • Упражнения

  • Сконфигурируйте список доступа для защиты узла 192.168.10.11 Сети 1 нижеприведенной схемы от несанкционированного доступа со всех узлов Сети 2 и одного узла Сети 3 по командам протокола ICMP. Кроме того разрешить доступ по Telnet с узлов Сети 2 на узел Сети 1.
  • Проведите проверку и отладку сети с использованием команд show running-config, show access-list, show ip access-list, show ip interface, ping, traceroute, tracert и telnet.
  • Страницы:

    Информационная безопасность телекоммуникационных сетей обеспечивается комплексом мер по их защите. Для защиты информации широко используются пароли, криптографирование передаваемой информации, устройства физической безопасности и другие аппаратные и программные средства. В настоящем разделе рассматриваются списки контроля доступа - сетевые фильтры, которые устанавливаются на интерфейсах маршрутизаторов. Списки доступа обеспечивают базовый уровень безопасности и определяют, к каким доменам сети открыт доступ, а к каким закрыт. Списки доступа широко применяются на практике.

    5.1. Функционирование списков доступа

    Сетевой администратор должен иметь возможность управления трафиком, обеспечивая доступ к требуемым ресурсам зарегистрированным легальным пользователям и запрещая несанкционированный доступ к сети. Эффективным средством фильтрации трафика являются списки контроля доступа (Access Control Lists - ACL) или просто списки доступа, которые являются сетевыми фильтрами. Списки доступа представляют собой последовательность команд, разрешающих (permit) или запрещающих (deny) продвижение пакетов через маршрутизатор, т.е. разрешающих или запрещающих доступ из других локальных сетей или из Интернета в защищаемую сеть, а также удаленный доступ по протоколам Telnet, SSH. При конфигурировании списков доступа маршрутизатор не только создает пути передачи пакетов, но и фильтрует проходящий через него трафик.

    Списки доступа ACL могут быть созданы для всех сетевых протоколов, функционирующих на маршрутизаторе, например, IPv4, IPv6 или IPX, и устанавливаются на интерфейсах маршрутизаторов. Запрет или разрешение сетевого трафика через интерфейс маршрутизатора реализуется на основании анализа совпадения определенных условий (правил). Для этого списки доступа представляются в виде последовательных записей, в которых анализируются используемые адреса и протоколы.

    Списки доступа (сетевые фильтры)создаются как для входящих, так и для исходящих пакетов на основании анализируемых параметров (адреса источника, адреса назначения, используемого протокола и номера порта верхнего уровня), указанных в списке доступа ACL (рис 5.1).

    (рис 5.1) Принятие решения при тестировании пакета

    Отдельные списки доступа могут быть созданы на каждом интерфейсе маршрутизатора для каждого направления сетевого трафика (исходящего и входящего) и для каждого сетевого протокола, установленного на интерфейсе. Например, на трех интерфейсах маршрутизатора (рис 5.2), сконфигурированных для двух сетевых протоколов (IPv4, IPv6), может быть создано 12 отдельных списков доступа: шесть для IPv4 и шесть для IPv6. То есть, на каждом интерфейсе по 4 списка: 2 для входящего и 2 для исходящего трафика.

    (рис 5.2) Списки доступа для одного сетевого протокола (IPv4)

    Списки доступа, установленные для фильтрации входящего трафика, обрабатывают пакеты до продвижения пакета на выходной интерфейс. Таким образом, пакет, который по условиям списка доступа отбрасывается, не будет маршрутизироваться, что экономит ресурсы маршрутизатора.

    Исходящие списки доступа удобно использовать для защиты локальной сети от нежелательного трафика, поступающего на разные входы маршрутизатора.

    Списки доступа повышают гибкость сети. Например, списки, ограничивающие видео трафик, могут уменьшить нагрузку на сеть и поэтому повысить ее пропускную способность для передачи данных или аудио сигналов. Списки позволяют определить, какие типы трафика могут быть отправлены, а какие заблокированы в интерфейсах маршрутизатора, например, можно разрешить маршрутизацию электронной почте, но блокировать трафик Telnet. Можно использовать разрешение или запрет доступа различным типам файлов, таким как FTP или HTTP.

    Если списки доступа не формируются на маршрутизаторе, то все проходящие через маршрутизатор пакеты, будут иметь доступ к сети.

    Список доступа ACL составляется из утверждений (условий), которые определяют, следует ли пакеты принимать или отклонять во входных или выходных интерфейсах маршрутизатора. Программное обеспечение IOS Cisco проверяет пакет последовательно по каждому условию. Если условие, разрешающее продвижение пакета, расположено наверху списка, никакие условия, добавленные ниже, не будут запрещать продвижение пакета.

    Список доступа можно редактировать только в определенных условиях, которые специально конфигурируются. В большинстве случаев при необходимости редактирования рекомендуется список доступа целиком удалить и создать новый список с новыми условиями.

    Созданные маршрутизатором пакеты списками доступа не фильтруются.

    Функционирование маршрутизатора по проверке соответствия принятого пакета требованиям списка доступа производится следующим образом. Когда кадр поступает на интерфейс, маршрутизатор извлекает (декапсулирует) из кадра пакет и проверяет его на соответствие условиям списка ACL входного интерфейса. При отсутствии запрета или отсутствии списка доступа пакет маршрутизируется и продвигается на выходной интерфейс, где вновь проверяется, затем инкапсулируется в новый кадр и отправляется интерфейсу следующего устройства.

    Проверка условий (утверждений) списка доступа производится последовательно. Если текущее утверждение верно, пакет обрабатывается в соответствие с командами permit или deny списка доступа. В конце каждого списка присутствует неявно заданная по умолчанию команда deny any (запретить все остальное). Поэтому если в списке доступа нет ни одного разрешающего условия, то весь трафик будет заблокирован.

    Существуют разные типы списков доступа: стандартные (standard ACLs), расширенные (extended ACLs), именованные (named ACLs). Когда список доступа конфигурируются на маршрутизаторе, каждый список должен иметь уникальный идентификационный номер или имя. Идентификационный номер созданного списка доступа должен находиться в пределах определенного диапазона, заданного для этого типа списка (табл. 5.1).

    Диапазоны идентификационных номеров списков доступа
    Диапазон номеров Название списка доступа
    1-99 IP standard access-list
    100-199 IP extended access-list
    1300-1999 IP standard access-list (extended range)
    2000-2699 IP extended access-list (extended range)
    600-699 Appletalk access-list
    800-899 IPX standard access-list
    900-999 IPX extended access-list

    Стандартные списки доступа (Standard access lists) - для принятия решения (permit или deny) в IP пакете анализируется только адрес источника сообщения.

    Расширенные списки доступа (Extended access lists) проверяют как IP-адрес источника, так и IP-адрес назначения, поле протокола в заголовке пакета сетевого уровня и номер порта в заголовке транспортного уровня.

    Таким образом, для каждого протокола, для каждого направления трафика и для каждого интерфейса может быть создан свой список доступа. Исходящие фильтры не затрагивают трафик, который идет из местного маршрутизатора.

    Стандартные списки доступа рекомендуется устанавливать по возможности ближе к адресату назначения, а расширенные - ближе к источнику. То есть стандартные списки доступа должны блокировать устройство или сеть назначения и располагаться поближе к защищаемой сети, а расширенные списки устанавливаются ближе к возможному источнику нежелательного трафика.

    Список доступа производит фильтрацию пакетов по порядку, поэтому в строках списков следует задавать условия фильтрации, начиная от специфических условий - до общих. Условия списка доступа обрабатываются последовательно от вершины списка к основанию, пока не будет найдено соответствующее условие. Если никакое условие не найдено, то тогда пакет отклоняется и уничтожается, поскольку неявное условие deny any (запретить все остальное) есть неявно в конце любого списка доступа. Не удовлетворяющий списку доступа пакет протокола IP будет отклонен и уничтожен, при этом отправителю будет послано сообщение протокола ICMP. Новые записи (линии) всегда добавляются в конце списка доступа.

    5.2. Конфигурирование стандартных списков доступа

    Конфигурирование списков доступа производится в два этапа:

  • Создание списка доступа в режиме глобального конфигурирования.
  • Привязка списка доступа к интерфейсу в режиме детального конфигурирования интерфейса.
  • Формат команды создания стандартного списка доступа следующий:

    Router(config)#access-list {номер} {permitилиdeny} {адрес источника}
      

    Списки доступа могут фильтровать как трафик, входящий в маршрутизатор (in), так и трафик, исходящий из маршрутизатора (out). Направление трафика указывается при привязке списка доступа к интерфейсу. Формат команды привязки списка к интерфейсу следующий:

    Router(config-if)#{протокол} access-group {номер} {in или out}
      

    После привязки списка доступа его содержимое не может быть изменено. Не удовлетворяющий администратора список доступа должен быть удален командой no access-list и затем создан заново.

    Ниже приведены примеры конфигурирования стандартных списков доступа по защите Сети 1 (рис 5.3).

    (рис 5.3) Схема сети

    Пример 1. Необходимо, чтобы узлы Сети 1 были доступны только узлу Сети 2 с адресом 192.168.20.11, а все остальные узлы Сети 2 и Сети 3 не имели бы доступа в Сеть1. Список доступа следует установить на интерфейс G0/0 маршрутизатора Router_A. Номер списка доступа (10) выбирается из диапазона табл. 5.1.

    Создание и установка списка доступа производится по командам:

    Router_A(config)#access-list 10 permit 192.168.20.11
    Router_A(config)#int g0/0
    Router_A(config-if)#ip access-group 10 out
      

    Согласно созданной конфигурации ко всем исходящим из маршрутизатора через интерфейс G0/0 пакетам будет применяться список доступа:

  • permit 192.168.20.11 - присутствует в списке в явном виде,
  • deny any - присутствует неявно в конце каждого списка доступа.
  • Некоторые версии операционных систем IOS маршрутизаторов требуют в обязательном порядке использование инверсных масок Wild Card при задании адресов узлов и сетей, либо расширения host при задании адресов узлов. Подобные дополнения рассмотрены в следующих примерах.

    Пример 2. Серверы Сети 1 должны быть доступны всем узлам Сети 2 и узлу Сети 3 с адресом 192.168.30.11, остальные узлы Сети 3 не должны иметь доступа. Список доступа установить на интерфейс G0/0 Router_A. В списке доступа анализируются адреса сети и отдельного узла, поэтому необходимо использовать маску Wild Card. Нулевые значения шаблонной маски Wild Card означают требование обработки соответствующих разрядов адреса, а единичные значения - игнорирование соответствующих разрядов адреса при функционировании списка доступа. Таким образом, маска 0.0.0.0 предписывает анализ и обработку всех разрядов адреса, т.е. в этом случае будет обрабатываться адрес узла. Маска 0.0.0.255 показывает, что обрабатываться будет только сетевая часть адреса класса С.

    Следовательно, список доступа будет следующим:

    Router_A(config)#access-list 11 permit 192.168.30.11 0.0.0.0
    Router_A(config)#access-list 11 permit 192.168.20.0 0.0.0.255
    Router_A(config)#int g0/0
    Router_A(config-if)#ip access-group 11 out
      

    Согласно созданной конфигурации ко всем исходящим из маршрутизатора пакетам через интерфейс f0/0 будет применяться список доступа:

  • permit 192.168.30.11 0.0.0.0 - разрешение доступа узлу в Сеть 1,
  • permit 192.168.20.0 0.0.0.255 - разрешение доступа всем узлам Сети 2 в Сеть 1,
  • deny any - присутствует неявно в конце списка доступа.
  • Записи 192.168.30.11 0.0.0.0 полностью соответствует другой вариант - host 192.168.30.11, который также предписывает обрабатывать адрес только одного узла.

    необходимо установить список доступа, который:

  • блокирует рабочей станции 192.168.20.11 Сети 2 доступ в Сеть1;
  • блокирует рабочей станции 192.168.30.24 Сети 3 доступ в Сеть1;
  • Для этого создается список доступа:

    Router_А(config)#access-list12 deny host 192.168.20.11 
    Router_А(config)#access-list12 deny host 192.168.30.24 
    Router_А(config)#access-list12 permit any 
    Router_А(config)#int g0/0
    Router_А(config-if)#ip access-group 12 out
      

    Данный список блокирует доступ в Сеть 1 только двум рабочим станциям 192.168.20.11 и 192.168.30.24, а всем остальным - доступ разрешен. Если бы отсутствовала третья строка списка доступа, то ни одна станция из других сетей не могла бы попасть в Сеть 1.

    Поскольку созданные маршрутизатором пакеты списками доступа не фильтруются, то это дает возможность открывать несанкционированные Telnet- и SSH-сессии. Поэтому для повышения безопасности удаленного доступа через виртуальные линии vty могут использоваться списки контроля доступа c командой access-class. Списки доступа, созданные этой командой, управляют процессом создания исходящих и входящих соединений маршрутизатора. Формат команды следующий:

    Router(config)#access-class {номер} {in [vrf-also] | out}
      

    Пример конфигурирования списка ограничения удаленного доступа рассмотрен для сети рис 5.4. Например, в сети ограничивается удаленный доступ, например по Telnet, с одного из узлов сети 192.168.10.0 или 192.168.20.0:

    R-A(config)#enable password cis-1
    R-A(config)#line vty 0 4
    R-A(config-line)#password cis-2
    R-A(config-line)#login
      
    (рис 5.4) Сеть со списком ограничения удаленного доступа

    Для ограничения доступа только узлу 192.168.10.11 из сети 1 создается следующий список:

    R-A(config-line)#access-class 11 in
    R-A(config-line)#exit
    R-A(config)#access-list 11 permit 192.168.20.11 0.0.0.0
    R-A(config)#access-list 11 deny any
      

    Параметр in ограничивает доступ входящим соединениям между адресами списка и маршрутизатором, out - блокирует исходящие соединения.

    5.3. Конфигурирование расширенных списков доступа

    В отличие от стандартных списков доступа, где в качестве критерия фильтрации используется только один параметр - адрес источника, расширенные списки используют несколько параметров:

  • адрес источника,
  • адрес назначения,
  • протокол,
  • порт.
  • Формат команды создания расширенного списка доступа следующий:

    Router(config)#access-list {номер} {permitили deny} {протокол} {адрес источника} {адрес назначения} {порт}
      

    В поле протокола задается имя или номер (0 - 255) протокола сети Интернет. Наиболее часто используются протоколы IP, TCP, UDP, OSPF, RIP и др. Поле порта используется либо для задания номера (0 - 65535), либо - имени портов, например, FTP или Telnet.

    Формат команды привязки списка доступа к интерфейсу аналогичен команде стандартного списка:

    Router(config-if)#{протокол} access-group {номер} {in или out}
      

    ) необходимо:

  • разрешить одной рабочей станции 192.168.30.11 Сети 3 доступ к серверу Сети1 с IP-адресом 192.168.10.25 и адресом порта 8080;
  • разрешить всем рабочим станциям Сети2 с адресом 192.168.20.0 доступ к тому же серверу;
  • разрешить всем рабочим станциям доступ ко всем Web-серверам Сети
  • Для этого создается список доступа:

    Router_А(config)#access-list 110 permit tcp host 192.168.30.11 host 192.168.10.25 eq 8080 
    Router_А(config)#access-list 110 permit tcp 192.168.20.0 0.0.0.255 host 192.168.10.25 eq 8080 
    Router_А(config)#access-list 110 permit tcp any any eq WWW
    Router_А(config)#int g0/0
    Router_А(config-if)#ip access-group 110 out
      

    Запись any (все) эквивалентна записи 0.0.0.0 255.255.255.255, т.е. ни один бит адреса не должен анализироваться. Следовательно, в третьем условии Примера 4 записано требование, исключить фильтрацию по адресу источника и адресу назначения, т.е. запись permit tcp any any означает "разрешить доступ всем сегментам tcp ко всем узлам сети". Единственный критерий фильтрации - это порт eq WWW.

    Запись eq означает требование анализа пакетов только с данным номером порта назначения. Вместо нее могла быть другая запись, например, neq, означающая требование анализа пакетов с другими номерами, за исключением данного. Запись range означает требование анализа пакетов с номерами портов в указанном диапазоне.

    ) создать список доступа, чтобы:

  • блокировать рабочей станции 192.168.20.11 Сети 2 доступ по telnet в Сеть 1, но оставить доступ для другого сервиса;
  • блокировать рабочей станции 192.168.30.24 Сети 3 доступ по telnet в Сеть 1, но оставить доступ для другого сервиса;
  • Для этого создается список доступа:

    Router_А(config)#access-list 115 deny tcp host 192.168.20.11 192.168.10.0 0.0.0.255 eq telnet 
    Router_А(config)#access-list 115 deny tcp host 192.168.30.24 192.168.10.0 0.0.0.255 eq telnet
    Router_А(config)#access-list 115 permit ip any any 
    Router_А(config)#int g0/0
    Router_А(config-if)#ip access-group 115 out
      

    Третье условие Примера 4 предписывает исключить фильтрацию по адресу источника и адресу назначения всех IP-пакетов, т.е. всех сегментов TCPи UDP.

    Удаление списков доступа производится с использованием отрицания no. Например, удаление списка доступа из предыдущего примера производится по команде:

    RouterА(config)#no access-list 115
      

    Именованные списки доступа

    Именованные списки доступа позволяют за счет введения имени списка сократить затем объем записей при конфигурировании. Кроме того, снимаются ограничения в 99 стандартных и 100 номеров расширенных списков, поскольку имен можно придумать много. Именованный список доступа с именем spisok для вышеприведенного примера 4 будет выглядеть следующим образом:

    Router_А(config)#access-list extended spisok
    Router_А(config-ext-nac1)#permit tcp host 192.168.30.11 host 192.168.10.25 eq 8080 
    Router_А(config-ext-nac1)#permit tcp 192.168.20.0 0.0.0.255 host 192.168.10.25 eq 8080 
    Router_А(config-ext-nac1)#permit tcp any any eq WWW
    Router_А(config-ext-nac1)#exit
    Router_А(config)#int g0/0
    Router_А(config-if)#ip access-group spisok out
        

    Контроль списков доступа

    Контроль списков доступа производится по командам show. Например, контроль любых списков доступа производится по команде:

    RouterА#show access-list
    Extended IP access list 110
    permit tcp host 192.168.30.11 host 192.168.10.25 eq 8080 (34 matches)
    permit tcp 192.168.20.11 0.0.0.255 host 192.168.10.25 eq 8080 (11 matches)
    permit tcp any any eq WWW (29 matches)
        

    Контроль IP-списков доступа производится по команде:

    RouterА#show ip access-list
        

    Списки доступа, установленные на интерфейсы, можно посмотреть по команде show ip interface, а также show running-config.

    Редактирование списков доступа

    В разделе 5.1 отмечалось, что при необходимости редактирования рекомендуется список доступа целиком удалить и создать новый список с новыми условиями. Чтобы облегчить этот процесс, требующий редактирования список можно скопировать, например, из распечатки команды show run, затем вставить его в текстовый редактор, отредактировать, удалить старый список из конфигурации маршрутизации и создать новый отредактированный список.

    Второй способ редактирования предусматривает использование свойства нумерации строк именованного списка доступа. Например, создан именованный список доступа:

    R-A(config)#ip access-list standard ACL
    R-A(config-std-nacl)#permit host 192.168.20.11
    R-A(config-std-nacl)#permit host 192.168.30.11
    R-A(config-std-nacl)#int g0/0
    R-A(config-if)#ip access-group ACL out
        

    Команда show access-lists отображает строки списка, причем нумерация идет через 10

    R-A#show access-lists
    Standard IP access list ACL
        10 permit host 192.168.20.11 (4 match(es))
    20 permit host 192.168.30.11 (4 match(es))
    R-A#
        

    Если в списке необходимо произвести изменения, например, запретить узлу host 192.168.20.11 доступ в сеть 1 и разрешить доступ всем остальным узлам сети 192.168.20.0, то это может реализовать следующая последовательность команд:

    R-A(config)#ip access-list standard ACL
    R-A(config-std-nacl)#no 10
    R-A(config-std-nacl)#10 deny host 192.168.20.11
    R-A(config-std-nacl)#15 permit 192.168.20.0 0.0.0.255
        

    В этом примере новая строка списка (15) вставлена между 10-ой и 20-ой строками:

    R-A#sh access-list
    Standard IP access list ACL
        10 deny host 192.168.20.11
        15 permit 192.168.20.0 0.0.0.255
        20 permit host 192.168.30.11 (4 match(es))
    R-A#
        

    5.4. Списки доступа IPv6

    Ниже рассмотрены особенности конфигурирования списков доступаIPv6на примере сети рис 5.5.

    (рис 5.5) Пример сети IPv6

    Протокол IPv6 поддерживает только именованные расширенные списки доступа. Имена списков IPv6 и IPv4 должны быть разными. Вместо команды IPv4 назначения списка доступа на интерфейс (ip access-group), в сетях IPv6 используется команда ipv6 traffic-filter.

    В конце списка доступа IPv6 неявно присутствует команда deny ipv6 any any. Кроме того, список доступа IPv6 включает еще два неявных условия:

    permit icmp any any nd-ns,
    permit icmp any any nd-na.
      

    Эти условия необходимы для разрешения передачи пакетов обнаружения соседних устройств и их МАС-адресов (Neighbor Discovery - nd) средствами протокола ICMP (вместо протокола ARP в сетях IPV4). Для получения МАС-адреса соседнего устройства (конечного узла или интерфейса сетевого элемента) маршрутизатор посылает запрос (Neighbor Solicitation - ns), и в ответ получает сообщение объявления соседнего устройства (Neighbor Advertisement - na). Первое условие разрешает передачу запроса обнаружения соседей (nd-ns), второе (nd-na) - объявления соседних устройств.

    необходимо создать список доступа, запрещающий доступ в Сеть 1 всем узлам Сети 3 и разрешающий доступ всем узлам Сети 2:

    R-A(config)#ipv6 access-list ACL
    R-A(config-ipv6-acl)#deny ipv6 2001:DB8:A:3::/64 any
    R-A(config-ipv6-acl)#permit ipv6 any any
      

    Назначение списка ACL на интерфейс S0/3/0 маршрутизатора А производится по команде:

    R-A(config)#int s0/3/0
    R-A(config-if)#ipv6 traffic-filter ACL in
      

    Верификацию списка доступа можно провести по командам show run, show access-list. Например:

    R-A#show run
    Building configuration...
    ...
    ipv6 unicast-routing
    ...
    interface GigabitEthernet0/0
    ipv6 address 2001:DB8:A:1::1/64
     ipv6 ospf 1 area 0
    !
    interface Serial0/3/0
    ipv6 traffic-filter ACL in
     ipv6 address 2001:DB8:B:1::1/64
     ipv6 ospf 1 area 0
     clock rate 64000
    !
    ipv6 router ospf 1
     router-id 1.1.1.1
     log-adjacency-changes
    !
    ip classless
    !
    ipv6 access-list ACL
     deny ipv6 2001:DB8:A:3::/64 any
     permit ipv6 any any
    ...
    R-A#
      

    Для удаления списка доступа необходимо отменить назначение на интерфейс в режиме конфигурирования интерфейса (no ipv6 traffic-filter имя in|out) затем удалить сам список (no ipv6 access-list имя).

    Краткие итоги

  • Для защиты информации на интерфейсах маршрутизаторов конфигурируются списки доступа (ACL), которые обеспечивают базовый уровень безопасности.
  • Списки доступа могут использоваться, чтобы разрешать (permit) или запрещать (deny) продвижение пакетов через маршрутизатор.
  • Запрет или разрешение сетевого трафика через интерфейс маршрутизатора реализуется на основании анализа совпадения определенных условий (правил).
  • В списке доступа ACL могут анализироваться адреса источника, адреса назначения, протоколы и номера портов.
  • Списки доступа могут быть определены для каждого установленного на интерфейсе протокола и для каждого направления сетевого трафика (исходящего и входящего).
  • Каждый список должен иметь уникальный идентификационный номер или имя.
  • Стандартные списки доступа для принятия решения анализируют в пакете только IP-адрес источника сообщения.
  • Расширенные списки доступа проверяют IP-адрес источника, IP-адрес назначения, поле протокола в заголовке пакета и номер порта в заголовке сегмента.
  • Стандартные списки доступа должны располагаться поближе к адресату назначения.
  • Расширенные списки доступа должны быть установлены по возможности близко к источнику сообщений.
  • Условие deny any (запретить все остальное) есть неявно в конце любого списка доступа.
  • Создание списка доступа производится в режиме глобального конфигурирования. Формат команды создания стандартного списка доступа следующий:
    Router(config)#access-list {номер} {permitили deny} {адрес источника}.
       
  • Привязка списка доступа к интерфейсу производится в режиме детального конфигурирования интерфейса. Формат команды привязки списка к интерфейсу следующий:
    Router(config-if)#{протокол} access-group {номер} {in или out}
       
  • Формат команды создания расширенного списка доступа следующий:
    Router(config)#access-list {номер} {permitили deny} {протокол} {адрес источника}{адрес назначения} {порт}
       
  • Именованные списки доступа позволяют за счет введения имени списка сократить затем объем записей при конфигурировании.
  • Контроль списков доступа производится по командам show run, show access-list, show ip interface.
  • Нумерация строк именованного списка доступа позволяет корректировать его.
  • Протокол IPv6 поддерживает именованные расширенные списки доступа. Вместо команды назначения списка доступа на интерфейс (ip access-group) протокола IPv4, в сетях IPv6 используется команда ipv6 traffic-filter.
  • В конце списка доступа IPv6 неявно присутствует команда deny ipv6 any any.
  • Список доступа IPv6 включает также два неявных условия:
    permit icmp any any nd-ns,
    permit icmp any any nd-na,
       
    необходимых для разрешения передачи пакетов обнаружения соседних устройств и их МАС-адресов (Neighbor Discovery - nd) средствами протокола ICMP (вместо протокола ARP в сетях IPV4).
  • Вопросы

  • Для чего используются списки доступа?
  • На основании чего формируется запрет или разрешение сетевого трафика через интерфейс маршрутизатора?
  • Какие параметры пакета могут анализироваться в стандартном и расширенном списке доступа?
  • Где устанавливаются списки доступа и для какого трафика?
  • Какое условие имеется неявно в конце любого списка доступа?
  • Для чего нужны идентификационные номера списков доступа?
  • Каков формат команды создания стандартного списка доступа?
  • Каков формат команды создания расширенного списка доступа?
  • Каков формат команды привязки списка к интерфейсу?
  • Чем различается функционирование входящих и исходящих списков доступа?
  • Какие достоинства имеют именованные списки доступа?
  • Какая команда используется для ограничения удаленного доступа через виртуальные линии vty?
  • Какие команды производят контроль списков доступа?
  • Возможно ли редактирование списков доступа?
  • В чем особенности конфигурирования списков доступа в сетях IPv6?
  • Какие команды используются для удаления списков доступа IPv6?
  • Упражнения

  • Сконфигурируйте список доступа для защиты узла 192.168.10.11 Сети 1 нижеприведенной схемы от несанкционированного доступа со всех узлов Сети 2 и одного узла Сети 3 по командам протокола ICMP. Кроме того разрешить доступ по Telnet с узлов Сети 2 на узел Сети 1.
  • Проведите проверку и отладку сети с использованием команд show running-config, show access-list, show ip access-list, show ip interface, ping, traceroute, tracert и telnet.
  • Вернуться к учебному плану