ysabanci/syncshield

GitHub: ysabanci/syncshield

SyncShield 是一个轻量级P2P分布式SSH蜜罐,用于自动检测和封锁入侵尝试以提升网络安全防护。

Stars: 0 | Forks: 0

# SyncShield 这是一个我在自建家庭实验室中为实践分布式架构、Docker隔离及Linux网络安全而开发的基于P2P的网络安全项目。 该系统遵循低交互性蜜罐逻辑运行。当网络中某台服务器遭受未经授权的SSH连接尝试时,系统将进入防御状态,定位攻击者位置,并通过与网络内所有服务器实时同步信息来阻断该IP地址。 ## 开发动机 我设计此项目的目的并非简单地部署现成网络安全工具,而是希望通过逐行编写代码,深入理解威胁情报网络在后台的通信机制,以及如何自动化实现Linux内核层面的拦截(iptables/ipset)。 ## 核心特性 * 分布式架构(P2P):当网络中某个容器在伪装端口捕获入侵尝试时,通过inotifywait和共享卷(shared volumes)机制,在毫秒级内通知其他容器。 * O(1)时间复杂度(IPSet):相较于使用iptables逐行拦截数千个IP地址造成CPU负载,我采用了符合数据中心标准的IPSet哈希表(hash table)。这确保网络数据包检查时间始终保持O(1)性能。 * GeoIP情报分析:不仅查看捕获IP地址的数字信息,还通过开放API识别其所属国家、城市及互联网服务提供商(ASN)。 * Telegram集成:将捕获的威胁信息连同地理位置和服务商详情,实时发送至手机作为NOC/SOC警报。 * 开发与生产环境兼容性:由于在基于ARM的Mac上通过Docker VM进行开发,我为iptables/ipset内核模块不受支持的情况设计了Bash脚本的备用(模拟)机制,防止系统崩溃。在生产环境(物理Linux服务器)中,系统直接通过network_mode: host模式保护物理网卡。 ## 使用技术 * Python 3:通过套接字编程实现蜜罐服务。 * Bash脚本:异步文件跟踪、API集成及iptables/ipset管理。 * Docker与Docker Compose:服务隔离与虚拟网络管理。 ## 运行逻辑 1. 蜜罐服务在指定伪装端口等待连接。 2. 一旦检测到未授权连接,立即将IP地址写入共享黑名单。 3. 后台运行的Watcher服务通过inotify捕获文件变更。 4. 通过API获取地理数据,更新IPSet配置并触发Telegram机器人通知。
标签:Docker容器, GeoIP定位, ipset, iptables, IP阻断, Linux网络安全, P2P分布式系统, SSH安全, Telegram通知, Web截图, 低交互蜜罐, 分布式攻击检测, 威胁情报, 容器安全, 应用安全, 开发者工具, 攻击面发现, 版权保护, 网络安全, 自动化防御, 蜜罐技术, 请求拦截, 逆向工具, 隐私保护