ライブIPを/etc/hosts.allow
に設定し、他のすべてのホストを拒否しました。 PermitRootLogin without-password
にも/etc/ssh/sshd_config
を設定しました。
安全な方法ですか?攻撃者は私のキーをクラックしてサーバーにログインできますか?はいの場合、それがどのように可能かを説明してください。
これは、PermitRootLogin
機能に関する一般的な誤解です。 without-password
オプションは、認証がないことを意味せず、誰もがパスワードなしで入ることができます。このすべてのオプションは、ログインが公開鍵認証などのフォールバック方法を使用してのみ可能であることを意味します。攻撃者がルートパスワードを知っていても、秘密鍵がないとログインできません。
ルートとしてログインする必要がある場合は、実際にwithout-password
を使用するほうが良いです。これにより、ルートアカウントがブルートフォースされないことが保証されます。パスワードを使用してrootとしてログインすると、リモートから攻撃される可能性がありますが、公開鍵認証では、適切な資格情報ファイルを使用してのみログインできます。これは、別のユーザーとしてログインし、su
を使用してrootに昇格するよりも優れています。ユーザーがシェルに入力されたすべてのキーストロークを監視できるため、他のユーザーが侵害されるとrootも侵害されるためです。これは root権限を取得する最も安全な方法はどれですか?Sudo、suまたはlogin? の回答で詳しく説明されています。
Rootを持つ必要がない必要がない場合は、別の専用ユーザーを使用することで問題ありません。この場合、PermitRootLogin no
を設定することは、必要がない場合にrootアクセスを許可する理由がないため、有益です。
はい、暗号鍵を総当たりすることはできないため、安全な方法です。
たとえば、RSAキーを使用する場合(ssh-keygen -t rsa) https://crypto.stackexchange.com/questions/3043/how-much-computing-resource-is-required-to-brute- force-rsa
ハッカーの唯一の解決策は、秘密鍵/公開鍵を盗むことです。
最初にそれが何を意味するか見てみましょう:
PermitRootLogin
Rootがssh(1)を使用してログインできるかどうかを指定します。引数は、「yes」、「without-password」、「forced-commands-only」、または「no」である必要があります。デフォルトは「yes」です。
このオプションを「without-password」に設定すると、rootのパスワード認証が無効になります。このオプションが「forced-commands-only」に設定されている場合、公開鍵認証によるルートログインが許可されますが、コマンドオプションが指定されている場合に限られます(ルートログインが通常許可されていない場合でも、リモートバックアップを取るのに役立ちます) )。他のすべての認証方法はrootでは無効になっています。
このオプションが「いいえ」に設定されている場合、rootはログインを許可されません。
PermitRootLogin no
を使用することをお勧めします。これは、rootがシステムに直接認証されることを許可しないためです。