Ubuntu 20.04でルートログインを無効にする方法

0 株式
0
0
0
0

導入

すべてのLinuxベースのマシンは、デフォルトでシステム上のすべての権限を持つデフォルトのrootユーザーがインストールされます。デフォルトでは、ユーザーは常にrootユーザー(スーパーユーザー)として操作します。セキュリティのベストプラクティスでは、Linuxベースのマシンへの不正アクセスを防ぐため、SSH経由のrootログインを無効にすることが推奨されています。rootログインを無効にすると、LinuxマシンへのSSH経由のrootアクセスがブロックされ、無制限の権限を悪用するユーザーを阻止できます。推奨されるセキュリティプラクティスに従い、ログイン時にほぼすべてのスーパーユーザー権限を持つ追加ユーザーを作成する必要があります。.

このチュートリアルでは、Ubuntu での root ログインを無効にして、SSH 経由の不正な root アクセスを防ぎ、Linux ベースのシステムのセキュリティを強化します。.

前提条件

このチュートリアルを完了するには、次のものが必要です。

  • sudo 権限を持つ非 root ユーザー、ファイアウォール、および少なくとも 1 GB の RAM を備えた Ubuntu 20.04 サーバー。これは、初期の Ubuntu 20.04 サーバー セットアップ ガイドに従ってセットアップできます。.

ステップ1 - ログインしてauth.logを確認する

この時点で、sudo権限を持つ非rootユーザーとしてサーバーにログインし、認証試行を確認します。認証ログを確認すると、承認されたログイン試行と承認されていないログイン試行の両方が確認できます。.

前提条件の手順で、新しいユーザーを作成し、そのユーザーをsudoグループに追加して管理者権限を付与しました。rootログインを無効化するとrootユーザーとしてログインできなくなるため、システムへのアクセスにはこのsudoユーザーを使用します。.

選択したログイン方法に応じて、SSHを使用してサーバーにログインしてください。サーバーの初期セットアップ時にSSHキーを使用してrootアカウントにログインした場合は、キーベースのログインを使用する必要があります。キーベースのログインではパスワード認証が無効になるためです。それ以外の場合は、sudoユーザーのパスワードを使用してパスワードベースのログインを使用してください。.

ssh sammy@your_server_ip

キーベースのログイン方法を使用している場合は、次のコマンドを使用して sudo ユーザーとしてサーバーにログインします。

ssh -i your_private_key sammy@your_server_ip

フラグ -私 認証のために秘密鍵が読み取られる ID ファイルを指します。.

次に、次のコマンドを使用して auth.log ファイルを確認します。

cd /var/log/
sudo cat auth.log

プロンプトが表示されたらパスワードを入力してください。.

次のような出力が得られます。

Output
May 29 18:46:32 ubuntu sshd[3886]: Disconnected from invalid user cally 43.155.90.144 port 47454 [preauth]
May 29 18:51:56 ubuntu sshd[3890]: Received disconnect from 195.38.129.16 port 10017:11: Bye Bye [preauth]
May 29 18:51:56 ubuntu sshd[3890]: Disconnected from authenticating user root 195.38.129.16 port 10017 [preauth]
May 29 18:52:24 ubuntu sshd[3892]: Received disconnect from 178.128.234.248 port 58660:11: Bye Bye [preauth]
May 29 18:52:24 ubuntu sshd[3892]: Disconnected from authenticating user root 178.128.234.248 port 58660 [preauth]
May 29 18:52:34 ubuntu sshd[3894]: Received disconnect from 43.134.106.128 port 33854:11: Bye Bye [preauth]
May 29 18:52:34 ubuntu sshd[3894]: Disconnected from authenticating user root 43.134.106.128 port 33854 [preauth]
May 29 18:53:07 ubuntu sshd[3896]: Invalid user projects from 176.183.60.72 port 42070
May 29 18:53:07 ubuntu sshd[3896]: Received disconnect from 176.183.60.72 port 42070:11: Bye Bye [preauth]
May 29 18:53:07 ubuntu sshd[3896]: Disconnected from invalid user projects 176.183.60.72 port 42070 [preauth]
May 29 18:57:27 ubuntu sshd[3900]: Received disconnect from 92.255.85.135 port 20436:11: Bye Bye [preauth]
May 29 18:57:27 ubuntu sshd[3900]: Disconnected from authenticating user root 92.255.85.135 port 20436 [preauth]
May 29 19:06:40 ubuntu sshd[3903]: Invalid user default from 27.71.207.190 port 57513
May 29 19:06:41 ubuntu sshd[3903]: Connection closed by invalid user default 27.71.207.190 port 57513 [preauth]
...

ログインして認証ログを確認すると、サーバーが多数の不正なリクエストを受信していることが確認できる場合があります。これは、rootログインを無効にし、キーとパスワードを定期的に変更する必要があることを示している可能性があります。.

ステップ2 - ルートログインを無効にする

この手順では、sshd_config ファイルを開いて root ログインを無効にし、sshd サービスを再起動して変更後の構成を読み取ります。.

sshd_config ファイルには、sshd サービスで使用されるパラメータを格納する SSH 設定ファイルが含まれています。sshd サービスは SSH 接続の管理を担っています。設定変更を適用するには、sshd サービスを再起動する必要があります。.

sudo nano /etc/ssh/sshd_config

ファイルを参照して、PermitRootLogin 行を探します。

Output
...
#LoginGraceTime 2m
PermitRootLogin yes
#StrictModes yes
#MaxAuthTries 6
#MaxSessions 10
...

そして、その価値は ルートログイン許可 から はいいいえ 変化:

Output
...
#LoginGraceTime 2m
PermitRootLogin no
#StrictModes yes
#MaxAuthTries 6
#MaxSessions 10
...

ファイルを保存して閉じ、sshd サービスを再起動して構成の変更を適用します。

sudo systemctl restart sshd

ステップ3 - ルートログインテスト

rootログインを無効にした後、SSHを使用してrootユーザーとしてログインしてみてください。パスワードまたはSSHキーを使用してログインするには、以下のコマンドを使用します。

ssh root@your_server_ip

root としてログインすると、次のようなエラー メッセージが表示されます。

root@your_server_ip: Permission denied (publickey).

サーバーへのアクセスを回復するには、sudo 権限を持つ非 root ユーザーの資格情報を使用してログインします。

ssh sammy@your_server_ip

結果

この記事では、Ubuntuでsshdを設定してrootログインを無効化する方法を説明しました。これで、Linuxベースのマシンでrootログインを無効化し、システムのセキュリティを強化する方法がわかりました。.

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

あなたも気に入るかもしれない