FreeBSD9



さくらVPSのサーバを新たに借りた。
従来のサーバは石狩リージョンなのだが、DoS攻撃による停止時間が長くてどうしようもない。
さくらのサポートはメールの返事もロクにくれない感じで話にならない。
表向きの停止時間は短いのだが実際には数時間から十数時間も止まる。
さくら側は対策を講じる気配がないので仕方ない、別のサーバを立てて切り替える事にする。
DNSの反映時間を考慮したとしてもダウンタイムは短くできるはずだ。
なお切り替えをどうするかなどは別途記述の予定である。

今回のFreeBSDのバージョンは9.2である。
前回とは勝手が少々異なるのでインストールメモを残しておく。

前回のインストールでは何をどう頑張ってもImage Magickのインストールが出来なかった。
XML RSSもPerl5.1.8ではインストール出来ずに5.1.6に戻した経緯がある。
まず最初にこのあたりのチェックから始める。

portsを最新版にするために以下のコマンドを打ち込む。

# portsnap fetch && portsnap extract && portsnap update

Perlは5.1.8を入れてみる事にする。

cd /usr/ports/lang/perl5.1.8
make install

そしてXML RSSが入るかどうか試す。

cpam[1]> install XML RSS

関連モジュールなどのロードとインストールが続き、難なく入ってしまった。
前回のあの苦労は何だったんだという感じ。

次はこれも前回苦労したImageMagickのインストールを行う。

cd /usr/ports/graphics/ImageMagick-nonX11
make config
make install

Image MagickはImageMagickと同時に(Perlオプションをイネーブルに、デフォルトでそうなっている)インストールされるので何ら問題はない。
これも前回の苦労が嘘のようにインストール出来た。
他のPerlモジュールもCPANでどんどん入れていくが、こちらも引っかかることなくインストールが完了した。
Perlが5.1.8になったからかTimeLocal.plが無くなった。
これはPerl5.1.6に入っていたものをそのまま持ってきた。
Jcodeその他のバージョンによる影響はFreeBSD9.0の時と同様なので慣れたものだ。
インストールメモとして残しておこうと書き始めたものの、実際の作業が思ったよりすんなり行ってしまったので書くことが無くなった。

サーバを2台にしてどう制御するのかは悩ましい。
本来であれば石狩が停止した時にDNSを切り替えて東京のサーバが見られるようにするのが良い。
しかしDNSには情報の寿命というものがあるので、それを極端に短くすることは出来ない。
ラウンドロビンによる負荷分散策もあるがBBSの書き込みデータやblogのコメント欄などがまったく対象に、つまりミラーサーバとして動作しているわけではないのが悩みどころだ。

別にデータベースサーバを立ててデータの一元化を行えばいいのだが、東京と石狩ではLAN接続が出来ない。
と言うことはDoS攻撃対象にもなり得るのでデータベースサーバが死ぬことだってある。
結局さくらVPSが攻撃に対して弱すぎるというのが最大の問題なのだ。

そもそも攻撃による停止時間が短ければ東京サーバを借りることもなかったわけで、結局高額なものに付いてしまう。
さくらはサポート体制も今ひとつで、DoS攻撃対策はサーバで行えと言うスタンスだ。
ではサーバ側で何が出来るのかというとそれも限定的であり、しかも攻撃時にはルータで遮断されてしまうのでサーバ云々の話ではない。
攻撃が続くとサーバの負荷は多少は上がるがHTTP等への攻撃は対処しているので殆ど影響はない。
サーバで対処しろと言いながらルータで遮断し、その時間が数時間か多重数時間に及ぶことがあるのが問題なのだ。

せっかくサーバが2台になったのでF&F情報メール送信の信頼性向上は考えている。
双方のサーバを相互に監視して、片側からの応答が無くなったらもう一方が情報送信をする仕組みの導入だ。
これは簡単な事なのでいくつかの制御を加えれば実装出来る。
試用期間中はDNS登録に制限があるのでメール送信が出来ないが、本契約後にはトライしようかと思っている。

データの同期はrsyncを使用している。
他にも方法はあるが差分同期(正確には同期ではなくコピー)なのでトラフィックは少なくできる。
これを双方から仕掛ければ…
なんて事も考えて、それなら本当の同期になるかなとも思うが危険かも。
その他東京リージョンサーバの話はこちらに書いている。