Cisco ASA. Основы. Доступ в интернет.
Рассмотрим пример подключения офиса к сети Интернет с помощью межсетевого экрана Cisco ASA. (Что такое межсетевой экран?) Для примера будем использовать самую младшую модель – Cisco ASA 5505. От более старших она отличается тем, что здесь присутствует встроенный коммутатор на 8 портов. Каждый из них – порт второго уровня модели OSI, на котором нельзя задать IP адреса. Чтобы получить интерфейсы 3 уровня, необходимо создать виртуальный интерфейсы Vlan, задать ip адреса на них и после этого привязать к физическим интерфейсам.
В примере используются:
— канал в Интернет со статическим ip адресом
— несколько компьютеров в локальной сети офиса
— межсетевой экран Cisco ASA 5505
— коммутатор (используется для организации локальной сети офиса, без дополнительных настроек)
Задача: обеспечить доступ компьютеров локальной сети в Интернет.
Шаг 0. Очистка конфигурации
(Выполняется только с новым или тестовым оборудованием, так как ведет к полному удалению существующей конфигурации)
Если на устройстве с заводскими настройками будет запрошен пароль для привилегированного режима (#) enable, то просто нажмите клавишу «Enter».
ciscoasa> enable
Password: /нажмите Enter/
ciscoasa#
Далее полностью очистим стартовую конфигурацию с устройства. Для этого подключаемся с помощью консольного кабеля к консольному порту устройства, заходим в командную строку и вводим следующие команды:
ciscoasa(config)# clear configure all
После чего подтверждаем удаление всей текущей конфигурации.
В отличии от маршрутизаторов Cisco перезагрузка для сброса конфигурации не требуется. После выполнения команды «clear configure all» на межсетевом экране останутся только технологические строки заводской конфигурации и можно приступать к основной настройке.
Шаг 1. Имя устройства
Задание имени устройства для удобства последующего администрирования выполняется командой hostname «название устройства»
ciscoasa# hostname FW-DELTACONFIG
FW-DELTACONFIG#
Шаг 2. Настройка интерфейсов
Необходимо настроить 2 интерфейса: внешний и внутренний.
Через внешний интерфейс outside будет осуществляться связь с Интернет. На нем будут те ip адрес и маска сети, которые выделил Интернет провайдер.
FW-DELTACONFIG (config)#
interface Vlan1
nameif outside
security-level 0
ip address 200.150.100.2 255.255.255.252
no shut
Внутренний интерфейс inside будет настроен для локальной сети.
FW-DELTACONFIG (config)#
interface Vlan2
nameif inside
security-level 100
ip address 192.168.10.1 255.255.255.0
no shut
После этого необходимо привязать виртуальные интерфейсы Vlan к реальным интерфейсам Ethernet.
Привязка внешнего интерфейса outside к интерфейсу Ethernet0/0
FW-DELTACONFIG (config)#
interface Ethernet0/0
switchport access vlan 2
description --- WAN ---
no shut
Важно!
Обратите внимание, что строка с командой «switchport access vlan 1» не будет отображаться в конфигурации устройства (просмотр конфигурации командой «sh run»), так как Vlan 1 привязан к каждому интерфейсу по умолчанию.
Привязка внутреннего интерфейса inside к интерфейсу Ethernet0/1
FW-DELTACONFIG (config)#
interface Ethernet0/1
switchport access vlan 1
description --- LAN ---
no shut
Шаг 3. Настройка удаленного доступа к устройству
Для удаленного доступа администратора к устройству по протоколу SSH необходимо выполнить следующее:
Создать пароль для привилегированного режима (#). Вместо XXXXX необходимо ввести пароль.
FW-DELTACONFIG(config)#
enable password XXXXX
Создать учетную запись администратора. Вместо YYYYY необходимо ввести пароль для пользователя admin).
FW-DELTACONFIG(config)#
username admin password YYYYY privilege 15
Далее указывается метод аутентификации и генерируются ключи rsa
FW-DELTACONFIG(config)#
aaa authentication ssh console LOCAL
crypto key generate rsa modulus 1024
/подтвердите замену клавишей y
Указывается ip адрес рабочей станции администратора, с которого возможно удаленное управление через SSH, а также интерфейс, со стороны которого будут приниматься запросы (inside). При необходимости можно указать несколько адресов или даже задать сети управления.
FW-DELTACONFIG(config)#
ssh 192.168.10.100 255.255.255.255 inside
После этого доступ к межсетевому экрану по протоколу SSH будет доступен с компьютера с адресом 192.168.10.100 .
Шаг 4. Настройка шлюза по умолчанию
Для маршрутизации пакетов в сеть Интернет на устройстве необходимо указать шлюз по умолчанию(ближайший к устройству адрес провайдера) и интерфейс, через который он доступен (outside)
FW-DELTACONFIG(config)#
route outside 0.0.0.0 0.0.0.0 200.150.100.1
После этого можно проверить не только доступность оборудования провайдера, но и доступность канала связи с Интернет. Для этого необходимо запустить ping с устройства до любого адреса во внешней сети. Для примера возьмем адрес лидера на рынке сервиса icmp запросов – www.yandex.ru (93.158.134.3)
FW-DELTACONFIG#ping 93.158.134.3
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 93.158.134.3, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 3/8/15 ms
Важно!
Обратите внимание, что на данный момент ping внешних адресов работает только из консоли управления Cisco ASA. Рабочие станции и устройства локальной сети все еще не имеют доступа в Интернет.
Шаг 5 Настройка трансляции адресов (NAT)
Настройка трансляции адресов различается для разных версий прошивки устройств. Версию прошивки можно узнать из вывода команды «sh ver»
FW-DELTACONFIG#sh ver
Cisco Adaptive Security Appliance Software Version 8.2(1)11
Принципы использования и настройки NAT не только для Cisco ASA, но и для маршрутизаторов описаны в статье Как использовать NAT. Прочитайте ее, если не уверены какой именно тип вам нужен.
Шаг 5.1 NAT для доступа из локальной сети наружу (PAT)
Для доступа из локальной сети в Интернет необходимо, чтобы частные (серые) адреса офисной сети были транслированы в публичный (белый) адрес.
Для версии 8.2.X и старше
FW-DELTACONFIG(config)#
global (outside) 1 interface
nat (inside) 1 192.168.10.0 255.255.255.0
Для версии 8.3.X и новее
FW-DELTACONFIG(config)#
object network OBJ_NAT_LAN
subnet 192.168.10.0 255.255.255.0
nat (inside,outside) dynamic interface
Итог:
После выполнения этих команд адреса устройств из внутренней сети будут динамически транслироваться в адрес интерфейса outside.
Важно!
Трафик можно также транслировать в определенный ip адрес (если провайдер выделил вам сеть больше, чем /30), однако в этом случае это не должен быть адрес самого интерфейса outside.
- Либо трансляция будет в адрес внешнего интерфейса как в примере
- Либо в другой адрес, принадлежащий сети внешнего интерфейса, но отличный от него
Иначе NAT не будет осуществляться корректно, если вообще заработает.
Шаг 5.2 Для доступа из Интернет на адрес в локальной сети (static NAT)
Для доступа из сети Интернет внутрь локальной сети, например на веб сервер организации, необходимо настроить статическую трансляцию адресов (static NAT).
Для версии 8.2.X и старше
FW-DELTACONFIG(config)#
static (inside,outside) interface 192.168.10.200 netmask 255.255.255.255
Важно!
Обратите внимание на последовательность интерфейсов и адресов. В скобках идет внутренний-внешний, а после них адрес внешнего-адрес внутреннго. Наоборот!
Для версии 8.3.X и новее
FW-DELTACONFIG(config)#
host object network OBJ_NAT_SERVER
host 192.168.10.200
nat (inside,outside) static interface
Итог:
В этом случае любые запросы на внешний интерфейс межсетевого экрана будут переадресовываться на внутренний адрес 192.168.10.200
ИЛИ
Для версии 8.2.X и старше
FW-DELTACONFIG(config)#
static (inside,outside) tcp interface www 192.168.10.200 www netmask 255.255.255.255
Для версии 8.3.X и новее
host object network OBJ_NAT_SERVER
host host 192.168.10.200
nat (inside,outside) static interface service tcp www www
Итог:
В этом случае запросы на внешний интерфейс межсетевого экрана только по порту TCP 80 (протокол HTTP) будут переадресовываться на внутренний адрес 192.168.10.200.
Важно!
Вместо слова interface можно указывать конкретный адрес, отличный от адреса самого интерфейса outside, однако в нашем примере это невозможно, так как по условиям провайдер предоставляет сеть на 4 адреса 200.150.100.0 /30, из которой для использования доступны и уже заняты всего два адреса: 200.150.100.1 занимает провайдер, а 200.150.100.2 настроен на внешнем интерфейсе. Соответственно доступных свободных адресов в этой сети больше нет.
Если бы была предоставлена сеть большего размера, например с тем же префиксом 200.150.100.0, но с маской подсети /29, то для использования были бы доступны 6 из 8 адресов 200.150.100.1 – 200.150.100.6. Два адреса из шести доступных были бы заняты как в примере выше, а еще 4 доступны для использования. В этом случае можно настроить трансляцию адреса сервера из локальной сети в свободный адрес из сети 200.150.100.0 /29, например в 200.150.100.3.
Для версии 8.2.X и старше
FW-DELTACONFIG(config)#
static (inside,outside) tcp 200.150.100.3 www 192.168.10.200 www netmask 255.255.255.255
Для версии 8.3.X и новее
host object network OBJ_NAT_SERVER
host 192.168.10.200
nat (inside,outside) static 200.150.100.3 service tcp www www
Важно!
Обратите внимание, что правила трансляции не открывают доступ к тем или иным ресурсам сами собой. Для этой цели необходимо также создать списки доступа (access lists) и привязать их к соответствующим интерфейсам.
Важно!
Более подробное описание настроек для настройки Static NAT также именуемой как «проброс портов» приведены в статье Cisco ASA. «Проброс портов» или static NAT.
Шаг 6. Настройка правил доступа (access list)
Дабы не загромождать материал теорией по спискам доступа и их применению, приведу пример настроек, которые будут достаточны для большинства малых офисов. Если потребуется открыть дополнительный доступ к каким-то ресурсам, то необходимо добавить строки по аналогии с имеющимися.
Важно!
Хотя все правила доступа возможно записать, используя только цифровые ip адреса, для удобства дальнейшего администрирования вначале создаются группы объектов с обозначениями и все строки правил записываются уже с их помощью. Это удобно и практично.
Начнем с access list, разрешающего доступ из внутренней сети в Интернет. Условия будут следующими:
— Каждый пользователь или устройство должны иметь доступ в Интернет для просмотра веб сайтов.
— Рабочие станции администратора и директора фирмы должны иметь доступ в Интернет без каких-либо ограничений.
— Рабочая станция ответственного сотрудника должна иметь доступ к частному ресурсу в сети по порту TCP 9443
Создадим группы объектов:
NET_LAN – все пользователи и устройства локальной сети.
USER_CEO – адрес рабочей станции директора
USER_ADMIN – адрес рабочей станции администратора
USER_PRIVELEDGED – адрес рабочей станции сотрудника, который должен иметь некий расширенный доступ
HOST_X — адрес внешнего ресурса, к которому требуется открыть доступ.
USERS_FULL_ACCESS – группа, которой будет разрешен полный доступ в Интернет
SERVICE_HTTP_HTTPS – группа портов для веб доступа
HOST_DNS – адрес внешнего сервера DNS
SERVICE_DNS – группа портов для доступа к службам DNS
FW-DELTACONFIG(config)#
object-group network NET_LAN
network-object 192.168.10.0 255.255.255.0
object-group network USER_CEO
network-object host 192.168.10.10
object-group network USER_ADMIN
network-object host 192.168.10.100
object-group network USERS_FULL_ACCESS
group-object USERS_CEO
group-object USERS_ADMIN
object-group network USER_PRIVELEDGED
network-object host 192.168.10.50
network-object host 192.168.10.51
object-group network HOST_X
network-object host 1.1.1.1
object-group network HOST_DNS
network-object host 8.8.8.8
object-group service SERVICE_HTTP_HTTPS
service-object tcp eq http
service-object tcp eq https
object-group service SERVICE_DNS
service-object tcp eq 53
service-object udp eq 53
Создаем список доступа ACL_INSIDE_IN, в котором описываем все правила^
Полный доступ адресов из группы USERS_FULL_ACCESS в Интернет
FW-DELTACONFIG(config)#
access-list ACL_INSIDE_IN extended permit ip object-group USERS_FULL_ACCESS any
Доступ адресов из группы USER_PRIVELEDGED к ресурсу с адресом из группы HOST_X по порту TCP 9443
FW-DELTACONFIG(config)#
access-list ACL_INSIDE_IN extended permit tcp object-group USER_PRIVELEDGED object-group HOST_X eq 9443
Доступ в интернет по портам TCP 80(http) и TCP 443(https) для всех устройств локальной сети
FW-DELTACONFIG(config)#
access-list ACL_INSIDE_IN extended permit object-group SERVICE_HTTP_HTTPS object-group NET_LAN any
Разрешение доступа всем устройствам локальной сети к серверу DNS Google.
FW-DELTACONFIG(config)#
access-list ACL_INSIDE_IN extended permit object-group SERVICE_DNS object-group NET_LAN object-group HOST_DNS
Разрешение протокола icmp для запуска Ping с любого устройства локальной сети.
FW-DELTACONFIG(config)#
access-list ACL_INSIDE_IN extended permit icmp object-group NET_LAN any
Явный запрет любых других соединений. Благодаря слову log в конце строки в журнал устройства будут попадать все попытки доступа, которые не были разрешены этим access list.
FW-DELTACONFIG(config)#
access-list ACL_INSIDE_IN extended deny ip any any log
Последовательность строк очень важна! Вначале обрабатывается самая верхняя строка, за ней следующая и так до совпадения условия(правила) в этой строке или конца списка доступа. Если поставить запрещающее правило не в самый низ, а в середину списка, то строки после него обрабатываться не будут, а доступ будет закрыт.
После описания всех необходимых правил для фильтрации трафика необходимо привязать список доступа ACL_INSIDE_IN ко внутреннему интерфейсу inside. До привязки он никак не влияет на проходящий через межсетевой экран трафик. Для привязки используется следующая команда:
FW-DELTACONFIG(config)#
access-group ACL_INSIDE_IN in interface inside
Дополнительно разрешаем автоматический прием обратных пакетов icmp
FW-DELTACONFIG(config)#
policy-map global_policy
class inspection_default
inspect icmp
Для доступа извне список доступа будет меньше так как в нем нам необходимо разрешить только доступ на веб сервер офиса. Это правило будет дополнять правила трансляции адресов, а именно строку, которая транслирует внутренний адрес веб сервера в адрес внешнего интерфейса межсетевого экрана.
Создаем список доступа ACL_OUTSIDE_IN и привязываем его ко внешнему интерфейсу outside по аналогии с тем, как сделали это в примере выше.
FW-DELTACONFIG(config)#
access-list ACL_OUTSIDE_IN extended permit tcp any interface outside eq 80
access-list ACL_OUTSIDE_IN extended deny ip any any log
access-group ACL_OUTSIDE_IN in interface outside
Не забываем про статический NAT
Для версии 8.2.X и старше
FW-DELTACONFIG(config)#
static (inside,outside) interface 192.168.10.200 netmask 255.255.255.255
Для версии 8.3.X и новее
FW-DELTACONFIG(config)#
host object network OBJ_NAT_SERVER
host 192.168.10.200
nat (inside,outside) static interface
Теперь в конфигурации присутствуют как правила трансляции (static NAT), так и строки в списках доступа (access lists), разрешающие трафик. Поэтому при обращении любого хоста из сети Интернет к адресу внешнего интерфейса межсетевого экрана outside (200.150.100.2) по порту TCP 80(http) запрос будет разрешен и трансформирован в запрос ко внутреннему адресу веб сервера фирмы (192.168.10.200).
Все описанные выше функции и настройки присутствуют в конфигурациях практически каждого межсетевого экрана Cisco ASA. Надеюсь, что этот простой пример поможет Вам. Не стесняйтесь написать мне, если у Вас возникли вопросы.
Важно!
Не забудьте сохранить конфигурацию командой write или copy run start. Иначе после перезагрузки все изменения будут потеряны.
FW-DELTACONFIG-1#write
Building configuration...
[OK]
Видео на английском языке о базовой настройке Cisco ASA. Немного отличается в деталях от того, что описано в статье, однако все ключевые моменты настройки выполнены точно по этой инструкции.
Спасибо. Поправил.
Интерфейс 0 настраивается как Vlan1 а на картинке Vlan2. Вводит в заблуждение.
Непонятно какой из адресов не пингуется и откуда.
Напишите мне на почту
smogdelta@gmail.com
Привет один вопрос, коллеги подскажите пожалуйста как мне исправит эту ошибку, щас все адреса пингуется кроме этого адреса, вот все мои настройки, если кто то поможет то буду очень благодарение ip 10,0,0,2 этот адрес на р1 ip 50,50,50,2 этот адрес от Провайдера на других адреса пинг есть все настройки который я настроил на р1, Cisco ASA, и S1 настройки на р1 hostname R1 int et0/0 no ip redirect no ip proxy-arp ip add 50.50.50.1 255.255.255.0 ip nat outside ! int et0/1 no ip redirect no ip proxy-arp ip add 10.0.0.1 255.255.255.0 ip nat inside ! ip nat inside source list… Read more »
Напишите мне на почту.
Спасибо, нашел хорошее видео и образ загрузить получилось. однако asdm не запускается. не подключается asdm-idm launcher в нем указываю ip основного шлюза или ip который использовал при запуске tftp сервера? и через браузер не получается тоже. Сорри только учусь.
Подробнее первый пункт некуда. Поставьте tftp сервер и скачайте с него файл.
Образ — это бинарный файл ASDM. Его нужно просто поместить на flash память.
В браузере надо забивать адрес Cisco ASA, к которому нужно подключиться.
Спасибо, полагаю asdm который был я когда удалял все настройки и его удалил. как проверить есть ли у меня во флаш asdm. можете более подробно развернуть пункт первый. Подходящий образ это программа по инсталяции asdm? или уже проинсталированная программа на машине с которой заходишь в asdm? какой х.х.х.х. забивать в браузере? Тот ip который указан в машине которая будет подключаться к asdm? Все описанное выше я записал на флеш и все работает правильно.
Чтобы заработал ASDM нужно несколько вещей:
1) Достать подходящий образ и положить его на flash память Cisco ASA. Команда для скачивания с tftp сервера
copy tftp: flash:
и дальше отвечайте на вопросы…
После этого укажите в явном виде его расположение
asdm image disk0:/asdm-xxx.bin
2) Включите https сервер
http server enable
3) Указать со стороны какого интерфейса можно подключаться и с каких адресов
http x.x.x.x 255.255.255.255 inside
4) Если уже есть учетная запись администратора, то отлично.
Если нет, то создать
username admin password ****
После этого подключайтесь к Cisco ASA через браузер через https
https://x.x.x.x
Если вдруг не будет работать, то попробуйте сохранить конфигурацию и перезагрузить устройство. Иногда такое бывает…
Добрый вечер. Огромное спасибо за материал. Убил один день прописывая старую прошивку 8.2 используя другую инструкцию без ваших уточнений. С вашей помощью решил свою проблему, но не до конца. У меня не получается запустить asdm launcher. Подскажите пожалуйста
как мне его запустить?
все понятно
Благодарю за найденную опечатку.
Пропущено название интерфейса outside.
Правильно будет так:
access-list ACL_OUTSIDE_IN extended permit tcp any interface outside eq 80
access-list ACL_OUTSIDE_IN extended permit tcp any interface eq 80 на эту строку ругается asa(config)# access-list ACL_OUTSIDE_IN extended permit tcp any interface eq 80 ^ ERROR: % Invalid input detected at ‘^’ marker.