私はそれが何をするのか知っていますが、その理由はわかりません。どのような攻撃を防ぎますか?
あらゆる種類の認証方法に関連していますか?(ホストベース、パスワード、公開鍵、キーボードインタラクティブ...)
私はそれが何をするのか知っていますが、その理由はわかりません。どのような攻撃を防ぎますか?
あらゆる種類の認証方法に関連していますか?(ホストベース、パスワード、公開鍵、キーボードインタラクティブ...)
回答:
このUseDNS
オプションはほとんど役に立ちません。クライアントマシンがインターネット上にある場合、リバースDNSがないか、リバースDNSが順方向に解決しないか、またはDNSが「これに属する」以外の情報を提供しない可能性が高くなります。 IPアドレスが既に通知しているISP」。
通常の構成では、DNSはロギングにのみ使用されます。認証に使用できますが、IgnoreRhosts no
で指定されてsshd_config
いる場合のみです。これは、あなたが「と呼ばれるユーザーと言うことができRSH、使われていた古いインストールとの互換性のためであるbob
というマシン上では、darkstar
としてログインするalice
(書き込むことにより、任意の資格情報を示すことなく、」darkstar bob
中を~alice/.rhosts
)。sshサーバーに接続している可能性のあるすべてのマシンを信頼する場合にのみ安全です。つまり、これが安全な方法で使用されることはほとんどありません。
DNSルックアップは、非常に特殊な状況を除いて有用な情報を提供しないため、オフにする必要があります。私が知る限り、デフォルトでオンになっている唯一の理由は、ごく一部の状況にしか当てはまらないとしても、技術的に安全であるということです(可用性ではなく認証が心配な場合)。
この機能をオフにする別の議論は、余分な機能はすべて不必要なセキュリティリスクであるということです。
UseDNS
さえも役に立ちません。
UseDNS
非常に便利で重要です。MACアドレスに割り当てられたキーに基づいてユーザーを認証し、ホスト名に基づいてサーバーを認証します。
これについて、Ubuntuのバグレポート(古いが、現在も最新)に追加しました。
https://bugs.launchpad.net/ubuntu/+source/openssh/+bug/424371
デフォルトを「いいえ」に変更し、新しいドキュメントを追加することを提案しました。
# 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.
のマンページから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レコードが意味をなす場合にのみ、攻撃者を追跡するのに役立ちます。
編集:Andrey Voitenkovのコメントに従って更新。
from=
問題の認証キー(使用されている場合)の前にフィールドの値をスプーフィングできない限り、認証キーが侵害された場合にアクセスが防止されます。