Программа для управления cisco asa 5510. Изменения конфигурации порта управления

Стояла задача настроить

для разрешения работы серверов и пользователей локальной сети предприятия.

сервера имеют белые

(Интернетовские типа 62.ххх) адреса и работают через

Данные же пользователей пропускаем через

Сервера имеют две сетевые карты: одна — в локальной сети, другая — Интернет, и управляются через локальную сеть. Поэтому доступ из локальной сети в DMZ не настроен, ибо не нужен.

Образец конфигурации дан ниже.

ASA Version 8.2(1)

Домен. Нужно для SSH

domain-name strui.ru

Пароль для enable.

enable password 4аееoLOxxxxxxjMx encrypted

passwd k0a6sN9ExxxxxxxxzV encrypted

Описание интерфейса, смотрящего в Internet

interface Ethernet0/0

description Internet

security-level 0

ip address 213.xxx.xxx.194 255.255.255.240

Описание интерфейса, смотрящего в локальную сеть

interface Ethernet0/1

description Local

security-level 100

ip address 10.10.10.20 255.255.255.0

Описание интерфейса, смотрящего в сеть серверов (DMZ)

interface Ethernet0/2

security-level 50

ip address 62.xxx.xxx.177 255.255.255.240

Этот интерфейс выключен

interface Ethernet0/3

no security-level

Этот интерфейс выключен(не привязан к локальной сети). Использовался при

Первоначальной настройке Cisco

interface Management0/0

nameif management

security-level 100

ip address 192.168.1.1 255.255.255.0

ftp mode passive

Выставляем зону и время. Необходимо для логов.

clock timezone MSK/MDD 3

clock summer-time MSK/MDD recurring last Sun Mar 2:00 last Sun Oct 3:00

dns server-group DefaultDNS

Лист доступа в демилиторизованную зону к серверам. Входящий трафик.

access-list acl_in_dmz extended permit tcp any host 62.xxx.xxx.180 eq www

access-list acl_in_dmz extended permit tcp any host 62.xxx.xxx.180 eq ftp

access-list acl_in_dmz extended permit tcp any host 62.xxx.xxx.180 eq ftp-data

access-list acl_in_dmz extended permit tcp any host 62.xxx.xxx.181 eq www

access-list acl_in_dmz extended permit tcp any host 62.xxx.xxx.181 eq ftp

access-list acl_in_dmz extended permit tcp any host 62.xxx.xxx.181 eq ftp-data

access-list acl_in_dmz extended permit tcp any host 62.xxx.xxx.178 eq domain

access-list acl_in_dmz extended permit tcp any host 62.xxx.xxx.179 eq smtp

access-list acl_in_dmz extended permit tcp any host 62.xxx.xxx.179 eq pop3

access-list acl_in_dmz extended permit tcp any host 62.xxx.xxx.179 eq imap4

access-list acl_in_dmz extended permit tcp any host 62.xxx.xxx.184 eq 8081

access-list acl_in_dmz extended permit tcp any host 62.xxx.xxx.184 eq www

access-list acl_in_dmz extended permit tcp any host 62.xxx.xxx.185 eq www

access-list acl_in_dmz extended permit tcp any host 62.xxx.xxx.186 eq ftp

access-list acl_in_dmz extended permit tcp any host 62.xxx.xxx.186 eq ftp-data

access-list acl_in_dmz extended permit tcp any host 62.xxx.xxx.186 eq www

access-list acl_in_dmz extended permit tcp any host 62.xxx.xxx.189 eq www

access-list acl_in_dmz extended permit tcp any host 62.xxx.xxx.179 eq domain

access-list acl_in_dmz extended permit tcp any host 62.xxx.xxx.179 eq https

access-list acl_in_dmz extended permit tcp any host 62.xxx.xxx.182 eq smtp

access-list acl_in_dmz extended permit tcp any host 62.xxx.xxx.182 eq pop3

access-list acl_in_dmz extended permit tcp any host 62.xxx.xxx.182 eq imap4

access-list acl_in_dmz extended permit tcp any host 62.xxx.xxx.184 eq rtsp

access-list acl_in_dmz extended permit tcp any host 62.xxx.xxx.187 eq www

access-list acl_in_dmz extended permit tcp any host 62.xxx.xxx.188 eq www

Лист доступа для серверов из демилиторизованной зоны. Исходящий трафик.

access-list acl_out_dmz extended permit tcp any any

access-list acl_out_dmz extended permit udp any any

access-list acl_out_dmz extended permit icmp any any

access-list acl_out_dmz extended deny tcp host 62.xxx.19.76 host 213.xxx.36.194 eq 135

access-list acl_out_dmz extended deny tcp host 87.xxx.95.11 host 213.xxx.36.194 eq ftp

Лист доступа для пользователей локальной сети.

Разрешено все для исходящего трафика.

access-list acl_out_inside extended permit tcp 10.10.10.0 255.255.255.0 any

access-list acl_out_inside extended permit tcp 10.10.20.0 255.255.255.0 any

access-list acl_out_inside extended permit tcp 10.10.40.0 255.255.255.0 any

access-list acl_out_inside extended permit tcp 10.10.50.0 255.255.255.0 any

access-list acl_out_inside extended permit tcp 10.10.110.0 255.255.255.0 any

access-list acl_out_inside extended permit icmp 10.10.10.0 255.255.255.0 any

access-list acl_out_inside extended permit icmp 10.10.110.0 255.255.255.0 any

