Terrapin SSH攻撃を防ぐためにChaCha20-Poly1305暗号化を無効にする方法

Terrapin SSH攻撃を防ぐためにChaCha20-Poly1305暗号化を無効にする方法

無効にする方法チャチャ20-ポリ1305DebianでSSH暗号化?

私は(ルートとして)次のことを試しました。

echo 'Ciphers [email protected]' > /etc/ssh/sshd_config.d/anti-terrapin-attack
echo 'Ciphers [email protected]' > /etc/ssh/ssh_config.d/anti-terrapin-attack

systemctl restart sshd

しかし、私はssh -Q cipherまだ[email protected]

修正する:

私の問題を完全に解決した回答が複数の回答に散らばっているので、一箇所にまとめます。

  • なぜ?なぜそんなに騒がしいのでしょうか?- 確認するSSHに対する攻撃の発見、Debianのopenssh安定リリースは公式の修正よりも数世代遅れています。だから私は自分で修正する必要があります

  • OPが機能しないのはなぜですか?——2つの点:

    • ssh -Qcipherは常にバイナリでコンパイルされたすべてのパスワードを表示します。
    • ""ディレクトリ内のすべての設定ファイルは/etc/ssh/sshd_config.d""で終わる必要があります.conf
  • 攻撃を無効にする方法は?- フローレスタの実用的なソリューションをチェックしてくださいhttps://unix.stackexchange.com/a/767135/374303

  • 攻撃が無効になっているかどうかを確認するには?- gogoudに基づく実際のソリューション:

nmap --script ssh2-enum-algos -sV -p 22 localhost | grep chacha20 | wc
      0       0       0

フローレスタリペアを塗る前、後に運行していただくのが最善です。

答え1

ssh -Q cipher有効かどうかにかかわらず、バイナリでコンパイルされたすべてのパスワードを常に表示します。安全でない、またはデフォルトで無効になっているアルゴリズムの場合も同様です。

この構文をサポートする最新バージョンのOpenSSHを使用していると仮定すると、設定した構成がアルゴリズムを無効にするのに十分である必要があります。経由で接続しようとすると確認できますssh -vvv。これにより、サーバーからクライアントにパスワードのリストが印刷されます。

最新バージョンのOpenSSHがない場合、この構文はサポートされておらず、必要なパスワードを明示的にリストする必要があります。デフォルトはman sshd_configOpenSSH バージョン (Debian 9.6) にリストされており、次のようになります (ChaCha を除く)。

Ciphers aes128-ctr,aes192-ctr,aes256-ctr,[email protected],[email protected]

最新のクライアントがあると仮定すると、最初にAES-GCMをリストに追加するとパフォーマンスが向上しますが(encrypt-then-MACを使用しない場合はセキュリティも向上します)、以前のバージョンのOpenSSHでは再生成時にAES-GCMセグメントを使用します問題があります。キー(すべての主要なディストリビューションがパッチされています)がリストの一番下にある理由です。

クライアントとサーバーの両方でパッチ適用されたオペレーティングシステムを使用している場合は、それを無効にする必要はありません[email protected]。その理由は、認証されたクライアントとサーバーがパッチ[email protected]されたOpenSSHバージョンとの安全な接続と拡張をネゴシエートするためです。[email protected]ランダムスクレーパーはすぐに離れて保護する必要がないので、何をしても構いません。

しかし、いいえパッチされたオペレーティングシステムを使用するともちろん脆弱ですが、他のさまざまな脆弱性にも脆弱です。

答え2

もともと解決策が部分的に正しいと思います。私のDebian 12コンピュータの/etc/ssh/sshd_config上部には次の行が含まれています。

Include /etc/ssh/sshd_config.d/*.conf

/etc/ssh/sshd_config.dしたがって、このディレクトリのすべての設定ファイルは.conf/etc/ssh/ssh_config.d

私のシステムでは、次のコマンドが機能します。

echo 'Ciphers [email protected]' > /etc/ssh/sshd_config.d/anti-terrapin-attack.conf
echo 'Ciphers [email protected]' > /etc/ssh/ssh_config.d/anti-terrapin-attack.conf

systemctl restart sshd

答え3

SSHで実際に動作するパスワードを確認するには、この方法を試してください(リモートホストでも実行できます)。

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

私の場合、上記は表示されていますが表示されませssh -Q cipherんでした[email protected]

答え4

組み込みLinuxデバイスを使用していますが、少し異なって見えます。デバイスは[email protected]バイナリとしてコンパイルされたと報告されます。

# ssh -Q cipher
3des-cbc
aes128-cbc
aes192-cbc
aes256-cbc
aes128-ctr
aes192-ctr
aes256-ctr
[email protected]
[email protected]
[email protected]

私にはありませんが、nmap私のコンピュータで実行できます。

$ nmap --script ssh2-enum-algos -sV -p 22 192.168.1.62
Starting Nmap 7.94 ( https://nmap.org ) at 2024-02-09 18:00 NZDT
Nmap scan report for mydevice (192.168.1.62)
Host is up (0.17s latency).

PORT   STATE SERVICE VERSION
22/tcp open  ssh     OpenSSH 8.9 (protocol 2.0)
| ssh2-enum-algos: 
|   kex_algorithms: (10)
|       curve25519-sha256
|       [email protected]
|       ecdh-sha2-nistp256
|       ecdh-sha2-nistp384
|       ecdh-sha2-nistp521
|       [email protected]
|       diffie-hellman-group-exchange-sha256
|       diffie-hellman-group16-sha512
|       diffie-hellman-group18-sha512
|       diffie-hellman-group14-sha256
|   server_host_key_algorithms: (4)
|       rsa-sha2-512
|       rsa-sha2-256
|       ecdsa-sha2-nistp256
|       ssh-ed25519
|   encryption_algorithms: (6)
|       [email protected]
|       aes128-ctr
|       aes192-ctr
|       aes256-ctr
|       [email protected]
|       [email protected]
|   mac_algorithms: (10)
|       [email protected]
|       [email protected]
|       [email protected]
|       [email protected]
|       [email protected]
|       [email protected]
|       [email protected]
|       hmac-sha2-256
|       hmac-sha2-512
|       hmac-sha1
|   compression_algorithms: (2)
|       none
|_      [email protected]

Service detection performed. Please report any incorrect results at https://nmap.org/submit/ .
Nmap done: 1 IP address (1 host up) scanned in 0.55 seconds

ただし、2つの設定ファイルがあり、/etc/ssh/sshd_config.dディレクトリはありません。

# ll /etc/ssh/sshd_config*
-rw-r--r--    1 root     root        3.0K Mar  9  2018 /etc/ssh/sshd_config
-rw-r--r--    1 root     root        3.1K Feb  9 05:17 /etc/ssh/sshd_config_readonly

接続してから再起動することが私にとって効果的であることがわかりました。Ciphers [email protected]/etc/ssh/sshd_config_readonlysshd

echo '\nCiphers [email protected]' >> /etc/ssh/sshd_config_readonly
systemctl restart system-sshd.slice

これでnmap上記のコマンドは報告されません。[email protected]

関連情報