2012年10月14日

Ubuntu の Firewall ツール UFW メモ

概要

Ubuntuでは通常Firewallの設定をする場合、「UFW(Uncomplicated Firewall)」を利用した方が簡単。
UFW は iptables のラッパで、基本的な事は ufw コマンドから設定することができる。

マニュアル

基本は「man ufw」と「UFW(Uncomplicated Firewall)」を参照すると良い。

設定ファイル

Ubuntuのバージョンによって多少設定ファイルのディレクトリが異なる。
ufwコマンドにて設定された値は「/lib/ufw」もしくは「/var/lib/ufw」以下の「user.rules」に保存される。
ufwコマンドで設定できない項目は「/etc/ufw」以下のファイルで設定する。

ufwコマンドで設定可能な項目

ufwコマンドでは「allow」、「deny」、「reject」、「limit」しか設定できない。「hashlimit」等を設定したい場合は、「/etc/ufw/before.rules」等に設定する。

ufwコマンドの使い方

「man ufw」と本家のマニュアル「UFW(Uncomplicated Firewall)」でほとんどわかる。
注意点は ufw で設定した物は設定順に読まれるという事。例えば「deny」して「allow」すると、「allow」が有効にならない。「ufw status numbered」にて順番を確認すること。
順番が意図と異なる場合は一度削除して、設定しなおす必要がある。
ufw を再有効(ufw enable)しないかぎり、すぐに反映されるわけではない。

ufwコマンドのサンプル

例えば SSH の設定は以下のようににすると、IPを特定からのアクセスに制限し、その他を拒否する。

sudo ufw allow from 192.0.2.178 to any port ssh
sudo ufw deny 22/tcp

DNS の port 53 を空けておかないと名前解決できないかも。

sudo ufw allow 53/tcp
sudo ufw allow 53/udp

「/etc/ufw/after.rules 」の「COMMIT」の前に以下を記述しとかないと、DNS解決できない。

-A ufw-after-input -m state --state ESTABLISHED,RELATED -j ACCEPT

設定内容の確認

以下のコマンドで確認できる。

# 概要
sudo ufw status

# iptables 形式
sudo ufw show raw

参考サイト

ufw コマンドの使い方は本家マニュアル参照。before とかの書き方は iptables の書き方なので、別途学習が必要。

blog comments powered by Disqus