access-list acl_out_inside extended permit icmp 10.10.20.0 255.255.255.0 any

access-list acl_out_inside extended permit icmp 10.10.50.0 255.255.255.0 any

access-list acl_out_inside extended permit udp 10.10.10.0 255.255.255.0 any

access-list acl_out_inside extended permit udp 10.10.20.0 255.255.255.0 any

access-list acl_out_inside extended permit udp 10.10.110.0 255.255.255.0 any

access-list acl_out_inside extended permit udp 10.10.50.0 255.255.255.0 any

access-list acl_out_inside extended permit udp 10.10.40.0 255.255.255.0 any

Настройка логирования

logging timestamp

logging trap notifications

logging asdm informational

logging host inside 10.10.10.4

mtu outside 1500

mtu management 1500

icmp unreachable rate-limit 1 burst-size 1

no asdm history enable

arp timeout 14400

Настройка global

global (outside) 1 interface

Настройка NAT для локальной сети

nat (inside) 1 0.0.0.0 0.0.0.0

Настройка static для серверов

nat (dmz) 0 0.0.0.0 0.0.0.0

static (dmz,outside) 62.xxx.xxx.180 62.xxx.xxx.180 netmask 255.255.255.255

static (dmz,outside) 62.xxx.xxx.181 62.xxx.xxx.181 netmask 255.255.255.255

static (dmz,outside) 62.xxx.xxx.178 62.xxx.xxx.178 netmask 255.255.255.255

static (dmz,outside) 62.xxx.xxx.179 62.xxx.xxx.179 netmask 255.255.255.255

static (dmz,outside) 62.xxx.xxx.184 62.xxx.xxx.184 netmask 255.255.255.255

static (dmz,outside) 62.xxx.xxx.185 62.xxx.xxx.185 netmask 255.255.255.255

static (dmz,outside) 62.xxx.xxx.186 62.xxx.xxx.186 netmask 255.255.255.255

static (dmz,outside) 62.xxx.xxx.189 62.xxx.xxx.189 netmask 255.255.255.255

static (dmz,outside) 62.xxx.xxx.187 62.xxx.xxx.187 netmask 255.255.255.255

static (dmz,outside) 62.xxx.xxx.188 62.xxx.xxx.188 netmask 255.255.255.255

Привязываем access-list через access-group к интерфейсам.

access-group acl_in_dmz in interface outside

access-group acl_out_inside in interface inside

access-group acl_out_dmz in interface dmz

Прописываем маршрутизацию для интерфейсов.

route outside 0.0.0.0 0.0.0.0 213.xxx.xxx.193 1

route inside 10.10.20.0 255.255.255.0 10.10.10.10 1

route inside 10.10.40.0 255.255.255.0 10.10.10.10 1

route inside 10.10.50.0 255.255.255.0 10.10.10.10 1

route inside 10.10.110.0 255.255.255.0 10.10.10.10 1

timeout xlate 3:00:00

timeout conn 1:00:00 half-closed 0:10:00 udp 0:02:00 icmp 0:00:02

timeout sunrpc 0:10:00 h323 0:05:00 h225 1:00:00 mgcp 0:05:00 mgcp-pat 0:05:00

timeout sip 0:30:00 sip_media 0:02:00 sip-invite 0:03:00 sip-disconnect 0:02:00

timeout sip-provisional-media 0:02:00 uauth 0:05:00 absolute

timeout tcp-proxy-reassembly 0:01:00

dynamic-access-policy-record DfltAccessPolicy

Разрешаем работу через WEB морду из локальной сети.

http server enable

http 10.10.10.0 255.255.255.0 inside

no snmp-server location

no snmp-server contact

snmp-server enable traps snmp authentication linkup linkdown coldstart

crypto ipsec security-association lifetime seconds 28800

crypto ipsec security-association lifetime kilobytes 4608000

Разрешаем работу telnet и ssh по локальной сети.

telnet 10.10.10.0 255.255.255.0 inside

telnet timeout 5

ssh 10.10.10.0 255.255.255.0 inside

ssh 10.10.10.71 255.255.255.255 inside

console timeout 0

dhcpd address 192.168.1.2-192.168.1.254 management

threat-detection basic-threat

threat-detection statistics access-list

no threat-detection statistics tcp-intercept

Сервер времени и пользователь для WEB морды.

ntp server 10.10.10.3 source inside

username admin password trAp5eVxxxxxxnv encrypted privilege 15

class-map inspection_default

match default-inspection-traffic

policy-map type inspect dns preset_dns_map

message-length maximum 512

policy-map global_policy

class inspection_default

inspect dns preset_dns_map

inspect h323 h225

inspect h323 ras

service-policy global_policy global

prompt hostname context

Cryptochecksum:58da28923df5a5f8d5192125f9b1796f

В этой статье мы расскажем, как мигрировать с межсетевых экранов Cisco ASA 5500 (ASA 5510, ASA 5520, ASA 5540 и ASA 5550) на более современные ASA 5500-X (5512-Х, 5515-Х, 5525-Х, 5545-Х, 5555-Х), какую предварительную подготовку понадобиться провести, на какие моменты обратить внимание.

Вот приблизительное соответствие устройств этих двух линеек для перехода.

Подготовка к миграции

Для того, чтобы миграция произошло быстро и без проблем, необходимо тщательно подготовиться к ней – проверить, выполняются ли требования к оборудованию и ПО.

