サーバセキュリティの第一歩としてサーバにログインできるユーザの制限をかけたいと思います。
環境
OS:CentOS release 6.4 (Final)
やること
- root以外のユーザを作る
- su でrootになれるグループに新規ユーザを追加する
- rootでのログインを禁止する
root以外のユーザを作る
新しくユーザを作成しそのユーザにパスワードを設定します。パスワードが短すぎたり同じ文字を繰り返したりすると上のSSのように怒られますので注意です。
早速新しくユーザでログインしてみましょう。
無事にnewUserでログインすることができました。
また、ユーザとパスワードは
cat /etc/passwd
でも確認可能です。
newUserというユーザがいるのがわかります。
su でrootになれるグループに新規ユーザを追加する
addgroupコマンドで新しくグループを作成しgpasswdコマンドでパスワードを設定します。
usermodコマンドで先ほど作成したユーザ「newUser」をこの新しく作成されたグループ「rootGroup」に加入させます。
$ cat /etc/group
で確認します。
newUserがrootGroupに入っているのが確認できました。
さて、rootになれるグループを限定する設定を行います。
vi /etc/pam.d/su
・・・・・・?????
おっと、もうすでにroot権限になる用のグループが初期で用意されているみたいです。
「wheel」というグループ名だそうです。
とりあえず初期でコメントアウトされている
# auth required pam_wheel.so use_uid
という箇所のコメントアウトを外して保存します。
そして
$ usermod -G wheel newUser
でnewUserをwheelに加入させます。
これでrootになれるグループの設定は終わりです。
このグループに所属していないユーザが
$ su
で、例え正しいパスワードを入力したとしてもrootになることはできません。
rootでのログインを禁止する
vi /etc/ssh/sshd_config
で設定ファイルを開き、
初期状態で
# PermitRootLogin yes
となっている箇所をコメントアウトを外し、noに変えてあげる。
そして
初期状態で
# PermitEmptyPasswords no
となっている箇所のコメントアウトを外す。
以上、簡単ではありますが、サーバのセキュリティ向上に欠かせないログインユーザ制限設定の方法のまとめでした。
最後までお読みいただきありがとうございました。