пятница, 14 июня 2013 г.

Cisco ASA 5525-X (K8 - no VPN-3DES-AES activation key) - Management Access/Настройка интерфейсов управления/Web-acces in Windows Vista/7

    На днях удалось посмотреть на межсетевой экран (МЭ) от 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

Создадим пароль на вход в 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

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

В качестве дополнительной опции можно настроить timeout - максимальное время простоя сессии без разрыва. Значение колеблется от 1 до 1440 минут. Значение по умолчанию - 5 минут.

ciscoasa(config)# telnet timeout 10



После этого мы можем работать с telnet, используя для подключения putty или иной софт. Стоит отметить, что паролем для telnet-сессии будет пароль от EXEC-режима:

<omited>
enable password 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 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, а так же различные версии шифрования, которые мы можем использовать при подключении к нашему устройству. Попробуем настроить шифрование:

ciscoasa(config)# ssl encryption null-sha1 des-sha1 aes128-sha1
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
  
Если мы получаем такую же страницу, как на рисунке, значит все в порядке. Нажимаем "Продолжить открытие..." и получаем стартовую страницу ASA:
 Можем загрузить клиента ASDM и установить на локальной машине, а можно нажать Run ASDM и запустить его без установки какого-либо софта. В случае, если мы сделаем так, то увидим окно-приглашение ко вводу логина и пароля. 
Введя логин и пароль получаем то, ради чего вообще были все эти пляски с бубном:







2 комментария:

  1. Если появляется ошибка ERROR: SSH version 2 requires a VPN-3DES-AES activation key , то по этой ссылке https://tools.cisco.com/SWIFT/LicensingUI/ipsCryptoPage можно бесплатно сгенерить activation key и пользоваться стойким шифрованием.

    ОтветитьУдалить