2015/07/25

ufw基本コマンド

デスクトップ用途ならiptablesよりお手軽そうなのでちょっとメモ。
サーバ用途でも構成が複雑ではない&若干緩くても良いなら使えそうかも。

■環境

Debian8.1 (jessie)
ufw 0.33-2

■ufw基本コマンド

●有効化

# ufw enable
外部からのアクセスはデフォルトで全て遮断するのでWebサーバやSSHサーバ類を当該機で稼動している場合、外部からアクセス不能になります。
当該機から外部へのアクセスは許可されているので、当該機からのWeb閲覧などは可能。
※iptablesで言うところのINPUT/FORWARDがDROPに、OUTPUTがACCEPTになります)

デスクトップ運用時ならこの状態でとりあえずは外部からは防護されています。
サーバ運用時は事前にSSHポートの設定をしておかないとリモートログイン不能になるので注意。※当該機の実機コンソール作業が必要になります。

●無効化

# ufw disable
全パケットが通過許可されます。
サーバ運用時は一瞬でもこの状態は危険と認識しておいた方が無難です。
※iptablesで言うところのINPUT/OUTPUT/FORWARDが全てACCEPTになります。
※iptablesのデフォルトが全許可なのでこの状態になるのだと思います、多分。

●リセット

# ufw reset
登録されているルールが消去され、ufwが無効化。全パケット許可状態
結果的にufw disaleと同じ状態になるので注意。

●デフォルトルール変更

例:外部から当該機へ接続のデフォルトポリシーを禁止にする。
とりあえずデスクトップ/サーバともにdeny推奨。
※ただし事前にSSHでのリモート接続許可ルールを追加しておかないと接続不能になるので注意。
# ufw default deny
※iptablesで言うところのOUTPUTの指定。INPUT/FORWARDの変更をしたい場合はiptablesを叩くことになる?

●SSHポート接続を許可

相手を問わず当該機へのSSHポート(22)接続開始を許可。
# ufw allow 22/tcp

●特定IPアドレスからSSHポート接続を許可

fromを使うと接続元を指定できる。
例:192.168.10.111からSSHポート(22)への接続開始を許可。
ufw allow proto tcp from 192.168.10.111 to any port 22

●特定ネットワークからSSHポート接続を許可

例:192.168.10.0/24からSSHポート(22)への接続開始を許可。
ufw allow proto tcp from 192.168.10.0/24 to any port 22

●特定ネットワークから特定アドレスへSSHポート接続を許可

当該機にNICが複数ある場合などで、1つのNICのみにSSH接続を許可したい場合。
例:192.168.10.0/24から当該機のNICアドレス192.168.10.1 SSHポート(22)への接続開始を許可。
ufw allow proto tcp from 192.168.10.0/24 to 192.168.10.1 port 22
ただしこのようなケースの場合iptablesだとeth0やeth1という風に受信I/Fを明示指定できるのでその方がよりセキュアだと思います。

●ポート範囲で指定する

外部から当該機のポート1000~2000へのTCP接続開始を許可する。
to from指定の無い省略形では「外部から当該機へ」という暗黙ルールになっている様子。
ufw allow 1000:2000/tcp
UDPの場合は以下のように。
ufw allow 1000:2000/udp

■備考

結局は簡単さとセキュアさのトレードオフ。

多くのデスクトップ用途では現状簡単に設定できる点を優位に見るかもしれないので、ufwの価値はあると思います。

サーバ用途でもおおむね設定可能だと思いますが、細かいことにこだわるとやはりiptablesを叩くことになるかもしれない。
うまく併用すると少し楽ができそうな気がします。

0 件のコメント:

コメントを投稿