Modular Policy Framework (MPF) позволяет более выборочно управлять трафиком.
MPF может применяться на практике в следующих целях:
Создание правил MPF аналогично созданию политик на IOS.
Создание MPF выполняется в три этапа:
Default Modular Policy Configuration
Configuration > Firewall > Service Policy Rules
Traffic inspection работает уже по умолчанию благодаря тому, что в конфигурации по умолчанию уже включена Default Modular Policy.
class-map inspection_default match default-inspection-traffic ! policy-map type inspect dns preset_dns_map parameters message-length maximum client auto message-length maximum 512 policy-map global_policy class inspection_default inspect dns preset_dns_map inspect ftp inspect h323 h225 inspect h323 ras inspect rsh inspect rtsp inspect esmtp inspect sqlnet inspect skinny inspect sunrpc inspect xdmcp inspect sip inspect netbios inspect tftp inspect ip-options inspect icmp ! service-policy global_policy global
Здесь default-inspection-traffic директива, через которую включается инспектирование целого набора приложений и протоколов:
При работе инспектирования ASA фактически "подглядывает" за трафиком инспектируемых протоколов и приложений. Т.е. разбирает сессия на уровне приложений (application layer), и динамически разрешает необходимые порты. К этому относятся например SIP или H.323, которые работают с RTP и открывают сессии UDP вообще на случайных портах.
При включённой инспекци во время передачи можно видеть следующие соединения:
asa1# show conn 10 in use, 193 most used TCP dmz 192.168.253.10:21 inside 192.168.2.12:25947, idle 0:00:00, bytes 826, flags UIO TCP dmz 192.168.253.10:20 inside 192.168.2.12:25952, idle 0:00:00, bytes 1105408, flags UOB
Если отключить инспекцию FTP, то FTP уже сможет работать только в пассивном режиме, т.е. на 21 порту.
Кстати говоря, по умолчанию через ASA нельзя пинговать хосты снаружи, но достаточно включить ICMP inspection.
Как мы уже говорили, по умолчанию в inspection_default уже выставлено некоторое дефолтное поведение Application Inspection.
Т.е. для для каждого протокола, выставленного в class inspection_default выставлено Default Inspection.
Default Inspection проще всего посмотреть в ASDM ASA Help.
Default Inspection можно поменять, но там масса разных специфических параметров, поэтому проще всего работать из ASDM, который позволяет выставить Security Level.
Default Inspection проводится с названными протоколами и с дефолтными портами этих протоколов. Эту инфу можно посмотреть в ASDM, Default Inpections.
Если какой-то протокол работает на другом порту, это необходимо указать, например:
fixup protocol smtp 27
В результате будет добавлен дополнительный класс и добавлен к существующей global_policy:
class-map class_esmtp match port tcp eq 27 ! policy-map global_policy class class_esmtp inspect esmtp
access-list tftptraffic_acl extended permit udp any any eq tftp ! class-map TFTP_class match access-list tftptraffic_acl ! policy-map TFTP_policy class TFTP_class inspect tftp ! service-policy TFTP_policy global
Смотрим статистику
show service-policy
Отображение как будет обрабатываться конкретный случай
show service-policy flow ip host 192.168.2.12 host 8.8.8.8
DNS использует UDP и должен обрабатываться через application inspection; в противном случае UDP обрабатывается лишь на основе activity timeouts.
ASA отслеживает UDP connections, и если обнаруживается UDP DNS Querry, то после получения DNS response данная сессия немедленно закрывается.
По умолчанию DNS Inspection включено, и выставлены следующие параметры, ограничивающие размер пакета DNS:
message-length maximum client auto message-length maximum 512
Это означает, что по умолчанию следующее поведение (взято из ASA Help):
В некоторых источниках рекомендуется выставить:
message-length maximum 4096
Или, что тоже:
fixup protocol dns maximum-length 4096
см. http://www.cisco.com/c/en/us/about/security-center/dnssec-best-practices...
ESMTP Inspection обеспечивает защиту от SMTP-based attacks через запрещение некоторых команд.
По умолчанию в конфигурации просто выставлено inspect esmtp. А в ASDM выставлено Use the default ESMTP inspection map.
Это означает следующее поведение (взято из ASA Help):
Пример ограничения трафика для внутреннего пользователя:
object network pc1 host 192.168.2.249 ! access-list outside_mpc extended permit ip any object pc1 access-list outside_mpc extended permit ip object pc1 any ! class-map outside-class match access-list outside_mpc ! policy-map outside-policy class outside-class police input 500000 1500 police output 500000 1500 ! service-policy outside-policy interface outside
Проверка:
Проверка матчей на политике
show service-policy interface outside
Проверка матчей на ACL:
В данном разделе мы рассмотрим следующие методы защиты:
- Maximum number of simultaneous connections - Может защитить сервер от DoS
- Maximum number of connections allowed per client. Ограничить количество сессий торрентов для юзеров..
- Maximum numbers of TCP “half-open” (embryonic) connections allowed. Защита от “SYN” attacks.
access-list HTTP_traffic permit tcp any host 50.50.50.1 eq 80 access-list outbound_traffic permit ip 192.168.0.0 255.255.255.0 any ! class-map Web_SRV_Class match access-list HTTP_traffic ! class-map Outbound_Class match access-list outbound_traffic ! policy-map Web_SRV_policy class Web_SRV_Class set connection conn-max 3000 set connection per-client-max 100 set connection embryonic-conn-max 1500 ! policy-map outbound_policy class Outbound_Class set connection per-client-max 70 ! service-policy Web_SRV_policy interface outside service-policy outbound_policy interface inside
Комментарии
Спасибо за статьи.
Спасибо за статьи.
Добавить комментарий