# CYB-1_05.10.2021_Локальные сети (ACL)
[**ACL**](https://habr.com/ru/post/121806/)
* Обработка ведется строго в том порядке, в котором записаны условия
* Если пакет совпал с условием, дальше он не обрабатывается
* В конце каждого списка доступа стоит неявный deny any (запретить всё)
* Расширенные ACL нужно размещать как можно ближе к источнику, стандартные же как можно ближе к получателю
* Нельзя разместить более 1 списка доступа на интерфейс, на протокол, на направление
* ACL не действует на трафик, сгенерированный самим маршрутизатором
* Для фильтрации адресов используется WildCard маска
**Стандартный список доступа**
Router(config)#access-list <номер списка от 1 до 99> {permit | deny | remark} {address | any | host} [source-wildcard] [log]
permit: разрешить
deny: запретить
remark: комментарий о списке доступа
address: запрещаем или разрешаем сеть
any: разрешаем или запрещаем всё
host: разрешаем или запрещаем хосту
source-wildcard: WildCard маска сети
log: включаем логгирование пакеты проходящие через данную запись ACL
**Расширенный список доступа**
Router(config)#access-list <номер списка от 100 до 199> {permit | deny | remark} protocol source [source-wildcard] [operator operand] [port <порт или название протокола> [established]
protocol source: какой протокол будем разрешать или закрывать (ICMP, TCP, UDP, IP, OSPF и т.д)
deny: запретить
operator:
A.B.C.D — адрес получателя
any — любой конечный хост
eq — только пакеты на этом порте
gt — только пакеты с большим номером порта
host — единственный конечный хост
lt — только пакеты с более низким номером порта
neq — только пакеты не на данном номере порта
range — диапазон портов
port: номер порта (TCP или UDP), можно указать имя
established: разрешаем прохождение TCP-сегментов, которые являются частью уже созданной TCP-сессии
**Прикрепляем к интерфейсу**
Router(config-if)#ip access-group <номер списка или имя ACL> {in | out}
in: входящее направление
out: исходящее направление
**Именованные списки доступа**
Router(config)# ip access-list {standard | extended} {<номер ACL> | <имя ACL>}
Router(config-ext-nacl)# {default | deny | exit | no | permit | remark}
standard: стандартный ACL
extended: расширенный ACL
default: установить команду в значение по умолчанию
**C урока Ивана**
Router(config)#ip access-list extended tech-block
Router(config-ext-nacl)#permit ip 10.0.0.128 0.0.0.127 host 10.0.2.200
Router(config-ext-nacl)#int e0/0.24
Router(config-subif)#[ip access-group](https://doc.s-terra.ru/rh_output/4.1/Gate/output/mergedProjects/Console/ip_access-group_interface.htm) tech-block in
Router#show ip access-lists
Router(config)#ip access-list extended tech-block
Router(config-ext-nacl)#deny ip any any
Router(config-ext-nacl)#12 permit tcp 10.0.0.128 0.0.0.127 host 10.0.2.200 eq 445 www 443
### **Пояснение к заданию на ACL**
Если ограничиваем трафик VLAN на входящем интерфейсе, то для возможности получать адрес по DHCP разрешаем на входящем интерфейсе широковещательный udp с 68 на 67 порт
>permit udp any eq 68 host 255.255.255.255 eq 67
Выходное правило на интерфейсе e0/1 разрешает выход в Интернет, а также запрещает 8.8.4.4
>ip access-list extended TO-INTERNET
deny ip any host 8.8.4.4
permit ip any any reflect BACK-INTERNET
Входное правило на интерфейсе e0/1 разрешает только ответныйтрафик из интернета и внутренний служебный трафик на е0/1.
>ip access-list extended FROM-INTERNET
evaluate BACK-INTERNET
permit ip 192.168.84.0 0.0.0.255 any
deny ip any any
>int e0/1
ip access-group TO-INTERNET out
ip access-group FROM-INTERNET in
Админы имеют неограниченный доступ в ЛВС, но к админам никто не должен иметь доступа. Так как на входящем интерфейсе e0/0.17 все разрешено, то дополнительные правила для dhcp не нужны.
>ip access-list extended ADM-TO-LAN
permit ip any any reflect BACK-ADM
ip access-list extended LAN-TO-ADM
evaluate BACK-ADM
>int e0/0.17
ip access-group ADM-TO-LAN in
ip access-group LAN-TO-ADM out
В сеть программистов надо пропустить трафик из сети админов, обратный трафик из сети серверов и обратный трафик из интернета.
>ip access-list extended LAN-TO-PRG
permit ip 10.0.0.0 0.0.0.15 10.0.1.0 0.0.0.255
permit ip 10.0.2.0 0.0.0.255 10.0.1.0 0.0.0.255
evaluate BACK-INTERNET
deny ip any any
>int e0/0.10
ip access-group LAN-TO-PRG out
Из сети программистов надо выпустить трафик в сеть серверов, в том числе на контроллер домена, в интернет и обратный трафик в сеть админов.Так как на входящем интерфейсе e0/0.10 правила не запрещают широковещательный udp (deny any any не работает чтобы обеспечить доступ в интернет), то dhcp будет работать.
>ip access-list extended PRG-TO-LAN
permit ip 10.0.1.0 0.0.0.255 10.0.2.0 0.0.0.255
evaluate BACK-ADM
deny ip 10.0.1.0 0.0.0.255 10.0.0.0 0.0.3.255
permit ip any any
>int e0/0.10
ip access-group PRG-TO-LAN in
В сеть VIP надо пропустить трафик из сети админов, от контроллера домена и обратный трафик из интернета.
>ip access-list extended LAN-TO-VIP
permit ip 10.0.0.0 0.0.0.15 10.0.0.32 0.0.0.31
permit ip 10.0.2.200 0.0.0.0 10.0.0.32 0.0.0.31
evaluate BACK-INTERNET
deny ip any any
>int e0/0.777
ip access-group LAN-TO-VIP out
Из сети VIP надо выпустить трафик на контроллер домена в сеть интернет и обратный трафик в сеть админов.Так как на входящем интерфейсе e0/0.777 правила не запрещают широковещательный udp (deny any any не работает чтобы обеспечить доступ в интернет), то dhcp будет работать.
>ip access-list extended VIP-TO-LAN
permit ip 10.0.0.32 0.0.0.31 10.0.2.200 0.0.0.0
evaluate BACK-ADM
deny ip 10.0.1.0 0.0.0.255 10.0.0.0 0.0.3.255
permit ip any any
>int e0/0.777
ip access-group VIP-TO-LAN in
В сеть технологов надо пропустить трафик из сети админов, а так же от контроллера домена по определенным портам.
>ip access-list extended LAN-TO-TEH
permit ip 10.0.0.0 0.0.0.15 10.0.0.128 0.0.0.127
permit udp 10.0.2.200 0.0.0.0 10.0.0.128 0.0.0.127 eq 53 88 135 138 389 445 464
permit tcp 10.0.2.200 0.0.0.0 10.0.0.128 0.0.0.127 eq 53 135 139 445 464 3268 3269
permit icmp 10.0.2.200 0.0.0.0 10.0.0.128 0.0.0.127 echo-reply
deny ip any any
>int e0/0.24
ip access-group LAN-TO-TEH out
Из сети технологов надо выпустить трафик на контроллер домена по определенным протоколам и обратный трафик админов.
>ip access-list extended TEH-TO-LAN
permit udp any eq 68 host 255.255.255.255 eq 67
permit udp 10.0.0.128 0.0.0.127 10.0.2.200 0.0.0.0 eq 53 88 135 138 389 445 464
permit tcp 10.0.0.128 0.0.0.127 10.0.2.200 0.0.0.0 eq 53 135 139 445 464 3268 3269
permit icmp 10.0.0.128 0.0.0.127 10.0.2.200 0.0.0.0 echo
evaluate BACK-ADM
deny ip any any
>int e0/0.24
ip access-group TEH-TO-LAN in
В сеть серверов надо пропустить обратный трафик из интернета, трафик из сети админов, из сети программистов, из сети VIP только на контроллер домена и из сети технологов только на контроллер домена по определенным портам.Так как на входящем интерфейсе e0/0.55 правила не включаем, то dhcp будет работать.
>ip access-list extended LAN-TO-SRV
evaluate BACK-INTERNET
permit ip 10.0.0.0 0.0.0.15 10.0.2.0 0.0.0.255
permit ip 10.0.1.0 0.0.0.255 10.0.2.0 0.0.0.255
permit ip 10.0.0.32 0.0.0.31 10.0.2.200 0.0.0.0
permit udp 10.0.0.128 0.0.0.127 10.0.2.200 0.0.0.0 eq 53 88 135 138 389 445 464
permit tcp 10.0.0.128 0.0.0.127 10.0.2.200 0.0.0.0 eq 53 135 139 445 464 3268 3269
permit icmp 10.0.0.128 0.0.0.127 10.0.2.200 0.0.0.0 echo
deny ip any any
>int e0/0.55
ip access-group LAN-TO-SRV out