当前位置:   article > 正文

Nginx加固 && Tomcat加固_nginx加固代理加固 tomacat

nginx加固代理加固 tomacat

一、Nginx加固

1. 禁止显示版本

nginx禁止显示版本有两种方法

  • 配置文件添加语句
vim /usr/local/nginx/conf/nginx.conf
server_tokens off;
  • 1
  • 2
  • 源码编译的时候修改
/src/core/nginx.h
#define NGINX_VERSION "1.9.15"
#define NGINX_VER "nginx/" NGINX_VERSION
  • 1
  • 2
  • 3

2. 禁止上传目录禁止php文件

  • 单个目录
location ~ /upload/.*\.(php|php5)?$ { 
deny all; 
}
  • 1
  • 2
  • 3
  • 多个目录
location ~* ^/(administrator|upload)/.*\.(php)$ {
deny all;
}
  • 1
  • 2
  • 3

3. 禁止访问所有目录下的敏感文件

location ~. *\.(sql|log|txt|rar|zip|sh|py|svn|git) {
deny all;
}
  • 1
  • 2
  • 3

4. 禁用不必要的HTTP方法

if ($request_method !~ ^(GET|HEAD|POST)$)
{
return 405;
}
  • 1
  • 2
  • 3
  • 4

二、Tomcat加固

1. 补丁和漏洞管理

必须及时安装与安全性相关的tomcat补丁
http://tomcat.apache.org/lists.html#tomcat-announce

2. 设置Tomcat服务最小权限

  1. 创建不可登陆的用户
useradd -s /sbin/nologin tomcat
  • 1
  1. 添加用户和组
/usr/lib/systemd/system/tomcat8.service
  • 1

[Service]下添加

User=tomcat
Group=tomcat
  • 1
  • 2
  1. 添加权限
chown -R tomcat:tomcat /usr/local/tomcat
  • 1

3. 网络级限制

tomcat8上已经禁止所有,只允许本地访问。8以下的版本可以使用下面代码来实现

/usr/local/tomcat/webapps/manager/META-INF/context.xml

<Valve className="org.apache.catalina.valves.RemoteHostValve" 
allow=".*\.admins\.domain\.com" 
/>
  • 1
  • 2
  • 3
  • 4
  • 5

4. 设置用户管理

tomcat-users.xml

<role rolename="manager-gui"/>
<role rolename="manager-script"/>
<role rolename="manager-jmx"/>
<role rolename="manager-status"/>
<user username="admin" password="123ccc" roles="manager-gui,manager-script,manager-jmx,manager-status"/>
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

5. 隐藏tomcat版本信息

修改$CATALINA_HOME/conf/server.xml,在Connector节点添加server字段
或者修改下面路径的jar中的配置文件

/usr/local/tomcat/lib/org/apache/catalina/util
  • 1

6. 关闭自动部署

$CATALINA_HOME/conf/server.xml中的host字段unpackWARs改为false

<Host name="localhost" appBase="webapps"
unpackWARs="true" autoDeploy="true">
  • 1
  • 2

7. session超时

/conf/web.xml
<session-config> 
<session-timeout>20</session-timeout>
</session-config>
  • 1
  • 2
  • 3
  • 4

8. 启用cookie的HttpOnly属性

CATALINA_BASE/conf/context.xml
<Context useHttpOnly='true' .../>
  • 1
  • 2
声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:【wpsshop博客】
推荐阅读
相关标签
  

闽ICP备14008679号