避免网站被恶意域名劫持

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

参考文献

本文由 落格博客 原创撰写:落格博客 » 避免网站被恶意域名劫持

转载请保留出处和原文链接:https://www.logcg.com/archives/3507.html

About the Author

R0uter

如非声明,本人所著文章均为原创手打,转载请注明本页面链接和我的名字。

Comments

    1. 间隔太久忘记了,好像是从来路域名里找到的,我有隔一段时间就查看网站分析的习惯,看看都是从哪里来的读者hhh,于是就发现了这个网站,然后一搜索就出来了一大片……

        1. 还是不行,应该不是括号的事情,我看了一下,你的rss中第694行,^M这样,就可以绑定成功了。这里面多了个^M的符号。用浏览器看是看不到的,得用文本编辑器,不知道你用什么编辑,用emacs是可以看到的。 把这个删掉应该就可以了。

  1. 看了一眼我的,哦豁不怕了
    add_header Strict-Transport-Security “max-age=63072000; includeSubDomains; preload”;
    add_header X-Frame-Options “SAMEORIGIN” always;
    add_header X-Xss-Protection “1; mode=block” always;
    add_header X-Content-Type-Options “nosniff” always;

    add_header Content-Security-Policy “default-src https: ‘unsafe-inline’ ‘unsafe-eval’ data:;”;
    add_header Referrer-Policy “no-referrer-when-downgrade”;

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注