Nginx加固
禁止显示版本
nginx禁止显示版本有两种方法
1)配置文件添加语句1
2vim /usr/local/nginx/conf/nginx.conf
server_tokens off;
2)源码编译的时候修改1
2
3/src/core/nginx.h
#define NGINX_VERSION "1.9.15"
#define NGINX_VER "nginx/" NGINX_VERSION
禁止上传目录禁止php文件
单个目录1
2
3location ~ /upload/.*\.(php|php5)?$ {
deny all;
}
多个目录1
2
3location ~* ^/(administrator|upload)/.*\.(php)$ {
deny all;
}
禁止访问所有目录下的敏感文件
1 | location ~. *\.(sql|log|txt|rar|zip|sh|py|svn|git) { |
禁用不必要的HTTP方法
1 | if ($request_method !~ ^(GET|HEAD|POST)$) |
Tomcat加固
补丁和漏洞管理
必须及时安装与安全性相关的tomcat补丁
http://tomcat.apache.org/lists.html#tomcat-announce
设置Tomcat服务最小权限
1)创建不可登陆的用户1
useradd -s /sbin/nologin tomcat
2)添加用户和组1
/usr/lib/systemd/system/tomcat8.service
[Service]
下添加1
2User=tomcat
Group=tomcat
3)添加权限1
chown -R tomcat:tomcat /usr/local/tomcat
网络级限制
tomcat8上已经禁止所有,只允许本地访问。8以下的版本可以使用下面代码来实现
1 | /usr/local/tomcat/webapps/manager/META-INF/context.xml |
设置用户管理
1 | tomcat-users.xml |
隐藏tomcat版本信息
修改$CATALINA_HOME/conf/server.xml
,在Connector节点添加server
字段
或者修改下面路径的jar中的配置文件1
/usr/local/tomcat/lib/org/apache/catalina/util
关闭自动部署
在$CATALINA_HOME/conf/server.xml
中的host字段unpackWARs
改为false
1
2<Host name="localhost" appBase="webapps"
unpackWARs="true" autoDeploy="true">
session超时
1 | /conf/web.xml |
启用cookie的HttpOnly属性
1 | CATALINA_BASE/conf/context.xml |