今更TeraStationを少しだけ監視


 何か昔、事務所の方でファイルサーバ欲しいね、って言うんで。買ったんですよ。もう五年近く前ですか。
 今でも元気なので、まあ特に悪い買い物だったとは思ってませんが。バックアップ用にLinkStation(LS-CHL)も買い足した辺りで、何かこう、メルコ不信の俺的にはモヤッとしたが(笑)。

 んで、実のところ、ごくごく稀に様子を見る程度で、全く監視などはしていなかった。RAID不信の俺なのに。ましてTS-TGLさんはRAID5である。まあ、故障したら音が鳴るらしいから誰か気付くだろ、とか思ってはいるが。
 せめてメール報告機能くらいは使おうや、と思いましてな。

 まずLS-CHLから。メールサーバを指定して、ポートは587番で、SMTP Authの情報を入れて、テストメール送信。オーケー楽勝。
 次にTS-TGL。メールサーバを指定して、ポートは…。指定するとこが無いね?
 もちろんSMTP Authも非対応。五年って長いんだなあ。つーかOP25BにSMTP Authを組み合わせるのがデフォになったのって割と最近か。

 うーむ。でも何か手はあるだろ。SMTP Authを噛ますリレーサーバとか作れないのかな。
 Postfixで普通に作れるようです。オーケーオーケー。NP12の出番だ。ちなみにWindowsでもそれ専用のソフトがあるらしいとか。
 えーと、サブネットからの送信を受け入れる設定にして、さくらのVPSのメールサーバにSMTP Authで接続して送信、だな。
 /etc/postfix/main.cfは、

relayhost = [smtp.miko.jp]:submission
smtp_sasl_auth_enable = yes
smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd
smtp_sasl_mechanism_filter = SMTP鯖が対応してる奴
smtp_sasl_security_options =

こんな感じで、/etc/postfix/sasl_passwdは、

[smtp.miko.jp]:submission ID:PASSWORD

こんな感じで、postmap /etc/postfix/sasl_passwdだな。オーケーオーケー、テスト送信成功。つーかプロバのSMTPサーバでも普通に行けそうだなこれ。
 ちなみに、日本だとOP25Bが普及しているので、:submissionを忘れると届かない可能性大。というか忘れてて少し悩んだ。ついでにpostmapportmapとタイプミスして少し悩んだ。


Googleウェブマスターツールもたまには観察


 まあ、特に面白い話も見付からないのだが。
 さくらのVPSにここを移行する前後のパフォーマンスの変化、というネタはいけるかも。

 「サイトのパフォーマンス」はこんなん。

 1/10辺りからじわじわ悪化。0.5秒付近にいたのが1.5秒付近に。
 だがこれはむしろ、更新ペース復活に同期しているように見える。原理的にも、クライアントのPageRank機能でサンプルしているとのことなので、「更新が死に掛けてた頃の訪問者様のPCは概してかなり高性能らしい」、ということかもしれない。概して。

 一方、「クロールの統計情報」の「ページのダウンロード時間」はもう少し信頼しやすいかもしれない。

 パッと見、blogをさくらの専用鯖からVPSに切り替えた1/13の前後ではっきりとした変化は見られない。50-100msくらい遅い方向に推移してるような気がしなくもないが。
 なお、専用鯖時代はApache+mod_php+eAcceleratorのほぼデフォ設定、今はLighttpd+PHP-FPM+APCで微妙に細かい設定、という違いもある。

 まあ、大雑把に言えば、俺程度の軽い用途だと微妙な差があるか無いか。勝るとは言えないが、劣るとも言い切れない、微妙なライン。で、月額料金は確か9800円→980円と綺麗に一桁違ったような。今はさくらのVPSにも上位プランが出たから、小規模のとこはみんなVPS行きでいいんじゃないか。
 ちなみに今のところ、さくらのVPS 512は多分ダウン無し。Osukini LTは一ヶ月半で二回の短時間な障害。他社は触っていないので知らないが、怖い話を聞くこともある。2010/6/26 19:02〜2010/6/30 15:00の障害って凄すぎ。VPSは激しくピンキリか。
 さくらのVPSは、さくらのクラウドのVMイメージバンクが対応する可能性もあるらしいので、実現したら「とりあえずVPSでやっといて収まらなかったらクラウドに移行」が非常にやりやすくなりそうだ。こうなると、中規模向けでも仮想サーバの方が面白そうな気がしてきた。そっちの世界は知らんけど。
 計算機がソフトとハードに分かれ、ソフトがアプリとOSに分かれ、OSもゲストとホストに分かれたが、KVMの中でゲストKVMが動くらしいから、この枝はここで自己相似の終着なのかなあ。ネストした仮想化の需要自体が不明だが。


