Ubuntu防火墙管理(六)——ARP防火墙过滤防御&自定义系统服务

起因

在ubuntu24.04中检查arp表,输出异常

arp -a

? (10.162.242.142) 位于 74:3a:20:b9:e8:02 [ether] 在 wlp2s0
? (10.162.0.1) 位于 在 wlp2s0
ubuntu环境中,这是否表示ARP攻击,本地网关为10.162.0.1,可用arptables防御吗?

GPT分析与ARP攻击判定

根据你提供的信息,以下是对该情况的分析和建议:

  1. ARP表项解释

    • ? (10.162.242.142) 位于 74:3a:20:b9:e8:02 [ether] 在 wlp2s0:这表示IP地址为10.162.242.142的设备在MAC地址为74:3a:20:b9:e8:02的网络接口wlp2s0上。
    • ? (10.162.0.1) 位于 <incomplete> 在 wlp2s0:这表示IP地址为10.162.0.1的设备(通常是本地网关)的MAC地址未解析完成。
  2. ARP攻击的迹象

    • ARP攻击通常表现为网络中设备ARP表项的频繁变化或异常MAC地址。
    • 在你的情况下,10.162.0.1的MAC地址未解析完成(<incomplete>),这可能是网络问题或ARP攻击的迹象。
  3. 使用arptables进行防御

    • arptables是一个用于管理ARP包过滤的工具,可以用来防御ARP攻击。
    • 你可以通过设置规则来限制ARP包的流量,确保只有合法的ARP包能够通过。

修改Arp规则过滤报文

以下是如何使用arptables进行基本防御的步骤:

  1. 安装arptables

    sudo apt-get install arptables
    
  2. 设置基本规则

sudo arptables -A INPUT --src-ip 10.162.0.1 --src-mac 74:3a:20:b9:e8:02 -j ACCEPT
sudo arptables -P INPUT DROP
  1. 查看当前的ARP规则
   sudo arptables -L

结果如下:

$ sudo arptables -L
Chain INPUT (policy DROP)
-j ACCEPT -s _gateway --src-mac 74:3a:20:b9:e8:02

Chain OUTPUT (policy ACCEPT)
  1. 保存规则

    sudo arptables-save > /etc/arptables.rules
    
  2. 开机自动加载规则
    /etc/rc.local文件中添加以下内容:

    arptables-restore < /etc/arptables.rules
    

但由于ubuntu24不存在/etc/rc.local,要想开机执行arptables规则,有两种方法

开机执行arptables规则

方法1——将开机更改arptables规则写入系统服务

如果你的 Ubuntu 系统中没有 /etc/rc.local,你可以使用 systemd 创建一个自定义服务来在系统启动时执行 arptables-restore 命令。以下是具体步骤:

创建 Systemd 服务

  1. 创建服务文件

    使用文本编辑器创建一个新的服务文件,例如 arptables.service

    sudo nano /etc/systemd/system/arptables.service
    
  2. 添加服务配置

    在文件中添加以下内容:

    [Unit]
    Description=Restore arptables rules
    After=network.target
    
    [Service]
    Type=oneshot
    ExecStart=/sbin/arptables-restore < /etc/arptables.rules
    RemainAfterExit=yes
    
    [Install]
    WantedBy=multi-user.target
    

    这里的 After=network.target 确保在网络服务启动后再执行 arptables-restore

  3. 保存并退出

    CTRL + X,然后按 Y 确认保存,最后按 Enter 退出编辑器。

启用和启动服务

  1. 启用服务

    运行以下命令以启用服务,使其在系统启动时自动运行:

    sudo systemctl enable arptables.service
    
  2. 启动服务(可选):

    如果你想立即启动服务并测试它,可以运行:

    sudo systemctl start arptables.service
    

验证服务状态

你可以通过以下命令检查服务的状态,确保它已成功启动:

$ sudo systemctl status arptables.service
/etc/systemd/system# sudo systemctl status arptables.service
● arptables.service - Restore arptables rules
     Loaded: loaded (/etc/systemd/system/arptables.service; enabled; preset: enabled)
     Active: active (exited) since Mon 2024-12-09 22:59:44 CST; 8s ago
   Main PID: 43281 (code=exited, status=0/SUCCESS)
        CPU: 2ms

12月 09 22:59:44 star systemd[1]: Starting arptables.service - Restore arptables rules...
12月 09 22:59:44 star systemd[1]: Finished arptables.service - Restore arptables rules.

查看日志

如果需要查看服务的输出或错误信息,可以使用以下命令:

journalctl -u arptables.service

方法2——用netfilter-persistent

netfilter-persistent 是一个更通用的工具,旨在管理与 Linux 内核中的 Netfilter 框架相关的所有类型的规则,包括 iptables、ip6tables(用于 IPv6)和 arptables(用于 ARP).

