黑帽联盟

 找回密码
 会员注册
查看: 154|回复: 0
打印 上一主题 下一主题

[安全教程] 自动添加IP地址到firewall规则

[复制链接]

852

主题

38

听众

3176

积分

白金VIP

Rank: 8Rank: 8

  • TA的每日心情
    开心
    2024-3-7 12:52
  • 签到天数: 1538 天

    [LV.Master]伴坛终老

    阿里云的服务器,通过firewall-cmd设置只能个人使用的IP地址开放端口,但是本地使用的IP地址不是固定的,每次改变后都需要重新登录服务器,添加防火墙规则,很不方便,因此想写一服务自动添加防火墙规则

    原文地址:https://github.com/GitNealian/fd

    注:本人还没有测试过,需要客户端和服务端都安装go程序,需要的,自己测试下


    思路
    • 在服务器上运行一个简单的web服务,个人电脑访问这个服务时,服务器能得到其外部IP地址,将这个IP地址添加到防火墙规则里重启防火墙即可;

    验证
    • 这个接口肯定不能不通过任何验证直接暴露,否则防火墙就失去了意义;
    • 使用rsa签名和验签的方式对客户端进行身份验证,客户端先从服务端得到一个UUID,客户端使用私钥对此UUID进行签名,返回给服务端,服务端收到签名后,取出此客户端对应的UUID,使用此客户端对应的公钥进行验签,如果验证通过,则把客户端的IP地址添加到防火墙规则,并重启防火墙;

    实施
    • 服务端需要一个配置文件clients.txt,每行可配置一个客户端,每个客户端由两个部分组成,第一个部分是客户端的ID,第二个部分是客户端对应的公钥,由空格分隔开;
    • 客户端需要一个配置文件client.txt,共一行,也是由空格分隔的两部分,第一个部分也是客户端的ID,第二个部分是客户端的私钥;
    • 服务器放开端口7749;
    • 个人电脑设置客户端定时执行,IP地址不会频繁变化,一般只需要设置开机时执行,其它时候若IP确实发生变化,手动执行一下客户端;
    问题
    • 在添加一条新的IP规则之前,如果不删除此客户端旧的IP地址,那么防火墙的IP规则会越来越多(安全上影响不大),如果删除旧地址的话,则会出现一个问题,即如果两个客户端在同一个外部IP里面,一个客户端离开此网络并使用新IP地址后,旧IP规则被删除,导致另一个IP不变的客户端被防火墙拦截,需要手动执行一下客户端;
    • 解决:删除之前查看是否还有别的客户端使用此IP地址

    帖子永久地址: 

    黑帽联盟 - 论坛版权1、本主题所有言论和图片纯属会员个人意见,与本论坛立场无关
    2、本站所有主题由该帖子作者发表,该帖子作者与黑帽联盟享有帖子相关版权
    3、其他单位或个人使用、转载或引用本文时必须同时征得该帖子作者和黑帽联盟的同意
    4、帖子作者须承担一切因本文发表而直接或间接导致的民事或刑事法律责任
    5、本帖部分内容转载自其它媒体,但并不代表本站赞同其观点和对其真实性负责
    6、如本帖侵犯到任何版权问题,请立即告知本站,本站将及时予与删除并致以最深的歉意
    7、黑帽联盟管理员和版主有权不事先通知发贴者而删除本文

    勿忘初心,方得始终!
    您需要登录后才可以回帖 登录 | 会员注册

    发布主题 !fastreply! 收藏帖子 返回列表 搜索
    回顶部