
最近 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
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
タイムゾーン設定
timedatectl
sudo timedatectl set-timezone Asia/Tokyo
timedatectl
ここまでの設定が完了すれば、あとは必要なミドルウェアを導入してください。ただし、サーバーは常に外部からの攻撃に晒される可能性があるので、セキュリティ対策は忘れずに実施してください。
コメント
コメントを投稿