Security: classic firewall (history), Cisco ASA

Источники:

  • Про NGFW (FirePower) в отдельной статье
  • Про классические файрволы (ASA) в отдельной статье (этой)
  • Видео от Газинформсервис (ГАЗ-ИС)
  • Второе видео
  • Дока по базовой настройке Cisco ASA из второго видео Описание настроек КМЭ, в ней например подробно описана установка FirePOWER (SFR, подозреваю сокращение от SourceFiRe) модуля для Cisco ASA
https://www.cisco.com/c/en/us/support/docs/security/asa-firepower-services/118644-configure-firepower-00.html#anc7
The Cisco ASA FirePOWER module, also known as the ASA SFR, provides next-generation Firewall services, such as:
- Next Generation Intrusion Prevention System (NGIPS)
- Application Visibility and Control (AVC)
- URL filtering
- Advanced Malware Protection (AMP)

This document describes how to install and configure a Cisco FirePOWER (SFR) module that runs on a Cisco Adaptive Security Appliance (ASA) and how to register the SFR module with the Cisco FireSIGHT Management Center.
firewall functions & history

Firewall – критичный элемент для защиты сети. Могут быть как отдельные устройства standalone firewall, функционал встроенный в устройства integrated router, так и софт на каждом хосте host-based firewall (обычно оба решения, HBF встроен во все OS сегодня и даже используется облачными операторами типа yandex cloud).

Using both network- and host-based firewalls provides protection from external and internal threats. This also protects hosts that move between trusted and untrusted networks, like mobile devices and laptops.

Слайд PaloAlto повторяет (кроме включения в эволюцию Proxy) вышестоящие слайды Cisco.

 

Cisco Firewall History
  • Cisco centri firewall – первый firewall cisco, поддержка прекращена еще в 2001 😀
  • Cisco PIX (private internet exchange) – купленный продукт Cisco
  • Wheel group IPS/IDS – купленный продукт IDS/IPS, который был как в виде отдельного устройства, так и модуля в ASA. О его недостатках в Firepower.
  • Cisco ASA на основе PIX – культовый файрвол
  • Cisco Firepower – NGFW

Cisco ASAv

ASAv не хвалят в Azure: отсутствие clustering, небольшое количество интерфейсов и отсутствие консоли.

It's an ASA, which is a very good thing especially considering the NSG alternatives. I was very excited to see this.
However, you can't use native clustering/failover capabilities and it is not compatible with Azure Availability Sets.
That is a deal breaker for anyone trying to host something with a high SLA. 

Second, the 3 internal (plus 1 external) NIC limit is also a problem for us and likely other enterprise customers, which I suspect are the primary audience for this. 
That becomes an even bigger problem if clustering support is ever added as that requires a dedicated pair of NIC's.
The ASAv itself support 9 NIC's and all of these features outside of Azure; Microsoft and Cisco have some work to do together to make this more than a glorified way to manage NSG's and VPN's.

Lastly, the lack of any console support is killer if you fat finger something and lock yourself out.

 

Cisco ASA