Проверяем следующее:

  • наличие лицензий для всех новых устройств – предыдущие лицензии невозможно перенести, так как они привязываются к серийным номерам конкретных устройств, поэтому нужно будет приобрести новые лицензии и использовать их на новом оборудовании
  • версия программного обеспечения ASA для серии 5500-Х должна быть не ниже 8.6, более старые версии вы просто не сможете использовать на этих устройствах. Если у вас есть только более ранняя версия, загрузите новую с cisco.com

От вас потребуются такие действия по подготовке к переходу с cisco 500 series:

  • обновите Cisco Security Manager
  • сделайте апгрейд программного обеспечения всего оборудования 5500 серии до версии 8.4.2. Если у вас оно работает на ПО ASA 8.3, просто обновите его сразу до требуемой версии, если же вы используете более раннюю версию, то рекомендуем делать это не за один шаг, а в несколько операций, например, с 7.4 на 8.0, потом на 8.2 и на 8.4. на V8.3.

Также, в качестве альтернативы, можно воспользоваться веб-инструментом миграции NAT , за ним обращайтесь в ТАС или клиентскую поддержку. Этот инструмент позволяет отправить на обработку существующую конфигурацию с локального компьютера, затем выполняет преобразования и в итоге предоставляет пользователю обновленную конфигурацию, которую можно просто скопировать и сохранить в файл. Перед использованием этого инструмента внимательно ознакомьтесь с его ограничениями

  • обязательно сделайте резервную копию конфигурации и сохраните ее на случай, если что-то пойдет не так и конфигурацию придется восстанавливать. Делается она командой CLI copy или с помощью ASDM-менеджера
  • если у вас используется , нужно сделать резервную копию ее конфигурации тоже (через CLI или IDM/IME)
  • когда будете делать резервные копии конфигураций, не забудьте обязательно выполнить экспорт сертификатов и криптоключей с прежней платформы

Отличия в аппаратной архитектуре устройств ASA 5500-X от серии 5500

Естественно, что архитектура новых устройств несколько отличается. Визуально вы сможете заметить такие различия:

  • нет SSM
  • службы ASA и IPS (если есть) физически управляются через один порт
  • выше плотность портов ввода-вывода, используются только порты Gigabit

Из-за этих отличий вам понадобится кое-что поменять вручную в конфигурационном файле серии 5500. Ниже читайте, что именно.

Редактируем конфигурацию порта ввода-вывода

У всех представителей ASA 5500 есть порты Gigabit, их конфигурация уже прописана и менять ничего не нужно. Исключение составляет ASA 5510 без лицензии SecPlus, где такого порта нет. Потому, если переносим конфигурацию именно с 5510, нужно будет изменить все имена интерфейсов и подинтерфейсов, чтобы отразить, что в новом устройстве порты Gigabit есть.

Вот пример, как это делается (переходим с 5510 на 5515-Х).

Конфигурация ASA 5510

! Physical Interface

interface Ethernet0/1

no nameif

no security-level

no ip address

no shutdown

! Creating Subinterfaces on interface E0/1 (two logical networks)

interface Ethernet0/1.120

vlan 1222

nameif fw-out

security-level 50

Измененная конфигурация ASA 5515-X

! Physical Interface

interface GigabitEthernet0/1

no nameif

no security-level

no ip address

no shutdown

! Creating Subinterfaces on interface G0/1 (two logical networks)

interface GigabitEthernet0/1.1201

vlan 1222

nameif fw-out

security-level 50

ip address 172.16.61.1 255.255.255.0

Изменения конфигурации порта управления

Существенное отличие платформы ASA 5500-X состоит в том, что у служб IPS и межсетевой защиты есть общий порт управления, но больше его ни для каких целей использовать нельзя. Учитывайте, что после перехода его не получится использовать как порт данных или как элемент конфигурации с high-accesibility (в 5500 серии это было возможно). Если на предыдущей платформе вы так делали, при миграции обязательно переносите конфигурационные настройки этого порта управления на один из портов данных Gigabit с номером выше G0/3. Ниже показано, как это делается, на примере миграции с ASA 5520 на ASA 5525-X.

Конфигурация ASA 5520

interface Management0/0

no nameif

no security-level

no ip address

no management-only

no shutdown !

! Subinterfaces on interface M0/0

interface Management0/0.120

vlan 1222

nameif fw-out

security-level 50

ip address 172.16.61.1 255.255.255.0

Конфигурация ASA 5515-X

! Dedicated Management Interface

interface Management0/0

no nameif

no security-level

no ip address

management-only

no shutdown

! Management Interface Migrated to GigabitEthernet0/3

interface GigabitEthernet0/3

no nameif

no security-level

no ip address

no shutdown

! Subinterfaces on interface G0/3

interface GigabitEthernet0/3.1201

vlan 1222

nameif fw-out

security-level 50

ip address 172.16.61.1 255.255.255.0

В Cisco ASA 5500 отсутствует интерфейс GigabitEthernet0/3 поэтому, при переходе на более позднюю версию, конфигурации конфликтовать между собой не должны.

Таким же образом, если ранее вы использовали интерфейс управления для конфигурации переключения при сбоях, перенесите его на какой-либо новый неиспользуемый интерфейс 5500-X.

