Use access list acl - IT Новости из мира ПК
Remkomplekty.ru

IT Новости из мира ПК
30 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

Use access list acl

Use access list acl

Read this article in English

Рассмотрим создание и использование списков доступа (access lists) на примере схемы подключения малого офиса к сети Интернет с помощью маршрутизатора Cisco 881. Команды для настройки маршрутизаторов других серий (1841, 2800, 3825…) или коммутаторов 3 уровня (серии 3500, 4800…) будут аналогичными. Различия могут быть лишь в настройках интерфейсов.

В распоряжении имеем:

  • несколько компьютеров и серверов в локальной сети офиса
  • маршрутизатор Cisco 881
  • коммутатор (используется для организации локальной сети офиса, без дополнительных настроек)

Задача: ограничить соединения, проходящие через маршрутизатор.

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

Логика устройства такова, что сначала мы показываем маршрутизатору трафик, который нам интересен, а затем указываем что маршрутизатор должен с ним сделать. Например, в одном случае список доступа будет указывать адрес, с которого возможен удаленный доступ к маршрутизатору по протоколу SSH, а в другом будет указывать маршрут, который будет распространен с помощью протокола динамической маршрутизации.

Ограничение удаленного доступа к маршрутизатору

Пример access list, который используется для ограничения удаленного доступа к консоли маршрутизатора только с определенных ip адресов. В нашем случае – адрес рабочей станции администратора.
Создаем список доступа ACL_REMOTE_ACCESS
R-DELTACONFIG(config)#
ip access-list standard ACL_REMOTE_ACCESS
permit ip host 192.168.0.100
Привязываем access list для ограничения доступа к удаленному управлению маршрутизатором только с адреса 192.168.0.100
R-DELTACONFIG(config)#
line vty 0 4
access-class ACL_REMOTE_ACCESS in

Важно!
Будьте осторожны и внимательно все проверьте перед применением. Ошибку можно будет исправить только подключившись консольным кабелем или сбросив настройки маршрутизатора до заводских.

Ограничение доступа в Интернет

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

  • разрешить доступ прокси серверу (http и https)
  • разрешить доступ DNS серверу (TCP 53 и UDP 53)
  • полный доступ администратору сети
  • разрешить протокол ICMP для всех рабочих станций для работы команды Ping.

Создаем следующий список доступа ACL_INSIDE_IN и последовательно вводим правила доступа:
R-DELTACONFIG(config)#
ip access-list extended ACL_INSIDE_IN
доступ DNS сервера в Интернет
permit udp host 192.168.0.201 any eq 53
permit tcp host 192.168.0.201 any eq 53
доступ Прокси сервера в Интернет
permit tcp host 192.168.0.202 any eq 80
permit tcp host 192.168.0.202 any eq 443
полный доступ администратора
permit ip host 192.168.0.100 any
разрешение Ping для всей локальной сети
permit icmp 192.168.0.0 0.0.0.255 any
запрет иных подключений
deny ip any any log

Важно!
Обратите внимание на то, как записана строчка правила для протокола ICMP (Ping). В списках доступа на маршрутизаторах Cisco маска подсети пишется в обратном виде: не 255.255.255.0, а 0.0.0.255

После привязываем список доступа ко внутреннему интерфейсу Vlan 1 в направлении «внутрь маршрутизатора» (параметр in). Собственно, направление привязки всегда считается относительно устройства Cisco. Для удобства интерфейс и направление трафика указано в названии самого списка доступа: ACL_INSIDE_IN — фильтр трафика, входящего во внутренний интерфейс.
R-DELTACONFIG(config)#
interface Vlan 1
ip access-group ACL_INSIDE_IN in
С этого момента доступ наружу будет осуществляться в соответствии с примененным access list при условии, что корректно настроена трансляция адресов (NAT). Как это делается описано в статье про настройку доступа в интернет с помощью маршрутизатора Cisco.

Проверка работы access list

