sshd "UseDNS"オプションの意味は何ですか?

sshd "UseDNS"オプションの意味は何ですか?

それが何であるかはわかりません。なぜ。どんな攻撃を防ぎますか?

あらゆる種類の認証方法に関連していますか? (ホスト、パスワード、公開鍵、キーボードインタラクションに基づいて...)

答え1

このUseDNSオプションはほとんど役に立ちません。クライアントコンピュータがインターネット上にある場合は、リバースDNSが存在しないか、リバースDNSを将来確認できない、またはDNSが「ここに属する」以外の情報を提供しない可能性があります。 IPアドレスはISPに知られています。」

一般的な構成では、DNSはロギングにのみ使用されます。認証に使用できますが、IgnoreRhosts noに指定されている場合にのみ可能ですsshd_config。これは、rshを使用する以前のインストールとの互換性のためです。ここで、「bob呼び出されたシステムの呼び出し側のユーザーは、資格情報を表示せずにdarkstarログインできます」と書くことができます。 SSHサーバーは、接続できるすべてのコンピュータを信頼している場合にのみ安全です。つまり、安全な方法で使用されることはほとんどありません。alicedarkstar bob~alice/.rhosts

DNSルックアップは非常に特定の状況を除いて有用な情報を提供しないため、オフにする必要があります。私が知っている限り、この機能がデフォルトで有効になっている唯一の理由は、技術的に安全であるためです(使用性ではなく認証に興味がある場合)。たとえこれがまれな場合にのみ機能してもそうです。

この機能をオフにするもう1つの主張は、すべての追加機能が不要であるということです。セキュリティリスク

答え2

Ubuntuにこれに関するバグレポートを追加しました(古いですが、まだ最新です)。

https://bugs.launchpad.net/ubuntu/+source/openssh/+bug/424371

デフォルト値を「no」に変更し、更新された文書を追加することをお勧めします。

# UseDNS - Determines whether IP Address to Hostname lookup and comparison is performed
# Default value is No which avoids login delays when the remote client's DNS cannot be resolved
# Value of No implies that the usage of "from=" in authorized_keys will not support DNS host names but only IP addresses.
# Value of Yes supports host names in "from=" for authorized_keys. Additionally if the remote client's IP address does not match the resolved DNS host name (or could not be reverse lookup resolved) then a warning is logged.

答え3

マニュアルページからsshd_config(5)

 UseDNS  Specifies whether sshd(8) should look up the remote host name and
         check that the resolved host name for the remote IP address maps
         back to the very same IP address.  The default is “yes”.

この機能を有効にすると、正しい(フォワードおよびリバース)DNSがない場所からアクセスしたときにログに警告が生成されます。

したがって、これは攻撃を防ぎ、警告を記録しないようにするには、クライアントの認証されたリモートアドレスが必要です。これらの警告は、PTRレコードが意味のある場合にのみ攻撃者を追跡するのに役立ちます。

編集:コメントに基づいて更新されましたアンドレイ・ボイテンコフ

答え4

CentOS 7(7.1.1503)とRed Hat Enterprise Linux 7にこれを追加したいと思います。できないyesのデフォルト設定でログインしますUseDNS。コメントを解除して に設定するとnoログインが可能になりました。このような観点から見ると、DNSが正常に動作しないとサービス拒否が可能であるという事実! CentOS 6では、DNSが機能せずにno使用できるようにデフォルト値が設定されているようです!ssh

もしかしたら影響がある可能性があるので、私の実験は物理マシンではなくLXCコンテナで行われたことを付け加えたいと思います!

関連情報