Ubuntu 16.04.5下的UFW防火墙 常用命令 使用方法 经验

《Ubuntu 16.04.5下的UFW防火墙 常用命令 使用方法 经验》

文档大纲

一)Ubuntu 16.04.5上使用UFW防火墙
1)启用ufw
2)确认IPV6已启用保护
3)检查UFW状态和规则 的三种方法
4)规则的设置
   4.1)设置默认策略
   4.2)常用设置----允许SSH连接
5)特殊/特定/特别的用法
   5.1)插入某中规则
   5.2)Limit用法
   5.3)特定端口范围。
   5.4)特定IP地址
   5.5)子网规则
   5.6)连接到特定的网络接口
   5.7)应用程序集成管理
6)拒绝连接
7) 删除规则
   7.1)查询/显示规则的集中方法
   7.2)按规则的编号删除
   7.3)按实际规则删除
   7.4)按端口号删除
8)加载规则、禁用规则、启用规则、或重置UFW
9)日志

二)常见语法及中文含义;参数
1)常见语法及中文含义
2)参数

三)参考文章

 

------------------------------------------------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------------------------------------------


Ubuntu 16.04.5上使用UFW防火墙

1)启用ufw
# sudo apt-get install ufw  # 不用执行,Ubuntu 16.04.5默认安装未启用。
# sudo ufw enable   # 启用

2)确认IPV6已启用保护
确保ufw下,IPv6启用防火墙
# sudo vim /etc/default/ufw  # 确认line7
    ...
    IPV6=yes
    ...

3)检查UFW状态和规则 的三种方法
  # sudo ufw status   # 显示规则
  # sudo ufw status numbered  # 显示规则 - 带编号
  # sudo ufw status verbose  # 显示规则 - 比status多了日志、默认规则等信息

4)规则的设置
4.1)设置默认策略
  # sudo ufw default deny incoming # 默认“禁止”外部向内部的访问连接
  # sudo ufw default allow outgoing # 默认“开启”内部向外部的访问连接

4.2)常用设置----允许SSH连接
  # sudo ufw allow ssh
    或 # sudo ufw allow 22

  # sudo ufw allow http
    或 # sudo ufw allow 80

  # sudo ufw allow https
    或 # sudo ufw allow 443

  # sudo ufw allow ftp
    或 # sudo ufw allow 21/tcp

  # sudo ufw allow proto tcp from any to any port 80,443,8080:8090 # 连续例举端口号(端口号间必须使用逗号或分号,不能使用空格)
    注意:“输入端口号”字符数最多不能超过15过(8080:8090算两个字符)。比如允许80,443,8080~8090这几个端口接受tcp传入连接。

5)特殊/特定/特别的用法
5.1)插入某中规则
  # sudo ufw insert 2 allow|deny|reject http # 在第2条规则前,插入某规则

5.2)Limit用法
  # sudo ufw limit ssh    # 限制ssh的异常连接
  # sudo ufw insert 2 limit ssh   # 在第2条规则前,插入限制ssh的\连接
    对连接数率进行限制,以防范暴力登录攻击。如果同一个IP地址在30秒之内进行了6次及6次以上的连接,ufw将阻止(deny)该连接。

5.3)特定端口范围。注意:UFW指定端口范围时,必须指定规则应应用于的协议( tcp或udp )。
  # sudo ufw allow 6000:6007/tcp  # 一些应用程序使用多个端口,而不是单个端口。注意:UFW指定端口范围时,必须指定规则应应用于的协议( tcp或udp )。
  # sudo ufw allow 6000:6007/udp  # 一些应用程序使用多个端口,而不是单个端口。注意:UFW指定端口范围时,必须指定规则应应用于的协议( tcp或udp )。

5.4)特定IP地址
  # sudo ufw allow from 15.61.17.81   # 白名单:指定IP的连接
  # sudo ufw allow from 15.15.15.51 to any port 22 # 白名单:指定IP连接到指定的22端口

5.5)子网规则(使用CIDR表示法来指定网络掩码。)
  # sudo ufw allow from 15.15.15.0/24   # 允许IP地址范围从15.15.15.1到15.15.15.254的连接
  # sudo ufw allow from 15.15.15.0/24 to any port 22 # 允许IP地址范围从15.15.15.1到15.15.15.254连接到22端口
  # sudo ufw allow from 10.0.0.0/8
  # sudo ufw allow from 172.16.0.0/12
  # sudo ufw allow from 192.168.0.0/16

