至 在Linux中配置防火墙或防火墙,我们可以使用iptables,这个功能强大的工具似乎被许多用户所遗忘。 尽管还有其他方法,例如ebtables和arptables在链接级别过滤流量,或在应用程序级别过滤Squid,但是iptables在大多数情况下非常有用,可以在网络的流量和传输级别在我们的系统中实现良好的安全性。
Linux内核实现了iptables, 负责过滤数据包 在本文中,我们将教您以一种简单的方式进行配置。 简而言之,iptables可以识别哪些信息可以输入和不能输入,从而使您的团队免受潜在威胁的影响。 尽管还有其他项目,例如Firehol,Firestarter等,但其中许多防火墙程序都使用iptables ...
那么, 让我们开始工作,通过示例您将更好地理解一切 (对于这些情况,必须具有特权,因此在命令前使用sudo或成为root用户):
使用iptables的一般方法 创建过滤器策略是:
IPTABLES-参数I / O动作
其中-ARGUMENT是 我们将使用的论点,通常-P可以建立默认策略,尽管还有-L可以查看我们已配置的策略,-F可以删除创建的策略,-Z可以重置字节和数据包计数器,等等。 另一个选项是-A添加策略(默认情况下不是),-I在特定位置插入规则,以及-D删除给定规则。 还有其他一些参数指向-p协议,–sport源端口,–dport用于目标端口,-i传入接口,-o传出接口,-s源IP地址和-d目标IP地址。
此外,I / O表示是否 政治 它应用于INPUT输入,OUTPUT输出,或者是FORWARD流量重定向(还有其他功能,例如PREROUTING,POSTROUTING,但我们将不使用它们)。 最后,如果我们接受,我称为ACTION的值可以为ACCEPT,如果拒绝则为REJECT,如果消除则为DROP。 DROP和REJECT之间的区别在于,当使用REJECT拒绝数据包时,发出该数据包的机器将知道该数据包已被拒绝,但是使用DROP它将默默地执行操作,攻击者或来源不会知道发生了什么,并且不会知道我们有防火墙还是连接刚刚失败。 还有其他诸如LOG之类的东西,它们发送syslog的后续信息...
修改规则,我们可以使用首选的文本编辑器nano,gedit等来编辑iptables文件,或使用规则创建脚本(如果要覆盖它们,可以在行的前面加#来实现,通过控制台使用命令来忽略它作为注释),我们将在此处进行解释。 在Debian及其衍生产品中,您还可以使用iptables-save和iptables-restore工具...
最极端的政策是封锁一切,绝对是所有流量,但这会使我们与世隔绝,包括:
iptables -P INPUT DROP
接受一切:
iptables -P INPUT ACCEPT
如果我们想要那 我们团队的所有传出流量都被接受:
iptables -P OUTPUT ACEPT
La 另一个彻底的行动是删除所有政策 从iptables使用:
iptables -F
让我们来看看更具体的规则假设您有一个Web服务器,因此必须允许通过端口80的通信:
iptables -A INPUT -p tcp --dport 80 -j ACCEPT
如果除了以前的规则,我们还希望有一个拥有iptables的团队 仅由我们子网上的计算机看到 并没有被外部网络注意到:
iptables -A INPUT -p tcp -s 192.168.30.0/24 --dport 80 -j ACCEPT
在上一行中,我们对iptables所说的是添加规则-A,以便接受输入输入和通过端口80的TCP协议。 现在想象你要我 网页浏览被拒绝 对于通过运行iptables的计算机的本地计算机:
iptables -t filter -A FORWARD -i eth1 -o eth0 -p tcp --dport 80 DROP
我认为使用很简单,考虑到iptables每个参数的用途,我们可以添加简单的规则。 您可以执行我们想象的所有组合和规则...为了不进一步扩展自己,只需再添加一件事,那就是如果重新启动计算机,则将删除创建的策略。 这些表将重新启动,并且将像以前一样保持原来的状态,因此,一旦您正确定义了规则, 如果您想让它们永久化,则必须使它们从/etc/rc.local启动,或者如果您有Debian或衍生版本,请使用我们提供的工具(iptables-save,iptables-restore和iptables-apply)。
这是我在IPTABLES上看到的第一篇文章,尽管它很密集-需要中等水平的知识-但直接就可以了。
我建议每个人都将其用作“快速参考手册”,因为它已经精炼和说明了。 8)
我想在以后的文章中谈谈大多数linux发行版中对systemd的更改是否总体上以某种方式影响linux的安全性,以及这种更改是否有利于将来和linux发行版。 我也想知道关于devuan的未来(没有systemd的debian)。
非常感谢您撰写了非常好的文章。
您能写一篇文章解释一下mangle表吗?
只阻止Facebook?