EC2にログイン後すぐに実施しておくことを記載する。
SELinuxの無効化
ハイライト行のみ変更
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | vi /etc/selinux/config #変更前 SELINUX=enforcing SELINUXTYPE=enforcing #変更後(SELINUXの部分を変更する) SELINUX=disabled SELINUXTYPE=enforcing #適用 reboot #確認(Disabledと表示されること) getenforce |
パッケージ、カーネルのアップデート
ec2-userの削除
新しいユーザを作成する。
1 2 3 4 | useradd -s /bin/bash -m [ユーザー名] usermod -G wheel [ユーザー名] grep wheel /etc/group echo '[ユーザー名] ALL=(ALL) NOPASSWD:ALL' | sudo tee --append /etc/sudoers .d /90-cloud-init-users |
ssh公開キーを作成する。
1 2 3 4 5 6 7 8 9 | sudo su - [ユーザー名] mkdir . ssh chmod 700 . ssh touch . ssh /authorized_keys chmod 600 . ssh /authorized_keys #ssh-rsa AAAAB3NzaC1yc.........を記載する。 vi . ssh /authorized_keys |
authorized_keysはオプションで色々できるみたい。 例:from=“XXX.XXX.XXX.XXX”,no-port-forwarding,no-agent-forwarding,no-X11-forwarding
新しいユーザでssh接続とsudoの確認をする。
1 2 3 4 5 6 | login as: [ユーザー名] Authenticating with public key "imported-openssh-key" [newuser@ip-172-xx-xx-xx ~]$ sudo su - Last login: Sun Nov 29 10:33:33 UTC 2020 on pts /4 [root@ip-172-xx-xx-xx ~] # |
ec2-userアカウントの削除をする。
ec2-userのsshでのログインを禁止する。
1 2 3 4 5 6 7 | vi /etc/ssh/sshd_config #下記の記述を追加する。 DenyUsers ec2-user #サービスを再起動する。 systemctl restart sshd |
sshでroot ユーザーのログインアクセス許可を拒否します。
cloud-initの「disable_root: 1」はsshd_configと関係ないので以下の対応をすること
1 2 3 4 5 6 7 8 9 10 11 | #変更 vi /etc/ssh/sshd_config #変更前 PermitRootLogin yes #変更後 PermitRootLogin no #サービス再起動 systemctl restart sshd |
ログレベルの変更
インフォメーションレベルの情報が大量に出力される為、ログ肥大しないようログレベル設定を「notice」へと変更する。
Firewall無効化
AWSのRHELはデフォルトで入っていないようで「Unit firewalld.service could not be found.」と表示される。
セキュリティグループがあるので、入っていないと思われる。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | #確認 systemctl status firewalld firewalld.service; enabled Active: active(running) #停止 systemctl stop firewalld #無効化 systemctl disable firewalld #確認 systemctl status firewalld firewalld.service; disabled Active: inactive (dead) |
sshdのLISTENポート変更必要に応じて実施する。
1 2 3 4 5 6 7 8 9 | vi /etc/ssh/sshd_config #下記の記述を追加する。 Port XXXX sshd -t systemctl restart sshd netstat -anp | grep sshd |