过滤境外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和域名访问的解决方案。

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

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

相关推荐
Flynt2 小时前
npm v12 来了:allowScripts 默认关闭,我的项目差点跑不起来
安全·npm·node.js
明月_清风21 小时前
开发者网络概念全扫盲:一篇搞定
后端·网络协议
刘马想放假1 天前
Modbus 全栈技术解析:TCP、RTU、ASCII、RTU over TCP
数据结构·网络协议
王二端茶倒水2 天前
一套可落地的无线运营方案,不能只管 AP,还要管用户、计费和运维
网络协议
162723816082 天前
EtherCAT 分布式时钟(DC)原理与配置实战:把多轴真正"对齐到同一时刻"
网络协议
王二端茶倒水3 天前
宽带无线项目,怎么从一次性交付变成长期运营收入?
网络协议
用户2530171996274 天前
第6篇:从技术到产品 — Ghost Proxifier 的设计哲学
网络协议
用户2530171996274 天前
第3篇:注入的艺术 — Ghost Proxifier 核心架构拆解
网络协议
冬奇Lab5 天前
Skill 系列(02):Skill 安全风险——三类攻击面的实战测试
人工智能·安全·开源