Как корректно переносить сервисы ASA и IPS? Тут возможны несколько вариантов, потому что, как упоминалось выше, для служб IPS и межсетевого экрана в 5500-Х теперь выделен один общий порт управления, тогда как раньше использовались разные. , рекомендуем внимательно изучить их и выбрать подходящий.

Перенос конфигурации IPS

Непосредственно при переносе файла конфигурации IPS вручную менять уже ничего не понадобится, если вы провели всю необходимую, описанную выше подготовку. На всякий случай еще раз перепроверьте, правильно ли настроен порт управления.

Не забудьте, что IPS активируется в два этапа, для которых вам понадобится лицензия не только на устройство ASA, но и на сам сервис IPS.

Итоги

Как видите, миграция с устройств ASA серии 5500 на ASA 5500-X, выполняется в несколько этапов, часть из них автоматизирована, а некоторые придется выполнить вручную.

Мы постарались описать основные шаги, в каком порядке это делать и на что стоит обратить внимание, чтобы после перехода новое оборудование работало корректно и выполняло возложенные на него функции.

ASA Version 8.2(1)
!
! Имя Cisco
hostname asa
!Домен. Нужно для SSH
domain-name strui.ru
!Пароль для enable.
enable password 4аееoLOxxxxxxjMx encrypted
passwd k0a6sN9ExxxxxxxxzV encrypted
names
! Описание интерфейса, смотрящего в Internet .
interface Ethernet0/0
description Internet
nameif outside
security-level 0
ip address 213.xxx.xxx.194 255.255.255.240
! Описание интерфейса, смотрящего в локальную сеть .
interface Ethernet0/1
description Local
nameif inside
security-level 100
ip address 10.10.10.20 255.255.255.0
!
! Описание интерфейса, смотрящего в сеть серверов (DMZ)
interface Ethernet0/2
description DMZ
nameif dmz
security-level 50
ip address 62.xxx.xxx.177 255.255.255.240
!Этот интерфейс выключен
interface Ethernet0/3
shutdown
no nameif
no security-level
no ip address
!Этот интерфейс выключен(не привязан к локальной сети). Использовался при
!первоначальной настройке Cisco
interface Management0/0
nameif management
security-level 100
ip address 192.168.1.1 255.255.255.0
management-only
!
ftp mode passive
! Выставляем зону и время. Необходимо для логов.
clock timezone MSK/MDD 3
clock summer-time MSK/MDD recurring last Sun Mar 2:00 last Sun Oct 3:00
dns server-group DefaultDNS
! Лист доступа в демилиторизованную зону к серверам. Входящий трафик.
access-list acl_in_dmz extended permit tcp any host 62.xxx.xxx.180 eq www
access-list acl_in_dmz extended permit tcp any host 62.xxx.xxx.180 eq ftp
access-list acl_in_dmz extended permit tcp any host 62.xxx.xxx.180 eq ftp-data
access-list acl_in_dmz extended permit tcp any host 62.xxx.xxx.181 eq www
access-list acl_in_dmz extended permit tcp any host 62.xxx.xxx.181 eq ftp
access-list acl_in_dmz extended permit tcp any host 62.xxx.xxx.181 eq ftp-data
access-list acl_in_dmz extended permit tcp any host 62.xxx.xxx.178 eq domain
access-list acl_in_dmz extended permit tcp any host 62.xxx.xxx.179 eq smtp
access-list acl_in_dmz extended permit tcp any host 62.xxx.xxx.179 eq pop3
access-list acl_in_dmz extended permit tcp any host 62.xxx.xxx.179 eq imap4
access-list acl_in_dmz extended permit tcp any host 62.xxx.xxx.184 eq 8081
access-list acl_in_dmz extended permit tcp any host 62.xxx.xxx.184 eq www
access-list acl_in_dmz extended permit tcp any host 62.xxx.xxx.185 eq www
access-list acl_in_dmz extended permit tcp any host 62.xxx.xxx.186 eq ftp
access-list acl_in_dmz extended permit tcp any host 62.xxx.xxx.186 eq ftp-data
access-list acl_in_dmz extended permit tcp any host 62.xxx.xxx.186 eq www
access-list acl_in_dmz extended permit tcp any host 62.xxx.xxx.189 eq www
access-list acl_in_dmz extended permit tcp any host 62.xxx.xxx.179 eq domain
access-list acl_in_dmz extended permit tcp any host 62.xxx.xxx.179 eq https
access-list acl_in_dmz extended permit tcp any host 62.xxx.xxx.182 eq smtp
access-list acl_in_dmz extended permit tcp any host 62.xxx.xxx.182 eq pop3
access-list acl_in_dmz extended permit tcp any host 62.xxx.xxx.182 eq imap4
access-list acl_in_dmz extended permit tcp any host 62.xxx.xxx.184 eq rtsp
access-list acl_in_dmz extended permit tcp any host 62.xxx.xxx.187 eq www
access-list acl_in_dmz extended permit tcp any host 62.xxx.xxx.188 eq www
! Лист доступа для серверов из демилиторизованной зоны. Исходящий трафик.
access-list acl_out_dmz extended permit tcp any any
access-list acl_out_dmz extended permit udp any any
access-list acl_out_dmz extended permit icmp any any
access-list acl_out_dmz extended deny tcp host 62.xxx.19.76 host 213.xxx.36.194 eq 135
access-list acl_out_dmz extended deny tcp host 87.xxx.95.11 host 213.xxx.36.194 eq ftp
!Лист доступа для пользователей локальной сети.
! Разрешено все для исходящего трафика.
access-list acl_out_inside extended permit tcp 10.10.10.0 255.255.255.0 any
access-list acl_out_inside extended permit tcp 10.10.20.0 255.255.255.0 any
access-list acl_out_inside extended permit tcp 10.10.40.0 255.255.255.0 any
access-list acl_out_inside extended permit tcp 10.10.50.0 255.255.255.0 any
access-list acl_out_inside extended permit tcp 10.10.110.0 255.255.255.0 any
access-list acl_out_inside extended permit icmp 10.10.10.0 255.255.255.0 any
access-list acl_out_inside extended permit icmp 10.10.110.0 255.255.255.0 any
access-list acl_out_inside extended permit icmp 10.10.20.0 255.255.255.0 any
access-list acl_out_inside extended permit icmp 10.10.50.0 255.255.255.0 any
access-list acl_out_inside extended permit udp 10.10.10.0 255.255.255.0 any
access-list acl_out_inside extended permit udp 10.10.20.0 255.255.255.0 any
access-list acl_out_inside extended permit udp 10.10.110.0 255.255.255.0 any
access-list acl_out_inside extended permit udp 10.10.50.0 255.255.255.0 any
access-list acl_out_inside extended permit udp 10.10.40.0 255.255.255.0 any

