攻撃者がシステムへのrootログインを取得した場合、通常のユーザーログインを取得した場合よりも多くの損害を与える可能性があります。前回の記事–Linuxマシンでrootユーザーのリモートログインを無効にする方法を見てきました。 Linuxサーバー上に(HR、Financeなどのさまざまなグループアクティビティ用に)10個のユーザーアカウントが作成されているかどうかを確認します。これらの10個のアカウントすべてにリモートログインを許可する必要はありません。このチュートリアルでは、特定のユーザーアカウントによるLinuxサーバーへのリモートログインを許可または拒否する方法を説明します。
SSHは、サーバーへのアクセスを許可または拒否するための次の4つのディレクティブを提供します。デフォルトでは、すべてのグループとユーザーが許可されます。
- AllowGroups
- AllowUsers
- DenyGroups
- DenyUsers
注:システムレベルの構成を変更する前に、必要なバックアップを作成してください。
Amyとhenryという特定の2人のユーザーがサーバーにリモートログインできるようにするには、お気に入りのエディターを使用して/ etc / ssh / sshd_configファイルに以下の行を追加します(VIMが私のお気に入りのエディターです)。
AllowUsers admin amy
さらに、将来に備えて簡単に制御するために、複数のユーザーを1つのグループに追加して、ユーザーが属するグループに基づいてユーザーを許可することができます。たとえば、ヘンリーとエイミーが財務部門で一緒に働いていると考えてください。以下に示すように、financeという共通のグループ名を作成します:
groupadd –r finance
次に、以下に示すように、財務グループに属するユーザーhenryとamyの両方を作成します:
useradd -G finance henry
useradd -G finance amy
財務と呼ばれる特定のグループに属するユーザーを許可する サーバーにリモートログインするには、以下の行を/ etc / ssh/sshd_configファイルに追加します。
AllowGroups finance
これにより、 AllowUsersを使用する必要がなくなります 。
他の代替ディレクティブはDenyGroupsです およびDenyUsers 前述のAllowGroupsとは正反対のパフォーマンスを発揮します およびAllowUsers それぞれ。
sshdサービスを再起動せずに構成ファイルが適切に更新されていることを確認するには、次のコマンドを実行します。
[root@catest ~]# /usr/sbin/sshd -t [root@catest ~]# echo $? 0 [root@catest ~]#
エコー$の場合 コマンドは0を出力します その後、検証は成功します。そうでない場合は、エラーのあるデータが何であるかを示すエラーが表示されます:
[root@catest ~]# /usr/sbin/sshd -t /etc/ssh/sshd_config: line 116: Bad configuration option: AllowUser /etc/ssh/sshd_config: terminating, 1 bad configuration options [root@catest ~]#
確認後、以下に示すようにsshdを再起動することを忘れないでください:
[root@catest ~]# /etc/init.d/sshd restart