新建高风险IP库项目

作者:熊茂祥
时间:2024-08-10 10:12
分类:ROS
标签:ip, 高风险, 扫描, 字典, 破解
内容: 目前互联网上充斥着大量非法链接。其中比较常见有SSH，TELNET，RDP，WINBOX，WEB密码撞库，还有DNS，NTP，MEMCACHE，SSDP等反射放大攻击。但是在很多时候企业又不得不开放以上这些服务，于是只能以开放服务的前提下进行安全防护。本站采用多节点，多地域大数据日志，经过合理的筛选算法将可疑的高风险IP提取出来。使用本站提供的高风险IP库可有效提高企业网络安全。可对端口扫描，密码撞库，UDP反射攻击等高风险IP行为进行阻断。如果布置在核心出口可以进行全网防护。由于不法分子可能随时更换IP，IP库虽然会定期更新，但是依然处于被动防御的状态，无法做到100%识别阻断。本项目仅适合作为安全辅助手段，不建议作为唯一安全手段。由于筛选算法原因，可能出现极端情况下的误判概率，请做好后备方案。本方案会消耗大量CPU，请确保设备性能足够支撑再进行布置。更新时间: 2024/08/10 更新内容:更新linux及netbsd对接脚本，取消证书效验。升级特征库修改路径为家里的服务器。（降本增笑）更新时间: 2024/08/07 更新内容:更新mikrotik对接脚本，增加自动升级SSL证书，避免内置证书过期带来的自动更新失败问题。升级特征库修改路径为家里的服务器。（降本增笑）更新时间: 2024/07/24 更新内容:新增waf蜜罐类型日志，在多个运维节点布置该waf蜜罐来提高样本精准度。更新时间: 2024/07/05 更新内容:新增netbsd系统类型支持，采用npf防火墙模式调用，已公开自动更新脚本。更新时间: 2021/09/29 更新内容:新增IP白名单模块，防止在某些特殊环境下造成的误判。当前已将主流DNS及本站关联产品IP加入白名单列表。（修复了Telegram通知接口国内节点被误判导致接口调用失败的BUG。）更新时间: 2021/04/19 更新内容:新增mikrotik脚本变量，允许用户自定义选择加载地址列表至FLASH或者RAM，让只有16M FLASH的设备也能用上这个策略。（具体用法参考脚本例子。）更新时间: 2021/03/15 更新内容:新增linux下的ipset模式，在大量黑名单IP时可以显著提高防火墙运行效率。已提供ipset自动更新脚本及使用注意事项。更新时间: 2021/02/19 更新内容:调整筛选算法，减少误判概率。更新时间: 2021/01/26 更新内容:调整筛选算法，减少误判概率。更新时间: 2021/01/20 更新内容:新增自动更新脚本，包含mikrotik系统和linux系统，均可以实现定时自动更新高危IP库。更新时间: 2021/01/15 更新内容:增加IP活跃期判断，90天内不活跃的IP将从高风险IP剔除。毕竟要给别人改过自新的机会对不？:D 更新时间: 2021/01/12 更新内容:更新识别算法，扩大识别范围。增加高风险IP子网计数器，可以统计22-32之间子网的数量。更新时间: 2021/01/06 更新内容: linux版本从iptables命令改为iptables-restore导入文件，提高安全性和执行效率。如果某个C段的高风险IP数量超过40个，则会屏蔽整个C段IP。高风险IP库将每天自动更新到OSS一次，大家可以做脚本每天自动更新，也可以手动下载更新。 mikrotik导入例子/imp scaners.rsc linux(纯iptables模式)导入例子 iptables-restore < scaners.bak linux(ipset模式)导入例子 ipset restore -f < scaners.bak ipset模式使用提醒 1.需要安装好ipset程序(apt-get install ipset) 2.新建好scaners地址表(ipset -N scaners iphash) 3.设置iptables调用(iptables -A INPUT -m set --match-set scaners src -j DROP) netbsd(npf模式)模式使用提醒 1.需要安装好npf防火墙程序 2.安装wget程序 3.设置npf调用 npf.conf（加入以下内容） table <blocklist> type lpm file "/etc/npf_blocklist" group "block_rule" { block in final from <blocklist> to any } mikrotik自动导入脚本（可利用scheduler设置定时一天执行一次）首次使用需要导入CA证书，CA证书文件见附件 ###若需要加载到FLASH则注释掉下行代码，若需要加载到RAM则反之。### #:global ipt 30d :global upc :local getscaner [/tool fetch url="https://pcdn.ros6.com:9443/oss/scaners.rsc" dst-path=scaners.rsc check-certificate=yes as-value] :if (->"status" = "finished") do={ /ip firewall address-list remove [find list="scaners"] :delay 2s /imp scaners.rsc :delay 5s /file remove [find name="scaners.rsc"] :log warning "扫描者黑名单更新完成" :set upc (upc+1) } :if (upc > 15) do={ :local getssl [/tool fetch url="https://pcdn.ros6.com:9443/oss/cmp_cert.crt" dst-path=cmp.crt check-certificate=yes as-value] :if (->"status" = "finished") do={ :delay 2s; /certificate import file-name=cmp.crt name=cmp passphrase=""; :delay 1s; /file remove [find name="cmp.crt"]; :log warning "SSL本地证书更新完成" :set upc 0 } } linux自动导入脚本（可利用crontab设置定时一天执行一次）（纯iptables模式专用） #!/bin/sh PATH=:/sbin:/bin:/usr/sbin:/usr/bin wget -q -O /root/upfw.bak https://pcdn.ros6.com:9443/oss/scaners.bak || { echo "Error: Failed to download list." exit 1 } sleep 10s iptables -F sleep 5s iptables-restore </root/upfw.bak sleep 5s rm /root/upfw.bak linux自动导入脚本（可利用crontab设置定时一天执行一次）(IPSET模式专用) #!/bin/sh PATH=:/sbin:/bin:/usr/sbin:/usr/bin wget -q -O /root/upipset.bak https://pcdn.ros6.com:9443/oss/scaners2.bak || { echo "Error: Failed to download list." exit 1 } sleep 10s ipset flush scaners sleep 5s ipset restore -f /root/upipset.bak sleep 5s rm /root/upipset.bak netbsd自动导入脚本（可利用crontab设置定时一天执行一次）(NPF模式专用) #!/bin/sh PATH=:/sbin:/bin:/usr/sbin:/usr/bin wget --no-check-certificate -q -O /etc/npf_blocklist https://pcdn.ros6.com:9443/oss/scaners.netbsd || { echo "Error: Failed to download list." exit 1 } sleep 10 npfctl reload mikrotik设备(import导入)：https://cache-1.oss-cn-beijing.aliyuncs.com/file/scaners.rsc linux设备(iptables-restore导入)：https://cache-1.oss-cn-beijing.aliyuncs.com/file/scaners.bak linux设备(ipset导入)：https://cache-1.oss-cn-beijing.aliyuncs.com/file/scaners2.bak SSL证书合集(请导入CA证书)：https://cdn.ros6.com/file/cmp_cert.crt

立即登陆发表评论

返回日志列表
返回主页