! Настройка логирования
logging enable
logging timestamp
logging trap notifications
logging asdm informational
logging host inside 10.10.10.4
mtu outside 1500
mtu inside 1500
mtu dmz 1500
mtu management 1500

no failover
icmp unreachable rate-limit 1 burst-size 1
no asdm history enable
arp timeout 14400

! Настройка global
global (outside) 1 interface
! Настройка NAT для локальной сети
nat (inside) 1 0.0.0.0 0.0.0.0
! Настройка static для серверов
nat (dmz) 0 0.0.0.0 0.0.0.0
static (dmz,outside) 62.xxx.xxx.180 62.xxx.xxx.180 netmask 255.255.255.255
static (dmz,outside) 62.xxx.xxx.181 62.xxx.xxx.181 netmask 255.255.255.255
static (dmz,outside) 62.xxx.xxx.178 62.xxx.xxx.178 netmask 255.255.255.255
static (dmz,outside) 62.xxx.xxx.179 62.xxx.xxx.179 netmask 255.255.255.255
static (dmz,outside) 62.xxx.xxx.184 62.xxx.xxx.184 netmask 255.255.255.255
static (dmz,outside) 62.xxx.xxx.185 62.xxx.xxx.185 netmask 255.255.255.255
static (dmz,outside) 62.xxx.xxx.186 62.xxx.xxx.186 netmask 255.255.255.255
static (dmz,outside) 62.xxx.xxx.189 62.xxx.xxx.189 netmask 255.255.255.255
static (dmz,outside) 62.xxx.xxx.187 62.xxx.xxx.187 netmask 255.255.255.255
static (dmz,outside) 62.xxx.xxx.188 62.xxx.xxx.188 netmask 255.255.255.255
! Привязываем access-list через access-group к интерфейсам.
access-group acl_in_dmz in interface outside
access-group acl_out_inside in interface inside
access-group acl_out_dmz in interface dmz
! Прописываем маршрутизацию для интерфейсов.
route outside 0.0.0.0 0.0.0.0 213.xxx.xxx.193 1
route inside 10.10.20.0 255.255.255.0 10.10.10.10 1
route inside 10.10.40.0 255.255.255.0 10.10.10.10 1
route inside 10.10.50.0 255.255.255.0 10.10.10.10 1
route inside 10.10.110.0 255.255.255.0 10.10.10.10 1
timeout xlate 3:00:00
timeout conn 1:00:00 half-closed 0:10:00 udp 0:02:00 icmp 0:00:02
timeout sunrpc 0:10:00 h323 0:05:00 h225 1:00:00 mgcp 0:05:00 mgcp-pat 0:05:00
timeout sip 0:30:00 sip_media 0:02:00 sip-invite 0:03:00 sip-disconnect 0:02:00
timeout sip-provisional-media 0:02:00 uauth 0:05:00 absolute
timeout tcp-proxy-reassembly 0:01:00
dynamic-access-policy-record DfltAccessPolicy
! Разрешаем работу через WEB морду из локальной сети.
http server enable
http 10.10.10.0 255.255.255.0 inside
no snmp-server location
no snmp-server contact
snmp-server enable traps snmp authentication linkup linkdown coldstart
crypto ipsec security-association lifetime seconds 28800
crypto ipsec security-association lifetime kilobytes 4608000
! Разрешаем работу telnet и ssh по локальной сети.
telnet 10.10.10.0 255.255.255.0 inside
telnet timeout 5
ssh 10.10.10.0 255.255.255.0 inside
ssh 10.10.10.71 255.255.255.255 inside
ssh timeout 30
console timeout 0
dhcpd address 192.168.1.2-192.168.1.254 management
!
threat-detection basic-threat
threat-detection statistics access-list
no threat-detection statistics tcp-intercept
! Сервер времени и пользователь для WEB морды.
ntp server 10.10.10.3 source inside
webvpn
username admin password trAp5eVxxxxxxnv encrypted privilege 15
!
class-map inspection_default
match default-inspection-traffic
!
!
policy-map type inspect dns preset_dns_map
parameters
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
!
service-policy global_policy global
prompt hostname context
Cryptochecksum:58da28923df5a5f8d5192125f9b1796f
: end

