IT博客汇
  • 首页
  • 精华
  • 技术
  • 设计
  • 资讯
  • 扯淡
  • 权利声明
  • 登录 注册

    避免网站被恶意域名劫持

    R0uter发表于 2021-05-11 07:10:05
    love 0

    去落格博客阅读完整排版的避免网站被恶意域名劫持

    最近更新:4th 9月, 2022

    今天无意间发现了一批网站,如 http://b6x.net/ 现在你点开这个网站会显示“www.logcg.com refused to connect.”,当我第一次点开的时候我惊呆了……他竟然抄了我整个网站?!

    这是一系列三位数域名网站,都是类似的操作。

    http://b6x.net/ 显示的实际上是落格博客的内容

    http://b6x.net/ 显示的实际上是落格博客的内容

    等等,我发现了一点不对劲,首先这个网站外边有我博客本身并没有的白框……也就是说,这可能是个反代(反向代理)。

    如果你还不知道什么是反代,看这个浅析 正向代理 反向代理 透明代理

    于是我就查了一下这个域名,位于阿里云,联系方式受到原本购买域名的服务商的域名保护,解析的ip地址是cdn地址,没有任何用处。我尝试用域名屏蔽,结果人家照样显示的好好的……

    在这个过程中,我又发现了一点:如果是反向代理,那网站内的域名链接都应该是代理中转的,而这个网站中,我博客的链接是没有经过任何修改的,是我原本的域名。

    查看页面源代码发现,其实这个网站只有一行代码:

    <iframe width="100%" height="100%" frameborder="0" align="center" allowfullscreen="true" allow="autoplay" id="iframe" src="https://www.logcg.com/"></iframe>

    也就是说,当你打开这个网站,它就在自己的页面内加载了落格博客……

    当然,这看起来似乎没什么危害,但潜在的安全问题有很多,比如他可以做透明点击劫持等等……何况我并不认识这个域名的站长。要避免这种情况,需要修改 nginx 配置,添加一个 http header add_header X-Frame-Options "SAMEORIGIN";

    当然,你还有其他选项,比如 DENY 就是拒绝一切被嵌入在别的网页内的行为;SAMEORIGIN 则是一个便捷选项,万一你想自己嵌入自己的呢?只要是同一个域名来源,就可以允许,其他人不行;ALLOW-FROM URI 这个选项则是基本的白名单功能,写了谁,谁就能嵌入而不被拒绝。

    这里我们使用 SAMEORIGIN,把 add_header X-Frame-Options "SAMEORIGIN"; 写入你的服务器配置当中,重启服务。

    比如我这里经过改动后一共有3条:

    add_header Strict-Transport-Security max-age=15768000;
            add_header Access-Control-Allow-Origin *;
            add_header X-Frame-Options "SAMEORIGIN";

    这时再去刷新那个 http://b6x.net/ ,就已经是空白一片了。

    落格博客的服务器拒绝了该网站的内嵌

    落格博客的服务器拒绝了该网站的内嵌

    参考文献

    • 检测网站,发现点击劫持:X-Frame-Options未配置,解决方法
    • Secure Nginx from Clickjacking with X-FRAME-OPTIONS

    避免网站被恶意域名劫持,首发于落格博客。

    其他推荐:
    1. Fail2Ban 高级配置 保护 Nginx 服务
    2. 使用 Let’s Encrypt 在 VPS 上为 Nginx 配置 SSL
    3. Ubuntu 下更简单的防火墙 Uncomplicated Firewall
    4. letsencrypt 工具改名 certbot
    5. “plugin invalidated” ios 自定义键盘



沪ICP备19023445号-2号
友情链接