The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

Списки доступа (Access Lists) в Cisco IOS (cisco acl firewall)


<< Предыдущая ИНДЕКС Правка src / Печать Следующая >>
Ключевые слова: cisco, acl, firewall,  (найти похожие документы)
From: Alexander HunSolo <a.hunsolo@gmail.com.> Newsgroups: http://www.ciscolab.ru/ Date: Mon, 5 Dec 2006 14:31:37 +0000 (UTC) Subject: Списки доступа (Access Lists) в Cisco IOS Оригинал: http://www.ciscolab.ru/2006/09/18/access_list1.html Списки доступа (access-lists) используются в целом ряде случаев и являются общим механизмом задания условий, которые роутер проверяет перед выполнением каких-либо действий. Некоторые примеры использования списков доступа: * Управление передачей пакетов на интерфейсах * Управление доступом к виртуальным терминалам роутера и управлению через SNMP * Ограничение информации, передаваемой динамическими протоколами роутинга Конфигурирование списков доступа Списки доступа либо нумеруются, либо именуются. Использование нумерованных, либо именованных списков доступа определяется их применением (некоторые протоколы требуют использования только нумерованных списков, некоторые - допускают как именованные, так и нумерованные списки). Если используются нумерованные списки, то номера их должны лежать в определенных диапазонах, в зависимости от области применения списка. Некоторые, наиболее часто применяемые диапазоны приведены ниже: Протокол Диапазон номеров Стандартный список IP 1 to 99 Расширенный список IP 100 to 199 MAC Ethernet address 700 to 799 IPX 800 to 899 Extended IPX 900 to 999 IPX SAP 1000 to 1099 Задачи и правила построения списков доступа для различных протоколов различны, но, в общем, можно выделить два этапа работы с любыми списками доступа. Сначала, необходимо создать список доступа, затем применить его к соответствующему интерфейсу, линии или логической операции, выполняемой роутером. Создание списков доступа (краткий обзор) Списки доступа определяют критерии, на соответствие которым проверяется каждый пакет, обрабатываемый роутером в точке списка доступа. Типичными критериями являются адреса отправителя и получателя пакета, тип протокола. Однако, для каждого конкретного протокола существует свой собственный набор критериев, которые можно задавать в списках доступа. Каждый критерий в списке доступа записывается отдельной строкой. Список доступа в целом представляет собой набор строк с критериями, имеющих один и тот же номер (или имя). Запомните, что дополнение списка новыми критериями производится в конец списка. Запомните также, что нет возможности исключить какой-либо критерий из списка. Есть только возможность стереть весь вписок целиком. Порядок задания критериев в списке существенен. Проверка пакета на соответствие списку производится последовательным применением критериев из данного списка (в том порядке, в котором они были введены). Если пакет удовлетворяет какому-либо критерию, то дальнейшие проверки его на соответствие следующим критериям в списке - НЕ ПРОИЗВОДЯТСЯ В конце каждого списка системой добавляется неявное правило. Таким образом, пакет, который не соответствует ни одному из введенных критериев будет отвергнут. Использование tftp-сервера для создания списков доступа Поскольку порядок строк в списке доступа очень важен, а также поскольку невозможно изменить этот порядок или исключить какие-либо строки из существующего списка доступа, рекомендуется создавать списки доступа на tftp-сервере и загружать их целиком в роутер, а не пытаться редактировать их на роутере. Не забывайте, что если список доступа с данным номером (именем) существует, то строки с тем же номером (именем) будут добавляться к существующему списку в конец его. Поэтому, первой строкой в файле, содержащем описание списка доступа для загрузки с tftp-сервера, должна стоять команда отмены данного списка "no access-list ". Назначение списков доступа на интерфейсы (Обзор) Для каждого протокола на интерфейс может быть назначен только один список доступа. Для большинства протоколов можно задать раздельные списки для разных направлений траффика. Если список доступа назначен на входящий через интерфейс траффик, то при получении пакета, ротуер проверяет критерии, заданные в списке. Если пакет разрешен данным списком, то он передается для дальнейшей обработки. Если пакет запрещен, то он отбрасывается. Если список доступа назначен на выходящий через интерфейс траффик, то после приянтия решения о передаче пакета через данный интерфейс роутер проверяет критерии, заданные в списке. Если пакет разрешен данным списком, то он передается в интерфейс. Если пакет запрещен, то он отбрасывается. Не забывайте, что в конце каждого списка стоит неявное правило "deny all", поэтому при назначении списков на интерфейс нужно следить, чтобы явно разрешить все виды необходимого траффика через интерфейс (не только пользовательского, но и служебного, например, обмен информацией по протоколам динамического роутинга). Списки доступа для протокола IP Стандартные и расширенные нумерованные списки доступа Поддерживаются следующие виды списков доступа для IP: * Стандартные списки доступа (проверяют адрес отправителя пакета) * Расширенные списки доступа (проверяют адрес отправителя, адрес получателя и еще ряд параметров пакета) * Динамические расширенные списки доступа (имеют конечное и условия применения) Создание стандартного списка доступа: Критерии записываются последовательно в следующем формате: access-list access-list-number {deny | permit} source [source-wildcard] Пример: access-list 1 deny 192.168.1.0 0.0.0.255 access-list 1 permit 192.168.0.0 0.0.255.255 Разрешается прохождение пакетов с адресов в блоке 192.168.0.0/16 за исключением адресов 192.168.1.0/24 Обратите внимание на порядок записи критериев. Запись их в другом порядке приведет к тому, что второе условие не будет работать никогда. Обратите внимание на запись маски, в отличие от метода записи маски на сетевых интерфейсах маска в списках доступа записана инверсно, единицами отмечены биты, которые НЕ будут проверяться. Часто используемое описание фильтра, которому удовлетворяет любой адрес 0.0.0.0 255.255.255.255 имеет специальное обозначение "any". access-list access-list-number {deny | permit} any Создание расширенного списка доступа: Критерии расширенного списка доступа записываются в следующем формате: access-list access-list-number {deny | permit} protocol source \ source-wildcard destination destination-wildcard \ [precedence precedence] [tos tos] [established] [log] access-list access-list-number {deny | permit} protocol any any access-list access-list-number {deny | permit} protocol host source host destination Ключевое слово "log" вызывает выдачу записи о совпадении пакета с данным критерием на консоль и в системный лог-файл. Если в качестве протокола указано "tcp" или "udp", то описания source- и destination-wildcard могут включать номера портов для данных протоколов с ключевыми словами "eq", "lt", "gt", "range". Для протокола "tcp", возможно также применение слова "established" для выделения только установленных tcp-сессий. Ключевое слово "hostsource" - эквивалентно записи: "source 0.0.0.0" Создание динамического списка доступа access-list access-list-number [dynamic dynamic-name [timeout minutes]] \ {deny | permit} protocol source source-wildcard destination destination-wildcard \ [precedence precedence] [tos tos] [established] [log] Создание именованных списков доступа Именованные списки доступа не распознаются Cisco IOS версиях младше 11.2. Именованные списки доступа в настоящее время можно использовать только в качестве пакетных фильтров и фильтров роутинга. Прежде чем использовать именованные списки доступа, запомните следующее: * Именованные списки несовместимы с предыдущими версиями IOS. * Не во всех случаях, где необходимы списки доступа, могут быть использованы именованные списки. * Не могут существовать одновременно стандартный и расширенный списки с одинаковым именем. Создание стандартного именованного списка доступа Шаг 1. Задание имени и переход в режим формирования списка. Router(config)#ip access-list standard name Шаг 2. Задание критериев в порядке, в котором они должны применяться в списке. Router(config-std-nacl)#deny {source [source-wildcard]| any} or Router(config-std-nacl)#permit {source [source-wildcard]| any} Шаг 3. Выход из режима формирования списка. Router(config-std-nacl)#exit Расширенный именованный список доступа создается аналогично. Шаг 1. Router(config)#ip access-list extended name Шаг 2. Router(config-ext-nacl)#{deny | permit}protocol \ source source-wildcard destination destination-wildcard \ [precedence precedence] [tos tos] [established] [log] Router(config-ext-nacl)#{deny | permit}protocolany any Router(config-ext-nacl)#{deny | permit}protocol host source host destination Шаг 3. Router(config-ext-nacl)#exit Назначение списка доступа на интерфейс или терминальную линию. * На терминальную линию могут быть назначены только нумерованные списки. * На интерфейс могут назначаться ка кнумерованные, так и именованные списки. В режиме конфигурировании терминальной линии выполните команду: access-class access-list-number {in | out} В режиме конфигурирования интерфейса выполните команду: ip access-group {access-list-number | name} {in | out} Если в результате применения списка доступа, назначенного на интерфейс, пакет отбрасывается, то отправителю посылается ICMP Host Unreachable message. Если на интерфейс назначен список доступа, который не определен в конфигурации, то считается, что никакого списка не назначено и никакой фильтрации пакетов не происходит. Обратите внимание, что как только будет введен хотя бы один критерий с этим номером/именем списка доступа, вслед за ним появится критерий "deny all", который добавляется в конце всех существующих списков доступа. Поэтому, во избежание полной блокировки системы при заведении списков доступа следует: * Либо отменять назначение списка доступа на интерфейс перед редактированием списка и назначать на интерфейс только полностью сформированные и проверенные списки * Либо создавать и редактировать списки доступа на tftp-сервере и загружать в роутер опять-таки полностью сформированные и провереные списки доступа. Примеры расширенных списков доступа Первый критерий разрешает любые входящие TCP-соединения на порты с номерами больше 1023. Второй критерий разрешает входящие SMTP-соединения на адрес 128.88.1.2. Следующий критерий разрешает прохождение ICMP-сообщений. ВСЕ остальные пакеты, входящие с интерфейса Ethernet0 будут ОТБРОШЕНЫ! ! access-list 102 permit tcp 0.0.0.0 255.255.255.255 128.88.0.0 0.0.255.255 gt 1023 access-list 102 permit tcp 0.0.0.0 255.255.255.255 128.88.1.2 0.0.0.0 eq 25 access-list 102 permit icmp 0.0.0.0 255.255.255.255 128.88.0.0 255.255.255.255 ! interface ethernet 0 ip access-group 102 in ! Пример именованного списка доступа Создается стандартный списко доступа с именем Internet_filter и расширенный список доступа с именем marketing_group: ! interface Ethernet0/5 ip address 2.0.5.1 255.255.255.0 ip access-group Internet_filterout ip access-group marketing_groupin ... ! ip access-list standard Internet_filter permit 1.2.3.4 deny any ip access-list extended marketing_group permit tcp any 171.69.0.0 0.0.255.255 eq telnet deny tcp any any permit icmp any any deny udp any 171.69.0.0 0.0.255.255 lt 1024 deny ip any any log !

