一直大量使用DedeCMS和WordPress建站。但是由于有些站点不能持续更新,而且还有一些行业站点用的程序漏洞百出,所以频繁被黑。想到的最终办法就是去除可写目录的执行权限。这个操作在liunix主机上非常容易,Windows的主机上就比较困难了。所以这里提供一个更简单的思路,把附件目录分离成子站点,并设置该站点为纯静态站。这样,任何上传的数据都不再具有执行权限,木马也不能生效。而且纯静态站点的执行效率非常高,包括IIS也是如此。
具体方案
这里的演示程序是DedeCms,附件目录是uploads,站点域名是http://www.99288.net.cn
uploads目录rewrite到http://a.99288.net.cn;
添加纯静态站点a.99288.net.cn;
设置主目录为/var/www/99288.net.cn/uploads
具体操作
Linux下的操作
#设置rewrite
cat > /var/www/99288.net.cn/.htaccess <
最后两行的作用是防止非uploads的跳转用的。
综述
按照以上操作后所有的写目录都可以独立出去;而且转发的站点是纯静态的站点,不存在被注入的可能性。以前有一个ASP的程序都是漏洞就通过此方法良好运行了600多天,因为注入的所有文件都是不能被执行的。(我把ASP的后缀改成PHP了),只允许执行.php文件。注入的都是ASP的木马所以根本不能执行。
最后,如果可能的话,让Nginx监听一个独立的IP设置跑在一个独立的服务器上性能会更好的。
最新评论