ufwの最小限設定について

投稿者: | 2018年2月21日

ufwをインストールした後、とりあえずステータスを見る。当然ながら、まだ何も動いていない。

# ufw status
 Status: inactive

ここで注意したいのは、ここでいきなりufwを動かすと、コンソールから入っているなら問題はないが、ネットワーク経由でsshを使っている場合、そのコネクションも、あたりまえといえばあたりまえだが、すっぱり切れる。なのでここではsshのポート番号22は確保しておく。デフォルトではIPv4だけなくIPv6のポートにも設定がつく。

# ufw allow 22
 Rules updated
 Rules updated (v6)

これで22番ポートはパケットが通過するようになる。とりあえずこれでsshで接続しているのは切られることはない。DNSのパケットを通過させないとホスト名・ドメイン名を使ってインターネットに接続するのに大変なので、それも通過させておく。

# ufw allow domain
 Rule added
 Rule added (v6)

ただしsshのプロトコルを標準の22から任意の番号に変更して運用している人は、そのポート番号を設定しなければならないのを忘れないようにする。sshが切れる可能性を警告してくれ、ユーザの確認を待つ程度のことはしているのでよく確認してyを入力すること。

# ufw enable
 Command may disrupt existing ssh connections. Proceed with operation (y|n)? y
 Firewall is active and enabled on system startup

これでuwfのファイアウォールが動き始める。

コマンド iptables に引数 -L を与えて表示させれば、どういう具合にiptablesが設定されているか表示されるが、大量の表示なのでわかりづらいかも知れない。

# ufw status
 Status: active

To Action From
 -- ------ ----
 22 ALLOW Anywhere
 53 ALLOW Anywhere
 22 (v6) ALLOW Anywhere (v6)
 53 (v6) ALLOW Anywhere (v6)

ポート番号22番と53番が通過となっているのが確認できる。httpとhttpsのパケットを通過させる時は次のようにおこなう。

 # ufw allow http
 # ufw allow https

ファイアウォールをオフにする。オプション名は disable とする。その後statusを確認してみる。

# ufw disable
 Firewall stopped and disabled on system startup
 # ufw status
 Status: inactive

 

ファイアウォールのエントリーを削除したい時、statusで表示されている順番で上から数えたエントリーをオプション delete で削除することが出来る。

v6のエントリーを必要としないので削除する、というケースを想定する。その場合のオプションはdeleteである。22(v6)を消す場合、上から数えて3番目なのでdelete 3となる。

 

# ufw status
 Status: active

To Action From
 -- ------ ----
 22 ALLOW Anywhere
 53 ALLOW Anywhere
 22 (v6) ALLOW Anywhere (v6)
 53 (v6) ALLOW Anywhere (v6)
# ufw delete 3
 Deleting:
 allow 22
 Proceed with operation (y|n)? y
 Rule deleted (v6)

このようにインタラクティブに消すことになる。尚、ここでv6のエントリーを消しているのはあくまでも使い方の説明のためである。IPv6の設定はIPv4に悪影響を与えないはずので、そのまま残しておいて問題は発生しないだろう。もし気になるのなら/etc/default/ufwの中にIPv6の設定があるので、そこを次のように変更すればよい。

IPV6=no
FacebooktwitterpinterestlinkedinmailFacebooktwitterpinterestlinkedinmailby feather