安装iptables-persistent,会顺带安装netfilter-persistent

sudo apt install iptables-persistent

保存当前规则

sudo netfilter-persistent save
  • 这条指令的作用是将当前的 iptables 和 arptables 规则保存到配置文件中,以便在系统重启后能够自动恢复这些规则。

重新加载iptables、arptables规则

sudo netfilter-persistent reload	#
  • 命令的作用是重新加载已保存的 iptables 和 arptables 规则。这意味着它会从配置文件中读取规则并应用到当前的防火墙设置中。
  • 当你修改了防火墙规则文件(例如,添加、删除或更改规则)后,可以使用 netfilter-persistent reload 命令来立即应用这些更改。

开机启动nftables服务

  • netfilter-persistent作用于nftables的配置文件
  • 因此相当于把规则借助于nftables服务来执行
  • 所以要保证nftables服务正常执行
sudo systemctl enable nftables
sudo systemctl start nftables

可查看

sudo systemctl status nftables
软件介绍 你的网络是否经常掉线,是否经常发生IP冲突? 你是否担心通讯数据受到监控(如MSN、QQ、EMAIL)? 你的网络速度是否受到网管软件限制(如聚生网管、P2P终结者)? 你是否深受各种ARP攻击软件之苦(如网络执法官、网络剪刀手、局域网终结者)? 以上各种问题的根源都是ARP欺骗(ARP攻击)。在没有ARP欺骗之前,数据流向是这样的:网关本机。ARP欺骗之后,数据流向是这样的:网关攻击者(&ldquo;网管&rdquo;)本机,本机与网关之间的所有通讯数据都将流经攻击者(&ldquo;网管&rdquo;),所以&ldquo;任人宰割&rdquo;就在所难免了。 ARP防火墙通过在系统内核层拦截虚假ARP数据包以及主动通告网关本机正确的MAC地址,可以保障数据流向正确,不经过第三者,从而保证通讯数据安全、保证网络畅通、保证通讯数据不受第三者控制,从而完美的解决上述所有问题。 ARP防火墙大功能 * 拦截外部攻击。在系统内核层拦截外部虚假ARP数据包,保障系统不受ARP欺骗、ARP攻击影响,保持网络畅通及通讯安全; * 拦截IP冲突。在系统内核层拦截IP冲突数据包,保障系统不受IP冲突攻击的影响; * 拦截外对攻击。在系统内核层拦截本机对外的ARP攻击数据包,以减少感染恶意程序后对外攻击给用户带来的麻烦; * 监测ARP缓存。自动监测本机ARP缓存表,如发现网关MAC地址被恶意程序篡改,将报警并自动修复,以保持网络畅通及通讯安全; * 主动防御。主动与网关保持通讯,通告网关正确的MAC地址,以保持网络畅通及通讯安全; * 锁定攻击者。发现攻击行为后,自动快速锁定攻击者IP地址;
软件介绍 ARP防火墙通过在系统内核层拦截虚假ARP数据包以及主动通告网关本机正确的MAC地址,可以保障数据流向正确,不经过第三者,从而保证通讯数据安全、保证网络畅通、保证通讯数据不受第三者控制,从而完美的解决上述所有问题。 ARP防火墙九大功能 1. 拦截ARP攻击。 (A)系统内核层拦截外部虚假ARP数据包,保障系统不受ARP欺骗、ARP攻击影响,保持网络畅通及通讯安全; (B)系统内核层拦截本机对外的ARP攻击数据包,以减少感染恶意程序后对外攻击给用户带来的麻烦; 2. 拦截IP冲突。在系统内核层拦截IP冲突数据包,保障系统不受IP冲突攻击的影响; 3. Dos攻击抑制。在系统内核层拦截本机对外的TCP SYN/UDP/ICMP/ARP DoS攻击数据包,定位恶意发动DoS攻击的程序,从而保证网络的畅通; 4. 安全模式。除了网关外,不响应其它机器发送的ARP Request,达到隐身效果,减少受到ARP攻击的几率; 5. ARP数据分析。分析本机接收到的所有ARP数据包,掌握网络动态,找出潜在的攻击者或中毒的机器; 6. 监测ARP缓存。自动监测本机ARP缓存表,如发现网关MAC地址被恶意程序篡改,将报警并自动修复,以保持网络畅通及通讯安全; 7. 主动防御。主动与网关保持通讯,通告网关正确的MAC地址,以保持网络畅通及通讯安全; 8. 追踪攻击者。发现攻击行为后,自动快速锁定攻击者IP地址; 9. 查杀ARP病毒。发现本机有对外攻击行为时,自动定位本机感染的恶意程序、病毒程序;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值