Ufw 是为了使linux防火墙更易于使用和管理,通常已默认安装。ufw与其它linux类防火墙一样,使用iptable作为后台。
1、安装方法:
Ufw 是为了使linux防火墙更易于使用和管理,通常已默认安装。ufw与其它linux类防火墙一样,使用iptable作为后台。
1、安装方法:
sudo apt-get install ufw
2、启动和简单配置(一般用户足矣)
sudo ufw enable
sudo ufw default deny
命令解释:开启了防火墙并随系统启动同时关闭所有外部对本机的访问(本机访问外部正常)。这样设置已经很安全,如果有特殊需要,可以使用sudo ufw allow开启相应服务。
3、关闭防火墙
sudo ufw disable
4、查看防火墙状态
sudo ufw status
5、开启/禁用相应端口或服务(举例说明)
sudo ufw allow 80 允许外部访问本机80端口sudo ufw delete allow 80 禁止外部访问本机80 端口sudo ufw allow from 192.168.1.1 允许此IP访问所有的本机端口sudo ufw deny smtp 禁止外部访问smtp服务sudo ufw delete allow smtp 删除上面建立的某条规则sudo ufw deny proto tcp from 10.0.0.0/8 to 192.168.0.1 port 要拒绝所有的流量从TCP的10.0.0.0/8 到端口22的地址192.168.0.1
可以允许所有RFC1918网络(局域网/无线局域网的)访问这个主机(/8,/16,/12是一种网络分级):
sudo ufw allow from 10.0.0.0/8sudo ufw allow from 172.16.0.0/12sudo ufw allow from 192.168.0.0/16
6、更详细的说明
[]是代表可选内容。可能需要root权限,如无法运行,请使用 sudo ufw……的命令结构。" "中的内容不能照抄,要按需要更改。
ufw [--dry-run] enable|disable|reload 命令[--试运行]激活|关闭|重新载入ufw [--dry-run] default allow|deny|reject [incoming|outgoing] 命令[--试运行]默认 允许|阻止|拒绝 [访问本机的规则|向外访问的规则]
注:reject让访问者知道数据被拒绝(回馈拒绝信息)。deny则直接丢弃访问数据,访问者不知道是访问被拒绝还是不存在该主机。
ufw [--dry-run] logging on|off|LEVEL 命令[--试运行]日志 开启|关闭|“级别”ufw [--dry-run] reset 命令[--试运行]复位ufw [--dry-run] status [verbose|numbered] 命令[--试运行]状态 [详细|被编号的规则]ufw [--dry-run] show REPORT 命令[--试运行]显示 “报告类型”ufw [--dry-run] [delete] [insert NUM] allow|deny|reject|limit [in|out][log|log-all] PORT[/protocol] 命令[--试运行][删除] [插到“x号规则”之前] 允许|阻止|拒绝|限制 [进|出] [记录新连接|记录所有数据包] “端口” [/“协议”]ufw [--dry-run] [delete] [insert NUM] allow|deny|reject|limit [in|out on INTERFACE] [log|log-all] [proto protocol] [from ADDRESS [port PORT]] [to ADDRESS [port PORT]] 命令 [--试运行][删除][插到x号规则之前] 允许|阻止|拒绝|限制 [进|出 基于“什么网络设备”] [协议 “协议”] [来源 “地址” [端口 “端口”]] [目标 “地址” [端口 “端口”]]ufw [--dry-run] delete NUM 命令[--试运行] 删除 “第X号规则”ufw [--dry-run] app list|info|default|update 命令 [--试运行] 程序 清单|信息|默认|更新
参数
规则示例
ufw allow 53 允许其它机子访问本机53端口,协议包含tcp和udp。
ufw allow 25/tcp 允许其它机子使用tcp协议访问25端口。
ufw allow smtp
ufw allow in http ufw reject out smtp ufw deny out to 192.168.1.1 阻止向192.168.1.1发送信息
ufw deny proto tcp to any port 80 阻止本机用tcp协议在80端口发数据 ufw deny proto tcp from 10.0.0.0/8 to 192.168.0.1 port 25 This will deny all traffic from the RFC1918 Class A network to tcp port 25 with the address 192.168.0.1.(这条命令目前无法翻译 from 和 to的关系,希望后来者更改)
ufw deny proto tcp from 2001:db8::/32 to any port 25 阻止IPv6为2001:db8::/32类型的地址,连接本机25端口
ufw allow proto tcp from any to any port 80,443,8080:8090 此例,“输入端口号”字符数为4个。
ufw limit ssh/tcp
ufw reject auth
ufw allow in on eth0 to any port 80 proto tcp
ufw deny 80/tcp 要删除这条命令建立的规则,使用: ufw delete deny 80/tcp
当然,也可以使用规则号来进行删除。比如要第3号规则 ufw delete 3
注意,如果你开启IPv6功能。要同时删除IPv4和IPv6的规则(比如:ufw allow 22/tcp),如果用规则号的方式删除可能只删除了一个。
ufw status numbered(也就是规则号)
ufw allow log 22/tcp
更多内容看“日志”一节
特殊例子: 允许RFC1918网络结构访问本机:
ufw allow from 10.0.0.0/8 ufw allow from 172.16.0.0/12 ufw allow from 192.168.0.0/16
最后一条经过测试,范围大约是192.168.0.0~192.168.225.225。当然,涉及很多专业知识,希望有人补充。 远程管理 此章节还未被编辑 应用程序集成管理
ufw app list
ufw allow <程序名字> ufw allow CUPS ufw allow from 192.168.0.0/16 to any app <程序名字> 注意,端口号已经被程序名所对应的策略所包括,不要再重新列举端口号。
ufw app into <程序名字> 注意:程序名字是清单上有的才行。程序名字改用用all,可以看全部策略。
ufw app update <程序名字> 程序名字改用用all,则更新整个清单。
ufw app update --add-new <程序名字>
注意:update --add-new参数的行为由此命令配置: ufw app default skip|allow|deny 默认是skip,也就是没有设定。
警告:如果程序规则设定为default allow ,将会引起很大的风险。请三思而后行! 日志 ufw支持许多日志级别。默认是低级(low),用户也可以自己指定:
ufw logging on|off|low|medium|high|full
medium级别及更上级会记录许多内容,有可能短时间内撑爆你的硬盘。特别是用在服务器一类的机器上。 on与off只是起开关作用,不代表级别。
转载自:Ubuntu Wiki