Сети > Фаервол > Классическая авторизация пользователей. Пример конфигурации фаервола cisco ASA5510.
Использование авторизации пользователей на фаерволе cisco ASA для ограничения доступа к сетевым ресурсам.
Пример настройки классической авторизации пользователей на Cisco Secure ACS v4.0.

Классическая авторизация пользователей. Пример конфигурации фаервола cisco ASA5510.

Предисловие.

Это третья часть статьи, посвященной применению авторизации для выборочного ограничения доступа пользователей к сетевым ресурсам и сервисам. Здесь рассматривается конфигурация фаервола ASA5510 .
Схему тестовой сети смотрите в первой части статьи .
Во второй части рассказано от том, как настроить Cisco Secure ACS.

Конфигурация.

Здесь представлена конфигурация фаервола для примера, описанного в первой части статьи. Некоторые строки, используемые в реальной конфигурации, но не имеющие отношения к рассматриваемому вопросу, здесь пропущены. Строки, имеющие непосредственное отношение к авторизации выделены жирным шрифтом. В тексте есть короткие комментарии. Некоторые важные моменты более подробно рассмотрены ниже.

Hostname firewall1 ! ! -- Список серверов -- names name 192.168.1.100 FTP_server_1 name 192.168.1.101 FTP_server_2 name 192.168.1.102 TS_server name 192.168.1.103 DMZ_DB_server name 10.1.1.10 OUT_DB_server ! ! interface Management0/0 shutdown nameif management security-level 100 management-only no ip address ! interface Ethernet0/0 description OUT speed 100 duplex full nameif outside security-level 0 ip address 10.1.1.250 255.255.255.0 no shutdown ! interface Ethernet0/1 description DMZ speed 100 duplex full nameif DMZ security-level 50 ip address 192.168.1.254 255.255.255.0 no shutdown ! interface Ethernet0/2 shutdown no nameif no security-level no ip address ! interface Ethernet0/3 shutdown no nameif no security-level no ip address ! ! ! -- Список сетевых групп -- object-group network DMZ_net network-object 192.168.1.0 255.255.255.0 object-group network FTP_servers network-object host FTP_server_1 network-object host FTP_server_2 ! ! access-list OUT_IN remark ***OUT->DMZ*** access-list OUT_IN remark ***ftp traffic to FTP servers*** access-list OUT_IN extended permit tcp any object-group FTP_servers eq ftp access-list OUT_IN extended permit tcp any object-group FTP_servers eq ftp-data access-list OUT_IN remark ***RDP traffic to DMZ servers*** access-list OUT_IN extended permit tcp any object-group DMZ_net eq 3389 access-list OUT_IN remark ***DB traffic between DB servers*** access-list OUT_IN extended permit tcp host OUT_DB_server host DMZ_DB_server eq 1526 access-list OUT_IN remark ***Virtual Telnet for Authentication*** access-list OUT_IN extended permit tcp any host 10.2.2.2 eq https access-list OUT_IN extended deny ip any any log ! ! access-list DMZ_IN remark ***DMZ->OUT*** access-list DMZ_IN remark ***ftp traffic from FTP servers*** access-list DMZ_IN extended permit tcp object-group FTP_servers eq ftp any access-list DMZ_IN extended permit tcp object-group FTP_servers eq ftp-data any access-list DMZ_IN remark ***RDP traffic from DMZ servers*** access-list DMZ_IN extended permit tcp object-group DMZ_net eq 3389 any access-list DMZ_IN remark ***DB traffic between DB servers*** access-list DMZ_IN extended permit tcp host DMZ_DB_server eq 1526 host OUT_DB_server access-list DMZ_IN remark ***Virtual Telnet for Authentication*** access-list DMZ_IN extended permit tcp host 10.2.2.2 eq https any access-list DMZ_IN extended deny ip any any log ! ! logging enable logging buffered informational ! ! ! -- NAT не используем, -- ! -- адреса транслируются сами в себя -- nat (DMZ) 0 192.168.1.0 255.255.255.0 static (outside,DMZ) 10.1.1.0 10.1.1.0 netmask 255.255.255.0 ! static (outside,DMZ) 10.2.2.2 10.2.2.2 netmask 255.255.255.255 ! ! access-group OUT_IN in interface outside access-group DMZ_IN in interface DMZ route outside 0.0.0.0 0.0.0.0 10.1.1.254 1 timeout xlate 4:00:00 timeout conn 1:00:00 half-closed 0:10:00 udp 0:02:00 icmp 0:00:02 timeout sunrpc 0:10:00 h323 0:05:00 h225 1:00:00 mgcp 0:05:00 mgcp-pat 0:05:00 timeout sip 0:30:00 sip_media 0:02:00 sip-invite 0:03:00 sip-disconnect 0:02:00 ! -- Определяем таймаут аутентификации -- timeout uauth 4:00:00 absolute ! ! ! -- Указываем TACACS+ сервер -- aaa-server ACS_1 protocol tacacs+ aaa-server ACS_1 (DMZ) host 192.168.1.4 key test ! ! -- Для управления фаерволом потребуется -- ! -- аутентифицироваться на TACACS+ сервере. -- ! -- Если TACACS+ сервер не доступен, -- ! -- можно зайти локальным пользователем. -- aaa authentication serial console ACS_1 LOCAL aaa authentication enable console ACS_1 LOCAL aaa authentication ssh console ACS_1 LOCAL ! ! ! ! -- требует аутентификации. -- ! aaa authentication exclude tcp/1526 outside DMZ_DB_server 255.255.255.255 OUT_DB_server 255.255.255.255 ACS_1 ! ! ! -- Говорим, что весь входящий с наружи трафик -- ! -- требует авторизации. -- ! -- Исключение для трафика серверов БД -- aaa authorization exclude tcp/1526 outside DMZ_DB_server 255.255.255.255 OUT_DB_server 255.255.255.255 ACS_1 ! ! ! -- Без этой строки WEB страница аутентификации не откроется -- aaa proxy-limit 128 ! ! -- Без этой строки WEB страница аутентификации -- ! -- будет иметь намного худший вид -- ! -- Указываем виртуальный адрес WEB страницы аутентификации -- virtual telnet 10.2.2.2 telnet timeout 5 ssh 10.1.1.0 255.255.255.0 outside ssh timeout 5 ssh version 2 console timeout 5 ! no threat-detection basic-threat no threat-detection statistics access-list ssl encryption des-sha1 rc4-md5 ! ! -- Локальный пользователь для управления -- ! -- фаерволом на случай, когда -- ! -- TACACS+ сервер не доступен, -- username admin1 password test privilege 15 ! !

