sshサーバーでサポートされているMAC、暗号、KexAlogrithmsを一覧表示するにはどうすればよいですか?


18

sshサーバーでサポートされている、サポートされているMAC、暗号、キーの長さ、KexAlogrithmsを確認するにはどうすればよいですか?

外部セキュリティ監査用のリストを作成する必要があります。に似たものを探してい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接続情報を取得する便利な方法はありますか?


2
sshd -T | grep "\(ciphers\|macs\|kexalgorithms\)"@Jakujeが示唆するように、RHEL7ホストでのみ動作し、RHEL6では動作しないことが判明しました。最終的に私は使用nmap --script SSH2-hostkey localhostしましたnmap --script ssh-hostkey localhost
Henrik Pingel

ssh -vvサポートされている機能を、クライアントからサーバー(ctos)およびサーバーからクライアント(stoc)として出力します。ただし、これらの出力は両側がサポートするものに限定されているため、セキュリティ監査にはあまり役立ちません。
モシェ

回答:


17

質問のいくつかのポイントを見逃しています:

  • あなたのopensshバージョンは何ですか?バージョンによって多少異なる場合があります。
  • ServerKeyBits プロトコルバージョン1のオプションで、できれば無効にしています!

サポートされている暗号、MAC、およびKexAlgorithmsは常に手動で利用可能であり、キーの長さと共通点はありません。

有効な Chipher、MAC、およびKexAlgorithmsは、指摘したとおりに接続を使用して提供されるものです。しかし、それらは他の方法でも得ることができます。例えば、sshd -T | grep "\(ciphers\|macs\|kexalgorithms\)"

サーバーキーのキーの長さを取得するには、ssh-keygenを使用できます。 ssh-keygen -lf /etc/ssh/ssh_host_rsa_key.pub

しかし、おそらく鍵交換中に提供および使用されるモジュライサイズも必要になりますが、実際には鍵交換方法に依存しますが、デバッグ出力からも読み取り可能である必要がありますssh -vvv host


1
ありがとう。sshd -T | grep "\(ciphers\|macs\|kexalgorithms\)"私のRHEL7ホストのみで動作し、RHEL6では動作しないことが判明しました。私は最終的に使用nmap --script SSH2-hostkey localhostしましたnmap --script ssh-hostkey localhost
Henrik Pingel

1
最新のopenssh更新が適用されたRHEL6ホストでも修正する必要があります。
Jakuje

あなたはそれについて正しいです。私は...時代遅れのVMに感謝確認
ヘンリックPingel

sshd -Tは、sshd_configファイルで構成された暗号に関する情報のみを提供し、バイナリでサポートされているとして実際に追加できるものではありません
ダニエルJ.

10

sshサーバーでサポートされている、サポートされているMAC、暗号、キーの長さ、KexAlogrithmsを確認するにはどうすればよいですか?

/superuser//a/1219759/173408の回答も質問への回答のようです。1行に収まります。

nmap --script ssh2-enum-algos -sV -p 22 1.2.3.4

以下は、現在のSSHバージョンを使用した単純なDebian 9.4マシンでの出力です。

2018年5月22日13:40 CESTにNmap 7.01(https://nmap.org)を開始
1.2.3.4のNmapスキャンレポート
ホストが稼働しています(0.00024秒の遅延)。
ポートステートサービスバージョン
22 / tcp open ssh OpenSSH 7.4p1 Debian 10 + deb9u3(プロトコル2.0)
| ssh2-enum-algos:
| kex_algorithms:(10)
| 曲線25519-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)
| なし
| _ zlib@openssh.com
サービス情報:OS:Linux; CPE:cpe:/ o:linux:linux_kernel

サービス検出が実行されました。https://nmap.org/submit/で間違った結果を報告してください。
Nmap完了:0.52秒でスキャンされた1つのIPアドレス(1つのホストが起動)

1
PORT STATE SERVICE VERSION 22/tcp filtered sshはこのコマンドで取得します-ssh経由で同じサーバーにログインできますが。
やあ

文字通りコマンドを使用しましたか、それとも1.2.3.4サーバーのIPに置き換えましたか?
ステファンゴーリチョン

サーバーのIPを使用しました。
ちょっと
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.