Ubuntu ufwでのiptablesの設定
ufwについて
ubuntuにはiptablesでの設定を簡単に行えるようにしたufwというツールがあり、
iptablesを生で使うより簡単に設定が行えるようになっている。
また、iptablesで設定する基本的なルールがある程度用意されているようである。
GUIの設定ツールなどもある。
設定ファイル
/etc/ufw: sysctl.conf -> IPフォワーディング等のkernelパラメータの設定 ufw.conf -> ufwの有効化やログレベルの設定 before.rules -> おそらくカスタムルールの前に評価するチェーンなどの登録設定 before6.rules -> 上記と同じ、ipv6用 after.rules -> おそらくカスタムルールの後に評価するチェーンなどの登録設定 after6.rules -> 上記と同じ、ipv6用 applications.d -> アプリケーション名に応じた使用ポート等の情報が入っている。 おそらくパッケージを入れるとここにファイルが追加される形であろう。 /etc/ufw/applications.d: openssh-server -> OpenSSHが利用するポートが書かれている /lib/ufw: user.rules -> ユーザーのカスタムルールが格納される user6.rules -> 上記と同じ、ipv6用
ルールの追加
$ sudo ufw allow ssh
とすると、/etc/ufw/user.rulesに
### tuple ### allow any 22 0.0.0.0/0 any 0.0.0.0/0 in -A ufw-user-input -p tcp --dport 22 -j ACCEPT -A ufw-user-input -p udp --dport 22 -j ACCEPT
と追加された。
/etc/ufw/applications.dに設定が入っているアプリケーションであれば以下のように登録出来る
$ sudo ufw allow OpenSSH
### tuple ### allow tcp 22 0.0.0.0/0 any 0.0.0.0/0 OpenSSH - in -A ufw-user-input -p tcp --dport 22 -j ACCEPT -m comment --comment 'dapp_OpenSSH'
Firewall ON/OFF
$ sudo ufw enable
$ sudo ufw disable
で ON/OFF 出来ます。
sshのルールを追加していることを確認してから実行
$ sudo ufw enable Command may disrupt existing ssh connections. Proceed with operation (y|n)?
脅しが入ります。yで進むと適用されます。
Firewall is active and enabled on system startup
$ sudo iptables -L -v
するとルールが表示されますが長すぎて読む気になりませんw
$ sudo ufw status verbose
するとわかりやすいです。
Status: active Logging: on (low) Default: deny (incoming), allow (outgoing) New profiles: skip To Action From -- ------ ---- 22/tcp (OpenSSH) ALLOW IN Anywhere
しかしこのルールの一覧はufw enableにしていないと見れないので注意
こんな使い方をする
$ sudo ufw allow from 10.0.0.0/8 to any app OpenSSH
と入れると
### tuple ### allow tcp 22 0.0.0.0/0 any 10.0.0.0/8 OpenSSH - in -A ufw-user-input -p tcp --dport 22 -s 10.0.0.0/8 -j ACCEPT -m comment --comment 'dapp_OpenSSH'
と設定が追加されるようです。