Web server的安全关注两点:
1、Web server本身是否安全;
2、Web server是否提供了安全的功能;
以root或admin账号运行web server是应当尽量避免的,将可能带来两种可怕的后果:
1、当黑客入侵web server后,将可能直接获得一个高权限的shell;
2、当bug出现时,可能带来较高风险。
Apache
apache核心的高危漏洞几乎没有,其漏洞大部分是由其Module造成的。所以,检查apache安全,首要检查其module安装情况,根据“最小权限原则”,尽可能减少不必要的module,对于要使用的module,检查其对应版本是否存在安全漏洞。
apache有些参数可以对DDOS攻击有所缓解,作用有限,聊胜于无;
需要保护好apache log,最好发送到远程syslog服务器。
Nginx http://nginx.org/en/security_advisories.html
Nginx默认安装版本漏洞相对apache要多,所以需要多关注nginx的漏洞信息,及时将nginx升级到安全的版本。
Nginx的一些参数也能在对抗DDOS和CC攻击方面有一定缓解,Nginx可做一些简单的条件判断,比如客户端user-agent具有什么特征,或来自某个特定referer、IP等条件,相应动作可以是返回错误号,或进行重定向。
JBoss
jBoss默认安装会有一个管理后台JMX-Console,默认无认证,可远程执行命令。实际应用时,建议删除JMX-Console,必须使用时,设置强壮的密码。
Tomcat
tomcat与jboss类似,提供tomcat manager,作用与JMX-Console类似,也可以在其上部署war包。不过tomcat manager部署war包需要有manager权限,这一权限是在配置文件tomcat-users.xml中定义的。tomcat后台虽然有密码认证,但仍建议删除之。
HTTP Parameter Pollution 简称HPP攻击
通过GET或POST向服务器发起请求时,提交两个相同的参数,服务器的取值特性可能绕过一些服务端的逻辑判断。这种攻击与web服务器环境、脚本语言有关。
通过HPP混淆参数,可绕过ModSecurity对于SQL注入的检测。