tomcat安全加固 说明书(Linux)

  1. 启动用户

1.1. 实施方案

1、实施策略:建议落实最小权限授予原则,采用仅满足启动服务器权限的账号启动tomcat应用服务,降低本地系统账号权限被非法者获取的风险。

2、操作指令

(1)新增满足服务启动权限要求的账号,并配置符合安全策略要求的密码(口令要求:长度至少8位,并包括数字、小写字母、大写字母和特殊符号4类中至少2类,防止被暴力破解)

groupadd tomcat
useradd -g tomcat tomcat
passwd tomcat
#操作提示如下,两次密码保持一致
Changing password for user admin.
New password: 第一次密码
BAD PASSWORD: The password is shorter than 8 characters
Retype new password: 第二次密码
passwd: all authentication tokens updated successfully.
id tomcat
#输出提示如下信息,表示添加成功(uid/gid/groups值不一定为1000,以下内容仅做参考)
uid=1000(tomcat) gid=1000(tomcat) groups=1000(tomcat)

(2)修改应用属主属组(注意核实路径)

chown -R tomcat:tomcat /PATH/tomcat

1.2. 回滚方案

使用管理员用户启动中间件:

(1)修改应用属主属组(注意核实路径)

chown -R root:root /PATH/tomcat
userdel -r tomcat
id tomcat
#输出如下信息,表示删除成功
id: tomcat: no such user
  1. 网络连接超时

2.1. 实施方案

1、实施策略:在server.xml配置文件里设置connectionTimeout参数,建议设置为30000,即为30秒

2、操作指令

—备份配置文件(加固前创建备份目录,按照日期命名,无需重复创建,拷贝配置文件时注意核实路径)

mkdir /root/backup20200618
cp -a /PATH/tomcat/conf/server.xml /root/backup20200618
---修改策略(注意核实路径)
cd /PATH/tomcat/conf/
sed -i 's/connectionTimeout="300"/connectionTimeout="30000"/g' server.xml
grep connectionTimeout= server.xml
#输出如下内容,表示添加成功
             connectionTimeout="30000"  

2.2. 回滚方案

需要回退的时候将修改前的备份文件覆盖回配置文件即可(注意核实路径):

\cp -a /root/backup20200618/server.xml /PATH/tomcat/conf/server.xml
grep connectionTimeout= /PATH/tomcat/conf/server.xml
#输出如下内容,表示回滚成功
             connectionTimeout="300"

3.  使用了默认端口(如8080)

3.1. 实施方案

1、实施策略:建议自定义端口,如8089,在server.xml里进行修改

2、操作指令

—备份配置文件(加固前创建备份目录,按照日期命名,无需重复创建,以下操作请注意核实路径及端口号)

mkdir /root/backup20200618
cp -a /PATH/tomcat/conf/server.xml /root/backup20200618/server_port.xml
---修改策略
sed -i 's/port="8080"/port="8089"/g' /PATH/tomcat/conf/server.xml
grep 'port="8089"' /PATH/tomcat/conf/server.xml
#输出如下内容,表示修改成功
             port="8089"

3.2. 回滚方案

需要回退的时候将修改前的备份文件覆盖回配置文件即可(注意核实路径):

\cp -a /root/backup20200618/server_port.xml /PATH/tomcat/conf/server.xml
grep 'port="8080"' /PATH/tomcat/conf/server.xml
#输出如下内容,表示回滚成功
             port="8080" 
  1. 目录遍历

4.1. 实施方案

1、实施策略:在web.xml里配置

<init-param>
    <param-name>listings</param-name>
    <param-value>true</param-value> //将true改为false
</init-param>

2、操作指令

—备份配置文件(加固前创建备份目录,按照日期命名,无需重复创建,以下操作请注意核实路径)

mkdir /root/backup20200618
cp -a /PATH/tomcat/conf/web.xml /root/backup20200618/web.xml

—修改策略

(1)核实待修改内容在web.xml中的位置是否位于第110到113行,如果标记的待修改位置值已经为false,则无需进行修改操作

sed -n -e "110,113p" /PATH/tomcat/conf/web.xml
#输出如下内容,表示待修改的位置正确,否则需要调整指令
<init-param>
    <param-name>listings</param-name>
    <param-value>true</param-value>
</init-param>

(2)修改web.xml文件第112行,将true更改为false

cd /PATH/tomcat/conf/
sed -ie '112s#true#false#g' web.xml

(3)核实待修改的位置内容是否已经由值true变为false

sed -n -e "110,113p" /PATH/tomcat/conf/web.xml
#输出如下内容,表示修改成功
<init-param>
    <param-name>listings</param-name>
    <param-value>false</param-value>
</init-param>

4.2. 回滚方案

需要回退的时候将修改前的备份文件覆盖回配置文件即可(注意核实路径):

\cp -a /root/backup20200618/web.xml /PATH/tomcat/conf/web.xml
sed -n -e "110,113p" /PATH/tomcat/conf/web.xml
#输出如下内容,表示回滚成功
<init-param>
    <param-name>listings</param-name>
    <param-value>true</param-value>
</init-param>
  1. 注意事项

1、在进行策略回滚操作时 \cp 中前面的 \ 符号不是多余的,请注意操作时指令的完整性;

2、部分章节操作要以实际环境为准(如第1章节的自定义启用用户、第3章节的自定义端口号、第4章节待修改的位置),不可盲目复制指令随意操作;

如果有不当之处,还请多多评论指正,谢谢!

你可能感兴趣的:(中间件安全加固)