EC2 インスタンスの初回起動時にどのような設定を行うかはケースバイケースですが、下記の2つはセキュリティ対策としてよく行われます。
順に設定作業を進めましょう。
また、LPIC1相当のコマンド操作が多々ありますので、こちらのLPICのアカデミーも合わせてご覧いただくと良いでしょう。
AWSのインスタンスはデフォルトで ec2-user というアカウントが作成されています。
複数のユーザーで管理したい場合、セキュリティを強化したい場合は新しいユーザーを作成し、ec2-user を削除します。今回は削除する代わりに、SSHができなくなるよう制限をかけます。
まず新しいユーザーを作成します。
1 2 |
sudo useradd hoge hoge の箇所を好きな名前に置き換えて上のコマンドを実行してください。 |
作成したユーザーは /home ディレクトリで確認できます。
1 |
ls /home |
新規ユーザーのパスワード設定
ユーザーのパスワードを設定します。
1 |
sudo passwd hoge |
追加したユーザーは、初期設定のままでは sudo コマンドを実行できません。
sudoコマンドを実行するには、ユーザーを wheel と呼ばれるグループに登録する必要があります。
wheel はスーパーユーザー(root)権限をもつグループで、 ec2-user もこのグループに属しています。
次のコマンドでユーザーをwheelグループに加えましょう。
hoge の部分をユーザー名に置き換えて実行してください。
1 |
sudo usermod -aG wheel hoge |
wheelに所属しているユーザーは、次のようなコマンドで確認できます。
1 |
less /etc/group | grep wheel |
新規ユーザーでインスタンスへ接続するためには、EC2に登録した公開鍵を、ユーザーのホームディレクトリ配下に登録する必要があります。
1 2 |
~/.ssh/authorized_keys # このファイルに公開鍵を追記する |
あなたのPCにある公開鍵をコピペしても良いですが、 ec2-userのディレクトリに同じものがあるのでそれを利用しましょう。
1 |
sudo cp -R ~/.ssh/ /home/hoge/.ssh |
~
次に、コピーした .ssh ディレクトリとその配下にあるキーの所有者をec2-userから新規ユーザーへ変更します。
加えて .ssh ディレクトリとファイルのパーミッションを制限します。
1 2 |
sudo chown -R hoge:hoge ~hoge/.ssh sudo chmod -R go-rwx ~hoge/.ssh |
~
一度インスタンスからログアウトし、作成したユーザーでssh、rootになれるか確認します。
1 2 |
ssh -i ~/.ssh/hogehoge user_name@fqdn sudo su - |
~
作成したユーザーでSSHできること、rootになれることが確認できたら、ec2-userでSSHができなくなるよう制限をかけます。
SSHの設定ファイル /etc/ssh/sshd_config に DenyUsers ec2-user を追記しましょう。
1 |
sudo echo "DenyUsers ec2-user" >> /etc/ssh/sshd_config |
設定後、sshdを再起動します。
1 2 |
sudo systemctl restart sshd sudo systemctl status sshd |
SSHする時の待ち受けポートは22番であることが知られています。
それゆえ、真っ先に攻撃対象となります。
このようなデフォルトポートを狙った攻撃のほとんどは自動化されており、数も多いです。
しかし待ち受けポートを別の番号に変更することで、自動化された攻撃をある程度防ぐことができます。
sshdのコンフィグファイルを開き、1024~49151の範囲内でポート番号を変更します。
1 |
sudo vi /etc/ssh/sshd_config |
変更後、指定したポートをAWSのSecurity Groupで開けてください。
次回以降、sshする際は次のようにオプション(-p)をつけ、ポート番号を指定する必要があります。
1 |
ssh -i ~/.ssh/hogehoge -p xxxxx user_name@fqdn |
~
デフォルトユーザー(ec2-user)の削除または権限の調整、およびSSHの待ち受けポート番号の変更方法をまとめました。
次回はDockerとApacheをインストールしてWebサーバーを構築していきましょう。
>>DockerとApacheを使ってWebサーバーを構築しよう
社員の成長を導きながら、AIやビッグデータなどの最先端技術をプロジェクトに活用していくことが私たちのビジョンです。Avintonの充実した技術研修でスキルアップを図り、あなたのキャリア目標を一緒に達成しませんか?