Cisco ASA 5505 проблема ssh exchange identification: Connection closed by remote host

Материал из IN-TON
Перейти к: навигация, поиск

Проблема ssh_exchange_identification: Connection closed by remote host

В один из дней была куплена Cisco ASA5505 с Base лицензией, настроена и отвезена на удаленную площадку. После установки оной кошки на площадке оказалось что по ssh к ней прицепиться не возможно, все что выдавал ssh клиент это ssh_exchange_identification: Connection closed by remote host, а консольный кабель я не взял. В благодарение богам, на кошке не был отключен ASDM, но вот беда при попытке конекта браузером ошибка ssl.

Начинаем исследования:

  1.  
  2. openssl s_client -connect 192.168.1.1:443
  3. CONNECTED(00000003)
  4. depth=0 CN = ASA Temporary Self Signed Certificate
  5. verify error:num=18:self signed certificate
  6. verify return:1
  7. depth=0 CN = ASA Temporary Self Signed Certificate
  8. verify return:1
  9. ---
  10. Certificate chain
  11. 0 s:/CN=ASA Temporary Self Signed Certificate
  12. i:/CN=ASA Temporary Self Signed Certificate
  13. ---
  14. Server certificate
  15. -----BEGIN CERTIFICATE-----
  16. -----END CERTIFICATE-----
  17. subject=/CN=ASA Temporary Self Signed Certificate
  18. issuer=/CN=ASA Temporary Self Signed Certificate
  19. ---
  20. No client certificate CA names sent
  21. ---
  22. SSL handshake has read 629 bytes and written 510 bytes
  23. ---
  24. New, TLSv1/SSLv3, Cipher is DES-CBC-SHA
  25. Server public key is 1024 bit
  26. Secure Renegotiation IS NOT supported
  27. Compression: NONE
  28. Expansion: NONE
  29. SSL-Session:
  30. Protocol  : TLSv1
  31. Cipher  : DES-CBC-SHA
  32. Session-ID: AF6807374BDEC37DEDABFB99F8518A5E69C09D9A3AA24E5AFCA955C81B268D5E
  33. Session-ID-ctx:
  34. Master-Key: FE36CE7809C30289BA2D320AF72DF9352FEFB6E6915519278267C822CE24FAE6F3F1A883078B53592A528C929338250C
  35. Key-Arg  : None
  36. PSK identity: None
  37. PSK identity hint: None
  38. SRP username: None
  39. Start Time: 1404301923
  40. Timeout  : 300 (sec)
  41. Verify return code: 18 (self signed certificate)
  42. ---
  43. read:errno=104
  44.  

Ну тут понятно, слабое (weak) шифрование и все современные браузеры не работают с ним. Родилась идея сделать каким-то образом тунель при помощи openssl. Покопавшись полчасика в интернетах решение было найдено. Создаем файлик ssl_proxy.sh следующего содержания (И да все происходит под линуксом).

  1.  
  2. #!/bin/sh
  3. openssl s_client -connect 192.168.1.1:443 -quiet 2> /dev/null
  4.  

Устанавливаем если не установлен xinetd и рисуем для него конфиг следующего содержания:

  1.  
  2. #default: off
  3. #description: OpenSSL proxy
  4. service http-alt
  5. {
  6. socket_type = stream
  7. wait = no
  8. protocol = tcp
  9. user = root
  10. server = /root/ssl_proxy.sh
  11. disable = no
  12. }
  13.  

Перезапускаем xinetd, запускаем ASDM клиента и в качестве сервера указываем http://localhost:8080 и ура соединяемся с кошкой, можно препарировать.