目次

2.初期設定

EC2にログイン後すぐに実施しておくことを記載する。

SELinuxの無効化

ハイライト行のみ変更

vi /etc/selinux/config

#変更前
SELINUX=enforcing
SELINUXTYPE=enforcing

#変更後(SELINUXの部分を変更する)
SELINUX=disabled
SELINUXTYPE=enforcing

#適用
reboot

#確認(Disabledと表示されること)
getenforce

パッケージ、カーネルのアップデート(カーネル除く)

yum -y update --exclude=kernel*

ec2-userの削除

新しいユーザを作成する。

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公開キーを作成する。

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
http://lab.astamuse.co.jp/entry/2018/07/04/114500
https://aws.amazon.com/jp/premiumsupport/knowledge-center/ec2-ssh-best-practices/

新しいユーザでssh接続とsudoの確認をする。

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アカウントの削除をする。

sudo userdel ec2-user

ec2-userのsshでのログインを禁止する。

vi /etc/ssh/sshd_config

#下記の記述を追加する。
DenyUsers ec2-user

#サービスを再起動する。
systemctl restart sshd

sshでroot ユーザーのログインアクセス許可を拒否します。

cloud-initの「disable_root: 1」はsshd_configと関係ないので以下の対応をすること
インフラ構築/RHEL8/91.cloud-init調査#動作確認結果

#変更
vi /etc/ssh/sshd_config

#変更前
PermitRootLogin yes

#変更後
PermitRootLogin no

#サービス再起動
systemctl restart sshd

ログレベルの変更

インフォメーションレベルの情報が大量に出力される為、ログ肥大しないようログレベル設定を「notice」へと変更する。

インフラ構築/RHEL8/26.ログ管理-ログレベルの変更

Firewall無効化

AWSのRHELはデフォルトで入っていないようで「Unit firewalld.service could not be found.」と表示される。
セキュリティグループがあるので、入っていないと思われる。

#確認
systemctl status firewalld
  firewalld.service; enabled
  Active: active(running)

#停止
systemctl stop firewalld

#無効化
systemctl disable firewalld

#確認
systemctl status firewalld
  firewalld.service; disabled
  Active: inactive (dead)

http://ossfan.net/setup/linux-19.html

sshdのLISTENポート変更

必要に応じて実施する。

vi /etc/ssh/sshd_config

#下記の記述を追加する。
Port XXXX

sshd -t
systemctl restart sshd

netstat -anp | grep sshd