今度はカンニングか


 俺ならどうするシリーズ第三弾。

 尖閣ビデオ、相撲八百長に続き、またもネットの捜査が話題に。
 という訳で、今回の仮想任務は、試験問題を短時間に質問サイトに投げて回答を受け取ることである。
 ただし、「今はあの事件が有名になっちゃってまともな回答が得られないかもしれないから」などについては検討しない。別に今からやりたい訳じゃないし(笑)。

 正直、携帯電話で問題を見ながら打ち込むのは目立つし時間掛かるし、俺的には選択肢に入れたくない。が、それを回避するには画像で問題をキャプチャする手段しか思い付かず、「画像で質問を投稿」とか「共犯者が画像を見て文章化」とかいう話に。前者は見た目に試験問題くさくて厳しいし、後者かなあ。
 ってことで、無線LAN内蔵MicroSDカードをペン型カメラに突っ込んでみよう。しまっておいて試験中に取り出してもおかしくないし、危なくなってきたらペンケースに自然にしまいやすい。携帯の電波を遮断されても何とかなる。ただ、このタイプの無線LANの到達距離は非常にアレだろうから、えーと、鞄にWDS対応モバイルルータか何かを突っ込んでおくか。それか共犯者が凄いアンテナで受けるか(笑)。共犯者に届けばいいのなら、スマホで何とかなるのかなあ。なかなか厳しいなあ。
 で、近くの車か何かで待機している共犯者に届いたら、Tor経由で投稿だな。うむ。電波的に無理くさい気がしてならないが。全体的にかなり厳しくねーかこれ。

 それじゃ、あくまでも一人でテキスト化して送信する、という前提で。目立つのは仕方ない。
 んー。携帯で直接送信するのだけは避けるべきだよな。単純にどっかにTorを通るWeb Proxyでも立てておけばいいのかな。既にある奴を信用して使っちゃう手もあるけど。テキスト化は現場で携帯で自力か。何かパッとしないなー。

 一方、こういう問題を根絶するにはどうすればいいか。これは容易に想像が付く。全裸で試験だ。今すぐやろう。


さくらのVPSのsyslogをrsyslogに切り替える


 Fail2banがよく働いてくれるお陰でだいぶ平穏を取り戻したLogwatchの自動報告メールだが、

**Unmatched Entries**
 dovecot-auth: pam_succeed_if(dovecot:auth): error retrieving information about user test
(以下延々と同文)

こんな攻撃ログが残っていて気になる。攻撃回数はmaxretryを大幅に超えているが、Fail2banの遮断に引っ掛かっていない。Gaminを使っているので、攻撃がログに入ったら割とすぐに遮断するはずなのだ。
 発生時刻をPAMのログから確認し、同時刻のDovecotのログを確認すると、

Mar  1 05:42:50 *** dovecot: pop3-login: Aborted login: user=<test>, method=PLAIN, rip=::ffff:41.143.25.29, lip=::ffff:*.*.*.*
Mar  1 05:43:23 *** last message repeated 8 times
Mar  1 05:43:51 *** last message repeated 7 times

