Version 10 (modified by mitty, 16 years ago) (diff) |
---|
ufw
- Uncomplicated Firewall
- iptablesのラッパー
- /usr/sbin/ufw: python script text executable
設定ファイル
- /etc/default/ufw
- ip6tablesのon/off、「ufw default deny/allow」による設定(iptables -P INPUT ACCEPT/DROPに対応)、下の/etc/ufw/sysctl.confの指定など
- /etc/ufw/ufw.conf
- ufw の 有効/無効
- /etc/ufw/sysctl.conf
- sysctl settings
- /etc/ufw/*.rules
- uwf コマンドで変更できない設定
- iptables-save/restore 形式
- /var/lib/ufw/user*.rules
- uwf コマンドで変更できる設定
- iptables-save/restore 形式
chain の適用順
- /etc/ufw/before(6).rules にあるchainが適用される
- /var/lib/ufw/user(6).rules にあるchainが適用される
- /etc/ufw/after(6).rules にあるchainが適用される
/etc/init.d/ufw
- 大まかな流れ (IPv6=noの場合)
- modprobe $IPT_MODULES <- /etc/default/ufw
- iptables -F, iptables -X で flush
- /etc/default/ufw から iptables -P INPUT/OUTPUT/FORWARD
- iptables -N ufw-before-*
- iptables -A INPUT/* ufw-before-*
- iptables-restore < /etc/ufw/before.rules
- iptables -N ufw-user-*
- iptables -A ufw-before-* ufw-user-*
- iptables-restore < /var/lib/ufw/user.rules
- iptables -A ufw-user-* -j RETURN は user.rules で定義されているので、/etc/init.d/ufwでは行わない (iptables-restoreで行われる)
- iptables -A ufw-before-* -j RETURN
- iptables -N ufw-after-*
- iptables -A INPUT/* ufw-after-*
- iptables-restore < /etc/ufw/after.rules
- iptables -A ufw-after-* -j RETURN
- sysctl $IPT_SYSCTL <- /etc/default/ufw
設定
- 細かい設定は Firewall および man ufw
- ufw enable していない状態でも、設定自体は出来るが、ufw statusが確認できない (/var/lib/ufw/user*.rules を確認することは出来る)
Firewall not loaded
- sudo ufw allow 22; sudo ufw enable; sudo ufw status
Rules updated Firewall started and enabled on system startup Firewall loaded To Action From -- ------ ---- 22:tcp ALLOW Anywhere 22:udp ALLOW Anywhere
短所
- --state などの細かい制御は対応してない模様
- /var/lib/ufw/user.rules を直接編集した場合
- 元 (ufw allow 22)
### tuple ### allow any 22 0.0.0.0/0 any 0.0.0.0/0 -A ufw-user-input -p tcp --dport 22 -j ACCEPT -A ufw-user-input -p udp --dport 22 -j ACCEPT
- 直接編集 (see also @IT:ステートフルパケットフィルタを使ったサービスの公開(4/6))
-A ufw-user-input -p tcp ! --syn -m state --state NEW -j DROP -A ufw-user-input -p tcp -m state --state NEW,ESTABLISHED,RELATED --dport 22 -j ACCEPT
- 元 (ufw allow 22)
- ufw status がおかしなことになる
To Action From -- ------ ---- Anywhere DENY Anywhere Anywhere ALLOW Anywhere
- /var/lib/ufw/user.rules を直接編集した場合
- ufw コマンドでルールを追加すると、直接編集したルールは消去される