[ITPASS2020]サーバ交換作業 (Mail)
作業内容
phase 0 (準備)
- サーバ交換中は Hiki 上のマニュアルを参照できなくなるため,
作業者は予めサーバ交換マニュアルを手元に保存しておく.
- サーバ交換マニュアルから引用されているページについても忘れないこと.
- Hiki ページの印刷は推奨されない. 長いコマンドなどが切れてしまうため.
phase 1
特に作業を行わない.
phase 2
特に作業を行わない.
phase 3
特に作業を行わない.
phase 4
特に作業を行わない.
phase 5
ホスト名と IP アドレスの変更
各種設定ファイルに存在する, ika と tako のホスト名と IP アドレスを入れ替える. 編集の際は元のファイルを hoge_old としてバックアップを取る.
- 担当
- /var: Mail 班
- システムログ内は変更しなくてよい
- /var: Mail 班
ika と tako のホスト名を交換 (新 ika には ika, 新 tako には takoと書く)
- /var/qmail/control/defaulthost
- /var/qmail/control/me
上記の場所以外にも古い名前が残っているかどうかを grep で確認する.
# grep tako (または ika) /var/qmail/* # grep tako (または ika) /var/qmail/*/* # grep tako (または ika) /var/qmail/*/*/* ...
など. ファイルの編集をするときはエディタの検索機能を活用すると早く作業できる. ただし一括置換はホスト名とは関係ない文字列も置換してしまう恐れがあるので使わないこと.
システムログ, /var/qmail/queue/mess 以下は変更しなくても良い. ( /var/qmail/control/rcphosts と /var/qmail/control/locals が grep に見つかるが, phase 7 で作業するので, 変更しなくてもよい.)
phase 6
特に作業を行わない.
phase 7
ここからホスト名が入れ替わっているので注意すること.
tako の qmail の設定変更 (担当: 旧 Mail 班)
以下のファイルを変更する. 設定ファイルのバックアップを取ること.
- /var/qmail/control/locals
- /var/qmail/control/rcpthosts
変更前
localhost ika-itpass.scitec.kobe-u.ac.jp itpass.scitec.kobe-u.ac.jp epa.scitec.kobe-u.ac.jp aoe.scitec.kobe-u.ac.jp
変更後
localhost
ika の Mail 関連の設定変更 (担当: 新 Mail 班)
- qmail の設定変更
以下のファイルを確認・変更する. 設定ファイルのバックアップを取ること.
- /var/qmail/control/locals
- /var/qmail/control/rcpthosts
上のファイルの内容が下のように変更されていることを確認する. 下のようになっていない場合には下のように変更する.
localhost ika-itpass.scitec.kobe-u.ac.jp itpass.scitec.kobe-u.ac.jp epa.scitec.kobe-u.ac.jp aoe.scitec.kobe-u.ac.jp
また,
- /var/qmail/control/defaulthost
- /var/qmail/control/me
が以下のように変更されていることを確認する.
ika-itpass.scitec.kobe-u.ac.jp
qmail-showctl で設定を確認する.
ika# qmail-showctl
- [TEBIKI]サービスの開始・停止 を参考に, 以下のサービスが永続的に立ち上がるように設定する.
- qmail
- dovecot
具体的には以下の通り.
ika# cd /etc/init.d ika# insserv -d qmail ika# chmod 755 qmail ika# systemctl enable dovecot
- メーリングリスト毎の bouncer 設定
メーリングリストのエラーメール転送設定が行われているかチェックする. この作業が必要なメーリングリストは,
itpass-ml_at_itpass.scitec.kobe-u.ac.jp
である. ただし, "_at_" はアットマークである. /home/itpass/ml/ml-ctrl/bouncer が以下のように変更されていることを確認する. 変更されていない場合は以下のように編集する.
&itpadmin_at_itpass.scitec.kobe-u.ac.jp |/usr/local/ezmlm/bin/ezmlm-weed |/usr/local/ezmlm/bin/ezmlm-return -D '/home/itpass/ml/ml-ctrl’
phase 8
特に作業を行わない.
phase 9 (再起動後の動作確認)
サービスの起動確認
ps aux で以下の確認作業を行う.
- ika
- qmail, dovecot が起動していることを確認する.
- tako
- qmail, tcpserver (smtp) が起動していることを確認する.
inetd (pop3) が起動していないかを確認する. 起動していたら以下を実行して停止する.
#systemctl disable inetd #systemctl stop inetd
サービスの動作確認
ika
- fail2ban: は正しく動作しているか確認する.
- ssh のテスト
johoXX から存在しないユーザー名でログイン失敗し, ログで ban されているか確認する.
# lv /var/log/fail2ban.log 2020-12-01 14:49:38,897 fail2ban.actions [1728]: NOTICE [ssh] Ban 10.35.19.205
error のテスト
- /etc/fail2ban/jail.conf の findtime, maxretry, bantime の値を適宜変えて, fail2ban を再起動し, ブラウザを立ち上げ, ika-itpass.scitec.kobe-u.ac.jp/ 以下 の others にパーミッションがないところに findtime 以内に maxretry 回以上アクセスする. ログで ban されているか確認する.今回は findtime 60, maxretry6,bantime60 に設定する.
# lv /var/log/fail2ban.log
2020-12-01 15:20:27,583 fail2ban.actions [2213]: NOTICE [apache-ddos] Ban 150.84.188.45
- access のテスト
/etc/fail2ban/jail.conf の [apache-ddos] を以下のように一時変更する.
[apache-ddos] enabled = true port = http,https filter = apache-ddos findtime= 10 logpath = /var/log/httpd-*access.log maxretry = 3 bantime = 60
fail2ban を再起動する.
# systemctl restart fail2ban
itpass.scitec.kobe-u.ac.jp 以下の実在するファイルに findtime 内に maxretry 回アクセスして /var/log/fail2ban.log を見て ban されているか確認する.
2018-12-04 16:58:35,807 fail2ban.actions [2205]: NOTICE [apache-ddos] Ban XXX.XX.XXX.XX
/etc/fail2ban/jail.conf の findtime と maxretry の値をもとに戻して再起動する.
# systemctl restart fail2ban
- ベーシック認証が ban されるかの確認
https://itpass.scitec.kobe-u.ac.jp/hiki-secret/hiki.cgi にアクセスすると 出てくるログイン画面で以下の操作を findtime 内に maxretry 回行う.
- 存在しないユーザでログインしようとする
- 存在するユーザで間違ったパスワードを入力する
上の 2 つの作業について ban されることを確認する.
- pop: メールをとってこれるかを確認.
- ika での作業
- 自分のホームディレクトリで作業を行う.
- ~/.qmail の転送先メールアドレスをコメントアウトし, 以下を書き足す.
- ika での作業
個人のアカウントでテストする場合はテスト後設定を元に戻しておくこと ./Mailbox * メールを受け取る ika 以外の計算機での作業 * メーラーの設定は pop サーバ, smtp サーバはどちらも itpass.scitec.kobe-u.ac.jp とする. * pop も smtp も暗号化されたパスワード認証を選択する. * 接続は暗号化されていないという警告が表示される場合があるが, そのまま進める.
- smtp: メールを出せるか, 受け取れるかを確認する.
qmail-inject で外にメールが届くか
他のホスト上のアカウントへ送って, 届いていることを確認する.
$ echo to: 17XXXXXs_at_stu.kobe-u.ac.jp | /var/qmail/bin/qmail-inject
- 外からメールを送って届くか
個人のメーラーから hoge_at_itpass.scitec.kobe-u.ac.jp へメールを送りメールが届いていることを確認する. imap 対応メーラー(例. Thunderbird)を用いて imap サーバを tako に指定して, tako 上の自分のアカウントあてに届いたメールを確認する. メーラの設定は以下の通り.
受信サーバ: IMAP サーバのホスト名: tako-itpass.scitec.kobe-u.ac.jp 受信サーバのポート番号: 143 受信サーバのSSL: 接続の保護なし 認証方式: 暗号化されたパスワード認証
- mailing list: メールが配送されるかどうか確認する.
- itpass-ml_at_itpass.scitec.kobe-u.ac.jp にメールを送信する.
- gate の動作確認をするという連絡も同時に行う.
- itpass-ml は現在, 外部サーバ (一部) のメールを受け付けない.
- gate:による登録(承認, 廃止まで)や変更は可能かどうか確認する.
- gate: の設定の確認
/usr/local/gate/sbin/gate-db-to-sudoers に Defaults で始まる 4 行が書かれていることを確認する.
# This is /etc/sudoers file, generated by gate-db-to-sudoers. # If you are to edit this file, do not edit it directly. Defaults env_reset Defaults mail_badpass Defaults secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin" Defaults mailfrom=root
visudo で, /etc/sudoers が上と同様に書き替えられていることを確認する.
# visudo
tako
- pop: 無効になっているか
- smtp: submit は有効にするが, 受け取らない設定になっているかどうか確認する.
以下のコマンドを実行し, メールが転送されないことを確認する.
$ echo to: hogehoge | /var/qmail/bin/qmail-inject
- MAILER-DAEMON@ika-itpass.scitec.kobe-u.ac.jp から failure notice のメールが来ていることを確認する.
cron ログが管理者に届くようになっているか
- /etc/crontab に書かれている mail コマンドを実行し, 届くことを確認した. (コマンド実行後, 入力待ちになるので, ピリオドを打つ.)
ただし _at_ は @ に読み替えた.
# mail -s "`hostname -f` test" itpadmin_at_itpass.scitec.kobe-u.ac.jp . Cc:
phase 10
特に作業を行わない.
Keyword(s):
References:[[ITPASS2020]サーバ交換作業] [[ITPASS2020]2020年度サーバ構築マニュアル] [[ITPASS2021]サーバ交換作業]