今天考完自招,将原来的个人网站彻底迁移到这里,想起了曾经的网站被DNS劫持过,便以我之所学,写一小段文字,以备不时之需。
曾经的班上,下课时间,一群同学总喜欢凑在电脑屏幕前玩电脑。一次他们还是如往常一样surf,但过了不久,人群中爆发出一阵怪叫。我抬起头,几个男生向我跑来,大笑着告诉我我的主页跳转到了其他网站。我大为诧异,但日后打开网站,却一如往常。事后经分析,我的原网站大概率被DNS劫持。
由于申请到了新域名,原来的网站已被弃用,但新站还是需要预防DNS劫持的。以下是我对应对DNS劫持的看法。
1.确认自己的域名是否被进行了DNS劫持
被DNS劫持的域名无论怎么访问都会直接跳转至其他的站点,此时可以直接使用IP进行访问,如果IP访问正常但域名访问一直跳转,那大概率是自己的域名被劫持了。这种情况,需要联系DNS解析方面或者服务器方面的工作人员进行处理。
2.确认自己的模板文件是不是被添加了跳转代码
此时可以在后台暂时更换成其他安全的模板,如果不再跳转,那就说明是模板文件里面被加了料。
一般跳转代码会添加到JS文件中,尤其jQuery库是被加料的重灾区,可以查看各JS文件开头结尾是不是多出了一些加密代码,如果有,删掉后清理缓存再访问试试。
<!--使用meta标签跳转-->
<meta http-equiv="refresh" content="0;url=http://example.com">
<!--使用JavaScript跳转-->
<script language="javascript" type="text/javascript">
window.location.href = 'http://example.com';
</script>
或者直接把可疑的文件或完整模板包更换成下载模板压缩包里的原始文件。
3.如果更换其他的模板仍然跳转,那就是cms程序或者运行环境被黑了
这种情况一般黑客会在运行环境里动手脚,比如apache和nginx被黑,自动在网页里面增加跳转代码,甚至可以控制频率,比如每天只加一次,而且只在手机版访问的时候出现,极其隐蔽,很难排查。
遇到这种情况,可以重新安装cms程序或者在服务器管理面板(如宝塔)里面卸载并重装apache/nginx这些运行环境,即可解决问题。
4、如果还是不行,那应该就是数据库或者服务器被黑了。
这种情况,直接联系服务器方的工作人员帮忙处理,普通人大概率是搞不定了。
总之,整体思路就是定位问题具体出现的位置,然后针对性处理就可以了。
修改或处理前一定要记得备份!
平时也一定做好服务器的安全防护工作,以及定期备份网站和数据库,防患于未然。
今天这件事又发生了。托管在cloudflare(https://cloudflare.com/)上的图片储存网站的图片被发现没有显示,打开原网站后跳转到了无关网站。我又搜索了和我的网站域名后缀(*.pages.dev)一样的网站,结果亦如此。今天晚上,网站被恢复,一切正常。但是晚些时候,我收到了一封来自我订阅的监控网站状态的邮件,告诉我我的网站的后台(https://cpanel.lengyandong.eu.org/)出现了521错误,网站服务器宕机。直到现在仍未解决问题。希望这次文件和数据库不会出事。
数据成功备份啦!文件和数据库一切正常,只有cPanel面板有问题(web server is down)。自己不必担心啦~相信过一会服务器会好的!
服务器问题修复好啦!