惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

月光博客
月光博客
雷峰网
雷峰网
S
SegmentFault 最新的问题
博客园 - 【当耐特】
博客园_首页
量子位
爱范儿
爱范儿
博客园 - 叶小钗
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
Jina AI
Jina AI
V
V2EX
美团技术团队
V
Visual Studio Blog
博客园 - 三生石上(FineUI控件)
IT之家
IT之家
Hugging Face - Blog
Hugging Face - Blog
Apple Machine Learning Research
Apple Machine Learning Research
小众软件
小众软件
博客园 - 聂微东
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
The Cloudflare Blog
宝玉的分享
宝玉的分享
WordPress大学
WordPress大学
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻

吹比💨

NFS 服务引发的一次“诡异”应急响应 银狐使用WDAC来对抗杀软 浏览器第三方Cookie保护导致无法使用Github.dev 使用pushState伪造浏览器地址栏 一次排查网站劫持过程流水账 手动导出 Microsoft Authenticator 中的2FA密钥 使用CloudFlare的IP Lists功能来做访问控制 FrontJS网站错误监控插件存在弹窗广告 宝塔面板可能存在未知漏洞的分析与处置方法 CDN厂商解决域前置问题 中文域名那些事 TLS握手指纹(JA3/JA3S)检测恶意软件流量 [A-Z]{2}\d{2}.cc 团伙的一些公开信息 Azure旗下奇怪的静态托管服务 Csrf与浏览器第三方Cookie策略的问题 Pppoe密码嗅探 Publicsuffix那些事 一次有意思的域名追踪 CobaltStrike通信中host字段的获取 XFF那些事 CORB那些事 Referrer Policy那些事 使用CloudFlare来为网站开启客户端证书验证 DNS那些事 屏蔽掉向日葵的有效方法 帝国cms在防止内容采集方面做的工作 身份验证器是如何验证我们的身份? 利用GoogleAppsScript自动回复短信实现保号 Nginx实用模块 有关跨域请求的一些记录
用flask来在线管理你的iptables
榆木 · 2020-08-27 · via 吹比💨

前言

之前写了一个简单的工具,可以使用户通过web访问来实时对访客IP进行加白,以便该用户访问该服务器上的其他服务 见 https://github.com/yumusb/flask_active_service

利用工作之余写了一个简单(简陋)的web面板,可以在线对iptables的INPUT链进行管理。从而对能与服务器产生主动通信的IP、端口进行方便、有效的限制。web服务由flask提供。

效果图

安装效果图,安装时候默认对ssh服务端口历史登录SSH的IP当前flask服务进行加白处理。

管理效果图:可以在线对IP或者端口进行放行。比如要提供web服务,就需要手动对80、443进行放行。也可以一键清空已经添加的IP规则和端口规则。

安装与使用

由于网络问题,安装使用gitee的相关资源进行安装。可以通过SSH连接到你的服务器后,以root用户运行以下脚本进行安装。

bash <(curl -L -s https://gitee.com/yumusb/flask_iptables_manager/raw/master/run.sh)

脚本会自动安装所需要的依赖,与下载运行程序所需的文件。全程仅需手动输入一下服务运行的端口号即可。

安装完成后会给出一个形似 http://1xx.xx.xx.xx:端口/e3dd838a 的链接(e3dd838a为随机生成),访问这个链接可以对访客IP进行加白。加白后的IP不受限制访问服务器资源【详情可以了解 iptables -I INPUT -s IP地址 -j ACCEPT 】。在上面链接后面加上 /admin/变成http://1xx.xx.xx.xx:端口/e3dd838a/admin/ 即可看到效果图2页面。

有什么作用?

此工具只是为了帮助你更方便的操作Iptables,一切功能都由iptables提供。目前我觉得有两点实用之处。

  1. 防止恶意探测

    当前网络空间存在很多爬虫、探测机器。对全网的服务器的端口进行探测。我们可以对外只放行需要的端口,以防止其他服务被不必要探测。也可以实时对需要访问的访客IP进行加白,以便业务正常运行。

  2. 防止恶意攻击

    正如前两天很火的宝塔面板严重BUG事件,有很多同学受影响造成数据丢失。其实宝塔也有提供IP白名单功能。但是有很多同学觉得麻烦,没有使用。如果可以的话,可以只对外界放行80、443端口,不需要外界访问的端口只允许白名单IP访问,会避免很多不必要的麻烦产生。使用本脚本就可以很方便的完成此类需求。

其他

功能定制化比较高,也就牺牲了灵活性;比如只能放行某个端口给所有人访问、或者只能放行某IP访问服务器的所有端口。不能完全使用Iptables的功能,希望使用者不会被限制住想法,可以进一步去了解iptables的使用,以配置更适合自己的安全规则!