自宅サーバ構築時のメモ(ポート設定編)

やっとこさルータのポート設定。以前のエントリの通り、必要なポートだけ空けてそれ以外のポートは閉じることとします。

■とはいえ

必要なポートだけを空けるってのは実は難しいです。なぜなら、自分が意識しないところで動いているサービスが通信のためにポートを使ってるかもしれないからです。ということで、ここは自分で調べるのをあきらめて先人の知恵を借りる事にします。

■結果

参考になりそうなページがいろいろ見つかりました。

BA8000の設定例

必要なポートだけ開放してそれ以外は遮断という設定を実践しています。それに加えて危険なポートを明示的に遮断しているのが特徴ですね。それぞれのポートの意味は以下のページに書いてあります。

ポートスキャン対策
OSのセキュリティ設定・不要ポートの停止|Windows2000とApache2

これらのポートは特に狙われやすい箇所なので、何かの間違いで開放してしまわないように設定しておくんですね。へー。

これ以外のポートが狙われないとはかぎらないけど、怪しいポートが見つかり次第防いでいけばいいんじゃないかな。それにセキュリティなんてほとんど気にしなくて良い!ってどこかの誰かが言ってたし!(開きなおり)

■ip-tablesの設定

これもルータと同じ設定…にしてはいけません。自宅からサーバ管理するときはVPN経由ではなく直接サーバにアクセスするので、使用するアプリのポートは空けておく必要があります。

具体的な設定はLinux/iptablesでルータを作る – Dream-Seed -Wiki版-iptables・設定・ファイアウォール・セキュリティを見てもらえばOK。前者は設定をシェルスクリプトを作成して一気に適用、後者はコンソールから1つずつ適用しています。単純な設定なら後者で十分ですが、作業記録を残すという意味でも前者の方がいいでしょう。

設定が終われば

/etc/rc.d/init.d/iptables save

で保存すると、/etc/sysconfig/iptablesという設定ファイルが生成されます。これを直接編集してもいいのですが、iptablesコマンド1つで消えてしまう可能性があるのでやめた方が無難だと判断します。

iptablesも匠の域に達すればNAPTからネットワーク負荷分散までいろいろ設定できるらしいんですけどね…。まぁ必要ない機能を勉強しても身につかないので今回はスルーします。

その他参考リンク

  • iptables(5つのチェインの説明が図で書かれていて分かりやすい)
  • Manpage of IPTABLES(man iptablesの説明文)