AlmaLinux 9 - インストール後に最初にやること

最近 AlmaLinux でサーバー構築する機会が増えてきたので、インストール後に最初にやっておいたほうがいいことをまとめました。なお、この手順はシステム構成に依存しない汎用的なものなので、必要なミドルウェアの導入などは個別に確認してください。

システムアップデート

セキュリティパッチを適用します。自由にやれるのは最初だけなので、忘れずに実行してください。

sudo dnf update -y sudo reboot

ユーザー追加

sudo adduser {username}

SSH 公開鍵認証

以下の作業はクライアント側で行います。作成した秘密鍵を誤って公開しないように注意してください。

ssh-keygen -t ed25519 -C "example@example.com" cat ~/.ssh/id_ed25519.pub | ssh {username}@{hostname} "mkdir -p ~/.ssh && cat >> ~/.ssh/authorized_keys"

以下の作業から再びサーバー側に戻ります。

sudo chmod 700 ~/.ssh sudo chmod 600 ~/.ssh/authorized_keys sudo chown -R {username}:{username} ~/.ssh

sudo 権限付与

sudo gpasswd -a {username} wheel

sudo にアクセス時、パスワードを求められないようにします。

sudo visudo

SSH ポート変更

SSH ポートをデフォルト (22) から変更してください。デフォルトのままだと、ボットの標的になってしまいます。敢えてそのままにして、ボットから攻撃されてる様子を眺めるのも勉強になって面白いかもですね。

sudo cp /etc/ssh/sshd_config /etc/ssh/sshd_config.default sudo vi /etc/ssh/sshd_config
/etc/ssh/sshd_config

sshd を再起動して設定を反映してください。この時、サーバーに接続しているターミナルはそのまま残して、別のターミナルで SSH 接続できることをテストしてください。万が一設定にミスがあった場合、サーバーに接続できなくなります (何度も経験済み)

sudo systemctl restart sshd

sshd の再起動でエラーが発生した場合、SELinux が有効になっている可能性がありますので確認してください。

getenforce

SELinux が有効 (Enforcing) だった場合、無効化するようなことはせず、以下のコマンドを実行して 22022 ポートを許可してください。

sudo dnf install -y policycoreutils-python-utils sudo semanage port -a -t ssh_port_t -p tcp 22022 sudo semanage port -l | grep ssh

ファイアーウォール設定

ファイアーウォールを有効化します。追加するルールは、システム構成によって異なるので、ここでは起動の手順まで記述します。

sudo systemctl start firewalld sudo systemctl enable firewalld sudo systemctl status firewalld

コマンドログ保存期間設定

sudo vi /etc/profile.d/history_log.sh
/etc/profile.d/history_log.sh

タイムゾーン設定

timedatectl sudo timedatectl set-timezone Asia/Tokyo timedatectl

ここまでの設定が完了すれば、あとは必要なミドルウェアを導入してください。ただし、サーバーは常に外部からの攻撃に晒される可能性があるので、セキュリティ対策は忘れずに実施してください。

コメント