[Memo2016][ITPASS]サーバ交換作業 (Mail)
[ITPASSサーバ構築・運用ドキュメント へ戻る]
当日作業
概要
phase 0 (準備)
特に作業を行っていない.
phase 1 (入替え開始)
特に作業を行っていない.
phase 2 (tako の root ログイン許可)
特に作業を行っていない.
phase 3 (ika から tako へ各種データをコピー)
特に作業を行っていない.
phase 4 (root ログイン禁止)
特に作業を行っていない.
phase 5 (tako, ika の交換: 設定ファイルの変更)
ここから先は手分けできる作業が多いため, 構築関係者全員で行う.
ホスト名の変更
各種設定ファイルに存在する, ika と tako のホスト名と IP アドレスを入れ替える. 編集の際はバックアップを取っておくこと.
具体的には,
ika# cp /var/qmail/control/defaulthost /var/qmail/control/defaulthost.bk ika# vim /var/qmail/control/defaulthost ika# cp /var/qmail/control/me /var/qmail/control/me.bk ika# vim /var/qmail/control/me
上記の場所以外にも古い名前が残っていないか
# grep -r ika /var/qmail/*
で検索して確認した. システムログは変更しなくても良い. (/var/qmail/queue/mess. で見つかったが, 変える必要が無さそうなので変えなかった. /var/qmail/control/rcphosts と /var/qmail/control/locals が grep に見つかったが, phase 7 で作業するので, 変更しなかった.)
同様に tako についても,
tako# cd /var/qmail/control/ tako# cp defaulthost defaulthost.bk tako# vim defaulthost tako# cp me me.bk tako# vim me
とし, tako の表記を ika に変え,
# grep -r tako /var/qmail/*
で検索して同様に確認した. (/var/cashe 以下に tako の表記があったが変える必要が無さそうだったので変えなかった.)
phase 6 (tako, ika の交換, 設定ファイルの変更)
特に作業を行っていない.
phase 7 (サービスの設定変更)
- 鍵が入れ替わっているので ssh 出来なかったが, エラーメッセージに出てきたコマンドを打つと出来るようになった.
tako の qmail の設定変更 (担当: 旧 Mail 班)
/var/qmail/control 以下の locals, 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
具体的には,
tako# cd /var/qmail/control/ tako# cp rcphosts rcphosts.bk tako# vim rcphosts tako# cp locals locals.bk tako# vim locals tako# cd /var/qmail/control/ ^^^^
この部分が ika となっているが, ホストは tako である.
ika の Mail 関連の設定変更 (担当: 新 Mail 班)
- qmail の設定変更
同様に, /var/qmail/control 以下の locals, 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
具体的には,
ika# cd /var/qmail/control/ ika# cp rcphosts rcpthosts.bk ika# vim rcpthosts ika# cp locals locals.bk ika# vim locals ika# cd /var/qmail/control/ ^^^
この部分が tako となっているが, ホストは ika である.
また, /var/qmail/control 以下の defaulthost, me が以下のように変更されていることを確認した.
ika-itpass.scitec.kobe-u.ac.jp
qmail-showctl で設定を確認した.
- [ITPASS2015]サービスの開始・停止 を参考に,
以下のサービスが永続的に立ち上がるように設定した.
- qmail
- tcpserver
systemd に移行したため以下のコマンドを用いた.
ika# systemctl enable qmail ika# systemctl enable tcpserver
メーリングリスト毎の 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 (OS 再起動)
特に作業を行っていない.
phase 9 (再起動後の動作確認)
サービスの起動確認
systemctl コマンドで以下の確認作業を行った.
- ika
- http (https), bind, qmail, tcpserver (smtp), が起動していることを確認.
- tako
- qmail, tcpserver (smtp) が起動していることを確認.
- http (https), bind, inetd (pop3) が起動していないことを確認.
- inetd が起動していたので
#systemctl disable inetd で inetd を永続的に停止した. もう一度確認したところ, 停止していなさそうだったので #systemctl stop inetd をおこない, inetd が停止したことを確認した.
サービスの動作確認
ika
- fail2ban: は正しく動作しているか確認した.
ssh のテスト
- joho11 から存在しないユーザー名でログイン失敗し, ログで ban されているか確認した.
# lv /var/log/fail2ban.log 2016-12-05 17:39:06,515 fail2ban.actions[742]: WARNING [ssh] Ban 133.30.109.81
error のテスト
- /etc/fail2ban/jail.conf の findtime, maxretry, bantime の値を適宜変えて, fail2ban を再起動し, ブラウザを立ち上げ, ika-itpass.scitec.kobe-u.ac.jp/ 以下 の others にパーミッションがないところ, (例えば ITPASS 実習の ppt/odp ファイル) や itpass ドメイン以下の実在しない URL を入力して, findtime 以内に maxretry 回以上アクセスした. ログで ban されているか確認した.
# lv /var/log/fail2ban.log 2016-12-05 17:46:08,531 fail2ban.actions[4756]: WARNING [apache-ddos] Ban 133.30.109.71
- 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 されているか確認した.
/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 での作業
- 自分のホームディレクトリで作業をおこなう.
- popauth コマンドを行ってパスワードを作っておく作業をした.
- ~/.qmail の転送先メールアドレスをコメントアウトし, 以下を書き足した. 個人のアカウントでテストする場合はテスト後設定を元に戻しておくこと
./Mailbox
- メールを受け取る ika 以外の計算機での作業
- 今回は池田の PC で新しいアカウントを作って行った.
- メーラーの設定は pop サーバ, smtp サーバはどちらも itpass.scitec.kobe-u.ac.jp にした.
- pop も smtp も暗号化されたパスワード認証を選択した.
- 接続は暗号化されていないという警告が表示されたが, そのまま進めた.
- smtp: メールを出せるか, 受け取れるかを確認した.
qmail-inject で外にメールが届くか
他のホスト上のアカウントへ送って, 届いていることを確認した.
$ echo to: 1363402s_at_stu.kobe-u.ac.jp | /var/qmail/bin/qmail-inject
外からメールを送って届くか
個人のメーラーから ikedaryo_at_itpass.scitec.kobe-u.ac.jp へメールを送りメールが届いていることを確認した.
- mailing list: メールが配送されるかどうか確認した.
- itpass-ml_at_itpass.scitec.kobe-u.ac.jp にメールを送信した.
- gate の動作確認をするという連絡も同時におこなった.
- gate:による登録(承認, 廃止まで)や変更は可能かどうか確認した.
tako
- smtp: submit は有効にするが, 受け取らない設定になっているかどうか確認した.
以下のコマンドを実行し, メールが転送されないことを確認した.
$ echo to: ikedaryo | /var/qmail/bin/qmail-inject
cron ログが管理者に届くようになっているか
- /etc/crontab に書かれている mail コマンドを実行し, 届くことを確認した.
ただし _at_ は @ に読み替えること.
# mail -s "`hostname -f` test" itpadmin_at_itpass.scitec.kobeーu.ac.jp . Cc:
phase 10 (バックアップの確認)
特に作業を行っていない.
追加事項
gate-toroku-systemのインストールと設定
- /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:/ Defaults mailfrom=root
- visudo を実行して上と同様に書き替えられていることを確認した.
Keyword(s):
References:[[ITPASS2016]2016年度サーバ構築ログ]