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

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

su / sudoコマンドはroot権限を使うコマンドです。
全てのコマンドを実行できるようにする便利なコマンドですが、その反面、悪意あるユーザー(以下、クラッカー)に使われると、非常に危険なコマンドになります。

ここでは、その対策としてsu / sudoコマンドのセキュリティ強化について2つご紹介します。

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

  • suコマンドの制限

  • sudoコマンドの制限

1. suコマンドの制限

suコマンドは他のユーザーに切り替えるコマンドです。
他ユーザーにはrootユーザーも含まれるため、実行できるユーザーを制限します。

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

$ sudo vi /etc/pam.d/su

(1.2) 設定ファイルの編集

wheelグループに所属するユーザーのみ実行を許可するため、下記記述のコメントアウトを外します。

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

(1.3) 許可ユーザーの追加

wheelグループに実行を許可するユーザーを追加します。

$ usermod -G wheel ユーザー名

以上で設定完了です。
許可したユーザーのみsuコマンドを実行できるか確認してください。

2. sudoコマンドの制限

sudoコマンドは他のユーザーとして任意のコマンドを実行するコマンドです。
一般的にはrootユーザーとしてコマンドを実行する時に使われるコマンドになります。

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

$ visudo

(2.2) 設定ファイルの編集

sudoコマンドの実行を許可するユーザーまたはグループを記述します。
ここではwheelグループを追加するため、下記のように追記します。

%wheel ALL=(ALL:ALL) ALL

以上で設定完了です。
許可したユーザーのみsudoコマンドを実行できるか確認してください。

まとめ

su / sudoコマンドは便利な反面、悪意あるユーザーに使用されると危険なコマンドになります。
実行できるユーザーを制限してセキュリティを強化しましょう。