Комментарий к конфигурации.

aaa-server ACS_1 protocol tacacs+
aaa-server ACS_1 (DMZ) host 192.168.1.4
key test

Этими строками мы говорим фаерволу, что AAA сервером является TACACS+ сервер, указываем его ip адрес и ключ.

aaa authentication include ip outside 0.0.0.0 0.0.0.0 0.0.0.0 0.0.0.0 ACS_1
aaa authorization include ip outside 0.0.0.0 0.0.0.0 0.0.0.0 0.0.0.0 ACS_1

Здесь говорим, что весь трафик, приходящий на интерфейс outside должен пройти аутентификацию и авторизацию.

aaa authentication exclude tcp/1526 outside DMZ_DB_server 255.255.255.255 OUT_DB_server 255.255.255.255 ACS_1
aaa authorization exclude tcp/1526 outside DMZ_DB_server 255.255.255.255 OUT_DB_server 255.255.255.255 ACS_1
Делаем исключение для трафика серверов БД. Этот трафик должен проходить без аутентификации и авторизации.

Virtual Telnet

Вы, наверное, заметили, что почти половина выделенных строк связана с ip адресом 10.2.2.2. Это виртуальный адрес WEB страницы, с помощью которой пользователь проходит аутентификацию и авторизацию. Разберемся с этим поподробнее.
Когда пользователь открывает HTTP, HTTPS, FTP и Telnet сессию, требующую аутентификации или авторизации, у него в браузере или в окне FTP или Telnet сессии появляется приглашение для ввода логина и пароля. Когда пользователь пытается открыть сессию по другим портам, например RDP соединение, предложение для ввода пароля не появляется, сессия закрывается по таймауту, а в логе фаервола появится запись “User must authenticate before using this service”.
Прежде чем открывать RDP сессию, пользователь должен авторизоваться на фаерволе. Но как это сделать? Где вводить логин и пароль? Для этого и нужен Virtual Telnet.
Несмотря на название, это совсем не telnet. Это дополнительная https сессия. Для пользователя процесс аутентификации выглядит следующим образом:
Пользователь запускает браузер и набирает в строке адреса https://10.2.2.2.

После подтверждения доверия сертификату, откроется следующее окно. Обратите внимание, что изначально открывалась страница с адресом 10.2.2.2. А теперь ASA перенаправила пользователя на реальный ip адрес - 10.1.1.250. Подробнее об этом - чуть ниже.
Для продолжения надо нажать кнопку "Log in now".

В следующем окне надо ввести логин и пароль и нажать кнопку "Continue".

Если на фаерволе и ACS сервере все настроено корректно, и пользователь верно ввел логин с паролем, откроется страница как на следующем рисунке.

Теперь пользователь может открывать любые разрешенные ему соединения, пароль больше вводить не потребуется. Окно браузера можно закрыть. По завершении сеанса работы пользователь может разлогиниться. Для этого нужно снова открыть страницу аутентификации. Там отображается статус пользователя на фаерволе и указано сколько времени прошло после регистрации (смотрите предыдущий рисунок). Для закрытия авторизации достаточно нажать logoff.
Явно разлогиниваться не обязательно. Если в течении определенного времени все соединения открытые пользователем простаивают, фаервол сам закроет авторизацию. Тайм аут определяется командой:
timeout uauth 4:00:00 absolute
Если пользователь логинился несколько часов назад, и теперь сомневается действтельна ли его ранее открытая регистрация или нет, он должен открыть страницу аутентификации. Там он увидит свой статус.

Для того, что бы описанный механизм работал, в конфигурации фаервола должны присутствовать следующее строки:
virtual telnet 10.2.2.2
Здесь указан виртуальный ip адрес страницы аутентификации. Именно его пользователи набирают в адресной строке браузера. Точнее они должны набрать https://10.2.2.2. Https страница загружается с фаервола. Для повышения безопасности используется не реальный ip адрес интерфейса фаервола, а виртуальный.
Это адрес надо указать в нескольких местах в конфигурации фаервола. В аксес листах должен быть открыт https трафик на виртуальный адрес страницы аутентификации.
access-list OUT_IN extended permit tcp any host 10.2.2.2 eq https
access-list DMZ_IN extended permit tcp host 10.2.2.2 eq https any

