用“血淋淋”的事实换来的系统安全经验,欢迎探讨、吐槽和补充:
1,利用非root用户安装部署jdk、tomcat等;
2,利用非root用户启动特定tomcat,建议一个tomcat一个用户,虽然麻烦但安全啊;3,80端口的服务无法用非root用户启动,这是可以考虑利用防火墙来将端口转换一下,密令如下:
iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-port 8080
这样讲80端口在本机上转为有8080服务即可,用非root用户管理8080服务;
4,tomcat的webapps下的无用的目录和文件都进行删除,否则可以下载解析到的你的代码,非常危险,另外ROOT和Manage之类的文件夹只留下需要的部分,否则容易被破解上传文件;
5,更改HTTP头域,错误返回页面中服务器版本信息(删除自带版本信息),黑客可以通过版本号,查询当前Tomcat服务器的默认配置信息,以及该版本的安全漏洞;
6,服务器网络控制:尽可能让服务器只能向里访问不可向外访问,如果必须的情况下做服务器隔离;在或者限制外网可访问的端口,也有一定效果;
7,服务器防火墙配置输入和输出的端口控制;
8,数据库要用复杂密码,尽量缩小可访问的范围,如:mysql可以显示到特定IP或者某个IP段可访问,不用用户给不同的用户和密码;
9,代码层面:尽量不用struts,漏洞太多啊;访问利用token串,限定有效时间;DDOS防御;XSS脚本防御;
10,对上传文件一定前后台都做限制,否则会很惨的啦!