过滤境外ip和域名访问的解决方案

早上好,好久没更新文章了,今天给大家更新一个过滤境外ip和域名的解决方案

昨天翻生产环境日志,发现一些非业务请求,过滤境外ip和域名访问的做了哪些工作,给大家做个简单分享。

查了一下请求ip:

德国的:

保加利亚的:

坏了,被扫描了。

仔细看了一下他的请求方式: PROPFIND,这种通常是自动扫描器在探测 WebDAV 漏洞或共享目录

因为目前我们的业务没有涉及到境外,所以就做了一下操作过滤了境外IP和域名请求,此次只做技术分享,不代表任何地区观点!

从2方面入手:

1、封禁境外域名访问:

已在阿里云做了以下配置:

凡是境外访问的一律到127.0.0.1

访问效果如下:

可以用这个工具进行测试:https://boce.aliyun.com/detect/dns

发现境外访问已经全部解析到了127.0.0.1

备注:

阿里云:您使用的免费版DNS,无海外解析节点,海外访问域名DNS解析速度慢、失败率高。

建议您升级到付费版DNS,付费版DNS全球集群覆盖东南亚、欧美、中东等地域,能加速您的海外解析速度。

2、封禁境外ip+端口访问:

首先肯定想到的是设置阿里云入站规则,但是入站规则需要配置所有的ip号段,需要的话可以从这个地方获取(https://lite.ip2location.com/china-ip-address-ranges)

阿里云不提供一键式服务。但是可以购买阿里云的云防火墙可以直接阻拦,一年费用大概3800,还是比较贵的。

那就从nginx层面进行控制。

先设置不是域名访问的直接给过滤掉,就是ip+端口的方式:

配置如下:

复制代码
# 拦截 443 端口的直接 IP 访问或非授权域名
server {
    listen 443 ssl default_server;
    server_name _;

    # 必须有一组有效的证书,否则 Nginx 会报错
    ssl_certificate      /DATA/freeware/nginx/nginx/cert/xxx/xxx.pem;
    ssl_certificate_key  /DATA/freeware/nginx/nginx/cert/xxx/xxx.key;

    # 【核心修改 1】497 错误是 Nginx 内部定义的:当 HTTP 请求发送到 HTTPS 端口时触发
    # 我们强制把这个错误重定向,并返回 444(直接丢弃连接)
    error_page 497 =444 /;

    # 【核心修改 2】针对常规请求也返回 444
    location / {
        return 444;
    }
}

然后再把nginx版本号给隐藏了,以防nginx特定版本有bug,增加攻击机会。

复制代码
http {
server_tokens off; # 隐藏版本号
}

最后一步把其他请求方式给过滤掉。

复制代码
# 只拦截绝对非法的 WebDAV 方法
        if ($request_method ~* (PROPFIND|SEARCH|MKCOL|COPY|MOVE|LOCK|UNLOCK) ) {
            return 444;
        }

大功告成,最后的效果是ip+端口访问不进去,域名境外访问不进去,特殊请求方式请求给过滤。

好了今天就给大家分享一个过滤境外ip和域名访问的解决方案。

最后给大家提示一句,一定要把服务器的端口给设置白名单,尽量的不过多的把端口给暴露出去,避免受到经济损失。

祝各位,永远不会遇到此类事件!

相关推荐
2的n次方_29 分钟前
Runtime 内存管理深化:推理批处理下的内存复用与生命周期精细控制
c语言·网络·架构
Mintopia43 分钟前
Web 安全与反编译源码下的权限设计:构筑前后端一致的防护体系
前端·安全
Mintopia1 小时前
Web 安全与反编译源码下的权限设计:构建前后端一体的信任防线
前端·安全·编译原理
郝学胜-神的一滴2 小时前
深入浅出:使用Linux系统函数构建高性能TCP服务器
linux·服务器·开发语言·网络·c++·tcp/ip·程序人生
天若有情6732 小时前
【自研实战】轻量级ASCII字符串加密算法:从设计到落地(防查岗神器版)
网络·c++·算法·安全·数据安全·加密
胖咕噜的稞达鸭2 小时前
网络基础:初识TCP/IP协议
网络·网络协议·tcp/ip
darkb1rd2 小时前
七、PHP配置(php.ini)安全最佳实践
安全·php·webshell
全栈工程师修炼指南2 小时前
Nginx | stream content 阶段:UDP 协议四层反向代理浅析与实践
运维·网络·网络协议·nginx·udp
cur1es2 小时前
【UDP的报文结构】
网络·网络协议·udp·md5
闲人编程3 小时前
使用FastAPI和WebSocket构建高性能实时聊天系统
websocket·网络协议·网络编程·fastapi·持久化·实时聊天·codecapsule