linux 关闭本地防火墙
攻击者正在寻找复杂的方法来渗透受入侵检测和防御系统保护的远程网络。 没有IDS / IPS可以阻止或控制决心接管您的网络的黑客的攻击。 配置不当会使攻击者绕过所有已实施的网络安全措施。
在本文中,我将解释安全工程师或系统管理员如何防止这些攻击。
Linux防火墙通常带有两个接口:iptables和ipchains。 大多数人将这些接口称为“ iptables防火墙”或“ ipchains防火墙”。 两个接口均设计为数据包过滤器。 iptables充当状态防火墙,根据先前的数据包做出决策。 ipchains不会根据先前的数据包做出决策; 因此,它被设计为无状态防火墙。
在本文中,我们将重点介绍iptables防火墙,它随内核版本2.4及更高版本一起提供。
使用iptables防火墙,您可以创建策略或有序的规则集,这些规则或规则集可以与内核进行通信,告知其应如何处理特定类型的数据包。 内核内部是Netfilter框架。 Netfilter既是iptables防火墙的框架,也是项目名称。 作为框架,Netfilter允许iptables挂钩旨在对数据包执行操作的功能。 简而言之,iptables依靠Netfilter框架来构建防火墙功能,例如过滤数据包数据。
每个iptables规则都应用于表中的链。 iptables链是与具有相似特征的数据包进行比较的规则集合,而表(例如nat或mangle)则描述了各种功能。 例如,修改表会更改数据包数据。 因此,改变分组数据的专门规则被应用到它,并且过滤规则被应用到过滤器表,因为过滤器表过滤分组数据。
iptables规则与目标(例如Drop
或Deny
具有一组匹配项,这些目标指示iptables如何处理符合规则的数据包。 因此,如果没有目标和一组匹配项,iptables将无法有效地处理数据包。 目标仅是指如果数据包与规则匹配则要采取的特定操作。 另一方面,每个数据包都必须满足匹配条件,以便iptables处理它们。
现在,我们了解了iptables防火墙的工作方式,下面让我们看一下如何使用iptables防火墙检测和拒绝或丢弃欺骗性地址。
开启源地址验证
作为安全工程师,当我处理来自远程主机的欺骗性地址时,第一步是要在内核中打开源地址验证。
源地址验证是内核级的功能,可丢弃假装来自网络的数据包。 它使用反向路径筛选方法来检查接收到的数据包的来源是否可以通过其进入的接口到达。
要启用源地址验证,请使用以下简单的shell脚本,而不要手动执行:
#!/bin/sh
#author’s name: Michael K Aboagye
#purpose of program: to enable reverse path filtering
#date: 7/02/18
#displays “enabling source address verification” on the screen
echo -n "Enabling source address verification…"
#Overwrites the value 0 to 1 to enable source address verification
echo 1 > /proc/sys/net/ipv4/conf/default/rp_filter
echo "completed"
执行前一个脚本时,显示消息“ Enabling source address verification
而不附加新行。 反向路径过滤器的默认值为0.0,这意味着没有源验证。 因此,第二行仅覆盖默认值0到1。1表示内核将通过确认反向路径来验证源。
最后,您可以使用以下命令通过选择以下目标之一来删除或拒绝来自远程主机的欺骗地址: DROP
或REJECT
。 但是,出于安全原因,我建议使用DROP
。
如下所示,用您自己的IP地址替换“ IP地址”占位符。 另外,您必须选择使用REJECT
或DROP
; 这两个目标无法协同工作。
iptables -A INPUT -i internal_interface -s IP_address -j REJECT / DROP
iptables -A INPUT -i internal_interface -s 192.168.0.0/16 -j REJECT/ DROP
本文仅提供有关如何使用iptables防火墙防止来自远程主机的欺骗攻击的基础知识。
翻译自: https://opensource.com/article/18/2/block-local-spoofed-addresses-using-linux-firewall
linux 关闭本地防火墙