На днях удалось посмотреть на межсетевой экран (МЭ) от Cisco - ASA 5525-X. С подробными характеристиками данного устройства можно ознакомиться на сайте производителя.
Модель, которая была у меня в руках: ASA5525-K8. В связи с особенностями российского законодательства без проблем и дополнительных разрешений мы можем ввозить только K8 версии железок, что означает отсутствие возможности шифровать трафик стойкими криптографическими алгоритмами (AES/3DES). Поэтому наша ASA может работать только с DES (из описания модели):
Cisco ASA 5525-X Firewall Edition; includes firewall services, 750 IPsec VPN peers, 2 SSL VPN peers, 8 copper Gigabit Ethernet data ports, 1 copper Gigabit Ethernet management port, 1 AC power supply, Active/Active High Availability, 2 security contexts, DES license
Перед началом полноценной эксплуатации решили сделать базовую настройку МЭ, которая включала в себя в том числе и настройку удаленного доступа. Посмотрим, как отсутствие стойкого шифрования может повлиять на настройку удаленного доступа.
Для начала подробнее о версии ПО:
ciscoasa# sh ver
Cisco Adaptive Security Appliance Software Version 8.6(1)2
Device Manager Version 6.6(1)
Compiled on Fri 01-Jun-12 02:16 by builders
System image file is "disk0:/asa861-2-smp-k8.bin"
Config file at boot was "startup-config"
Licensed features for this platform:
-------------
VPN-3DES-AES : Disabled perpetual
-------------
Лицензия на стойкое шифрование отсутствует.
Настройка удаленного доступа к устройству
Управлять устройством можно с помощью известных способов: Telnet, SSH, ASDM (web и standalone). Рассмотрим настройку каждого из них по порядку.
Telnet
Перед включением telnet-доступа выполним настройку интерфейса управления (management interface):
ciscoasa(config)# int management 0/0
ciscoasa(config-if)# nameif Mgmt
INFO: Security level for "Mgmt" set to 0 by default.
ciscoasa(config-if)# security-level 100
ciscoasa(config-if)# ip address 10.0.0.2 255.255.255.0
ciscoasa(config-if)# no shut
ciscoasa(config-if)# exit
ciscoasa(config)# exit
ciscoasa# write memory
ciscoasa(config-if)# nameif Mgmt
INFO: Security level for "Mgmt" set to 0 by default.
ciscoasa(config-if)# security-level 100
ciscoasa(config-if)# ip address 10.0.0.2 255.255.255.0
ciscoasa(config-if)# no shut
ciscoasa(config-if)# exit
ciscoasa(config)# exit
ciscoasa# write memory
Создадим пароль на вход в EXEC-режим:
ciscoasa(config)# enable password cisco
Теперь приступаем непосредственно к настройке telnet'a. Для этого будем следовать официальному руководству от Cisco (manual). Во всех настройках ниже будем предполагать, что доступ к устройству будет возможен только с одного IP - машина администратора (в нашем примере это 10.0.0.1).
ciscoasa(config)# telnet ?
configure mode commands/options:
Hostname or A.B.C.D The IP address of the host and/or network authorized to
login to the system
X:X:X:X::X/<0-128> IPv6 address/prefix authorized to login to the system
timeout Configure telnet idle timeout
Видно, что можно настроить доступ с определенного IP или имени хоста.
ciscoasa(config)# telnet 10.0.0.1 ?
configure mode commands/options:
A.B.C.D The IP netmask to apply to the IP address
configure mode commands/options:
A.B.C.D The IP netmask to apply to the IP address
ciscoasa(config)# telnet 10.0.0.1 255.255.255.255 ?
configure mode commands/options:
Current available interface(s):
Mgmt Name of interface Management0/0
ciscoasa(config)# telnet 10.0.0.1 255.255.255.255 Mgmt
ciscoasa(config)# exit
ciscoasa(config)# exit
В качестве дополнительной опции можно настроить timeout - максимальное время простоя сессии без разрыва. Значение колеблется от 1 до 1440 минут. Значение по умолчанию - 5 минут.
ciscoasa(config)# telnet timeout 10
После этого мы можем работать с telnet, используя для подключения putty или иной софт. Стоит отметить, что паролем для telnet-сессии будет пароль от EXEC-режима:
<omited>
enable password 2KFQnbNIdI.2KYOU encrypted
passwd 2KFQnbNIdI.2KYOU encrypted
passwd 2KFQnbNIdI.2KYOU encrypted
<omited>
Для смены пароля telnet можно воспользоваться командой:
ciscoasa(config)# passwd 1234567890
Правильнее будет создать пользователя с определенными привилегиями, и проводить авторизацию на устройстве с использованием логина и пароля (для telnet в том числе):
ciscoasa(config)# username mangmt password cisco privilege 15
ciscoasa(config)#aaa authentication telnet consol LOCAL
SSH
Настройка SSH доступа осуществляется достаточно просто и практически аналогична настройке SSH на любом другом устройстве Cisco.
ciscoasa(config)# crypto key generate rsa ?
configure mode commands/options:
general-keys Generate a general purpose RSA key pair for signing and
encryption
label Provide a label
modulus Provide number of modulus bits on the command line
noconfirm Specify this keyword to suppress all interactive prompting.
usage-keys Generate seperate RSA key pairs for signing and encryption
<cr>
ciscoasa(config)# crypto key generate rsa modulus ?
configure mode commands/options:
1024 1024 bits
2048 2048 bits
512 512 bits
768 768 bits
ciscoasa(config)# crypto key generate rsa modulus 1024
WARNING: You have a RSA keypair already defined named <Default-RSA-Key>.
Do you really want to replace them? [yes/no]: y
Keypair generation process begin. Please wait...
ciscoasa(config)# exit
ciscoasa# write memory
Building configuration...
Cryptochecksum: 871a1681 0c4a151f 99078492 5b651c58
2583 bytes copied in 0.630 secs
[OK]
ciscoasa(config)# aaa authentication ssh console LOCAL
ciscoasa(config)# username mangmt password cisco privilege 15
Разрешаем доступ по SSH с определенного IP-адреса:
ciscoasa(config)# ssh ?
configure mode commands/options:
Hostname or A.B.C.D The IP address of the host and/or network authorized to
login to the system
X:X:X:X::X/<0-128> IPv6 address/prefix authorized to login to the system
scopy Secure Copy mode
timeout Configure ssh idle timeout
version Specify protocol version to be supported
exec mode commands/options:
disconnect Specify SSH session id to be disconnected after this keyword
ciscoasa(config)# ssh 10.0.0.1 255.255.255.255 Mgmt
Первые ограничения из-за K8 - невозможно разрешить подключение только по SSH версии 2
ciscoasa(config)# ssh version ?
configure mode commands/options:
<1-2> Protocol version
ciscoasa(config)# ssh version 2
ERROR: SSH version 2 requires a VPN-3DES-AES activation key.
Проверяем настройки SSH:
ciscoasa# show ssh
Timeout: 5 minutes
Version allowed: 1 and 2
10.0.0.1 255.255.255.255 Mgmt
Настройка HTTPS доступа для ASDM
Переходим к самому интересному. Для управления ASA5525X мы можем воспользоваться графической оболочкой - ASDM. Подключаемся по Web (https) к интерфейсу, запускаем ASDM, и работаем. Все достаточно просто.
Для начала разрешим доступ по https к нашей ASA:
ciscoasa(config)#http server enable
ciscoasa(config)#http 10.0.0.1 255.255.255.0 Mgmt
ciscoasa# sh run http
http server enable
http server enable
http 10.0.0.0 255.255.255.0 Mgmt
Для работы HTTPS настроим SSL. Посмотрим, какие опции доступны:
ciscoasa(config)# ssl ?
configure mode commands/options:
certificate-authentication Enable client certificate authentication
client-version The SSL/TLS protocol version to use when acting
as a client
encryption This is the encryption method(s) used with ssl.
The ordering of the algorithms specifies the
preference.
server-version The SSL/TLS protocol version to use when acting
as a server
trust-point Configure the ssl certificate trustpoint
ciscoasa(config)# ssl server-version ?
configure mode commands/options:
any Enter this keyword to accept SSLv2 ClientHellos and either SSLv3
or TLSv1 will be negotiated
sslv3 Enter this keyword to accept SSLv2 ClientHellos and negotiate
SSLv3
sslv3-only Enter this keyword to accept ClientHellos only from a client
using SSLV3
tlsv1 Enter this keyword to accept SSLv2 ClientHellos and negotiate
TLSv1
tlsv1-only Enter this keyword to accept ClientHellos only from a client
using TLSV1
ciscoasa(config)# ssl encryption ?
configure mode commands/options:
3des-sha1 Indicate use of 3des-sha1 for ssl encryption
aes128-sha1 Indicate use of aes128-sha1 for ssl encryption
aes256-sha1 Indicate use of aes256-sha1 for ssl encryption
des-sha1 Indicate use of des-sha1 for ssl encryption
null-sha1 Indicate use of null-sha1 for ssl encryption (NOTE: Data is NOT
encrypted if this cipher is chosen)
rc4-md5 Indicate use of rc4-md5 for ssl encryption
rc4-sha1 Indicate use of rc4-sha1 for ssl encryption
Итак, доступны различные версии SSL/TLS, а так же различные версии шифрования, которые мы можем использовать при подключении к нашему устройству. Попробуем настроить шифрование:
configure mode commands/options:
certificate-authentication Enable client certificate authentication
client-version The SSL/TLS protocol version to use when acting
as a client
encryption This is the encryption method(s) used with ssl.
The ordering of the algorithms specifies the
preference.
server-version The SSL/TLS protocol version to use when acting
as a server
trust-point Configure the ssl certificate trustpoint
ciscoasa(config)# ssl server-version ?
configure mode commands/options:
any Enter this keyword to accept SSLv2 ClientHellos and either SSLv3
or TLSv1 will be negotiated
sslv3 Enter this keyword to accept SSLv2 ClientHellos and negotiate
SSLv3
sslv3-only Enter this keyword to accept ClientHellos only from a client
using SSLV3
tlsv1 Enter this keyword to accept SSLv2 ClientHellos and negotiate
TLSv1
tlsv1-only Enter this keyword to accept ClientHellos only from a client
using TLSV1
ciscoasa(config)# ssl encryption ?
configure mode commands/options:
3des-sha1 Indicate use of 3des-sha1 for ssl encryption
aes128-sha1 Indicate use of aes128-sha1 for ssl encryption
aes256-sha1 Indicate use of aes256-sha1 for ssl encryption
des-sha1 Indicate use of des-sha1 for ssl encryption
null-sha1 Indicate use of null-sha1 for ssl encryption (NOTE: Data is NOT
encrypted if this cipher is chosen)
rc4-md5 Indicate use of rc4-md5 for ssl encryption
rc4-sha1 Indicate use of rc4-sha1 for ssl encryption
Итак, доступны различные версии SSL/TLS, а так же различные версии шифрования, которые мы можем использовать при подключении к нашему устройству. Попробуем настроить шифрование:
ciscoasa(config)# ssl encryption null-sha1 des-sha1 aes128-sha1
The 3DES/AES algorithms require a VPN-3DES-AES activation key.
The 3DES/AES algorithms require a VPN-3DES-AES activation key.
Как видно, отсутствие лицензий не дает нам включить стойкое шифрование. Поэтому можем пользоваться только DES.
ciscoasa(config)# ssl encryption des-sha1 null-sha1
ciscoasa(config)# exit
ciscoasa# sh ssl
Accept connections using SSLv2, SSLv3 or TLSv1 and negotiate to SSLv3 or TLSv1
Start connections using SSLv3 and negotiate to SSLv3 or TLSv1
Enabled cipher order: des-sha1 null-sha1
Disabled ciphers: 3des-sha1 rc4-md5 rc4-sha1 aes128-sha1 aes256-sha1
No SSL trust-points configured
Certificate authentication is not enabled
После этого мы можем вводить в строке браузера (Internet Explorer) https://10.0.0.2 и видеть.... что ничего не работает. Не работает оно по следующим причинам: если у нас WinXP, то скорее всего в браузере просто отключена возможность использования SSLv2 и TLSv1. Достаточно зайти в "Свойства обозревателя", и во вкладке "Дополнительно" указать нужные галочки:
Ситуация с Windows Vista и Windows 7 немного сложнее. Дело в том, что производитель отказался от использования нестойких алгоритмов шифрования в новой системе. Поэтому DES не поддерживается по умолчанию. Тем не менее заставить работать ASDM можно.
Для начала включаем в Windows поддержку DES:
1. Пуск-в строке поиска набираем gpedit.msc
2. В открывшемся окне заходим в меню Конфигурация компьютера - Административные шаблоны - Сеть - Параметры настройки SSL.
3. Заходим в "Порядок комплектов шифров SSL", в открывшемся окне нажимаем "Включить", и в поле "Параметры:" вставляем следующую строку:
TLS_RSA_WITH_DES_CBC_SHA,TLS_RSA_WITH_AES_128_CBC_SHA,TLS_RSA_WITH_AES_256_CBC_SHA,TLS_RSA_WITH_RC4_128_SHA,TLS_RSA_WITH_3DES_EDE_CBC_SHA,TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA_P256,TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA_P384,TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA_P521,TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA_P256,TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA_P384,TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA_P521,TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA_P256,TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA_P384,TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA_P521,TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA_P256,TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA_P384,TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA_P521,TLS_DHE_DSS_WITH_AES_128_CBC_SHA,TLS_DHE_DSS_WITH_AES_256_CBC_SHA,TLS_DHE_DSS_WITH_3DES_EDE_CBC_SHA,TLS_RSA_WITH_RC4_128_MD5,SSL_CK_RC4_128_WITH_MD5,SSL_CK_DES_192_EDE3_CBC_WITH_MD5,TLS_RSA_WITH_NULL_MD5,TLS_RSA_WITH_NULL_SHA
4. После этого нажимаем "Применить" и "ОК" и перезагружаем компьютер (последнее действие выполнять не обязательно, но у меня без перезагрузки не работало).
Не пользуясь оснасткой gpedit аналогичное действие можно сделать путем добавления в реест следующего строкового параметра:
[HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Cryptography\Configuration\SSL\00010002]
"Functions"="TLS_RSA_WITH_DES_CBC_SHA,TLS_RSA_WITH_AES_128_CBC_SHA,TLS_RSA_WITH_AES_256_CBC_SHA,TLS_RSA_WITH_RC4_128_SHA,TLS_RSA_WITH_3DES_EDE_CBC_SHA,TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA_P256,TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA_P384,TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA_P521,TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA_P256,TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA_P384,TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA_P521,TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA_P256,TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA_P384,TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA_P521,TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA_P256,TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA_P384,TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA_P521,TLS_DHE_DSS_WITH_AES_128_CBC_SHA,TLS_DHE_DSS_WITH_AES_256_CBC_SHA,TLS_DHE_DSS_WITH_3DES_EDE_CBC_SHA,TLS_RSA_WITH_RC4_128_MD5,SSL_CK_RC4_128_WITH_MD5,SSL_CK_DES_192_EDE3_CBC_WITH_MD5,TLS_RSA_WITH_NULL_MD5,TLS_RSA_WITH_NULL_SHA"
После необходимо настроить Java. Во-первых, если на машине установлено несколько версий, то необходимо включить работу только с одной - 6й. Во-вторых, в Java необходимо разрешить работу с SSLv2.
1. Пуск-Панель управления- Программы-Java. Открываем панель упраления Java, во вкладке Java нажимаем на кнопку View, и выбираем установкой галочек нужную нам версию Java.
2. Во вкладке Advanced выбираем поддержку SSLv2.
3. Не забываем в браузере разрешить SSLv2 и TLSv1!
Теперь попытаемся запустить ASDM через Web. Заходим в браузер и в строке адреса вбиваем https://10.0.0.2
Не пользуясь оснасткой gpedit аналогичное действие можно сделать путем добавления в реест следующего строкового параметра:
[HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Cryptography\Configuration\SSL\00010002]
"Functions"="TLS_RSA_WITH_DES_CBC_SHA,TLS_RSA_WITH_AES_128_CBC_SHA,TLS_RSA_WITH_AES_256_CBC_SHA,TLS_RSA_WITH_RC4_128_SHA,TLS_RSA_WITH_3DES_EDE_CBC_SHA,TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA_P256,TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA_P384,TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA_P521,TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA_P256,TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA_P384,TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA_P521,TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA_P256,TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA_P384,TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA_P521,TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA_P256,TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA_P384,TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA_P521,TLS_DHE_DSS_WITH_AES_128_CBC_SHA,TLS_DHE_DSS_WITH_AES_256_CBC_SHA,TLS_DHE_DSS_WITH_3DES_EDE_CBC_SHA,TLS_RSA_WITH_RC4_128_MD5,SSL_CK_RC4_128_WITH_MD5,SSL_CK_DES_192_EDE3_CBC_WITH_MD5,TLS_RSA_WITH_NULL_MD5,TLS_RSA_WITH_NULL_SHA"
После необходимо настроить Java. Во-первых, если на машине установлено несколько версий, то необходимо включить работу только с одной - 6й. Во-вторых, в Java необходимо разрешить работу с SSLv2.
1. Пуск-Панель управления- Программы-Java. Открываем панель упраления Java, во вкладке Java нажимаем на кнопку View, и выбираем установкой галочек нужную нам версию Java.
2. Во вкладке Advanced выбираем поддержку SSLv2.
3. Не забываем в браузере разрешить SSLv2 и TLSv1!
Теперь попытаемся запустить ASDM через Web. Заходим в браузер и в строке адреса вбиваем https://10.0.0.2
Если мы получаем такую же страницу, как на рисунке, значит все в порядке. Нажимаем "Продолжить открытие..." и получаем стартовую страницу ASA:
Можем загрузить клиента ASDM и установить на локальной машине, а можно нажать Run ASDM и запустить его без установки какого-либо софта. В случае, если мы сделаем так, то увидим окно-приглашение ко вводу логина и пароля.
Введя логин и пароль получаем то, ради чего вообще были все эти пляски с бубном:
Если появляется ошибка ERROR: SSH version 2 requires a VPN-3DES-AES activation key , то по этой ссылке https://tools.cisco.com/SWIFT/LicensingUI/ipsCryptoPage можно бесплатно сгенерить activation key и пользоваться стойким шифрованием.
ОтветитьУдалитьСпасибо! Буду знать.
Удалить