ConoHaのVPSで、CentOS Stream9サーバー追加時に最初にやることのメモ
1.サーバー追加時
「オプションを見る」ー「SSH Key」で「キーを選択」で、事前に登録したパブリックキーを選択して、鍵認証にする。
2.サーバーの基本設定
2.1 OS更新
CentOS8以降は、yumでなくてdnfになっている。dnfにシンボリックされているので、今まで通りyumでもいいけど。
dnf update -y
2.2 hostname設定
/etc/hostnameを変更
2.3 SSHポート変更
1)/etc/ssh/sshd_configでPort指定を追加
Port ???? ※????:適当なポート
2) ファイアウォールの設定変更
元のSSHポートを閉じて、変更したポートを開ける。
cd /usr/lib/firewalld/services/
cp -p ssh.xml ssh-????.xml
vi ssh-????.xml ※port="22"の22を変更したポート????に
firewall-cmd --permanent --remove-service=ssh
firewall-cmd --permanent --add-service=ssh-????
firewall-cmd --reload
3)sshd再起動
systemctl restart sshd
2.4 rootログイン時のメール通知
.bash_profileに以下を追加する。
date > /tmp/login echo $SSH_CLIENT >> /tmp/login cat /tmp/login | mail -s "root login(`hostname`)" メールアドレス
SMTPサーバーとして、postfixをインストールする。
dnf -y install postfix systemctl enable postfix systemctl start postfix
mailコマンドがない場合は、s-nailをインストールする。
dnf -y install s-nail
3.logwatch設定
1)logwatchをインストール
dnf install logwatch
2)/etc/logwatch/conf/logwatch.confを編集して、「MailTo = メールアドレス」を追加
4.dnf更新の通知設定
yum-cronに対応するものとして、dnf-automaticをインストールする。
1)dnf-automaticをインストール
dnf install dnf-automatic
2)/etc/dnf/automatic.confの修正
「emit_via = email」「email_to = メールアドレス」に変更し、email_fromも正しいドメイン名に変更。
3)dnf-automaticの有効化
systemctl enable dnf-automatic.timer systemctl start dnf-automatic.timer
5.その他設定
5.1 Cron起動時にmessagesにログが残る対策
/etc/systemd/system.confで、「LogLevel=notice」に変更
5.2 メール関連の設定
DNSにSPFレコードを設定しておく。
5.3 kdumpの無効化
systemctl stop kdump systemctl disable kdump
5.4 IPアドレス制限
以前のhosts.allowは無くなったので、PAMを有効にして/etc/security/access.confを編集する。
: # User "root" should be allowed to get access via cron .. tty5 tty6. +:root:cron crond :0 tty1 tty2 tty3 tty4 tty5 tty6 ※コメントアウト外す : # VPN +:root:10.10.10.10.1 # rootユーザーを10.10.10.1から許可の例 # All other users should be denied to get access from all sources. -:ALL:ALL # これで上記許可以外は接続できなく
※rootでcron実行するために、コメントアウトされていた行を有効にする。
sshdでのPAMの有効化は、/etc/ssh/sshd_configで以下を設定
UsePAM yes
PAM設定ファイルの/etc/pam.d/sshdに以下を設定
account required pam_access.so
5.5 プライベートネットワーク
ConoHaのVPSの場合、以下の手順でプライベートネットワークの接続設定をする。
5.6 reboot後のメール通知
cronに以下を設定して、リブート後にboot.logの内容をメール通知する。
@reboot (dmesg ; tail -100 /var/log/messages)| mail -s "`hostname` rebooted" メールアドレス
5.7 dnf-makecache.timerの無効化
1時間毎に動いているので、これを無効化する。これが何をしていいるかと、その無効化方法は以下が参考になる。
https://unix.stackexchange.com/questions/579009/why-is-dnf-makecache-timer-needed
対応としては、/etc/dnf/dnf.confに以下を追加。
metadata_timer_sync=0
5.8 rootユーザーへの変更を禁止
rootユーザーへの変更を禁止する場合は、/etc/pam.d/suに以下を設定。
auth required pam_wheel.so use_uid root_only