【奇技淫巧】Linux | 安全保障防火墙-iptables

虽然说Linux在安全方面确实相当于windows要更加可靠一些,但一般使用其作为服务器的我们,也不能大意,也是需要严格限制网络传输过程中的出入规则。上篇文章我们有聊到统计网络的信息,这篇文章来学习一下比较著名的防火墙iptables,它已经有十几年的历史了,算是不折不扣的Linux系统的功臣。

一、命令介绍

iptables 命令可以制定一些规则,规定其它电脑可以使用哪些端口来连接你的电脑(对应入),以及你的电脑可以连接哪些端口(对应出),如果粒度更细,甚至也可以通过 IP 地址来进行过滤。

Linux-Firewall-rules.jpg

比较常见的操作有,拦截Mysql的出入网络,那么可以用 iptables 封锁 3306 端口等。一般来说系统都会默认安装iptables,如果没有安装,安装下面的指令完成安装。 ```

in Centos

$sudo yum install iptables

in Ubuntu/Debian

$sudo apt install iptables ``` 在接下来的实际操作时,需要注意的是,使用这个命令,需要使用到root权限。

二、操作实例

iptables -L 显示所有的防火墙规则。 $iptables -L

图片.png 图上可以清晰的看到,对于我的服务器,明显防火墙规则分了好几个区域,包括: - Chain INPUT : 对应控制“进入”的网络传输的规则 - Chain FORWARD : 对应控制“转发”的网络传输的规则 - Chain OUTPUT : 对应控制“出去”的网络传输的规则 - Chain DOCKER : 对应控制Docker的网络传输的规则,包括其它以Docker开头的块区域,都是Docker具体细分的规则,比如用户,隔离等等。
这个命令让我们认识到了目前的防火墙过滤的规则,那么我们CRUD这些规则呢?

清除所有的规则 $iptables -F $iptables -X $iptables -Z 屏蔽IP ```

屏蔽单个 IP

$iptables -I INPUT -s 121.45.6.7 -j DROP

封整个段

$iptables -I INPUT -s 121.0.0.0/8 -j DROP **删除指定规则**

将所有 iptables 以序号标记显示

$iptables -L -n --line-numbers

执行删除 INPUT 里序号为 10 的规则

$iptables -D INPUT 10 ``` 其功能很强大,可以阅读官方语法深入操作。

三、扩展

在使用过程中,iptables 的配置和使用规则相当繁复,普通用户学习成本上是相当的高。另外一个命令可以帮助到我们,那就是UFW(Uncomplicated Firewall),顾名思义,就是简单的防火墙。很多Linux的发行版本并不支持,可以去官方UFW去学习使用。 进一步说,如果你的系统支持图形界面,建议使用GUFWiptables已经有这么多年的历史了,从 Linux 3.13 开始,官方实际上已经推出了新的命令nftables以取代前者,这个新命令是新的防火墙子系统 / 包过滤引擎,提供了一个更简单的 Kernel ABI (Application Binary Interface),减少重复代码,改进错误报告,更有效支持过滤规则。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值