在之前的两篇文章中,我学习了UFW的安装、设置以及简单的允许/禁止端口/协议等设置,并学习了如何查看状态以及删除规则。
(图源 :pixabay)
这篇文章中,我们来进一步学习UFW的使用。
允许/禁止来源IP
在之前的例子中,我们禁止了所有入站流量除了HTTP(80)以及SSH(22),那么这样一来任何人都可以访问我们80端口了,如果只允许指定的IP来源该如何操作呢?
sudo ufw allow from 8.8.8.8
来用sudo ufw status
查看一下状态:
禁止IP的语法基本一样,不过把allow
换成了deny
sudo ufw deny from 8.8.8.8
复杂规则
显而易见,在之前的allow
指令中我们不单单允许了8.8.8.8这个IP访问HTTPS服务,而是允许了这个IP访问我们所有的端口和服务。这显然不是我们所需要的。
这时就需要复杂的规则上场了,以allow
为例:
sudo ufw allow [proto PROTOCOL] [from ADDRESS [port PORT | app APPNAME ]] [to ADDRESS [port PORT | app APPNAME ]]
看起来很复杂是不是?不过如果知道了如下规则,阅读起来就没问题啦:
[]
代表里边的内容为可选项,亦即根据需要可有可无
|
代表分隔的内容二选其一,如果多个|
,那么就是N选其一。
有了这个命令在写一些复杂的功能就好办了,比如我们只允许来自8.8.8.8的用户访问我们80端口的TCP服务:
sudo ufw allow proto tcp from 8.8.8.8 to any port 80
删除之前的规则,再看一下状态,嗯,这样安全多了:
禁止的语法差不多,就不再赘述了。
备注
有这样一种可能,我们添加了某条规则后,忘记了为嘛添加,这样就比较尬尴了,好在UFW还提供了一个备注(comment)功能,大大的方便了我们,只要在规则后边加上comment COMMENT
就可以啦。
尝试如下指令:
sudo ufw allow from 8.8.4.4 comment just test
提示如下:
ERROR: Wrong number of arguments
也就是just test被它识别做两个参数,所以参数的数目不对,要解决这个问题有两个方法,一是不带空格,比如:
sudo ufw allow from 8.8.4.4 comment justtest
查看状态,这条规则显示如下,虽然能看懂,但是感觉有点不舒服:
所以我更倾向于另外一种方式,用单引号或者双引号把注释内容包起来:
sudo ufw allow from 8.8.4.4 comment "just test"
查看状态,这条规则显示如下,舒服多了。
其它
其实UFW还有很多强大的功能,比如是说日志(LOGGING)以及报告(REPORTS)等诸多功能,还有什么按数字调整规则顺序啊、限速(limit)啊、路由(route)功能啊。
不过既然是UFW简单使用,我就不过多讲述了(其实我也讲不懂),感兴趣的朋友参考文末参考链接吧。
现在我学这三篇涉及的功能,已经可以满足我的需求了,如此足矣。
相关链接
Vote For Me As Witness
https://steemit.com/~witnesses type in oflyhigh
and click VOTE
Vote @oflyhigh via Steemconnect
Thank you!
This page is synchronized from the post: ‘每天进步一点点:UFW简单使用(三)’