という部分を発見。こいつか…。前にも問題起こしてたよな…。
 つまり、syslogdが「同じログが続くから省略しときますね」と余計なことをしたお陰で、Fail2banは攻撃が繰り返されたことを認識していないのである。

 それでは、syslogdに省略をやめさせる設定はあるのだろうか。調べてみると、「FreeBSDならあるけどLinuxだと無いっぽいよ」とかあるな。むしろRedHatはデフォをrsyslogに切り替えたらしく、rsyslogはこの問題にも対応しているらしい。OK。それならこちらも切り替えだ。
 切り替え作業は非常に簡単で、yumでrsyslogを入れて、serviceとchkconfigでsyslogからrsyslogに切り替えるだけ。syslogもデフォ設定だったから、移行作業とか皆無。
 でも、ログの省略を抑制するのが目的なので、rsyslogdの起動オプションに-eを付けてみた。そしてloggerで送信テストして、syslogを確認。問題無し。というか、rsyslogの起動ログに「-eとか廃止されたっすよ、もう省略とかしないんで」などとあったので、元に戻した。

 ちなみに、今回の攻撃元はモロッコのようだ。モロッコ。性転換くらいしかイメージが沸かないが、ちょっとWikipediaでどんな国か見てみようか。

モロッコという国名から「性転換」手術をイメージする人々が、特に1970年生まれ以前の世代では少なからず存在している。

 え。いや、性転換とかタイですよね普通。うんうん。タイだよタイ。モロッコなんてペンギンくらいしか思い出さないよね。犬の歯とかお弁当大好きとかね。
 つーか俺その世代じゃないけどな、と一応は書いておく(笑)。


NP12のCentOSでUnixBench


 VPSのUnixBench結果などがよく掲載されているので、NP12にCentOS5.5を入れた時のUnixBenchの結果は無いかなー、と思って探してみたが見付からなかった。
 という訳で、UnixBench 5.1.3を落としてきて、make。
 command not found。オウ…。
 えーと、yum groupinstall 開発ツール、辺りでいいかな。このコマンドラインには慣れないな(笑)。俺的には面白くていいと思いますが。
 そんでもって、makeも通ったんで実行。サーバとして稼動させたままなので多少結果が悪くなるかもだが。

   BYTE UNIX Benchmarks (Version 5.1.3)

   System: ***: GNU/Linux
   OS: GNU/Linux -- 2.6.18-194.32.1.el5 -- #1 SMP Wed Jan 5 17:52:25 EST 2011
   Machine: x86_64 (x86_64)
   Language: en_US.utf8 (charmap="UTF-8", collate="UTF-8")
   CPU 0: Intel(R) Atom(TM) CPU 230 @ 1.60GHz (3199.1 bogomips)
          Hyper-Threading, x86-64, MMX, Physical Address Ext, SYSENTER/SYSEXIT, SYSCALL/SYSRET
   CPU 1: Intel(R) Atom(TM) CPU 230 @ 1.60GHz (3192.3 bogomips)
          Hyper-Threading, x86-64, MMX, Physical Address Ext, SYSENTER/SYSEXIT, SYSCALL/SYSRET
   15:59:14 up 1 day,  6:30,  1 user,  load average: 0.24, 0.33, 0.16; runlevel 3

------------------------------------------------------------------------
Benchmark Run: 火  3月 01 2011 15:59:14 - 16:27:26
2 CPUs in system; running 1 parallel copy of tests

Dhrystone 2 using register variables        3204338.8 lps   (10.0 s, 7 samples)
Double-Precision Whetstone                      589.4 MWIPS (10.0 s, 7 samples)
Execl Throughput                               1202.5 lps   (30.0 s, 2 samples)
File Copy 1024 bufsize 2000 maxblocks        141671.5 KBps  (30.0 s, 2 samples)
File Copy 256 bufsize 500 maxblocks           42030.9 KBps  (30.0 s, 2 samples)
File Copy 4096 bufsize 8000 maxblocks        305172.2 KBps  (30.0 s, 2 samples)
Pipe Throughput                              465093.1 lps   (10.0 s, 7 samples)
Pipe-based Context Switching                  69150.4 lps   (10.0 s, 7 samples)
Process Creation                               4010.4 lps   (30.0 s, 2 samples)
Shell Scripts (1 concurrent)                   1759.8 lpm   (60.0 s, 2 samples)
Shell Scripts (8 concurrent)                    306.4 lpm   (60.1 s, 2 samples)
System Call Overhead                         939599.9 lps   (10.0 s, 7 samples)

