さくらのVPSでshorewall

さて、このブログは「曖昧スラッシュ」と申します。
曖昧スラッシュ
そんなのは先頭に書いてあるから分かりますわな。
そしてDTIのVPSを使っています。
VPSならDTI|月額467円(税抜) メモリ1GB|ServersMan@VPS
そんなん知らんわな。ってか興味ないよね。
まー、長らくDTIのVPSを使ってきたんだけど、アップグレード権あるものの申し込んでから時間がかかるとかバックアップめんどくさいとか色々あって、どうせならってことで別のサーバへ移行してみることにしたのです。で、構築中なのがさくらのVPSです。
VPS(仮想専用サーバ)のさくらインターネット
数あるサービスからさくらを選択した理由は、なんだろうな、石狩にデータセンターがあるからかな。道民として。でも、あそこは当初の期待ほど雇用を生み出してないらしい、なんて話もある。実際どうなんだろうね。
あと、費用的なところも多少は考えたけど、どこも似たような価格だし、飛びぬけて安いところはないので決め手にはならず。Amazon EC2とかは高いね。個人で上げっぱなしにするのには向かない。一時的な利用に限ると思う。負荷に応じてEC2へ逃がす仕組みなんかも作れたらいいかも。
で、まー、そんな話はいいとして、さくらのVPSはVPSなのであってレンタルサーバです。てことはrootもらって自分で最初から組み上げる感じ。基本的なマニュアルは提供されているので、rootのパスワードを変えたり一般ユーザを作ったりってのは素人でも簡単。
お次はファイアウォールと思ったら、iptablesのマニュアルが来る。俺は分かる。でも素人にちゃんとした設定は難しいなぁ。そして俺もちゃんとした設定は面倒。暗記なんかしてない。調べるの大変。
というところで、タイトルにしているshorewallの登場です。


shoerwall ってのはこれ。
Shoreline Firewall (Shorewall)
Linuxにはiptablesっていうパケットフィルタ機能があるんだけど、そのルールを組み立ててくれるもの。ESTABLISHEDとか気にしなくていい。設定サンプルもたくさん。ipsetとかも連携できる(らしい)。ログ出力の設定も簡単。いいやつです。プロにも素人にもお勧め。
自宅ルータの設定とかにもお勧め。マスカレードとかNATとか簡単にできた(はず)。DMZの定義なんかも簡単。今回はレンタルサーバ一台なので設定は非常にシンプルでしたが、インタフェースやゾーンが増えても割とシンプルで済みます。
てなわけで、とりあえずインストール。
# yum install shorewall
後は通常通りで。
次に設定。自分が入れたのはこれだけ。まずはzones。
fw firewall
net ipv4
stub ipv4

接続されているネットワークを振り分けるゾーンを定義する。stubは捨てゾーン。
次にinterfaces。
net eth0
stub eth1
stub eth2

eth1、eth2は複数台構成に備えて付いているんだろうけど、今は使わないのでstubにしておきました。
そしてにpolicy。
$FW net ACCEPT
net all DROP info
stub all DROP info
all all REJECT info

外へは行ける、インターネットとstubからは入ってくるな、その他はないと思うけど拒否。最後もDROPでよかったかなー、なんて思いつつ、拒否。
最後にrules。
SSH(ACCEPT) net:12.34.56.78 $FW
Ping(ACCEPT) net $FW

SECTION NEWに二つのルールを追加した。IPは適当ね。これで必要なところからのSSHを許可、pingに必要なICMPはインターネット全体から許可。その他はポリシーにより無視ってことになる。
たった4ファイルで完了。素晴らしい。
ちなみに、こういう設定はネットワークがつながらなくなる恐れがあって、ちょっとしか知らない人はなかなかやる勇気が湧かなかったりするんだけど、さくらのVPSはWebからコンソール接続もできるので安心です。自分はレンタルサーバを借りるときにはコンソール接続が必須だと思っています。手が届かない分、それぐらいは届いて欲しいです。grub画面見たいです。
ってなわけで、みなさん、セキュリティはしっかり設定しましょうねー。