Cisco ASA Первичная настройка
При написании данной статьи использовался межсетевой экран Cisco ASA 5520 с версией системы 9.1 и чистой (стандартной) конфигурацией.
1. Подключение через COM-порт
Если Вы только взяли в руки Cisco ASA, то для начала работы к ней нужно подключиться через COM-порт (голубенький кабель RJ45 — DB9).
Настройки порта обычно такие:
Bits per sec: 9600
Data bits: 8
Parity: none
Stop bits: 1
Flow control: none
У Cisco ASA, как и у других устройств Cisco два режима: пользовательский и привилегированный. Перейдите в привилегированный режим командой enable (можно использовать сокращение en):
ciscoasa> ciscoasa> enable ciscoasa#
У «свежей» или сброшенной к заводским настройкам Cisco ASA пароль на привилегированный режим ещё не установлен. Можно приступать к настройке: configure terminal или conf t.
ciscoasa# configure terminal ciscoasa(config)#
Все остальные команды вводятся в режиме конфигурации, если не указано другое. Команда exit, выполненная в режиме конфигурирования, вернет вас назад.
В списках команд у меня имеются комментарии, начинающиеся с символа #, их вводить НЕ надо, они для вас, циска их не поймет…
2. Настройка интерфейса управления и доступа по ssh
Cisco ASA имеет специальный интерфейс для управления. Рекомендуется иметь отдельную сеть для управления и контроля всего оборудования и серверов, недоступную для простых пользователей.
# создание пароля для привилегированного режима enable password zzz # настройка интерфейса управления interface Management 0/0 nameif manage security-level 100 ip address 192.168.1.100 255.255.255.0 no shutdown exit # настройка доступу по ssh crypto key generate rsa modulus 1024 username username password yyy passwd yyy # задайте список адресов или сетей, с которых разрешено подключаться по ssh # не стоит указывать лишнее ssh 192.168.1.22 255.255.255.255 ssh 192.168.1.33 255.255.255.255 ssh version 2 # заодно можно увеличить timeout, по-умолчанию всего 5 минут ssh timeout 15 aaa authentication ssh console LOCAL
Теперь можете подключиться к ASA по сети через ssh, можно использовать putty или linux-консоль:
ssh username@192.168.1.100
3. Настройка доступа через ASDM
Кроме настройки Cisco ASA через консоль, имеется альтернативный вариант: Cisco Adaptive Security Device Manager (ASDM). Функционал ASDM дублирует возможности CLI и сделан больше для тех кто кликает мышкой. Некоторые операции легче выполнять в ASDM, но для большинства настроек удобнее, нагляднее и проще использовать именно CLI. Рассмотрите оба варианта, выберите наиболее подходящий под ваши задачи.
# если вы не ещё не настроили доступ по ssh, то выполните команду crypto key gen... из предыдущего пункта # запуск сервера http http server enable # задайте список адресов или сетей, с которых разрешено подключаться http 192.168.1.22 255.255.255.255 manage http 192.168.1.33 255.255.255.255 manage # просмотр списка файлов на Cisco ASA dir # если доступно несколько версий ASDM, то выберите более свежую asdm image disk0:/asdm-742.bin
Для доступа к ADSM наберите в браузере https://192.168.1.100
4. Обновление системы и ASDM
Посмотреть текущие версии ПО можете так:
ciscoasa# show version Cisco Adaptive Security Appliance Software Version 9.1(7)13 Device Manager Version 7.7(1) ...
Проверить наличие более свежих версий ПО и их поддержку вашей циской можно на официальном сайте: https://software.cisco.com/download/type.html?mdfid=280582808, а вот скачать их можно только имея действующую лицензию.
Для загрузки и установки файлов обновлений на Cisco ASA проще использовать ASDM:
Загрузка: Tools -> File Management… -> File Transfer
Либо сразу с установкой: Tools -> Upgrade Software from Local Computer
Загрузка файла с командной строки выполняется одной командой (на своём компьютере поднимите сервер tftp, для windows подойдёт Tftpd32):
# запуск команды copy в интерактивном режиме copy tftp disk0: Address or name of remote host []? 192.168.1.22 Source filename []? asa917-13-k8.bin Destination filename [asa917-13-k8.bin]? Accessing tftp://192.168.1.22/asa917-13-k8.bin.........!! Writing file disk0:/asa917-13-k8.bin...........!! 27703296 bytes copied in 3.60 secs # проверьте, что файл на месте dir # выбор используемого образа системы и ASDM asdm image disk0:/asdm-771.bin boot system disk0:/asa917-13-k8.bin # сохранить настройки write memory # перезагрузка с новой версией системы reload
5. Настройка интерфейсов
Для образца возьмём самую распространённую схему сети:
- внешняя сеть с белым ip (outside);
- выделенная сеть с серверами (dmz): 192.168.20.0/29;
- локальная сеть с пользователями (lan): 192.168.10.0/24;
По умолчанию Cisco ASA будет пропускать трафик из зоны с более высоким значением security-level в зону с более низким. Почесав затылок, распределяем значения security-level: outside — 0, dmz — 50, lan — 100. Причем сами цифры значения не имеют, главное — их отношения (больше, меньше).
Порты на оборудовании — очень ценная вещь, особенно на таком. Чтобы их сэкономить можно создать несколько подинтерфейсов:
interface GigabitEthernet0/0 mac-address 0050.56xx.xxxx nameif outside security-level 0 ip address 11.11.11.11 255.255.255.248 no shutdown exit interface GigabitEthernet0/1.20 vlan 20 nameif dmz security-level 50 ip address 192.168.20.1 255.255.255.248 exit interface GigabitEthernet0/1.10 vlan 10 nameif lan security-level 100 ip address 192.168.10.1 255.255.255.0 exit interface GigabitEthernet0/1 no shutdown exit # маршрут по умолчанию route outside 0.0.0.0 0.0.0.0 11.11.11.10 1 dhcpd dns 8.8.8.8
6. Настройка NAT во внешнюю сеть и ping
Доступ во внешнюю сеть разрешен согласно выставленным security-level, но чтобы всё заработало вы должны сделать NAT:
object network lan-subnet subnet 192.168.10.0 255.255.255.0 nat (lan,outside) dynamic interface exit object network dmz-subnet subnet 192.168.20.0 255.255.255.248 nat (dmz,outside) dynamic interface exit
Готово, ваши пользователи и сервера получили доступ к Интернет. Если нужно разрешить использование icmp, то выполните следующее:
policy-map global_policy class inspection_default inspect icmp exit
7. Настройка NAT снаружи во внутреннюю сеть до сервера
Вариант 1. Нужно пробросить один порт, например, 80 до сервера в dmz:
object network server-www host 192.168.20.2 nat (dmz,outside) static interface service tcp www www exit # трафик из сети outside в dmz противоречит настройкам security-level # для его пропуска настройте правила ACL (Access Control List) access-list outside_acl extended permit tcp any object server-www eq www access-group outside_acl in interface outside
Вариант 2. Нужно пробросить два порта или больше. Просто добавив новое правило nat к уже существующему, вы перепишете им первое правило, поэтому нужно всё продублировать для каждого порта:
object network server-www host 192.168.20.2 nat (dmz,outside) static interface service tcp www www exit object network server-8080 host 192.168.20.2 nat (dmz,outside) static interface service tcp 8080 8080 exit access-list outside_acl extended permit tcp any object server-www eq www access-list outside_acl extended permit tcp any object server-8080 eq 8080 access-group outside_acl in interface outside
Вариант 3. Пробрасываем все порты, на внутренний сервер (завернуть что-либо на второй сервер уже не получится):
object network server-ip host 192.168.20.2 nat (dmz,outside) static interface exit # разрешайте только нужные порты access-list outside_acl extended permit tcp any object server-ip eq www access-list outside_acl extended permit tcp any object server-ip eq 8080 access-list outside_acl extended permit tcp any object server-ip eq ssh access-list outside_acl extended permit tcp any object server-ip eq ftp access-group outside_acl in interface outside
8. Тестирование прохождения пакетов
Можете тестировать настройки так: «Николай, попробуй выйти на ya.ru… Не работает? Ясно, сейчас посмотрю…». Более правильный подход, более быстрый и информативный — packet-tracer! Данный инструмент генерирует пакет и поэтапно показывает порядок его обработки.
Генерируем пакет из внутренней сети (от пользователя) во внешнюю:
packet-tracer input lan tcp 192.168.10.2 12345 93.159.134.3 80
Генерируем пакет из внешней сети на внешний интерфейс для www-сервера в dmz:
packet-tracer input outside tcp 8.8.8.8 12345 11.11.11.11 80
Сохранить настройки
write memory # сокращенно wm