zoukankan      html  css  js  c++  java
  • 记一次 Ubuntu 使用 arptables 抵御局域网 ARP 攻击

    .

    .

    .

    .

    .

    前段时间大概有一个月左右,租房的网络每天都断一次,每次断大概一两分钟左右就恢复了,所以没太在意。直到有一天晚上,LZ 正在写博客,但是网络频繁中断又重新连上再中断。待 LZ 好不容易找了个连上网的空隙把没写完的博文暂存了一下,然后就开始着手排查问题。

    通过 arp(1) 命令发现网关的 mac 地址不是房东路由器的地址,于是第一反应便是内网发生了 ARP 攻击。

    于是 LZ 打开 Wireshark 开始抓包,发现内网 192.168.1.129 这台主机向内网频繁的发送 ARP 广播,并且当 LZ 的主机向内网发送 ARP 广播查询网关 mac 地址时总是它进行响应,这是很明显的 ARP 欺骗。

    其实这是木马病毒搞的鬼,它欺骗内网所有的主机,将自己伪装成网关。这样当其它主机发送上网请求的时候就会把数据包发给它,它就可以随意监听大家上网的内容了。

    先不管它是什么鬼了,对 LZ 来说还得抓紧时间写博客,于是就先装一个 ARP 防火墙凑合一下,等有时间了再收拾它。

    # 安装 arptables 防火墙
    >$ sudo apt-get install arptables
    
    # 编写脚本
    >$ vim arptables.sh
    
    #!/bin/sh
    PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
    # 进站规则:如果来源 mac 不是 d8:5d:4c:60:c5:3c 则丢弃数据包
    arptables -A INPUT -i eth0 --src-mac ! d8:5d:4c:60:c5:3c -j DROP
    # 进站规则:如果来源 mac 不是 d8:5d:4c:60:c5:3c 且来源 IP 不是 192.168.1.1 则丢弃数据包
    arptables -A INPUT -i eth0 --src-ip 192.168.1.1 --src-mac ! d8:5d:4c:60:c5:3c -j DROP
    # 允许所有的出站请求
    arptables -A OUTPUT --destination-mac ff:ff:ff:ff:ff:ff -j ACCEPT
    
    # 赋予脚本执行权限
    >$ chmod 755 arptables.sh
    
    # 然后将脚本添加到开机启动项即可。
    
    # 这两条命令也是 arptables 常用的命令
    # 查看所有的规则
    sudo arptables -L
    # 删除所有的规则
    sudo arptables -F

    配置好这个 ARP 防火墙之后立马就可以上网了,看来还是防火墙好使哈哈。

    上面是在 LZ 的 Ubuntu 笔记本上配置的,后来 LZ 又切换到了装有 Redhat 的台式机上,结果发现依然被 arp 攻击得无法上网。

    LZ 发现 Redhat 上已经预装了 arptables,但是在配置规则的时候总是提示 Permission denied,LZ 也是醉了,明明都是 root 了,也不知道为什么没权限。

    无奈之下只好弃用 arptables 了,看来只能用原生的 arp 命令来设定一个静态的 arp 表,不过发现这个办法倒是蛮管用的,跟用 arptables 效果一样。

    >$ sudo arp -s 192.168.1.1 d8:5d:4c:60:c5:3c

    这条命令就是将本地 ARP 中网关的 IP 和 MAC 手工指定好,这样无论外面广播的网关地址是多少统统忽略,让系统直接与这个手工配置的网关打交道。

  • 相关阅读:
    BoundsChecker使用
    完成端口(Completion Port)详解
    VC内存泄露检查工具:VisualLeakDetector
    AcceptEx函数与完成端口的结合使用例子
    IOCP之accept、AcceptEx、WSAAccept的区别
    Visual C++ 6.0安装
    eclipse中在线安装FindBugs
    几种开源SIP协议栈对比
    全情投入是做好工作的基础——Leo鉴书39
    CheckStyle检查项目分布图
  • 原文地址:https://www.cnblogs.com/0xcafebabe/p/4477143.html
Copyright © 2011-2022 走看看