web-dev-qa-db-ja.com

「CheckHostIP no」の実際の欠点は何ですか?

SSHクライアント構成でCheckHostIP noを設定すると、実際にどのようなセキュリティ上の影響がありますか?

これについてはいくつかの議論があります(例 https://askubuntu.com/a/48339 )と追加のセキュリティのためにyesに設定するための推奨事項(例 https://security.stackexchange.com/a/8479https://serverfault.com/a/193634 )ですが、一部の人々はそれが本当にセキュリティにとって重要ではないと言っています( https://unix.stackexchange.com/a/285551 )。

CheckHostIP noを使用すると、CheckHostIP yesで防止/検出できる攻撃の種類は何ですか?

後から考える:CheckHostIP noは、ターゲットホストのSSHキーがチェックされないことを意味しますか?その場合、動的IPアドレスを持つマシンに安全に接続するにはどうすればよいですか?

7
oliver

CheckHostIP noは、sshがknown_hostsファイルのホストIPアドレスをチェックしないことを意味します。そのため、CheckHostIPnoに設定されている場合にのみ、DNSサーバーは、sshクライアントの警告なしに、known_hostsファイルに記述されている別のIPアドレスを返すことができます。

たとえば、(ハッシュ化されていない)known_hostsファイルのエントリは次のようになります。

www.example.org,1.2.3.4 ssh-rsa AAAA...njvPw==

CheckHostIPnoに設定されている場合、DNSサーバーは、www.example.orgのアドレスとして1.2.3.4として別のIPを返すことができます。ただし、SSHキーは引き続きチェックされます。 CheckHostIP noは、IPが可変であることを期待し、ホスト名に対してキーチェックを行わせることのみを意味します。

したがって、(1)CheckHostIPnoに設定され、(2)攻撃者がDNSを制御でき、(3)秘密鍵を持っている場合、最初に元のように見えるサーバーを設定できます。 1。これは機密性に悪影響を与える可能性があります。バックアップサーバーについて考えてみてください。しかし、前提条件2 + 3が満たされた場合、攻撃者はシステムを危険にさらすことができます。 CheckHostIP noさらなる攻撃のみが可能です。

2
40F4