このセクションでは、セッションマネージャによるインスタンス接続で用いられる ssm-user の sudo パスワードの設定について紹介していきます。
EC2 インスタンスへの接続をセッションマネージャーで行っている場合、インスタンスでは ssm-user というローカルユーザーが作成されるようです。そして、デフォルトでは ssm-user では パスワード無ししで sudo が利用できる状態で、セキュリティ上好ましくない状態になっています。
ここでは、ssm-user で sudo を使用する場合にはパスワードを要求するようにしていきます。
sh-5.2$ sudo su -
Last login: Wed Aug 23 02:13:54 UTC 2023 on pts/0
[root@ip-172-31-4-114 ~]#
まず、ローカルユーザーに ssm-user が作成されていることを確認します。
[root@ip-172-31-4-114 ~]# cat /etc/passwd
ec2-user:x:1000:1000:EC2 Default User:/home/ec2-user:/bin/bash
ssm-user:x:1001:1001::/home/ssm-user:/bin/bash
[root@ip-172-31-4-114 ~]#
ssm-user の sudo に関する設置ファイルは以下にあり、パスワード無しで sudo が利用できる設定になっています。
sh-5.2$ sudo ls -la /etc/sudoers.d/
total 24
drwxr-x---. 2 root root 74 Aug 22 04:51 .
drwxr-xr-x. 77 root root 16384 Aug 22 06:13 ..
-r--r-----. 1 root root 128 Aug 9 12:29 90-cloud-init-users
-rw-r-----. 1 root root 0 Aug 22 04:20 cloud-init
-r--r-----. 1 root root 58 Aug 10 09:06 ssm-agent-users ←ssm-userのsudo設定ファイル
sh-5.2$
sh-5.2$ sudo cat /etc/sudoers.d/ssm-agent-users
# User rules for ssm-user
ssm-user ALL=(ALL) NOPASSWD:ALL ← パスワード無しでsudoが利用できる状態
sh-5.2$
sudo 利用はパスワードを要求するように、ssm-user の sudo 設定ファイルを編集します。
[root@ip-172-31-4-114 ~]# cd /etc/sudoers.d/
[root@ip-172-31-4-114 sudoers.d]#
[root@ip-172-31-4-114 sudoers.d]# echo “ssm-user ALL=(ALL) ALL” > ssm-agent-users
[root@ip-172-31-4-114 sudoers.d]#
[root@ip-172-31-4-114 sudoers.d]# cat ssm-agent-users
ssm-user ALL=(ALL) ALL
[root@ip-172-31-4-114 sudoers.d]#
正常であれば、この時点で sudo を利用する場合にはパスワードを要求されるようになります。
sh-5.2$ sudo su -
We trust you have received the usual lecture from the local System
Administrator. It usually boils down to these three things:
#1) Respect the privacy of others.
#2) Think before you type.
#3) With great power comes great responsibility.
For security reasons, the password you type will not be visible.
[sudo] password for ssm-user:
この時点では、ssm-user のパスワードを設定しないため、パスワードを設定していきます。
パスワードを設定するために、root ユーザーでログインする必要があります。
sh-5.2$ su -
Password:
Last login: Wed Aug 23 02:16:15 UTC 2023 on pts/0
[root@ip-172-31-4-114 ~]#
[root@ip-172-31-4-114 ~]# passwd ssm-user
Changing password for user ssm-user.
New password:
Retype new password:
passwd: all authentication tokens updated successfully.
[root@ip-172-31-4-114 ~]#
正常であれば、この時点で ssm-user で sudo コマンドを実行するとパスワードを要求されるようになります。
sh-5.2$ sudo su -
We trust you have received the usual lecture from the local System
Administrator. It usually boils down to these three things:
#1) Respect the privacy of others.
#2) Think before you type.
#3) With great power comes great responsibility.
For security reasons, the password you type will not be visible.
[sudo] password for ssm-user:
Last login: Wed Aug 23 02:25:20 UTC 2023 on pts/0
[root@ip-172-31-4-114 ~]#