Проверить работу списка доступа можно посмотрев статистику срабатываний правил. После привязки списка доступа ACL_INSIDE_IN к интерфейсу Vlan 1 запустите Ping с любой из рабочих станций сети до любого адреса в Интернет (например до www.yandex.ru), а затем выполните из привилегированного режима (знак # рядом с названием устройства) команду show access-lists. Результат должен показывать количество срабатываний каждой из строк списка доступа:
R-DELTACONFIG# sh access-lists
Extended IP access list ACL_INSIDE_IN

60 permit icmp any any (4 estimate matches)
70 deny ip any any log
Важные аспекты использования списков доступа (access list)

  • Список доступа состоит из строк – правил, показывающих определенный трафик
  • Список доступа, привязанный к интерфейсу, ограничивает проходящие через этот интерфейс пакеты.
  • Список доступа может быть привязан к интерфейсу в одном из направлений: входящем или исходящем.
  • В списках доступа может быть указан или только источник соединения (standard, пример ограничения доступа по SSH) или источник и назначение соединения(extended, пример ограничения доступа в Интернет).
  • Не может быть привязано более одного списка доступа к одному интерфейсу в одном направлении. Все необходимые правила должны быть указаны только в одном привязанном списке доступа.

Ограничение доступа из сети Интернет

Создаем список доступа ACL_OUTSIDE_IN для внешнего интерфейса. В нем указываем лишь то, что внешний интерфейс должен отвечать на ping, а все остальные запросы отклонять.
R-DELTACONFIG(config)#
ip access-list extended ACL_OUTSIDE_IN
permit icmp any interface //разрешение Ping
deny ip any any log //запрет иных подключений
Привязываем список доступа ко внешнему интерфейсу.
R-DELTACONFIG(config)#
interface FastEthernet 4
ip access-group ACL_OUTSIDE_IN in

Важно!
Все новые правила, которые потребуются для доступа изнутри или снаружи, следует добавлять в соответствующие списки доступа ДО строчки
deny ip any any log
Если какая-то строчка с разрешением окажется в списке после запрещающей, то она не будет хоть как-то влиять на трафик, так как маршрутизатор обрабатывает строки access list последовательно до первого совпадения.
Для изменения access list удобно зайти в сам список доступа, добавить все нужные разрешения, а после этого удалить последнюю строку (deny ip any any log) и тут же ее добавить. Выполняя это нехитрое правило запрещающая строка всегда будет в самом конце списка, а все правила будут идти в порядке добавления снизу вверх. Для наглядности разрешим доступ к маршрутизатору извне по протоколу http (TCP порт 80)
R-DELTACONFIG(config)#
ip access-list extended ACL_OUTSIDE_IN
permit tcp any interface eq 80
no deny ip any any log
deny ip any any log

Разрешение ответного трафика

После привязки списка доступа ACL_OUTSIDE_IN пропадает весь доступ из локальной сети ко всем ресурсам по любым протоколам кроме Ping. Это происходит из-за того, что фильтрующие трафик правила применяются и на внутреннем (ACL_INSIDE_IN) и на внешнем (ACL_OUTSIDE_IN) интерфейсах.
Для того, чтобы проходили все обратные пакеты на запросы из локальной сети указываем протоколы для функции Inspect.
R-DELTACONFIG(config)#
ip inspect name Internet http
ip inspect name Internet https
ip inspect name Internet dns
ip inspect name Internet icmp
Привязываем правило инспектирования ко внешнему интерфейсу.
R-DELTACONFIG(config)#
interface FastEthernet 4
ip inspect Internet out
Список разрешенных для инспекции служб можно расширить в будущем.

Надеюсь, что статья поможет Вам лучше понять принцип работы списков доступа. К сожалению эту достаточно простую тему очень сложно описать простым языком. Если у Вас возникли вопросы или какой-то момент остался неясным, напишите мне на адрес smogdelta@gmail.com или оставьте свой вопрос в комментариях.

Важно!

Не забудьте сохранить конфигурацию на всех устройствах командой write или copy run start. Иначе после перезагрузки все изменения будут потеряны.
R-DELTACONFIG-1# write
Building configuration.
[OK]

Use access list acl

ACL— списки контроля доступа.

Можно назначить по одному списку на:
— каждый протокол
— каждый интерфейс
— входящий и исходящий трафик

ACL не оказывает никакого влияния на трафик, генерируемый самим маршрутизатором.

Бывают:
Стандартные ACL — фильтруют пакеты только по IP адресу источника
Расширенные ACL — фильтруют по:
— IP адресу источника
— IP адресу назначения
— TCP или UDP портам источника
— TCP или UDP портам назначения
— типу протокола (названию или номеру)

А также:
1. Нумерованные ACL:
— от 1 до 99 и от 1300 до 2000 — стандартные IP ACL
— от 100 до 199 и от 2000 до 2699 — расширенные IP ACL
2. Именованные — их более удобно применять, т.к. можно указать их назначение. Требования к именам:
— могут содержать буквы и цифры
— предполагается, что имена будут писаться заглавными буквами
— имена не могут содержать пробелы и знаки пунктуации
В именованные ACL можно добавлять и удалять записи.

Читать еще:  Unhandled exception access violation c0000005

Как применяются ACL
1. Создать ACL, указав номер или имя и указать условия.
2. Назначить ACL на интерфейс или терминальную линию.

Как работает стандартный ACL
1. На интерфейс поступает пакет
2. Проверяется, есть ли на входе интерфейса ACL.
3. Проверяется, стандартный ли ACL.
4. Сравнивается адрес источника с первой записью.
5. Если не совпадает, сравнивается со следующей записью.
6. Если не совпадает ни с одной записью, то отбрасывается.
7. Если совпадает с какой-то записью, пропускает или отбрасывает согласно правилу.
8. Если пропускает, ищет адрес назначения в таблице маршрутизации.
9. Если есть, отправляет на нужный интерфейс.
10. Если нет — отбрасывает.

Правила размещения ACL:
— Стандартные ACL надо располагать ближе к сети назначения
— Расширенные ACL- ближе к сети источника.

Создание нумерованного стандартного ACL
Router(config)#access-list access-list-number [deny | permit | remark] source [source-wildcard] [log]
Например:
R1(config)# access-list 10 remark Permit for 192.168.0.0 LAN — описываем ACL или каждую запись в ACL
R1(config)# access-list 10 permit 192.168.0.0 — для классовой сети
R1(config)# access-list 10 permit 192.168.5.0 0.0.0.128 — для бесклассовой сети
Удаление ACL
R1(config)# no access-list 10

wildcard маска образуется путе вычитания маски необходимой сети из маски 255.255.255.0, например
255.255.255.255

255.255.15.0
=
0.0.240.255

В ACL вместо адреса источника можно указывать:
— вместо 0.0.0.0 255.255.255.255 — any
— вместо конкретного адреса хоста типа 192.168.5.12 0.0.0.0 — host 192.168.5.12

Применение нумерованного стандартного ACL на интерфейс
Router(config-if)#ip access-group
Например, ACL 10:
R1(config)# access-list 10 permit 192.168.0.0
R1(config)# access-list 10 permit 192.168.5.0 0.0.0.128
применяем на входе интерфейса Fastethernet 0/1
R1(config)# interface f0/1
R1(config-if)# ip access-group 10 in

Hастройка ACL для виртуальных терминальных линий (вместо параметра access-group используется access-class):
R1(config-line)# access-class access-list-number
Например
R1(config)# access-list 22 permit 192.168.1.0
R1(config)# access-list 22 permit 192.168.2.0
R1(config)# line vty 0 4 — надо назначать на все vty, т.к. пользователь может подключиться к любому из них
R1(config-line)# login local
R1(config-line)# transport input telnet
R1(config-line)# ip access-class 22 in

Редактирование нумерованных ACL
При редактировании нумерованных ACL записи вставляются в порядке ввода. Нельзя вставить новую запись между двумя уже введенными. Если это все-таки надо сделать, то:
— Копируем все правила из конфигурации в блокнот.
— Вставляем необходимые записи.
— Удаляем весь AC
— Копируем все записи из блокнота
— Вставляем в конфигурацию.

Именованные стандартные ACL
R1(config)# ip access-list standard NAME — объявляем именованный стандартный ACL
R1(config-std-nacl)# remark Deny for host 192.168.0.13 — описываем ACL
R1(config-std-nacl)# deny 192.168.0.13 — создаем правила
R1(config-std-nacl)# permit 192.168.0.0 0.0.0.255
R1(config-std-nacl)# interface Fa0/0
R1(config-if)# ip access-group NAME out — привязываем ACL к интерфейсу
Называть ACL заглавными буквами не обязательно. Это делается для удобства.

Просмотр и проверка ACL
Используется команда:
Router# show access-lists
Например,
R1# show access-lists — выводит все ACL
R1# show access-lists 10 — выводит ACL с номером 10
R1# show access-lists NAM — выводит ACL с именем NAM

Редактирование именованных ACL
У именованных ACL есть преимущество перед нумерованными. Их проще редактировать. Все записи правил в именованных ACL имеют порядковый номер с шагом 10. Т.е. первое правило имеет номер 10, второе — 20 и т.д.
Поэтому у именованных ACL можно удалять конкретные запис, а также добавлять записи между имеющимися правилами с присвоением им номера между номерами правил, между которыми добавляется новое правило.
Например, у нас есть ACL с темя записями:
R1# show access-lists
Standard IP access-list WEBSERVER
10 permit 192.168.10.10
20 deny 192.168.10.0, wildcard bits 0.0.0.255
30 deny 192.168.12.0, wildcard bits 0.0.0.255

Нам надо добавить еще одно правило:
R1(config)# access-list standard WEBSERVER
R1(config-std-nacl)# 15 permit 192.168.10.13

Вот, что получилось:
R1# show access-lists
Standard IP access-list WEBSERVER
10 permit 192.168.10.10
15 permit 192.168.10.13
20 deny 192.168.10.0, wildcard bits 0.0.0.255
30 deny 192.168.12.0, wildcard bits 0.0.0.255

Расшриренные ACL
Расширенные списки доступа дают возможность более точно фильтровать трафик, поэтому и используются они чаще. Помимо адреса источника они еще проверяют:
— протокол (IP, ICMP, TCP, UDP и др)
— адрес назначения
— номер порта (не интерфейса)

Синтаксис команды расширенного нумерованного ACL
Router(config)#access-list access-list-number [deny | permit | remark] protocol source [source-wildcard] [operator operand] [port port-number or name] destination [destination-wildcard] [operator operand] [port port-number or name] [established]
где:
access-list-number — номер ACL (100-199 и 2000-2699)
deny — запретить трафик
permit — разрешить трафик
remark — описание правила или ACL
protocol — имя или номер протокола. В основном это — IP, ICMP, TCP, UDP.
source — адрес источника
source-wildcard — обратная маска источника
destination — адрес назначения
destination-wildcard — обратная маска назначения
operator — сравнивает номера портов. Может быть: lt-меньше чем, gt-больше чем, eq-равно, neq-не равно, range-включает диапазон.
port — номер порта
established — только для TCP — указывает установленное соединение.

Пример
R1(config)#access-list 103 permit tcp 192.168.10.0 0.0.0.255 any eq 80 — резрешаем доступ по 80 порту от сети 192.168.10.0
R1(config)#access-list 103 permit tcp 192.168.10.0 0.0.0.255 any eq 443 — резрешаем доступ по 443 порту от сети 192.168.10.0
R1(config)#access-list 104 permit tcp any 192.168.10.0 0.0.0.255 established — разрешаем установленные tcp соединения к сети 192.168.10.0.

Расширенные ACL назначаются на интерфейсы так же, как и стандартные. Например:
R1(config)# interface f0/1
R1(config-if)# ip access-group 103 out
R1(config-if)# ip access-group 104 in

Создание именованного расширенного ACL
R1(config)# ip access-list extended SURFING— объявляем именованный расширенный ACL для исходящего трафика
R1(config-ext-nacl)# pernit tcp 192.168.10.0 0.0.0.255 any eq 80 — создаем правила
R1(config-ext-nacl)# pernit tcp 192.168.10.0 0.0.0.255 any eq 443
R1(config)# access-list extended BROWSING — объявляем именованный расширенный ACL для входящего трафика
R1(config-ext-nacl)# pernit tcp any 192.168.10.0 0.0.0.255 established — создаем правила

Комплексные ACL
Стандартные и расширенные ACL могут быть основой для комплексных ACL для улучшения функциональности. Бывают:
— Динамические
— Рефлексивные
— С ограничением по времени

Динамические ACL — если пользователю необходимо получить доступ к какому-либо устройству, находящемуся за маршрутизатором, он сначала должен аутентифицироваться на маршрутизаторе через Telnet. После этого маршрутизатор на определенное время дает доступ, по истечении которого опять надо будет аутентифицироваться.
R1(config)#username Student password 0 cisco — создаем пользователей для подключения через Telnet без привелегий.
R3(config)#access-list 101 permit tcp any host 10.2.2.2 eq telnet — разрешаем отовсюду подключаться к маршрутизатору
R3(config)#access-list 101 dynamic testlist timeout 15 permit ip 192.168.10.0 0.0.0.255 192.168.30.0 0.0.0.255 — добавляем динамическую запись с именем testlist, которая будет работать только после установления связи через Telnet в течении 15 минут, а затем будет отключаться. Это правило открывает доступ из сети 192.168.10.0 в сеть 192.168.30.0.
R3(config)#interface serial 0/0/1
R3(config-if)#ip access-group 101 in
— закрепляем ACL 101 за интерфейсом во входящем направлении.
R3(config)#line vty 0 4
R3(config-line)#login local
R3(config-line)#autocommand access-enable host timeout 5
— как только пользователь залогинится на маршрутизатор, выолнится автокоманда, которая даст доступ к сети 192.168.30.0. Сессия Telnet после этого закроется. Доступ к сети сохраниться и будет закрыт после 5 минут ожидания.

Рефлексивные ACL — разрешают трафик извне сети только в случае, если он был инициирован изнутри. Изначально весть трафик извне закрыт. Список доступа запоминает параметры пользовательских сессий, которые дают запрос наружу. Ответ на эти запросы проверяется на соответствие параметрам пользовательской сессии. Рефлексивные ACL имеют только временные записи, которые создаются автоматически с каждой сессией. Рефлексивные ACL не применяются непосредственно на интерфейс, но вкладываются в расширенный ACL , который применяется на интерфейс. Рефлексивные ACL могут быть определены только в расширенных именованных ACL, а использоваться могут с любими ACL.
R2(config)#ip access-list extended OUTBOUNDFILTERS — объявляем именованный расширенный ACL для исходящего трафика.
R2(config-ext-nacl)#permit tcp 192.168.0.0 0.0.255.255 any reflect TCPTRAFFIC — заставляем маршрутизатор отслеживать tcp трафик, который инициировался изнутри, и сохранять в переменной TCPTRAFFIC.
R2(config-ext-nacl)#permit icmp 192.168.0.0 0.0.255.255 any reflect ICMPTRAFFIC — заставляем маршрутизатор отслеживать icmp трафик, который инициировался изнутри, и сохранять в переменной ICMPTRAFFIC .
R2(config)#ip access-list extended INBOUNDFILTERS — объявляем именованный расширенный ACL для входящего трафика.
R2(config-ext-nacl)#evaluate TCPTRAFFIC — заставляем маршрутизатор сравнивать параметры входящего tcp трафика с переменной TCPTRAFFIC, созданной правилом OUTBOUNDFILTERS.
R2(config-ext-nacl)#evaluate ICMPTRAFFIC — заставляем маршрутизатор сравнивать параметры входящего icmp трафика с переменной ICMPTRAFFIC, созданной правилом OUTBOUNDFILTERS.
R2(config)#interface serial 0/1/0
R2(config-if)#ip access-group INBOUNDFILTERS in — применяем ACL для входящего трафика на интерфейс.
R2(config-if)#ip access-group OUTBOUNDFILTERS out — применяем ACL для исходящего трафика на интерфейс.

Читать еще:  Бд субд access

ACL с ограничением по времени — определяет время, когда в расширенном ACL работает конкретная запись.
R1(config)#time-range EVERYOTHERDAY — обьявляем переменную времени EVERYOTHERDAY.
R1(config-time-range)#periodic Monday Wednesday Friday 8:00 to 17:00 — присваиваем список времени для этой переменной, в котором добавляем дни недели и время.
R1(config)#access-list 101 permit tcp 192.168.10.0 0.0.0.255 any eq telnet time-range EVERYOTHERDAY — применяем переменную к правилу.
R1(config)#interface s0/0/0
R1(config-if)#ip access-group 101 out — закрепляем ACL за интерфейсом.

Use access list acl

Read this article in English

Рассмотрим создание и использование списков доступа (access lists) на примере схемы подключения малого офиса к сети Интернет с помощью маршрутизатора Cisco 881. Команды для настройки маршрутизаторов других серий (1841, 2800, 3825…) или коммутаторов 3 уровня (серии 3500, 4800…) будут аналогичными. Различия могут быть лишь в настройках интерфейсов.

В распоряжении имеем:

  • несколько компьютеров и серверов в локальной сети офиса
  • маршрутизатор Cisco 881
  • коммутатор (используется для организации локальной сети офиса, без дополнительных настроек)

Задача: ограничить соединения, проходящие через маршрутизатор.

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

Логика устройства такова, что сначала мы показываем маршрутизатору трафик, который нам интересен, а затем указываем что маршрутизатор должен с ним сделать. Например, в одном случае список доступа будет указывать адрес, с которого возможен удаленный доступ к маршрутизатору по протоколу SSH, а в другом будет указывать маршрут, который будет распространен с помощью протокола динамической маршрутизации.

Ограничение удаленного доступа к маршрутизатору

Пример access list, который используется для ограничения удаленного доступа к консоли маршрутизатора только с определенных ip адресов. В нашем случае – адрес рабочей станции администратора.
Создаем список доступа ACL_REMOTE_ACCESS
R-DELTACONFIG(config)#
ip access-list standard ACL_REMOTE_ACCESS
permit ip host 192.168.0.100
Привязываем access list для ограничения доступа к удаленному управлению маршрутизатором только с адреса 192.168.0.100
R-DELTACONFIG(config)#
line vty 0 4
access-class ACL_REMOTE_ACCESS in

Важно!
Будьте осторожны и внимательно все проверьте перед применением. Ошибку можно будет исправить только подключившись консольным кабелем или сбросив настройки маршрутизатора до заводских.

Ограничение доступа в Интернет

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

  • разрешить доступ прокси серверу (http и https)
  • разрешить доступ DNS серверу (TCP 53 и UDP 53)
  • полный доступ администратору сети
  • разрешить протокол ICMP для всех рабочих станций для работы команды Ping.

Создаем следующий список доступа ACL_INSIDE_IN и последовательно вводим правила доступа:
R-DELTACONFIG(config)#
ip access-list extended ACL_INSIDE_IN
доступ DNS сервера в Интернет
permit udp host 192.168.0.201 any eq 53
permit tcp host 192.168.0.201 any eq 53
доступ Прокси сервера в Интернет
permit tcp host 192.168.0.202 any eq 80
permit tcp host 192.168.0.202 any eq 443
полный доступ администратора
permit ip host 192.168.0.100 any
разрешение Ping для всей локальной сети
permit icmp 192.168.0.0 0.0.0.255 any
запрет иных подключений
deny ip any any log

Важно!
Обратите внимание на то, как записана строчка правила для протокола ICMP (Ping). В списках доступа на маршрутизаторах Cisco маска подсети пишется в обратном виде: не 255.255.255.0, а 0.0.0.255

После привязываем список доступа ко внутреннему интерфейсу Vlan 1 в направлении «внутрь маршрутизатора» (параметр in). Собственно, направление привязки всегда считается относительно устройства Cisco. Для удобства интерфейс и направление трафика указано в названии самого списка доступа: ACL_INSIDE_IN — фильтр трафика, входящего во внутренний интерфейс.
R-DELTACONFIG(config)#
interface Vlan 1
ip access-group ACL_INSIDE_IN in
С этого момента доступ наружу будет осуществляться в соответствии с примененным access list при условии, что корректно настроена трансляция адресов (NAT). Как это делается описано в статье про настройку доступа в интернет с помощью маршрутизатора Cisco.

Проверка работы access list

Проверить работу списка доступа можно посмотрев статистику срабатываний правил. После привязки списка доступа ACL_INSIDE_IN к интерфейсу Vlan 1 запустите Ping с любой из рабочих станций сети до любого адреса в Интернет (например до www.yandex.ru), а затем выполните из привилегированного режима (знак # рядом с названием устройства) команду show access-lists. Результат должен показывать количество срабатываний каждой из строк списка доступа:
R-DELTACONFIG# sh access-lists
Extended IP access list ACL_INSIDE_IN

60 permit icmp any any (4 estimate matches)
70 deny ip any any log
Важные аспекты использования списков доступа (access list)

  • Список доступа состоит из строк – правил, показывающих определенный трафик
  • Список доступа, привязанный к интерфейсу, ограничивает проходящие через этот интерфейс пакеты.
  • Список доступа может быть привязан к интерфейсу в одном из направлений: входящем или исходящем.
  • В списках доступа может быть указан или только источник соединения (standard, пример ограничения доступа по SSH) или источник и назначение соединения(extended, пример ограничения доступа в Интернет).
  • Не может быть привязано более одного списка доступа к одному интерфейсу в одном направлении. Все необходимые правила должны быть указаны только в одном привязанном списке доступа.

Ограничение доступа из сети Интернет

Создаем список доступа ACL_OUTSIDE_IN для внешнего интерфейса. В нем указываем лишь то, что внешний интерфейс должен отвечать на ping, а все остальные запросы отклонять.
R-DELTACONFIG(config)#
ip access-list extended ACL_OUTSIDE_IN
permit icmp any interface //разрешение Ping
deny ip any any log //запрет иных подключений
Привязываем список доступа ко внешнему интерфейсу.
R-DELTACONFIG(config)#
interface FastEthernet 4
ip access-group ACL_OUTSIDE_IN in

Важно!
Все новые правила, которые потребуются для доступа изнутри или снаружи, следует добавлять в соответствующие списки доступа ДО строчки
deny ip any any log
Если какая-то строчка с разрешением окажется в списке после запрещающей, то она не будет хоть как-то влиять на трафик, так как маршрутизатор обрабатывает строки access list последовательно до первого совпадения.
Для изменения access list удобно зайти в сам список доступа, добавить все нужные разрешения, а после этого удалить последнюю строку (deny ip any any log) и тут же ее добавить. Выполняя это нехитрое правило запрещающая строка всегда будет в самом конце списка, а все правила будут идти в порядке добавления снизу вверх. Для наглядности разрешим доступ к маршрутизатору извне по протоколу http (TCP порт 80)
R-DELTACONFIG(config)#
ip access-list extended ACL_OUTSIDE_IN
permit tcp any interface eq 80
no deny ip any any log
deny ip any any log

Разрешение ответного трафика

После привязки списка доступа ACL_OUTSIDE_IN пропадает весь доступ из локальной сети ко всем ресурсам по любым протоколам кроме Ping. Это происходит из-за того, что фильтрующие трафик правила применяются и на внутреннем (ACL_INSIDE_IN) и на внешнем (ACL_OUTSIDE_IN) интерфейсах.
Для того, чтобы проходили все обратные пакеты на запросы из локальной сети указываем протоколы для функции Inspect.
R-DELTACONFIG(config)#
ip inspect name Internet http
ip inspect name Internet https
ip inspect name Internet dns
ip inspect name Internet icmp
Привязываем правило инспектирования ко внешнему интерфейсу.
R-DELTACONFIG(config)#
interface FastEthernet 4
ip inspect Internet out
Список разрешенных для инспекции служб можно расширить в будущем.

Надеюсь, что статья поможет Вам лучше понять принцип работы списков доступа. К сожалению эту достаточно простую тему очень сложно описать простым языком. Если у Вас возникли вопросы или какой-то момент остался неясным, напишите мне на адрес smogdelta@gmail.com или оставьте свой вопрос в комментариях.

Читать еще:  Обучение access для начинающих

Важно!

Не забудьте сохранить конфигурацию на всех устройствах командой write или copy run start. Иначе после перезагрузки все изменения будут потеряны.
R-DELTACONFIG-1# write
Building configuration.
[OK]

Use access list acl

По традиции для тех кто будет собирать эту схему Packet tracer я привожу полную конфигурацию всех устройств с описанием команд.

Конфигурация для маршрутизатора:

Запускаем пинг с пользовательского компа до сервера

Как видим доступ есть. Нам же необходимо, чтобы доступ имел только админ. Для этого нам необходимо создать список доступа (пусть он будет иметь порядковый номер 10), в котором мы разрешим всем пакетам от администратора (172.16.0.100) доступ в подсеть серверов (172.16.1.0/24). После чего применим это правило на сабинтерфейсе fa0/0.3 (для серверов) для всех исходящих пакетов.

Тестируем настройки. Запускаем пинг с пользовательского компьютера в сторону сервера.

Пишет Destination host unreachable – хост назначения недоступен.

Запускаем пинг с компьютера администратора.

Пинг идет – значит ACL настроили правильно. Что происходит когда мы пингуем сервер с ноутбука администратора? Пакет сначала поступает на саибинтерфейс fa0/0.2 маршрутизатора. На данном интерфейсе не настроены списки доступа значит пакет проходит далее. Роутер смотрит в свою таблицу маршрутизации и видит что подсеть серверов находится на сабинтерфейсе fa0/0.3. Перед отправкой пакета маршрутизатор видит, что к данному интерфейсу прикреплен ACL 10. В данном списке доступа всего одна запись – разрешить отправку пакетов только хосту 172.16.0.100 (ноут админа). Маршрутизатор смотрит в Ip-пакет и видит адрес отправителя 172.16.0.100 после чего отправляет пакет в подсеть серверов. Ip-пакет с любым отличным от 172.16.0.100 будет отбрасываться, так как в конце ACL 10 стоит неявный deny any – запретить все.

Теперь перейдем к расширенным спискам доступа. Пользователям в нашей сети необходимо иметь доступ к файловому хранилищу и веб-сайту. Мы же ранее полностью ограничили им доступ к серверу. Необходимо исправить ситуацию и в этом нам помогут расширенные списки доступа. Расширенные списки доступа могут проверять Ip-адреса источника/отправителя, тип протокола, UDP/TCP-порты. В нашей ситуации необходимо будет проверять номера портов. Если пользователь обращается к серверу по разрешенному порту, то маршрутизатор пропускает такой пакет. Разрешенные порты: 80 (HTTP – доступ к веб-сайту), 21 (FTP – доступ к файловому хранилищу). Протоколы HTTP и FTP работают поверх TCP. Также для распознавания доменных имен на нашем сервере поднят DNS. DNS-сервер работает на порту 53.

Размещать расширенный список доступа будем на сабинтерфейсе fa0/0.3. Но на этом интерфейсе уже размещен список доступа. Вспоминаем правило: Нельзя разместить более одного списка доступа на интерфейс. Так что придется удалить созданный ранее список доступа. Правило, созданное для администратора перенесем в новый расширенный список с именем Server-out.

Конфигурация для маршрутизатора:

С компьютера админа пинг до сервера есть:

С компьютера пользователя пинга нет:

Проверим с компьютера пользователя проходят ли DNS-запросы до сервера. Для этого запустим утилиту nslookup – которая определяет Ip-адрес до доменному имени.

DNS-запросы проходят без проблем. Проверим доступ к нашему условному Web-сайту через браузер:

Cisco ACL

Материал из Xgu.ru

Если вы считаете, что её стоило бы доработать как можно быстрее, пожалуйста, скажите об этом.

Содержание

[править] Стандартные и расширенные ACL

Именованные ACL могут быть стандартные и расширенные. У них немного отличается синтаксис с нумерованными:

В конце любого ACL есть невидимое правило deny ip any any.

[править] Стандартные ACL

Стандартный ACL позволяет указывать только IP-адрес отправителя:

Применение ACL на интерфейсе:

[править] Пример настройки стандартного ACL

Пример стандартного нумерованного ACL, который запрещает хосту 10.0.3.2 доступ в сегмент сервера, но разрешает всем остальным:

Применение ACL на интерфейсе (если применить ACL на интерфейсе fa0/0 в направлении in, то он заблокирует и доступ хоста 10.0.3.2 в интернет):

Тот же пример только с именованным ACL:

Применение ACL на интерфейсе:

[править] Применение ACL к vty

К vty ACL применяется другой командой:

Для ограничения доступа к маршрутизатору, по протоколам telnet или SSH, можно использовать стандартный ACL и применить его к vty.

Данный пример ACL разрешает подключаться к маршрутизатору только с адреса 4.4.4.4:

[править] Расширенные ACL

Расширенный ACL, при указании протоколов IP, ICMP и др., позволяет указывать IP-адреса отправителя и получателя:

Расширенный ACL, при указании протоколов TCP или UDP, позволяет указывать и порты отправителя и/или получателя:

[править] Пример настройки расширенного ACL

Задание для расширенного ACL:

  • запретить хосту 10.0.3.2 доступ к серверу по RDP,
  • запретить хосту 10.0.3.1 доступ по HTTP,
  • разрешить всем остальным из сети 10.0.3.0 всё,
  • запретить всем остальным хостам (хотя в конце и так есть невидимое deny ip any any, его часто дописывают в конце правил, чтобы явно видеть по срабатыванию счетчиков, что трафик заблокировал ACL):

Пример расширенного нумерованного ACL:

Применение ACL на интерфейсе:

Расширенный именованный ACL:

Применение ACL на интерфейсе:

[править] Команды просмотра

[править] Другие виды ACL

[править] Динамические ACL

[править] Пример настройки динамических ACL

Создание обычного ACL (в нём разрешён telnet для того чтобы пользователи могли пройти аутентификацию):

Создание динамического ACL:

Если необходимо чтобы параметр any при применении ACL был заменен на IP-адрес инициатора telnet-соединения, то в команде access-enable host необходимо указать параметр host.

Дополнительно можно настроить временной интервал, после которого динамическая запись будет удалена независимо от активности пользователя:

Применение ACL на интерфейсе:

Настройка доступа telnet:

Команда access-enable host активирует динамический ACL:

  • host — указывает, что запись будет создана для хостов, которые инициировали сессию telnet,
  • timeout — настройка периода времени после которого, в случае не использования динамической записи, запись будет удалена.

[править] Проверка работы

Проверка связи до активирования динамического ACL:

Просмотр информации на dyn1 до активирования динамического ACL:

После активирования динамического ACL (qua7 пингуется, а интерфейс dyn1 по-прежнему нет):

Просмотр информации на dyn1 после активирования динамического ACL:

Если команда access-enable указана без параметра timeout, то запись будет оставаться постоянно. Удалить её можно с помощью команды clear ip access-template. Например, очистить запись в динамическом ACL:

[править] Пример конфигурации маршрутизатора

[править] Reflexive ACL

Reflexive ACl могут быть настроены только с расширенными именованными ACL. Сами RACL не применяются к интерфейсу, они применяются к ACL.

[править] Настройка RACL

Схема сети такая же как и для динамических ACL.

Создание ACL для исходящего трафика:

Создание ACL для входящего трафика:

[править] Настройка таймеров

Значение глобального таймера по умолчанию 300 секунд:

Изменение значения глобального таймера:

Можно для каждой записи указать своё значение таймера, например:

Если настроены и глобальный и специфический таймер для записи, то приоритет у более специфического таймера.

[править] Пример конфигурации

[править] Временные интервалы для ACL

Применение временных интервалов к правилам ACL может быть полезно, например, в таких случаях:

  • правилами компании разрешается различный тип доступа в зависимости от времени рабочего дня,
  • необходимо создать временное правило

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

Второй вариант может возникнуть, например, когда в компании периодически необходимо предоставлять сотрудникам временный доступ к ресурсам. Например, в компании неделю работает подрядчик и ему нужен доступ к каким-то из серверов компании. Если создать правило сразу с временным интервалом, то оно перестанет работать (станет неактивным) в строго определенное время и можно не бояться забыть его удалить. К сожалению, ACL со временем, как правило, сильно разрастаются и в них остаются «мертвые» правила. Такой подход с временными интервалами хотя бы немного позволит упростить поддержание ACL в актуальном виде.

[править] Настройка параметров временного интервала

Пример настройки временного интервала для рабочих дней:

Пример настройки временного интервала для выходных дней:

Просмотр информации о настроенных временных интервалах (второй интервал неактивен, так как сейчас рабочий день):

0 0 голоса
Рейтинг статьи
Ссылка на основную публикацию
ВсеИнструменты
×
×