メール鯖の移行が終わりました。

正直待ち疲れた・・・。

旧サーバ側でユーザーデータの圧縮に1時間、VPN経由でデータ落とすのに3時間、新サーバにアップロードするのに1時間半。

たったこれだけの作業で5時間以上も待ちぼうけ (´ー`)y─┛~~・・・orz

メールデータの欠損も無くサーバ移行は完了したけど、サーバ上に残っていた既読メール(cur)がクライアントPC側で2重に受信してしまう結果になった。

多い人だと2000件程度、過去に受信したメールを再度受信する結果となってしまう。

まぁ、MTAが変わるのでしかたないと言えばそれまでだけど、事前にユーザーにクライアントPC側の設定変更の呼びかけをするべきだったな。

会社のメールサーバのリプレース作業

昨年の9月から計画していた会社のメールサーバのリプレース。

今回のリプレースは、情報漏えい対策として「社内ネットワーク以外からはPOP接続させない」という運用に変える事が最大の意図になっている。

あと、「外部ドメインへの送信メールを数年間保存する」って事も合わせて行う。

送信メールの保存のソフトウェアの初期設定以外、環境構築やドキュメント作成を全て1人でやってきたので、スキル的に得た物は大きかったと思うが、変わりに睡眠時間と偏頭痛と肩こりに悩まされた半年だった・・・。

とりあえず、今回のリプレースで行った事をシステム担当の観点からまとめておきます。
(構築の詳細はそのうちに書いていきます。)

1.MTAの変更
  社内のSMTP/POP3のMTAを「qmail」から「postfix+devecot」に変更
  DMZに「qmail」をリレー用のSMTPとして設置

2.メーリングリストの変更
  qmailの「alias」から「Mailman」に変更。
  基本的な運用は変わらないけど、MLを介したメールの件名に連番付加を行っていく。

3.メール利用ルールの強化
  今までは配送容量の制限しか行っていなかったが、「自動転送禁止」、「分割送信禁止」を新たに設定した。
  ただし、「自動転送禁止」、「分割送信禁止」は社内からの送信のみを対象として、社外から送られてくるメールに対する制限は行わない。

4.ウィルスチェック機能の導入
  SMTPリレーサーバにSpamassassinとClamAVを導入して、自前のメールゲートウェイを構築。
  通過する全てのメールのチェックを行い、ウィルスを検知した場合は「受信先へ通知する」ようにした。

5.VPNの導入
  会社貸与のノートPCを使用している場合、VPN経由でメールサーバに接続できるようにした。
  VPNサーバはOpenVPNで構築し、クライアントに渡す秘密鍵などの利用上限を90日までとする。

6.WEBメールの契約
  VPNを使えない従業員用に、WEBメールの契約も行った。
  VPNと同様に利用の上限を90日までとして、恒久的に利用する場合、90日ごとに利用申請を提出してもらうようにする。

ウィルスチェック機能の導入は、「社内からの送信メール」も精査の対象としているため、どのくらいのシステム負荷が掛かるか分からないので、状況を見つつ設定をいじるつもり。

VPNの利用もWEBメールの利用も、そもそも当社では開発も運用もしていない(業務委託)なので、休日などに急いで会社のメールをチェックしなくてはならない事は存在しないはず。
もし緊急事態が起きても、ちんたらメールのやり取りを行える暇があるなら、関係者に電話するし。

本当に社外からメールの利用が必要なのか?と疑問が残るが、兎にも角にも明日のリプレース作業をチャッチと終わらせて、ゆっくり寝たいです。

HP製のUPSがチャージされない

11月に買ったUPSが、まったくチャージされていなかった。
バッテリーエラーなど、コレと言って目立った原因が見つからないが、事実としてチャージが行なわれていない。
HP UPS Management Moduleを確認しても、管理モジュールがUPSを認識すらしていない。
今日午前中に販社の技術者を呼んで一通り確認させたけど、今だ原因が不明。
来年の1月中旬から使うシステム用のUPSだから、とりあえずバッテリー変えるなり、UPSごと変えるなりの対応を早めにして欲しい。
販社も最大手のSIerだから、年内中に対応させるか。
2008/12/23
HPの技術者が来て、該当のUPSの修理をしてくれた。
結果から言うと、USPに増設したHP UPS Management Moduleの故障が原因だったらしい。
HP UPS Management Moduleを交換して、再度確認したところ、UPSはちゃんとチャージされてたから一安心。
どうやら、UPSの仕様上、USPへの電源供給が絶たれて1分後に接続されているサーバ類にシャットダウンコマンドを飛ばし、約5分後にUSP自信が停止する仕組みらしい。
今回はシャットダウンの管理はしていないから、USPにチャージされた電力を使い切った段階で停止させるようにしたけど、30分やそこらでいきなり電源が落ちるのは考えもんだな。

sendmailのリレー先変更

最近、メール関連の事しか書いていないような気がするが、お仕事だからしょうがない。
sendmailに中継させる情報はいろいろあったけど、sendmail自身のリレー先を指定する方法が少ない気がしたが、猫ぐらしさんのブログを発見。
sendmail.mc内の設定箇所をいじってあげると良いっぽい。
define(`SMART_HOST’,`smtp:smtp.yourdomain.jp’)dnl
ちなみに、「smtp:ドメイン名」部分は、IPアドレスだと、下記の様なエラーが出てNGだった。
(0/0), delay=00:00:00, xdelay=00:00:00, mailer=smtp, pri=120359, relay=192.168.4.3, dsn=5.1.2, stat=Host unknown (Name server: 192.168.4.3: host not found)
ローカル環境と言っても、DNSを参照できる環境にサーバを設置しないとダメみたい。

MTAの配送間隔

気になったので調べてみた。
[qmail]
デフォルト: n × 800 – 400秒
      n=再試行の回数
設定の変更:変更不可(要ソース改変)
[sendmail]
デフォルト:15分
設定の変更:引数 -q にて指定
$ sendmail -q15m
[postfix]
デフォルト:1000秒、2000秒、4000秒、以後4000秒間隔。
送信失敗すると、minimal_backoff_time の設定時間後に再送実施。
その後前回の配送間隔の2倍の間隔で配送を試みる。
設定の変更:minimal_backoff_time を設定。
      最大間隔は maximal_backoff_time で指定する。
minimal_backoff_time = 1000s
maximal_backoff_time = 4000s

net-snmpのログ出力の変更

net-snmpのログは、デフォルトだと以下の様な内容のログが/var/log/massageに出力される。
Dec 5 10:50:38 snwms01 snmpd[16849]: Connection from UDP: [127.0.0.1]:52695
Dec 5 10:50:38 snwms01 snmpd[16849]: Received SNMP packet(s) from UDP: [127.0.0.1]:52695
件数が多過ぎるので邪魔くさい。
なので/var/log/snmpd.logに出力するようにする。
[設定ファイル]
/etc/rc.d/init.d/snmtd
[変更前]
OPTIONS=”-Lsd -Lf /dev/null -p /var/run/snmpd.pid -a”
[変更後]
OPTIONS=”-Lf /var/log/snmpd.log -p /var/run/snmpd.pid -a”
ログルーテッドの設定も行う。
[設定ファイル]
/etc/logrotate.d/snmpd
[内容]
/var/log/snmpd.log {
notifempty
missingok
postrotate
/sbin/service snmpd condrestart 2> /dev/null > /dev/null || true
endscript
}
これでnet-snmpのログが/var/log/snmpd.logに出力され、1週間ごとにルーテッドされる。

VMwareにFedora9を入れてみた。

ubuntuにどうしても馴染めなかったので、 Fedora9をVMware上に入れてみた。
会社のPCに・・・www
自宅のPCは古いから、仮想OSの動作が重すぎて使い物にならんかったw
会社のノートPCはCore2Duo 1.6GB、メモリ1.5GBで、TeraTermとOfficeぐらいしか使ってないからさw
新しいPCを買うより、今ある資源を利用するって素敵すぎるwww
って事で、早速インストール。
VMware Playerをインストールして、isoイメージ落とすのが面倒だったので、配布されているFedora9をダウンロード。
初期値ではメモリが256MBしか割り当てられてなかったので、fedora-9-i386.vmxファイルのmemsize の値を “512”と修正する。
以前、MSのVirtualPCを使ったとき、ゲストOSのネットワークの設定で苦労した記憶があったけど、ブリッジモードで難なく外部との接続が行えた。
ダウンロードしたFedora9は日本語環境が使えないので、yumでインストールする。
yum -y groupinstall japanese-support -x xorg-x11-server-Xorg

error: error running postrotate script

会社のサーバからのlogrotateからエラーメールが届いた。
/etc/cron.daily/logrotate:
error: error running postrotate script
error: error running postrotate script
簡単にググってみると、「ログをローテッドした後に、該当のプロセスを起動できなかった」と言ったエラーらしい。
まぁ、このサーバが提供しているサービスが上がっていないわけじゃないっぽい(監視しているから止まったら、センターからの連絡も来る。)から、月曜日に調べてみるか。
2008/12/3
上記エラーの原因がわかった。
サーバのlogrotate.dに手動で入れてたapacheのlogrotateでコケてた。
apache自体、不要になったので/etc/rc.d/init.d/httpdも消してたから、「logrotateしたけどデーモンが実行できない」と言ったエラーだったっぽい。
logrotate.dからapache用の設定ファイルを削除して対応。
たぶんこれで問題ないはず。

GTAVCSとモンハン

3連休の最終日、秋葉原に買いに行ってきましたよw
PSP-2000だけしかなかったから、SanDiskのメモリースティックの4GBと、覗き見防止のシート、シリコンのカバーもついでに購入。
GTAVCSは、規制が入っていない海外版が良かったんだけど、売ってる店を見つけられませんでした。
しょうがないので、日本語版で我慢するか。。。
メダル・オブ・オナー ヒーローズ2 とどっちが良いか数秒迷ったけど、メダル・オブ・オナー ヒーローズ2は冬のボーナス入ったら買おう♪
ところで、モンハンはメモリースティックにインストール出来たけど、GTAVCSは出来ないのか?
恐らく有効なセーブデータが無いから、起動するとすぐにニューゲームで開始になってしまう。
まぁなんにせよ、これで片道1時間半の通勤時間に退屈せずに済むな。

qmailのログ集計

自分メモ。
ログ出力をsyslogではなく、daemontoolsのmultilogで吐いてた場合の各種集計方法。
必要な物・・・qmailanalog,qlogselect
1.qmailanalogで処理できる様に、tai64n2taiコマンドを利用。 
また、qlogselectを使って、集計する日時を指定する。
cat /var/log/qmail//{“@”,cur}* | /usr/local/qmailanalog/bin/tai64n2tai | /usr/local/qmailanalog/bin/qlogselect start 開始日 end 終了日 | /usr/local/qmailanalog/bin/matchup > logfile
※開始日、終了日はyyyy-mm-ddで指定する。
2.xrecipientに、集計したいメールアドレス指定して食わせる。
cat logfile | /usr/local/qmailanalog/bin/xrecipient local.hogehoge@domain > hoge.txt 受信件数=hoge.txtの行数受信サイズ=awk ‘{S=(S+$6)}END{print S}’ < hoge.txt 送信データを集計したい場合、3でxrecipientに食わせたデータを、/usr/local/qmailanalog/bin/sendersに食わして集計する。