<< Предыдущая ИНДЕКС Правка src / Печать Следующая >>

Обсуждение [ Линейный режим | Показать все | RSS ]
  • 1.1, Gerika (?), 23:08, 19/04/2010 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Спасибо, понятно написано. Только мне кажется, у Вас тут не большая опечатка есть:

    ---------------------------------
    Следующий критерий разрешает
       прохождение ICMP-сообщений.
    access-list 102 permit tcp 0.0.0.0 255.255.255.255 128.88.1.2 0.0.0.0 eq 25
    -----------------------------------

    Мне кажется, вместо tcp нужно smpt поставить.

     
     
  • 2.2, Gerika (?), 23:12, 19/04/2010 [^] [^^] [^^^] [ответить]  
  • +/
    Простите, немного ошиблась при копировании.
    Необходимо было так:
    --------------------
    Второй критерий разрешает входящие
       SMTP-соединения на адрес 128.88.1.2.
    --------------------------------------

    Приношу свои извинения :)

     

  • 1.3, polka (?), 14:20, 31/03/2011 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Такая подробная и добросовестная попытка осветить процесс написания листов, только не понятно, почему автор умолчал про  "eq", "lt", "gt", "range"- вот здесь абсолютно белое пятно+ хотелось бы более развернутое описание присваивания листов на in и out, где бы это еще поискать.
     
     
  • 2.4, Aleksktv (?), 13:23, 18/10/2011 [^] [^^] [^^^] [ответить]  
  • +/
    operator – буквенная запись математических операторов

    # gt (greater than– больше)
    # lt (less than– меньше)
    # neq (not equal)
    # eq (equal– равно)
    # range (inclusive range– диапазон)

     

  • 1.5, PRODVi (?), 12:55, 18/06/2012 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    <<...а также поскольку невозможно изменить этот порядок или исключить какие-либо строки из существующего списка доступа...>>

    мдаа..что за дезинфа? acl списки можно без труда редактить на рутере, удалять, изменять или вставлять новые строчки.

     
     
  • 2.6, Mike (??), 22:15, 30/11/2012 [^] [^^] [^^^] [ответить]  
  • +/
    в официальном руководстве Cisco написано что нельзя.
    ну в новых версиях IOS может и можно но не факт.
    прежде чем обвинять другого в дезинфе на себя посмотрите=)
     
     
  • 3.7, Mike (??), 01:08, 01/12/2012 [^] [^^] [^^^] [ответить]  
  • +/
    *** возможность удалять появилась с версии 12.3 , раньше не было
     

  • 1.8, Дмитрий (??), 10:22, 05/12/2012 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Если используется range, как после этого слова надо задавать номера портов?
     
     
  • 2.9, Татьяна (??), 09:25, 27/12/2012 [^] [^^] [^^^] [ответить]  
  • +/
    номера портов прописываются без пробела: первый и послдний порты диапазона
     
     
  • 3.10, Дмитрий (??), 12:16, 27/12/2012 [^] [^^] [^^^] [ответить]  
  • +/
    > номера портов прописываются без пробела: первый и послдний порты диапазона

    Это как?

     

  • 1.12, ronny65 (?), 09:11, 15/03/2023 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    ip access-list extended Rnew

    permit tcp any any established
    permit tcp any host 5.5.5.100 eq 80
    permit tcp any host 5.5.5.100 eq 443
    permit tcp any host 5.5.5.100 eq 2244
    permit udp host 4.4.4.100 host 5.5.5.100 eq 500

    permit esp any any
    permit icmp any any

    int gi 1
    ip access-group Rnew in

     

    игнорирование участников | лог модерирования

     Добавить комментарий
    Имя:
    E-Mail:
    Заголовок:
    Текст:




    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2024 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру