美文网首页Linux安全Go
Go frp内网穿透防暴力破解工具

Go frp内网穿透防暴力破解工具

作者: 岑吾 | 来源:发表于2021-08-25 00:52 被阅读0次

    起因

    最近自己的frp服务器上,老是会被一些莫名其妙的人尝试暴力破击我的远程链接密码,虽然16位大小写数字加特殊字符的密码很难破解,但看着也烦,还影响心情。于是打算自己写一个小工具,分析破解的IP所在地和攻击频率,将它加到防火墙中去直接屏蔽。

    步骤分析

    1、监听日志

    frp 0.36之后的版本是有tcp连接的日志的,格式为
    2021/08/24 12:04:04 [I] [proxy.go:162] [70107e20979a59c9] [ZNGW] get a user connection [119.1.97.214:3807]

    只要实时监听日志文件,并从这个格式中提取出我们需要的 配置的TCP转发名(ZNGW)和请求者IP(119.1.97.214) 就可以了

    2、获取IP地理位置

    可以通过获取ip位置的一些api接口获取,如http://ip-api.com/json/ip地址字串?lang=zh-CN

    {
      status: "success",
      country: "中国",
      countryCode: "CN",
      region: "GZ",
      regionName: "贵州",
      city: "兴义",
      zip: "",
      lat: 25.0502,
      lon: 104.9877,
      timezone: "Asia/Shanghai",
      isp: "Chinanet",
      org: "Chinanet GZ",
      as: "AS4134 CHINANET-BACKBONE",
      query: "119.1.97.214"
    }
    

    3、根据配置规则决定是否限制

    可以指定一张规则表,什么地方的ip可以访问,什么地方的ip不能访问,什么地方的ip访问有频率限制等

    # 规则访问
    rules:
    
      # 按数组顺序来,匹配到了就按匹配的规则执行,跳过此规则。
      # 地区以 http://ip-api.com/json/?lang=zh-CN 查询的结果为准
      # 端口: -1 所有端口
      # time: 时间区间
      # count: 访问次数,-1不限,0限制。其他为 time时间内访问count次,超出频率就限制
    
      - # 中国上海IP允许
        port: -1
        country: 中国
        regionName: 上海
        city: 上海
        time: 1
        count: -1
    
      - # 中国地区IP跳过地域判断
        port: -1
        country: 中国
        regionName:
        city:
        time: 600
        count: 3
    
      - # 其他地区IP禁止
        port: -1
        country:
        regionName:
        city:
        time: 1
        count: 0
    

    4、加入防火墙

    linux有iptables和firewall二种防火墙,win中有Microsoft Defender,这些都是可以通过命令行来添加拒绝通过的规则的。

    • iptables: iptables -I INPUT -s 119.1.97.214 -j DROP
    • firewall: firewall-cmd --permanent --add-rich-rule="rule family="ipv4" source address="119.1.97.214" reject"
    • Microsoft Defender: netsh advfirewall firewall add rule name=119.1.97.214 dir=in action=block protocol=TCP remoteip=119.1.97.214

    大致思路是这样,然后抽空花了点时间,用Go写了一个这样的小工具。完整代码:https://github.com/zngw/frptables

    测试

    目前已经在frp服务器上运行1天了,效果还是有的,可以明显看日志文件链接数变少了,也添加了几个明显的攻击者IP到防火墙中

    相关文章

      网友评论

        本文标题:Go frp内网穿透防暴力破解工具

        本文链接:https://www.haomeiwen.com/subject/ievjiltx.html