CentOS Stream9サーバー設定

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