Ubuntu14.04LTSにufwを入れてFW設定をする


準備

まずはufwをインストールする。

$sudo apt-get install ufw

ipv6まわりが挙動が怪しいのでいろいろ試した結果ipv6は外したほうが良いようだ。

/etc/default/ufw
# Set to yes to apply rules to support IPv6 (no means only IPv6 on loopback
# accepted). You will need to 'disable' and then 'enable' the firewall for
# the changes to take affect.
IPV6=no

設定

とりあえず入ってくるものは全部拒否が基本で、外部に出ていくのはOKにしておく。

$sudo ufw default deny incoming
$sudo ufw default allow outgoing

もちろんsshも許可しておいた方がいい。リモートログインで作業しててsshを許可しなかったら詰む。

$sudo ufw allow 22

ログも取るようにしておこう。

$sudo ufw logging low

とはいえlowの場合はdefault以外のルールで弾かれたものをログにとるので、上述設定では何も書かれない。sshをallowではなくlimitにしたら不正なアクセスのログがのこるかもしれない。low以外には、

  • off(完全に無効)
  • medium(流量制御ありでallow・denyにマッチしたもの+不正なパケット+新しいコネクションを出力。デフォルト値)
  • high(mediumの流量制御なし版)
  • full(すべてのログを記録)

とりあえず早速ufwを有効にする。

$sudo ufw enable

以下のようにufwの状態を確認することが出来る。

user@localhost:~$sudo ufw status
状態: アクティブ

To                         Action      From
--                         ------      ----
22                         ALLOW       Anywhere
80                         ALLOW       Anywhere

上記例ではssh以外にもhttpも許可している。

その他

なぜかこの設定後apt-get updateができなくなった。どうもipv6のアクセスが出来ない(?)ようだった。調べたら以下のように/etc/gai.confに記載を追加すると良い。

/etc/gai.conf
# 最後に追記
precedence ::ffff:0:0/96  100

記載完了後システムをrebootするとFWも順調に動作しapt-getも問題ない。