zoukankan      html  css  js  c++  java
  • [转]防止域名被恶意解析

    https://wangxiaokai.vip/posts/2019-07-10-nginx-analysis/#more

    ------------------------------------------

    一、何为域名恶意解析

    外部未知的域名持有者,将域名解析到非其所持有的服务器公网IP上,间接或直接造成损害他人利益的行为。

    二、借刀杀人

    域名的恶意解析,可以用于借刀杀人。
    这个手法很骚,轻则可以将对手的SEO排名拉低,重则可以让工信部封杀其站点。

    具体实现条件如下:

    • 未备案的域名或已被接入工信部黑名单的域名
    • 获取要攻击的站点,其源服务器使用的公网IP
    • 确认要攻击的网站80端口和443端口可以直接用IP直接访问
    • 将黑域名解析到该公网IP

    危害如下:

    • 不同域名解析到同个站点,真身域名权重被降低,SEO排名被假域名挤占
    • 非法域名解析,导致源服务器被工信部封杀,网站停止服务

    三、解决方法

    将无效域名的HTTP请求,全部拒绝响应

    以下是我的个人站点的nginx配置

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    server{
    listen 80 default_server;
    server_name _;
    access_log off;
    return 444;
    }

    server{
    listen 443 default_server;
    server_name _;
    ssl_certificate cert/www.wangxiaokai.vip.pem;
    ssl_certificate_key cert/www.wangxiaokai.vip.key;
    access_log off;
    return 444;
    }

    3.1 筛选无效域名

    1
    server_name _;

    这个代表的就是无效域名,_符号可以用-!@#代替,都可以达到相同的效果。

    3.2 不记录访问日志

    1
    access_log off;

    访问日志是需要存储空间的,如果没有设置自动清理脚本,也是可以把服务器存储空间打爆的。

    3.3 不处理无效域名的请求

    1
    return 444;

    444是Nginx服务器扩展的HTTP错误状态码,为非标准HTTP状态码。
    它的作用是:服务器不向客户端返回任何信息,并关闭连接, 断开客户端和服务器的连接,防止恶意软件攻击威胁。

    3.4 一些细节

    这两个server模块,应该放在最前,优先处理。

  • 相关阅读:
    开发软件设计模型 visual studio UML
    to debug asp.net mvc4
    BeeFramework
    .net entity framework 泛型 更新与增加记录
    javascript debut trick, using the throw to make a interrupt(breakpoint) in your program
    C# dynamic
    webapi
    C# async / await
    NYoj 613 免费馅饼
    洛谷P1056:排座椅(贪心)
  • 原文地址:https://www.cnblogs.com/oxspirt/p/11337822.html
Copyright © 2011-2022 走看看