【クラウドサーバー】su/sudoコマンドの制限でセキュリティ強化

コマンドラインのsu/sudoコマンドはroot権限を使用できるコマンドです。

全ての実行権限を持つことができ、便利なコマンドですが、その反面、悪意あるユーザー(以下、クラッカー)に使用された際は非常に危険なコマンドになります。

ここでは不要なsu/sudoコマンドの利用を防ぐセキュリティ強化の設定手順をご紹介します。

なお、設定手順はさくらVPSのサーバー(CentOS 7)での手順になりますが、他クラウドサーバーでも同じ観点でセキュリティ設定を行えるので、都度読み替えてご覧ください。

★ 目的

  • su/sudoコマンドのセキュリティを強化する。

1. suコマンドの制限

suコマンドは再ログインせずに、他ユーザーに切り替えて操作を続けるコマンドです。他ユーザーにはrootユーザーも含まれるため、このコマンドを実行できるユーザーを制限します。

(1.1) 設定ファイルを開く

sudo vi /etc/pam.d/su

(1.2) pam.wheel.soモジュールを使用するよう設定

コメントアウトされた下記記述があるので、#を削除し有効化します。

- #auth require pam_wheel.so use_id
+ auth require pam_wheel.so use_id

(1.3) wheelグループにユーザーを追加する

wheelグループにsuコマンドの実行を許可するユーザーを追加します。

usermod -G wheel ユーザー名

以上で設定完了になります。

許可ユーザーと禁止ユーザーのそれぞれでsuコマンドを実行し、正しく動作するか確認してみてください。

2. sudoコマンドの制限

sudoコマンドは他ユーザーの権限で1度だけコマンドを実行するコマンドです。

一般的にはrootユーザーとして実行したいときに使用することが多いコマンドです。

(2.1) visudoersの設定ファイルを開く

visudo

(2.2) ユーザーまたはグループを追加する

sudoコマンドの実行を許可するユーザーまたはグループを記述します。

ここではwheelグループを追加するため、下記を設定ファイル一番下に追記します。

%wheel ALL=(ALL:ALL) ALL

以上で設定完了になります。

許可ユーザーと禁止ユーザーのそれぞれでsudoコマンドを実行し、正しく動作するか確認してみてください。