Как я могу определить поддерживаемые MAC-адреса, шифры, длину ключа и KexAlogrithms, поддерживаемые моими ssh-серверами?
Мне нужно создать список для внешнего аудита безопасности. Я ищу что-то похожее на openssl s_client -connect example.com:443 -showcerts
. Из моего исследования ssh
использует шифры по умолчанию, перечисленные в man sshd_config
. Однако мне нужно решение, которое я могу использовать в сценарии и . Здесь мне нужно поправиться: Вы можете указать man sshd_config
не отображает информацию о длине ключаServerKeyBits
в sshd_config
.
я думаю что ssh -vv localhost &> ssh_connection_specs.out
возвращает нужную мне информацию, но я не уверен, являются ли перечисленные шифры теми, которые поддерживаются клиентом или сервером. Также я не уверен, как запустить этот неинтерактивный сценарий в скрипте.
Есть ли удобный способ получить SSH
информация о подключении?
Вы упускаете несколько моментов в своем вопросе:
ServerKeyBits
это опция для версии протокола 1, которую вы, надеюсь, отключили!Поддерживается Шифры, MAC и KexAlgorithms всегда доступны в ручном режиме, и это не имеет ничего общего с длиной ключа.
Включено Чиперы, MAC и KexAlgorithms - это те, которые предлагаются с использованием соединения, как вы указываете. Но их можно получить и другими способами, например, используя sshd -T | grep "\(ciphers\|macs\|kexalgorithms\)"
Чтобы получить длину ключа вашего сервера (ключей), вы можете использовать ssh-keygen: ssh-keygen -lf /etc/ssh/ssh_host_rsa_key.pub
но вы, вероятно, захотите также размеры модулей, которые предлагаются и используются во время обмена ключами, но это действительно зависит от метода обмена ключами, но он также должен быть доступен для чтения из вывода отладки ssh -vvv host
.
Как я могу определить поддерживаемые MAC-адреса, шифры, длину ключа и KexAlogrithms, поддерживаемые моими ssh-серверами?
Похоже, ответ на https://superuser.com/a/1219759/173408 это тоже ответ на ваш вопрос. Умещается в одну строчку:
nmap --script ssh2-enum-algos -sV -p 22 1.2.3.4
Вот результат на простой машине Debian 9.4 с текущей версией SSH:
Starting Nmap 7.01 ( https://nmap.org ) at 2018-05-22 13:40 CEST Nmap scan report for 1.2.3.4 Host is up (0.00024s latency). PORT STATE SERVICE VERSION 22/tcp open ssh OpenSSH 7.4p1 Debian 10+deb9u3 (protocol 2.0) | ssh2-enum-algos: | kex_algorithms: (10) | curve25519-sha256 | curve25519-sha256@libssh.org | ecdh-sha2-nistp256 | ecdh-sha2-nistp384 | ecdh-sha2-nistp521 | diffie-hellman-group-exchange-sha256 | diffie-hellman-group16-sha512 | diffie-hellman-group18-sha512 | diffie-hellman-group14-sha256 | diffie-hellman-group14-sha1 | server_host_key_algorithms: (5) | ssh-rsa | rsa-sha2-512 | rsa-sha2-256 | ecdsa-sha2-nistp256 | ssh-ed25519 | encryption_algorithms: (6) | chacha20-poly1305@openssh.com | aes128-ctr | aes192-ctr | aes256-ctr | aes128-gcm@openssh.com | aes256-gcm@openssh.com | mac_algorithms: (10) | umac-64-etm@openssh.com | umac-128-etm@openssh.com | hmac-sha2-256-etm@openssh.com | hmac-sha2-512-etm@openssh.com | hmac-sha1-etm@openssh.com | umac-64@openssh.com | umac-128@openssh.com | hmac-sha2-256 | hmac-sha2-512 | hmac-sha1 | compression_algorithms: (2) | none |_ zlib@openssh.com Service Info: OS: Linux; CPE: cpe:/o:linux:linux_kernel Service detection performed. Please report any incorrect results at https://nmap.org/submit/ . Nmap done: 1 IP address (1 host up) scanned in 0.52 seconds