セキュリティ対策(suコマンドの制限)
su(SwitchUser)コマンドは個人ユーザとしてログイン中のユーザが一時的にrootユーザに切り替わるコマンドです。
PAMを利用してrootユーザに移行できる(suコマンドを実行できる)ユーザをwheelグループに限定することができます。
PAM(Pluggable Authentication Module)とは、 各種の認証処理を実行するモジュール群と、 それを利用するための標準的なAPI(Application Programming Interface)を備えたライブラリからなるユーザー認証システムのことです。 ユーザーに各種サービスを提供するアプリケーションプログラムは、PAMのAPIを通してPAMモジュールに認証処理を依頼することができます。
wheelグループとは?
デフォルトに wheel というグループが存在しています。 wheelグループに属するユーザは管理者とみなされます。wheelはbig wheel から由来しているという説があり「大物」とか「実力者」とかそういった意味のある言葉のようです。suできる権限をもった者という意味ではwheelグループが利用されます。
●su権限設定(wheel)
suの利用権限を限定します。
wheelグループに su の利用を許可させたいユーザーを参加させ、wheelグループのみsuができる設定に変更します。
【演習1】
①いいsshでの接続がが鍵認証になっている場合はパスワード認証に戻しておきます(鍵認証にしていない場合は読み飛ばしてください)。
guestユーザでCentOSに接続してsu - でrootにスイッチしsshの設定を変更します。
[guest@aso ~]$ su -
パスワード:
最終ログイン: 2021/09/17 (金) 18:16:10 JST日時 pts/0
[root@aso ~]# vi /etc/ssh/sshd_config
[root@aso ~]#
65行目を変更
PasswordAuthentication no → yes
sshdを再起動
[[root@aso ~]# systemctl restart sshd
[root@aso ~]#
②ictu1400ユーザを作成してセカンダリーグループを wheel グループに設定します。
# useradd ictu1400
# passwd ictu1400
# id ictu1400
# usermod -G wheel ictu1400 ← セカンダリグループ(サブグループ)が上書きされています!!
[root@inspiron kanatech]# id ictu1400
uid=515(ictu1400) gid=515(ictu1400) 所属グループ=515(ictu1400),10(wheel)
[root@inspiron kanatech]#
usermood -G の注意点(復習)
---------------------------------------------------------------------------------------
【演習2】
さらにguestグループにも所属させるコマンドはどのようになるでしょうか?
[root@inspiron log]# usermod -G ●●●●●●●●●●●●
[root@inspiron log]# id ictu1400
uid=515(ictu1400) gid=515(ictu1400) 所属グループ=515(ictu1400),10(wheel),500(guest)
[root@inspiron log]#
---------------------------------------------------------------------------------------
#usermod -G guest,wheel ictu1400
➂wheelグループの権限設定を変更します。
# vi /etc/pam.d/su
下記のようにコメントを外すことで設定します。
#auth required pam_wheel.so use_uid
↓↓
auth required pam_wheel.so use_uid
exitでrootを抜けてguestに戻ってください
[root@icv31 home]# exit
logout
[guest@icv31 ~]$
④もうguestユーザはsuできません
⑤ictu1400ユーザはOK!!
【演習3】
su可能なswitchuserを作成してsuできることを確認してください。
(useradd時にオプションでセカンダリの所属グループを指定することもできます)
useradd switchuser -G wheel
useradd switchuser
passwd switchuser
usermod -G wheel switchuser
【演習4】
●su可能なユーザをwheelグループに追加するには以下の方法もあります
グループに追加のコマンドは # gpasswd -a ユーザ名 wheel
# vigr コマンドで/etc/groupファイルは編集できますが危険なのでなるべく使いません(viはもってのほか)
既存のguestユーザをwheelグループに追加してみましょう
[root@inspiron kanatech]# gpasswd -a guest wheel
Adding user guest to group wheel
[root@inspiron kanatech]# id guest
uid=500(guest) gid=500(guest) 所属グループ=500(guest),10(wheel)
[root@inspiron kanatech]#
これでguestユーザもsuできるようになります。
●wheelグループのメンバの確認は 以下 で行います
[root@inspiron kanatech]# cat /etc/group | grep wheel
●必要のないユーザはwheelグループから削除します
グループから削除のコマンドは # gpasswd -d ユーザ名 wheel
例えば、ictu1400 ユーザを削除してみます
[root@inspiron kanatech]# gpasswd -d ictu1400 wheel
Removing user ictu1400 from group wheel
[root@inspiron kanatech]# cat /etc/group | grep wheel
もう、ictu1400 ユーザはsuできません。
後々、混乱しないために guestユーザ は wheelグループ に参加させたままにしておきます。