Вы здесь

Cisco ASA 8.4.2 с нуля. Часть 7. Modular Policy Framework

Modular Policy Framework (MPF) позволяет более выборочно управлять трафиком.

MPF может применяться на практике в следующих целях:

  • Traffic inspection - процедура, необходимая для работы наиважнейшего принципа ASA, а именно Statefull Packet Filtering. Например для разрешения трафика FTP нам достаточно разрешить 21 порт, все остальные дочерние подключения ASA разрешит уже автоматически. И если для FTP мы можем тупо разрешить 20 и 21 порты, то проблема пропуска через NAT того же SIP вообще разрешима пожалуй только с помощью Traffic inspection.
  • Prioritize, Police, Shape - Очень похожие функции на аналогичные в IOS Router
  • IPS module - для работы с IPS также необходимо использование MPF.
  • Set Connection Limits Policy - Изменение стандартных характеристик для соединений TCP позволяет защитить внутренние сервера от некоторых форм атак.

Создание правил MPF аналогично созданию политик на IOS.
Создание MPF выполняется в три этапа:

  1. Create Class-map. Class-map позволяет выделить нужный нам трафик для последующей обработки.
  2. Assign the class-map into policy-map. Policy-map определяет какие конкретные действия будут производиться над выделенным трафиком, т.е. class-map
  3. Service Policy- Apply Policy on interface or Globally. Этим мы собственно активируем нашу Policy. На каком интерфейсе, или глобально.

Traffic Inspection

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 директива, через которую включается инспектирование целого набора приложений и протоколов:
cisco_asa_8.4.2_s_nulya._chast_7._modular_policy_framework_01_ciscomaster.ru.jpg
При работе инспектирования 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.

Application Inspection DEFAULTS

Как мы уже говорили, по умолчанию в 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

Пример своей Application Inspection

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

Проверка Service Policy

Смотрим статистику

show service-policy

Отображение как будет обрабатываться конкретный случай

show service-policy flow ip host 192.168.2.12 host 8.8.8.8

DNS Inspection

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):

  • The maximum DNS message length is 512 bytes.
  • DNS over TCP inspection is disabled.
  • The maximum client DNS message length is automatically set to match the Resource Record.
  • DNS Guard is enabled, so the ASA tears down the DNS session associated with a DNS query as soon as the DNS reply is forwarded by the ASA. The ASA also monitors the message exchange to ensure that the ID of the DNS reply matches the ID of the DNS query.
  • Translation of the DNS record based on the NAT configuration is enabled.
  • Protocol enforcement is enabled, which enables DNS message format check, including domain name length of no more than 255 characters, label length of 63 characters, compression, and looped pointer check.

В некоторых источниках рекомендуется выставить:

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

ESMTP Inspection обеспечивает защиту от SMTP-based attacks через запрещение некоторых команд.
По умолчанию в конфигурации просто выставлено inspect esmtp. А в ASDM выставлено Use the default ESMTP inspection map.
Это означает следующее поведение (взято из ASA Help):

  • The server banner is masked. The ESMTP inspection engine changes the characters in the server SMTP banner to asterisks except for the “2”, “0”, “0” characters. Carriage return (CR) and linefeed (LF) characters are ignored.
  • Encrypted connections are not allowed. The STARTTLS indication is removed from the session connection attempt, forcing the client and server to negotiate a plain text session, which can be inspected.
  • Special characters in sender and receiver address are not noticed, no action is taken.
  • Connections with command line length greater than 512 are dropped and logged.
  • Connections with more than 100 recipients are dropped and logged.
  • Messages with body length greater than 998 bytes are logged.
  • Connections with header line length greater than 998 are dropped and logged.
  • Messages with MIME filenames greater than 255 characters are dropped and logged.
  • EHLO reply parameters matching “others” are masked.

Prioritize, Police, Shape

Пример ограничения трафика для внутреннего пользователя:

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:

Set Connection Limits Policy

В данном разделе мы рассмотрим следующие методы защиты:
- 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

Комментарии

Спасибо за статьи.

Добавить комментарий

Filtered HTML

  • Адреса страниц и электронной почты автоматически преобразуются в ссылки.
  • Допустимые HTML-теги: <a> <em> <strong> <cite> <blockquote> <code> <ul> <ol> <li> <dl> <dt> <dd>
  • Строки и абзацы переносятся автоматически.

Plain text

  • HTML-теги не обрабатываются и показываются как обычный текст
  • Адреса страниц и электронной почты автоматически преобразуются в ссылки.
  • Строки и абзацы переносятся автоматически.
CAPTCHA
Этот вопрос задается для того, чтобы выяснить, являетесь ли Вы человеком или представляете из себя автоматическую спам-рассылку.
Target Image