воскресенье, 18 мая 2014 г.

IP inspect


Итак ещё раз про IP inspect

Есть ситуация, у нас стоит Cisco Firewall типа ASA или PIX. В локальной сети сидит боец невидимого фронта(10.0.0.3) который мечтает соединиться с сервером (172.30.1.50) по телнету (порт 23 протокол TCP). Оставим вопрос: "зачем это нужно пьяному гусару?" -- на усмотрение самого пьяного гусара и обратимся к стульям. 

Чтобы обеспечить такое соединение нужно обеспечить 2 этапа

Этап 1: Трафик должен пройти из [ зоны Inside]   --> в --> [ зону Outside ]
логично прописать ему access-list вида:
ASA(config)# access-list 101 permit tcp any any eq 23
Такой вариант написания листа доступа годится для начинающего CCNA асистента, даже работать будет, но это слишком общее правило чтобы им вот так разбрасываться

Более точный и разумный он будет такой:
ASA(config)# access-list 101 permit tcp host 10.0.0.3 host 172.30.1.50 any eq 23
можно ещё шлифануть его на предмет Time-Based, но это уже надо регламент работы организации смотреть и на должность пьяного гусара :)

Итак трафик благополучно преодолел пределы атмосферы и улетел в открытый космос в сторону сервера, предположим, что он даже благополучно вернулся к нашему файерволу, тут начинается этап 2

Этап 2: Трафик должен пройти обратно из [ зоны Outside]   --> в --> [ зону Inside ]
Но у нас неувязка, согласно регламенту компании на интерфейсе Outside, в направлении in, должно всегда висеть правило:
deny ip any any
и оно не предполагает исключений ни для влюблённых, ни для инопланетян. Как же быть?

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

Вернёмся к нашим баранам гусарам, смело создаём IP inspect правило
ip inspect name FWRULE tcp
и применяем его на интерфейс в направлении in
(config-if)# ip inspect FWRULE in

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

P.S. На самом деле на ASA/PIX конфигурация IP inspect не настолько проста ( подробно см. по метке IP inspect ), здесь приведён только сам принцип.


Комментариев нет:

Отправить комментарий