作为一个个人blog站点拥有者,时常要维护blog的安全性,以免被轻易打脸, 实践中积累了一些开脑洞的小套路,也取得了不错的效果,今天写出来给大家参考。
网络上关于系统、数据库、web server,、web应用的安全设置一搜一大把,各种开源的WAF、免费的CDN什么的,这里就不费过多口舌,重点说说本人积累的低成本小套路。
一、主导思想
黑客攻击,有一个重要的步骤就是信息搜集,可以通过搜索引擎,也可以使用扫描器,也可以手工去查看,这个过程得到的结果对黑客后续的攻击行为会产生很大的影响,所以,如果我们对某些信息甚至漏洞进行更改、伪造,去诱导、迷惑黑客,那么会产生什么样的结果呢?注意,这里不是搞蜜罐!这是建立在真实业务之上的,我称之为“欺骗诱导式防御”。
二、实践与发散思考
举个栗子,黑客对我的blog进行目录扫描,基本字典里必定包含phpinfo.php,而黑客们很喜欢这个页面,因为它可以暴露很多有用的信息,那么我可以建一个phpinfo.php,不过代码不是<?php phpinfo();?>,而是我通过搜索引擎搜索intitle:phpinfo()得到的,在结果中随机选择一个,把html代码wget下来,比如
wget http://piter1.dns-rus.net/phpinfo.php
将这个其实是纯html的phpinfo.php放置在网站根目录,打开看看,是不是跟真的一样!
但是这里有几个小坑,比如页面中的HTTP_USER_AGENT等需要动态获取的内容是固定的,所以需要使用php代码去获取,这个并不难,虽然是假的,但是我们要做的真,不能侮辱黑客们的智商,让他们一眼就看出来是假的吧?
更进一步,phpinfo.php里很多内容是可以进行欺骗的,比如SERVER_ADDR,显示服务器的ip,完全可以修改为其它任意ip,比如说,修改为某个政府部门的ip,让黑客们搞去吧!更多可以修改的东西大家可以仔细看看,这里点到即止。
既然phpinfo.php做了,那么我们思维发散一下,做一个假的phpmyadmin又何妨?故意放置一些包含“敏感信息”的敏感文件呢……
正常情况下,搜索引擎和正常访客是不会访问到这些页面的,所以我们完全可以做一个触发机制,当有人访问这些页面的时候提示我们。
对于一些非公开的敏感页面,我们也可以修改代码,使该页面需要添加某些特定后缀才能正常访问,否则就报警提示我们。
思维再发散一下,是不是可以通过修改php源代码,让phpinfo() 函数或者其它函数执行结果返回我们想要显示的结果呢?这样是否更具欺骗性呢?
另外,很多人看到Wordpress都会用wpscan扫一下,那么是不是可以针对wpsan扫描的内容进行欺骗呢?比如插件的版本号……
再再扩散一下思维,比如说是否可以在黑客们常扫的二级域名之类的上面做手脚呢?
想想,这个确实是很有效的低成本防御方式呢。