什么是中间件
浏览器:firefox浏览器、IE浏览器、safari浏览器、Chrome浏览器等
服务程序:Apache、nginx、IIS、Tomcat等
数据库:MySQL、oracle、Redis等
Apache加固
防止webshell越权使用
非超级用户权限禁止修改Apache主目录
日志文件如果给了执行权限,那么shell脚本可能会注入到日志文件中被执行。
修改日志级别,记录格式
防止访问网站目录以外的文件
/目录配置denied拒绝,如果不拒绝就会有目录穿越,然后造成敏感文件泄露
防止使用web直接浏览目录内容
防止目录遍历漏洞,配置里不要Indexes
防止通过默认错误回馈泄露敏感信息
错误信息可能会泄露有用信息
合理设置会话时间,防止拒绝服务
防止DDOS
超时时间10秒,保持连接打开,连接超时15秒
避免被针对漏洞,Apache版本号泄露
针对当前中间件的版本是否显示,如果不隐藏,Apache的版本会暴露。
防止trace方法被恶意利用泄露信息
确保不适用cgi程序的情况下,关闭cgi功能
服务器多个IP时,绑定业务接口IP
禁用put、delete等危险的http方法
防止非法文件绕过合法性检查
禁止php页面对sql注入给予反馈
给符号加上转义符
防止溢出漏洞
请求包很大的话就可能会溢出。
Nginx加固
避免被针对版本直接使用漏洞
隐藏版本信息
某些目录为运维页面,不要公开访问
敏感目录使用白名单访问
比较敏感的目录,使用白名单。
防止通过浏览器直接查看目录内容
防止目录穿越,底裤扒光
制作重定向,防止默认页面存在安全隐患
修改日志格式,便于审计
只允许常用的get和post方法,减少漏洞
减缓被ddos攻击时资源消耗速度
rate=20r/s 每个ip每秒不超过20个请求
缓解ddos造成的影响
防止通过其他途径使用本网站资源
防盗链
valid_referers白名单 192.168.0.1 *.baidu.com来的资源是合法的
防止高权限运行nginx进程
防止非法后缀被服务器识别(PHP)
只有.php后缀的才解析为php,防止解析漏洞将其他文件解析为php。
Tomcat加固
如果不需要Tomcat控制台(Tomcat默认页面)就关掉
开启日志
使用common日志格式,resolveHosts 不进行反向解析
但是日志文件会越来越大,硬盘资源会被占用完。如果要开启日志,搜一下自动清理。
避免泄露敏感信息
有几个站点,就改几个站点的。
防止浏览器查看目录内容
禁用不安全的http请求方式
Tomcat有个PUT漏洞
访问来源白名单
allow白名单 deny黑名单
缓解ddos攻击带来的过度资源占用
降低被扫描的几率
修改端口,端口号范围1~65535
防止传输信息被截获解读
修补最新的漏洞
访问http://httpd.tomcat.org下载最新稳定版补丁
先看Tomcat版本,再去找对应的补丁。