Интересное:

  • Есть vASA (как просто L4 firwall неплох). pbr появились на asa в урезанном виде, но gre так и нет. ASR лучше ASA по производительности NAT. Тут довольно дорог зачастую саппорт (например, на 2х5520 только саппорт стоил в свое время 5-6к$. Так же денег стоит лицензии на IPS, anyconnect (например, на 2х5508 стоил те же 5-6к$, при этом включая сами девайсы).
  • в контексте обхода импорта западной криптографии заказом девайсов без стойкой (AES, 3DES) криптографии (K8) и локальным обновлением до версии с криптографией (K9)
  • permit any any недопустимо прописывать даже на этапе настройки Cisco ASA
  • для проверки конфигов используют efros config inspector – свое платное ПО, которое реализует VCS и проверку конфига на best practices.

Cisco ASA – Firewall Cisco на основе Cisco PIX. ASA поддерживает большое количество функционала, например:
    • VPN headend/server for remote access/site-to-site vpn
    • NAT
    • DHCP client/server
    • Routing – static, dynamic (RIP/EIGRP/OSPF)
    • Modes
      • Routed – ip адрес на каждом интерфейсе
      • Transparent – bridge, l2 firewall

 

security level

Security-level – какое-либо число от 0 до 100, которое определяет степень безопасности того или иного сегмента сети. Смысл имеет лишь разница между значениями, а не сами числа. Пример базовой и правильной настройки security-level: внешняя сеть – 0, локальная сеть – 100.

Верно ли утверждение: “Cisco ASA будет пропускать трафик из зоны с низким значением security-level в зону с более высоким”?

    • Верно
    • Неверно
    • Затрудняюсь ответить
Неверно

Правильным утверждением будет: “Cisco ASA будет пропускать трафик из зоны с более высоким значением security-level в зону с более низким.”

 

Базовая настройка

CONSOLE (9600)
BASIC settings
enable
 conf t
  hostname ASA
  interface gigabitethernet1
    security-level 100
    nameif inside
    ip address 192.168.0.1 255.255.255.0
    no shutdown
    exit
  username admin password <password> privilege 15
  aaa authentication ssh console LOCAL
  aaa authentication http console LOCAL
  aaa authentication serial console LOCAL
  aaa authentication enable console LOCAL
  enable password <password>
  crypto key generate rsa modulus 1024
  asdm image flash:/asdm-643.bin
  http server enable
  http 192.168.0.0 255.255.255.0 inside
  ssh 192.168.0.0 255.255.255.0 inside
 wr
 sh run

SOFT UPDATE (указываем новый образ, старый в backup)
enable
 conf t
 no boot system disk0:/asa961-lbff-k8.SPA
 boot system disk0:/asa981-lbff-k8.SPA
 boot system disk0:/asa961-lbff-k8.SPA
 asdm image disk0:/asdm-781.bin
wr
reload

enable
 conf t
 no boot system disk0:/asa961-lbff-k8.SPA
show run boot system
wr
show flash:
delete disk0:/asa961-lbff-k8.SPA
delete disk0:/asdm-761.bin

Пример вывода show ver.

По умолчанию asa не отображается в traceroute, чтобы начала нужно:

policy-map global_policy
class class-default
set connection decrement-ttl

Включение инспекции ICMP (необходимо для работы icmp между разными security-level без настроек ACL – без этой настройки исходящие пакеты из высокого security-level достигают назначения в более низком security-level, но оборатные не пропускаются т.к. Cisco не может сопоставить ответ с запросом):

fixup protocol icmp

Два провайдера:

interface Gi1/3
  nameif ISP1
  security-level 0
  ip address 2.2.2.1 255.255.255.128

interface Gi1/4
  nameif ISP2
  security-level 0
  ip address 3.3.3.1 255.255.255.128

HTTP/SSH

http server enable
http 192.168.0.0 255.255.0.0 INSIDE
ssh 192.168.0.0 255.255.0.0 INSIDE
ssh timeout 20 # айдл коннект 20 минут 
pager lines 48 # увеличиваем количество строк вывода с 24 до 48

Пример автоматически созданных правил с разрешением доступа из высокого security-level в низкий. Нужно быть аккуратными с default правилами:

  • Конкретное разрешающее правило в конкретной секуции исчезнет при создании в его секции ACL
  • Эти правила ВСЕ исчезают сразу после создания глобального ACL (их лучше использовать в последнюю очередь)

Iteration между одним security-level (по умолчанию трафик заблокирован, не помогут даже ACL)

same-security-traffic permit inter-interface # для взаимодействия нескольких security зон с одинаковым security-level
same-security-traffic permit intra-interface # для получения трафика на интерфейсе и возврата трафика на этом же интерфейсе (router-on-a-stick, например, VPN)

 

PRIMARY & BACKUP ISP

ISP primary & secondary + Ip sla monitor + tracking objects – как понимаю пингуются два разных ресурса через маршруты через разные провайдеры – myip и резолвер ip Yandex (еще альтернатива – eth0.me); на основе этого принимается решение держать маршрут в таблице или нет

Маршруты для IP SLA

route ISP1 178.63.151.224 255.255.255.255 2.2.2.2
route ISP2 185.5.136.119 255.255.255.255 3.3.3.3

NAT

object network ISP1_NAT
 nat (any,ISP1) dynamic interface dns
object network ISP2_NAT
 nat (any,ISP2) dynamic interface dns

Маршруты с приоритетами (основной и резервный каналы). ISP1/ISP2 это nameif соответствующих интерфейсов (аналогично к интерфейсам привязываются и ACL в ASA):

route ISP1 0.0.0.0 0.0.0.0 2.2.2.2 10
route ISP2 0.0.0.0 0.0.0.0 3.3.3.3 1

IPSec tunnel primay & backup

tunnel-group 2.2.2.3 type ipsec-l2l
tunnel-group 2.2.2.3 ipsec-attributes
pre-shared-key <PSK>
tunnel-group 3.3.3.4 type ipsec-l2l
tunnel-group 3.3.3.4 ipsec-attributes
pre-shared-key <PSK>

crypto map MAP_ISP1 10 set peer 2.2.2.3 3.3.3.4
crypto map MAP_ISP2 10 set peer 3.3.3.4 2.2.2.3

Syslog

logging list syslog message 113012 # уведомления на syslog при возникновении события RA VPN подключений и подключений к Cisco ASA по SSH
logging list syslog message 622001 # уведомления на syslog при возникновении событий добавления и удаления маршрутов с SLA
logging host INSIDE 192.168.10.20
logging trap syslog
logging facility 16
logging device-id string CNTR-FW

 

Inspection

На Cisco ASA 5508 используется sip/ftp/h323/etc инспекция. Причем они ее даже настраивают на конкретный SIP. Прямая цитата из doc – инспекция SIP по умолчанию включен на Cisco ASA и проброс SIP работает даже без создания правил проброса в NAT, но она бесконторльно пропускает SIP-трафик в обе стороны на любые адреса в интернете. Настроим инспекцию SIP c привязкой через access-list для работы с конкретным VOIP-шлюзом провайдера, остальной SIP-трафик из интернет будет блокироваться.

object network prov-sip-gw
  host 5.5.5.5
  description Provider VOIP-gateway

access-list sip_inspection extended permit ip object-group SIP-GW prov-sip-gw
class-map inspection_sip
  match default-inspection-traffic
  match access-list sip_inspection
policy-map global_policy
  no class inspection_default
  no class sfr
  class inspection_sip
    inspect sip
  class inspection_default
    inspect dns preset_dns_map
    inspect esmtp 
    inspect ftp 
    inspect h323 h225 
    inspect h323 ras 
    inspect ip-options 
    inspect netbios 
    inspect rsh 
    inspect rtsp 
    inspect skinny
    inspect sqlnet 
    inspect sunrpc 
    inspect tftp 
    inspect xdmcp 
  class sfr
    sfr fail-open

policy-map type inspect sip SIP_MAP
 parameters
  max-forwards-validation action drop log
  state-checking action drop-connection log
  software-version action mask log
  strict-header-validation action drop log
  no traffic-non-sip
  uri-non-sip action mask log
  rtp-conformance enforce-payloadtype

Полезные команды для работы с SIP:

show sip - показывает состояние регистрации sip-устройств
show service-policy | i sip – показывает статистику по трафику, прошедшего через инспекцию SIP

 

Leave a Reply