System Benchmarks Index Values               BASELINE       RESULT    INDEX
Dhrystone 2 using register variables         116700.0    3204338.8    274.6
Double-Precision Whetstone                       55.0        589.4    107.2
Execl Throughput                                 43.0       1202.5    279.7
File Copy 1024 bufsize 2000 maxblocks          3960.0     141671.5    357.8
File Copy 256 bufsize 500 maxblocks            1655.0      42030.9    254.0
File Copy 4096 bufsize 8000 maxblocks          5800.0     305172.2    526.2
Pipe Throughput                               12440.0     465093.1    373.9
Pipe-based Context Switching                   4000.0      69150.4    172.9
Process Creation                                126.0       4010.4    318.3
Shell Scripts (1 concurrent)                     42.4       1759.8    415.0
Shell Scripts (8 concurrent)                      6.0        306.4    510.7
System Call Overhead                          15000.0     939599.9    626.4
                                                                   ========
System Benchmarks Index Score                                         318.1

------------------------------------------------------------------------
Benchmark Run: 火  3月 01 2011 16:27:26 - 16:55:43
2 CPUs in system; running 2 parallel copies of tests

Dhrystone 2 using register variables        4342089.6 lps   (10.0 s, 7 samples)
Double-Precision Whetstone                     1046.2 MWIPS (10.0 s, 7 samples)
Execl Throughput                               1550.1 lps   (29.9 s, 2 samples)
File Copy 1024 bufsize 2000 maxblocks         92862.2 KBps  (30.0 s, 2 samples)
File Copy 256 bufsize 500 maxblocks           25551.8 KBps  (30.0 s, 2 samples)
File Copy 4096 bufsize 8000 maxblocks        269021.5 KBps  (30.1 s, 2 samples)
Pipe Throughput                              391993.3 lps   (10.0 s, 7 samples)
Pipe-based Context Switching                 102501.7 lps   (10.0 s, 7 samples)
Process Creation                               4495.9 lps   (30.0 s, 2 samples)
Shell Scripts (1 concurrent)                   2260.7 lpm   (60.0 s, 2 samples)
Shell Scripts (8 concurrent)                    312.3 lpm   (60.3 s, 2 samples)
System Call Overhead                        1103687.9 lps   (10.0 s, 7 samples)

System Benchmarks Index Values               BASELINE       RESULT    INDEX
Dhrystone 2 using register variables         116700.0    4342089.6    372.1
Double-Precision Whetstone                       55.0       1046.2    190.2
Execl Throughput                                 43.0       1550.1    360.5
File Copy 1024 bufsize 2000 maxblocks          3960.0      92862.2    234.5
File Copy 256 bufsize 500 maxblocks            1655.0      25551.8    154.4
File Copy 4096 bufsize 8000 maxblocks          5800.0     269021.5    463.8
Pipe Throughput                               12440.0     391993.3    315.1
Pipe-based Context Switching                   4000.0     102501.7    256.3
Process Creation                                126.0       4495.9    356.8
Shell Scripts (1 concurrent)                     42.4       2260.7    533.2
Shell Scripts (8 concurrent)                      6.0        312.3    520.5
System Call Overhead                          15000.0    1103687.9    735.8
                                                                   ========
System Benchmarks Index Score                                         341.6

 ふむふむ。
 しかし、横長のテキストが見辛くなるテーマだなこれ…。つっても最後のスコアしか見ないからいいか。←SyntaxHighlighter導入で解決。したような、してないような。

 という訳で、318.1と341.6である。
 まあ、SOHOの社内Web+CGIとWINSとSSHのサーバにする程度なら、体感では全く問題無い。
 つーか2GBに増設したメモリが激しく余り過ぎてどうしようもない(笑)。Windows 7環境に戻す時は必須ですが。でももうそんな用途は無い気もするけど。いや、別のLinux鯖とか立てる日が来たらWindows 7環境に戻すこともあり得るか。