SSH scan

ssh scan — утилита для сканирования и анализа SSH соединения на сервере. Выполняет анализ соединения на соответсвие политикам, и выдаёт отчёт с результатами и рекомендациями в JSON формате.

Для запуска требуется ruby версии 2.3 либо новее, так что запускать я её буду в Fedora 29.

Устанавливаем всё необходимое:

# dnf install ruby
# gem install ssh_scan

Выполняем сканирование нужного нам хоста:

# ssh_scan -t your.super.server

ssh scan

Результатом которого будет отчёт о протестированном соединении, с рекомендациями относительно политики Mozilla Modern. Например, такими:

"recommendations": [
"Add these Key Exchange Algos: curve25519-sha256@libssh.org, ecdh-sha2-nistp521, ecdh-sha2-nistp384, ecdh-sha2-nistp256",
"Add these Encryption Ciphers: chacha20-poly1305@openssh.com",
"Remove these Key Exchange Algos: diffie-hellman-group-exchange-sha1, diffie-hellman-group14-sha1, diffie-hellman-group1-sha1",
"Remove these MAC Algos: hmac-md5-etm@openssh.com, hmac-sha1-etm@openssh.com, umac-64-etm@openssh.com, hmac-ripemd160-etm@openssh.com, hmac-sha1-96-etm@openssh.com, hmac-md5-96-etm@openssh.com, hmac-md5, hmac-sha1, umac-64@openssh.com, hmac-ripemd160, hmac-ripemd160@openssh.com, hmac-sha1-96, hmac-md5-96",
"Remove these Encryption Ciphers: arcfour256, arcfour128, aes128-cbc, 3des-cbc, blowfish-cbc, cast128-cbc, aes192-cbc, aes256-cbc, arcfour, rijndael-cbc@lysator.liu.se"
]

При необходимости, при сканировании мы можем применять собственные политики. Примеры политик можно найти в репозитории на github. Запустить проверку с нужной нам политикой можно при помощи ключа -P:

# ssh_scan -t 1.2.3.4 -p 22 -P ./mozilla_intermediate.yml

2 thoughts on “SSH scan

  1. А пример можно, что дальше делать согласно этим рекомендациям?

    1. Если следовать им, то необходимое можно настроить в sshd_config файле на сервере. Например, Key Exchange алгоритмы задаются с помощью KexAlgorithms. Подробное описание можно найти в man sshd_config:

      KexAlgorithms
      Specifies the available KEX (Key Exchange) algorithms. Multiple algorithms must be comma-separated. Alternately if the specified value begins with a `+’ character, then the specified methods will be appended to the default set instead of replacing them. If the specified value begins with a `-‘ character, then the specified methods (including wildcards) will be removed from the default set instead of replacing them.

      ВАЖНО — если SSH — это единственный способ связи с сервером, который стоит где-то удалённо в ДЦ, стоит очень внимательно вносить изменения и перепроверять всё перед перезапуском сервиса, во избежание проблем.

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *