[ITPASS2014]サーバ交換作業 (Mail)
[ITPASSサーバ構築・運用ドキュメント へ戻る]
phase 5 (tako, ika の交換: 設定ファイルの変更)
ここから先は手分けできる作業が多いため, 構築関係者全員で行う.
ホスト名と IP アドレスの変更
各種設定ファイルに存在する, ika と tako のホスト名と IP アドレスを入れ替える. 編集の際はバックアップを取っておくこと.
- ホスト名の変更
- 編集するファイル (mail 班)
- /var/qmail/control/defaulthost
- /var/qmail/control/me
- システムログ内は変更しなくてよい
- 編集するファイル (mail 班)
上記の場所以外にも古い名前が残っていないか
# grep -r tako (または ika) /var/qmail/*
で検索しながら作業する.
ファイルの編集をするときはエディタの検索機能を活用すると早く作業できる. ただし一括置換はホスト名とは関係ない文字列も置換してしまう恐れがあるので使わないこと. (/var/qmail/queue/mess. は変更しなくてよい. /var/qmail/control/rcpthosts と /var/qmail/control/rocals にも存在するが, phase 7 で作業するので, 変更しなくてよい.)
phase 7 (サービスの設定変更)
ここからホスト名が入れ替わっているので注意すること. また, この phase 以降は両方のサーバで 作業の足並みをそろえる必要はない.
tako の 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
変更後
localhost
ここで, 端末上では以下のように表示されるが
root@ika-itpass:# ^^^
この部分が ika と表示されているが, ホストは tako である.
tako の変更は qmail だけなので, この作業が終わったら次の phase に進んで良い.
ika の 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
ここで, 端末上では以下のように表示されるが
root@tako-itpass:# ^^^~
この部分が tako と表示されているが, ホストは ika である.
また, /var/qmail/control 以下の defaultshost, me が以下のように変更されているかチェックした.
ika-itpass.scitec.kobe-u.ac.jp
qmail-showctl(8) で設定を確認する.
- [ITPASS2014]サービスの開始・停止 を参考に,
以下のサービスが永続的に立ち上がるように設定する.
- qmail
- tcpserver
具体的には, 以下のコマンドを用いる.
ika# cd /etc/init.d ika# insserv -d qmail ika# chmod 755 qmail ika# insserv -d tcpserver ika# chmod 755 tcpserver
メーリングリスト毎の bouncer 設定
メーリングリストのエラーメール転送設定が行われているかチェックする. この作業が必要なメーリングリストは,
itpass-ml_at_itpass.scitec.kobe-u.ac.jp
である. ただし, "_at_" はアットマークである. /home/itpass/ml/ml-crtl/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 9 (再起動後の動作確認)
サービスの起動確認
ps aux コマンドで以下の確認作業を行う.
- ika
- http (https), bind, qmail, tcpserver (smtp), inetd (pop3) が 起動していることを確認.
- tako
- qmail, tcpserver (smtp) が起動していることを確認.
- http (https), bind, inetd (pop3) が起動していないことを確認.
サービスの動作確認
ika
- gate:による登録や変更は可能かどうか確認する.
- fail2ban: は正しく動作しているか確認する.
ssh のテスト
- 他の情報実験機から存在しないユーザー名でログイン失敗し, ログで ban されているか確認する.
# lv /var/log/fail2ban.log 2014-11-26 16:18:56,252 fail2ban.actions: WARNING [ssh] Ban 133.30.109.80
error のテスト
- /etc/fail2ban/jail.conf の findtime, maxretry, bantime の値を適宜変えて, fail2ban を再起動し, ブラウザを立ち上げ, tako-itpass.scitec.kobe-u.ac.jp/ 以下 の others にパーミッションがないところ, (例えば ITPASS 実習の ppt/odp ファイル) や itpass ドメイン以下の実在しない URL を入力して, findtime 以内に maxretry 回以上アクセスした. ログで ban されているか確認する.
# lv /var/log/fail2ban.log 2014-11-26 17:16:47,965 fail2ban.actions: WARNING [apache-nohome] Ban133.30.109.77
- access のテスト
itpass.scitec.kobe-u.ac.jp 以下のファイルに findtime 内に maxretry 回ア クセスして /var/log/fail2ban.log を見て ban されているか確認する.
/etc/fail2ban/jail.conf の findtime と maxretry の値をもとに戻して再起動する.
# /etc/init.d/fail2ban start
- ベーシック認証が ban されるかの確認
https://itpass.scitec.kobe-u.ac.jp/hiki-secret/hiki.cgi にアクセスすると 出てくるログイン画面で以下の操作を findtime 内に maxretry 回行う
- 存在しないユーザでログインしようとする
- 存在するユーザで間違ったパスワードを入力する
上の 2 つの作業について ban されることを確認する.
- pop: メールをとってこれるかを確認する.
- ika での作業
- ika の利用者は自分のアカウントで, .qmail の設定と Mailbox の作成
- popauth コマンドを行ってパスワードを作っておく作業をする.
うまくいかない場合は, /usr/local/qpopper/pop.auth のバックアップを作り,
popauth -init
を実行する([Memo2012][ITPASS]サーバ交換作業(MAIL)を参照). サーバ構築完了後, POP利用者に対して設定してもらうようにメールを投げる.
- メールを受け取る ika 以外の計算機での作業
- メーラーの設定は pop サーバ, smtp サーバはどちらも itpass.scitec.kobe-u.ac.jp にする.
- pop も smtp も暗号化されたパスワード認証を選択した.
- ika での作業
- smtp: メールを出せるか, 受け取れるかを確認する.
- qmail-inject で外にメールが届くか
- リモート送り出しテスト? を実行し, 届くことを確認する 他のホスト上のアカウントへ送って, 届いていることを確認する.
- 外からメールを送って届くか 個人のメーラーから ユーザ名_at_itpass.scitec.kobe-u.ac.jp へメールを送りメールが届いていることを確認する.
- mailing list: メールが配送されるかどうか確認する.
tako
- ssh: root ログインが禁止されているか
- pop: 無効になっているか
- smtp: submit は有効にするが, 受け取らない設定になっているかどうか確認する.
- ローカル配送テスト part1? を実行し, 届かないことを確認する
cron ログが管理者に届くようになっているか
- /etc/crontab 内の mail コマンドを実行し, 届くことを確認する.
ただし _at_ は @ に読み替えること.
# mail -s "`hostname -f` test" itpadmin_at_itpass.scitec.kobeーu.ac.jp . Cc:
Keyword(s):
References:[[ITPASS2014]2014年度サーバ構築ログ]