5.6)连接到特定的网络接口
  # ip addr  # 查看网卡名称
  # sudo ufw allow in on eth0 to any port 80 # 网卡eth0可访问80端口
  # sudo ufw allow in on eth1 to any port 3306 # 网卡eth1可访问3306端口

5.7)应用程序集成管理        注:本人未测试过6.5,建议虚拟机测试下。
  # sudo ufw app list     # ufw从 /etc/ufw/applications.d. 中读取应用程序清单。
  # sudo ufw app all   # 查看所以程序名所对应的策略内容
  # sudo ufw app into <程序名字> # 查看程序名所对应的策略内容

  # sudo ufw allow <程序名字>
  # sudo ufw allow CUPS
  # sudo ufw allow from 192.168.0.0/16 to any app <程序名字>
    注意,端口号已经被程序名所对应的策略所包括,不要再重新列举端口号。

  # sudo ufw app update <程序名字>  # 当编辑或者增加了程序清单,更新防火墙
  # sudo ufw app update all   # all,更新整个清单
  # sudo ufw app update --add-new <程序名字> # 更新清单,同时增加规则
    注意:update --add-new参数的行为由此命令配置:ufw app default skip|allow|deny     默认是skip,也就是没有设定。

6)拒绝连接
# sudo ufw deny http   # 拒绝访问http的连接
# sudo ufw deny from 15.61.17.81 # 拒绝来自IP(15.61.17.81)的所有连接

7) 删除规则
7.1)查询/显示规则的集中方法
  # sudo ufw status   # 显示规则
  # sudo ufw status numbered  # 显示规则 - 带编号
  # sudo ufw status verbose  # 显示规则 - 比status多了日志、默认规则等信息

7.2)按规则的编号删除
  # sudo ufw delete 2   # 删除第2条规则。注意,执行后原第3条自动变为第2条。注意,如果启用了IPv6,则也要删除相应的IPv6规则。

7.3)按实际规则删除
  # sudo ufw delete allow http

7.4)按端口号删除
  # sudo ufw delete allow 80

8)加载规则、禁用规则、启用规则、或重置UFW
  # sudo ufw reload # 重新加载ufw规则
  # sudo ufw disable # 禁用ufw
  # sudo ufw enable # 启用ufw
  # sudo ufw reset # 慎用:清楚/重置规则

9)日志
  # suwo ufw logging on|off|low|medium|high|full
    注:ufw支持许多日志级别。默认是低级(low),
    on      开启日志
    off     关闭日志
    low     记录与默认策略冲突的封装数据包(记录速度被限制)。记录与规则符合的数据包(没有要求关闭记录的)
    medium  记录与默认策略冲突的数据包(包括被规则允许的)、无效数据包、所有新连接。记录速度被限制。
    high    同medium,只是没有记录速度限制。附加记录所有数据包(有记录速度限制)。
    full    与high等同,只是取消记录限制。

------------------------------------------------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------------------------------------------

二)常见语法及中文含义;参数

[]是代表可选内容。可能需要root权限,如无法运行,请使用 sudo ufw……的命令结构。“”中的内容不能照抄,要按需要更改。

1)常见语法及中文含意
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
  命令 [--试运行] 程序 清单|信息|默认|更新

2)参数
--version
  显示程序版本号

-h , --help
  显示帮助信息

--dry-run
  不实际运行,只是把涉及的更改显示出来。

enable
  激活防火墙,开机时自动启动

disable
  关闭防火墙,开机时不启动

reload
  重新载入防火墙

default allow|deny|reject 方向
  方向是指:向内(incoming)|向外(outgoing)。如果更改了默认策略,一些已经存在的规则可能需要手动修改。更多内容看“规则示例”一节。

logging on|off|“级别”
  切换日志状态。日志记录包使用的是系统日志。“级别”有好几个,默认是低级(low)。详细内容看“日志”一节。

reset [--force]
  关闭防火墙,并复位至初始安装状态。如果使用--force选项,则忽略确认提示。

status
  显示防火墙的状态和已经设定的规则。使用status verbose显示更详细的信息。‘anywhere’与‘any’、‘0.0.0.0/0’一个意思。

show “报告类型”
  显示防火墙运行信息。详细内容看“报告类型”

limit “规则”
  此命令目前只能用于IPv4。还不支持IPv6.

------------------------------------------------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------------------------------------------

三)参考文章

https://www.howtoing.com/how-to-set-up-a-firewall-with-ufw-on-ubuntu-16-04/

https://www.oschina.net/question/12_28619

 

 

你可能感兴趣的:(ufw,ubuntu)