每天进步一点点:UFW简单使用(三)

in cn •  5 years ago 

在之前的两篇文章中,我学习了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!

Authors get paid when people like you upvote their post.
If you enjoyed what you read here, create your account today and start earning FREE STEEM!
Sort Order:  

Thank you so much for participating in the Partiko Delegation Plan Round 1! We really appreciate your support! As part of the delegation benefits, we just gave you a 3.01% upvote! Together, let’s change the world!