Кроме того, для этого адреса надо явно прописать команду:
aaa authentication include https outside 10.2.2.2 255.255.255.255 0.0.0.0 0.0.0.0 ACS_1
Это надо сделать обязательно, даже не смотря на то, что есть команда
aaa authentication include ip outside 0.0.0.0 0.0.0.0 0.0.0.0 0.0.0.0 ACS_1 , покрывающая все адресное пространство.
Ну и последняя строка:
aaa authentication listener https outside port 1443 redirect
Она просто улучшает внешний вид WEB станицы аутентификации. Попробуйте убрать ее из конфигурации и посмотрите, что изменилось. В разных версиях ios эта команда выглядит по-разному.

Что еще посмотреть?

Схему тестовой сети и общую информацию об авторизации смотрите в

В данной части мы рассмотрим работу в ROMMON.
Работа С ROMMON это скорее работа, связанная с аварийной ситуацией.
Типичные аварийные случаи - это испорченный или по ошибке удалённый образ OS, или когда попросту забыли пароль.

Если мы хотим смоделировать данную ситуацию - удалим файл OS, а также обнулим конфигурацию:

config factory-default

Подключаемся консолью к ASA.
Заходим в режим ROMMON - во время таймера нажмём Esc.

! rommon: interface ethernet0/0 address 10.0.0.1 server 10.0.0.2 file asa842-k8.bin tftpdnld

В данном случае ASA загрузит OS напрямую из tftp, и у нас появится управление над устройством уже в "обычном" режиме.

После загрузки в таком режиме пароль enable будет пустым (нажать enter)

Дальнейшие настройки мы будем производить в соответствии со схемой:

Итак, в соответствии со схемой мы настроим внутренний интерфейс:

interface gigabitethernet 2 security-level 100 nameif inside ip address 192.168.2.253 255.255.255.0 no shutdown

Здесь на интефейсе мы выставиили следующие параметры:
security-level 100 - Поскольку данный интерфейс является внутренним, мы выставили у него самый высокий security-level, т.е. мы ему доверяем больше всех.
nameif inside - Определили имя для интерфейса. Это важный параметр, поскольку в дальнейших настройках это имя будет часто использоваться.

Проверка IP адресации:
Настройку IP адресации на интерфейсах можно проверить:

show running-config ip

Или же выполнить ping:

Кстати немного о консоли:
При пустом конфиге пароль enable пустой - просто нажмите enter.

Как известно на роутере команды show могут вводиться только в privileged mode . Если же мы находимся в configuration mode то следует дать команду do show .
В случае с ASA команда show будет срабатывать в любом режиме.
Прервать выполнение команды (например show running-config ) можно через кнопку "q ".

Образ OS

boot system flash:/asa914-5-k8.bin

Без этой команды будет загружаться первый попавшийся образ операционной системы.

Проверка образа для загрузки:

Ребутаемся

ASDM Image

Итак, мы убедились что внутренний интерфейс настроен правильно, а также проходит ping.
Таким образом теперь мы имеем полностью настроенное подключение к внутренней сети и теперь мы можем настроить возможность управления Manage нашей ASA.

Управление ASA может быть выполнено несколькими способами:

  • SSH - управление через командную строку через протокол SSH.
  • ASDM - Графический интерфейс.

В нашем конкретном случае работы с GNS3 мы используем совместимые и друг с другом, и с GNS3:
ASA Version 8.4(2)
ASDM Version 6.4(3)

Для работы ASDM мы также скопируем его файл на flash:

asdm image flash:/asdm-643.bin

Проверка рабочего образа ASDM:

Подводя итог, для нормальной работы ASA, на flash должно быть два файла:

  • OS - например asa914-5-k8.bin , файл операционной системы. Необходим для загрузки системы
  • ASDM - например asdm-643.bin, файл, необходимый для работы админки ASDM.

Дальнейшие настройки

Введём имя хоста:

Настраиваем enable password

enable password mysecretpassword

Создаём пользователя-админа и включаем аутентификацию через локальную БД для методов SSH и HTTP.

username asaadmin password adminpassword privilege 15 aaa authentication ssh console LOCAL aaa authentication http console LOCAL

Здесь мы кстати не включили aaa для telnet. В этом случае первичный пароль для телнета будет определяться командой:

Генерируем RSA key, необходимый для работы SSH:

crypto key generate rsa modulus 1024

Для работы ASDM включим поддержку https:

http server enable http 192.168.2.0 255.255.255.0 inside ssh 192.168.2.0 255.255.255.0 inside

Здесь первая команда включает сервер, а вторая определяет кого пускать.

Как известно, для работы HTTPS необходим сертификат. В данном случае ASA будет использовать . Это означает, что при каждом ребуте сертификат будет генериться заново.

Вообще для ASA мы можем настроить 3 типа сертификатов:

  • Self Sighned Tempopary Certificate - собственный сертификат, который генерится при каждой загрузке ASA
  • Self Sighned Permanent Certificate - собственный сертификат, который генерится один раз
  • Real Certificate from PKI - сертификат сгенерённый сторонней Certificate Authority

К этому мы ещё вернёмся позже.

Для удобства увеличим таймаут для SSH:

Проверка настроек HTTP, SSH, TELNET

show running-config aaa show running-config http show running-config ssh show running-config telnet