Этот документ описывает необходимую конфигурацию
для PIX Firewall, чтобы разрешить PPTP клиенту соединяться с PPTP
сервером через NAT.
PPTP описан в RFC 2637. Этот протокол
использует TCP соединение порт 1723 и GRE (протокол 47) для переноса
данных (PPTP фрэймов). TCP соединение инициируется клиентом, за
которым следует GRE соединение, инициируемое сервером.
PIX версия 6.2 и ранее
Поскольку PPTP
соединение инициируется как TCP на один порт, а ответ это GRE
протокол, адаптивный алгоритм безопасности PIX не знает к чему
относятся возвратные потоки данных. В результате, необходимо
сконфигурировать ACL, чтобы разрешить обратный трафик к PIX. PPTP
через PIX с NAT (один к одному) работает, поскольку PIX использует
портовую информацию в TCP или UDP заголовках для отслеживания
трансляции. PPTP через PIX с PAT не работает, т.к. в GRE нет понятия
портов.
PIX версии 6.3
В версия 6.3 введена
функция pptp fixup, позволяющая PPTP трафику проходить через PIX с
PAT. В этом процессе выполняется stateful инспекция PPTP пакетов.
Команда fixup protocol pptp инспектирует PPTP пакеты и динамически
создает GRE соединения и трансляции, необходимые для прохождения
PPTP трафика. PIX инспектирует версию PPTP и последовательности
исходящих вызовов (запрос/ответ). Инспектируется только PPTP версия
1, определенная в RFC 2637. Дальнейшее инспектирование TCP канала
отключается, если версия PPTP анонсируемая любой из сторон отлична
от версии 1.
PIX версии 7.х
Прикладной
инспекционный движок версии 7 работает точно также как и в версии
6.3
PPTP с клиентом на inside интерфейсе, а server на
outside Сетевая диаграмма показана на рисунке
Команды
необходимые для версии 6.2
1. Определить статическую
трансляцию для внутренних PC
pixfirewall(config)#static
(inside,outside) 209.165.201.5
10.48.66.106 netmask
255.255.255.255 0 0
2.
Конфигурируем ACL, чтобы разрешить возвратный GRE трафик от сервера
к клиенту:
pixfirewall(config)#access-list
acl-out permit gre host
209.165.201.25 host
209.165.201.5
3. Применяем
ACL
pixfirewall(config)#access-group
acl-out in interface
outside
Команды
необходимые для версии 6.3
Для версии 6.3 все намного
проще:
1. Включаем инспекцию протокола PPTP 1723
pixfirewall(config)#fixup
protocol pptp 1723
2. Нет
необходимости использовать статическую трансляцию, т.к. уже включена
инспекция pptp, поэтому мы можем использовать PAT
pixfirewall(config)#nat (inside)
1 0.0.0.0 0.0.0.0 0 0 pixfirewall(config)#global (outside) 1
interface
Команды
необходимые для версии 7
Здесь необходимо добавить
инспекцию PPTP в политику по умолчанию работающую на PIX.
pixfirewall(config)#policy-map
global_policy pixfirewall(config-pmap)#class
inspection_default pixfirewall(config-pmap-c)#inspect pptp
Как и в версии 6.3
нет необходимости использовать статическую трансляцию, т.к. уже
включена инспекция pptp, поэтому мы можем использовать PAT
pixfirewall(config)#nat (inside)
1 0.0.0.0 0.0.0.0 0 0 pixfirewall(config)#global (outside) 1
interface
PPTP c клиентом на outside, а сервер на inside
стороне
В данном примере, PPTP сервер имеет IP
209.165.201.5 (статик на 10.48.66.106), а PPTP клиент это
209.165.201.25
Нижеследующие
команды одинаковы для всех версий.
access-list acl-out permit gre
host 209.165.201.25 host 209.165.201.5 access-list acl-out permit
tcp host 209.165.201.25 host 209.165.201.5 eq 1723 static
(inside,outside) 209.165.201.5 10.48.66.106 netmask 255.255.255.255
0 0 access-group acl-out in interface
outside
Источник: www.ciscolab.ru
|