✏️
安全运维
  • 目录
  • 常用命令速查手册
    • LINUX 命令总结
  • Linux--CentOS
    • 实战案例
      • 进入CentOS 7紧急模式,恢复root密码
      • 创建一个让root都无法删除的文件
      • tar源码包管理及srpm源码包安装方法
      • 找出系统中使用CPU最多的进程
      • 使用screen执行备份命令
      • 扩展Swap分区
      • 解决磁盘有空间但创建不了文件及修复文件系统问题
      • 修复服务器文件系统
      • 自定义ssh服务的日志类型和存储位置
      • 日志切割及搭建远程日志收集服务器
      • 配置公司内网服务器每天定时自动开关机
    • 基础知识
      • Linux的目录结构
      • 系统时间管理
      • 关机、重启命令及7个运行级别
      • passwd、shadow 文件
    • 基础命令
      • 帮助命令
      • ping 命令
      • ls 命令
      • alias 命令
      • history 命令
      • Linux中的快捷键
      • Untitled
      • Untitled
    • 基础配置
      • 安装中文版man手册
      • 网卡配置
      • 关闭防火墙并设置开机不启动防火墙
      • 临时和永久关闭SELinux
      • 配置本地YUM源
    • 文件管理
      • touch 命令
      • VIM 命令
      • cp 命令
      • mv 命令
    • 文件查看
      • cat 命令
      • more 命令
      • less 命令
      • head 命令
      • tail 命令
      • sort 命令
    • 用户和用户组管理
    • 文件权限管理
      • 文件基本权限
      • 文件的特殊权限:SUID、SGID、STicky及文件扩展权限ACL
    • 程序包的管理与安装
      • Yum的使用
    • 文件的压缩和归档
    • 系统进程管理
      • uptime命令查看系统负载
      • top 命令动态管理进程
      • lsof 命令
      • pstree 命令
      • 进程前、后台切换及优先级管理
    • 重定向和文件的查找
      • 文件描述符
      • 重定向的含义及管道、tee命令的使用
      • 查找文件的常用命令及应用
      • 命令判断——3个特殊符号“;”“﹠﹠”“||”
    • 磁盘介绍及管理
      • 磁盘分区工具和挂载
    • 文件系统结构
      • 文件系统结构
      • 文件的硬链接和软链接
      • 使用ln命令创建文件的链接
    • RAID的原理与搭建
      • RAID常用类型搭建和使用,以及注意事项
    • LVM管理和SSM工具的使用
      • 创建LVM的基本步骤
      • SSM工具
    • Linux计划任务与日志的管理
      • 日志的种类和记录的方式
    • 文件共享服务
      • NFS 的安装与使用
      • Samba 的安装与使用
      • CentOS 7.6 安装和配置samba文件共享服务
      • FTP 的安装与使用
      • proftpd
  • 安全加固
    • Windows 安全加固
    • WebLogic 安全加固
    • Apache 安全加固
    • Tomcat 安全加固
    • MySql 安全加固
    • PHP 安全加固
    • SSH 安全加固
    • IIS 安全加固
  • 基线检查
    • DB2数据库基线检查策略
    • MySQL数据库基线检查策略
    • Oracle10g数据库基线检查策略
    • Sybase数据库基线检查策略
    • MSSQL 2008 基线检查策略
    • Jboss7 基线检查策略
    • Apache 基线检查策略
    • Tomcat 基线检查策略
    • 基线检查策略
  • ClamAV
  • iptables
由 GitBook 提供支持
在本页

这有帮助吗?

  1. 基线检查

Tomcat 基线检查策略

1、Tomcat共享帐号管理

1、参考配置
修改文件$TOMCAT_HOME/conf/tomcat-users.xml,请在tomcat-users标签内新增帐号,如:
   <user username="test" password="tomcat!" roles="role1"/>
2、补充操作说明
(1)请根据实际情况配置用户名与密码

2、删除与工作无关账号

参考配置
(1)修改文件$TOMCAT_HOME/conf/tomcat-users.xml,删除无关账号内容,如:
    <user username="role1" password="tomcat" roles="role1"/>
补充说明
  需要删除账号:both、role1

3、静态口令太简单

1、参考配置
(1)配置密码复杂度
修改文件$TOMCAT_HOME/conf/tomcat-users.xml,修改password的值,如:
    <user username="test" password="Manager!@34" roles="role1"/>
2、补充操作说明
口令要求:长度至少8位,并包括数字、小写字母、大写字母和特殊符号4类中至少3类。

4、静态口令生存期

1、参考配置
(1)请定期修改tomcat用户密码
修改文件$TOMCAT_HOME/conf/tomcat-users.xml,修改password的值,如:
    <user username="test" password="Manager!@34" roles="role1"/>

5、记录用户登录日志信息

1、参考配置
(1)配置日志功能
    修改文件$TOMCAT_HOME/conf/server.xml,
    在<HOST>标签中将以下内容的注释标记< ! --    -- >取消
    <valve classname=”org.apache.catalina.valves.AccessLogValve”
    Directory=”logs” prefix=”localhost_access_log.” Suffix=”.txt”
    Pattern=”common” resloveHosts=”false”/>
2、补充操作说明 
(1)Directory:日志文件放置的目录,在tomcat下面有个logs文件夹,
     那里面是专门放置日志文件的,也可以修改为其他路径
(2)Prefix: 这个是日志文件的名称前缀,
     日志名称为localhost_access_log.2008-10-22.txt,前面的前缀就是这个localhost_access_log 
(3)Suffix: 文件后缀名 
(4)Pattern: common方式时,
     将记录访问源IP、本地服务器IP、记录日志服务器IP、访问方式、发送字节数、本地接收端口、访问URL地址等相关信息在日志文件中

6、启用访问模块审计、错误信息日志功能

参考配置
(1)增加记录日志功能
修改文件$TOMCAT_HOME/conf/server.xml,在<HOST>标签中将以下内容的注释标记< ! --    -- >取消
    <valve classname=”org.apache.catalina.valves.AccessLogValve”
    Directory=”logs” prefix=”localhost_access_log.” Suffix=”.txt”
    Pattern=”common” resloveHosts=”false”/>

7、日志需要记录远程访问的IP地址

1、参考配置
(1)配置日志功能
修改tomcat的conf目录下的文件server.xml,在<HOST>标签中将以下内容的注释标记< ! --    -- >取消
    <valve classname="org.apache.catalina.valves.AccessLogValve"
    directory="logs" prefix="localhost_access_log." Suffix=".txt"
    Pattern="common" resloveHosts="false"/>
2、补充操作说明 
(1)directory:日志文件放置的目录,在tomcat下面有个logs文件夹,那里面是专门放置日志文件的,也可以修改为其他路径
(2) Prefix: 这个是日志文件的名称前缀,日志名称为localhost_access_log.2008-10-22.txt,前面的前缀就是这个localhost_access_log 
(3)Suffix: 文件后缀名 
(4)Pattern: common方式时,将记录访问源IP、本地服务器IP、记录日志服务器IP、访问方式、发送字节数、本地接收端口、访问URL地址等相关信息在日志文件中

8、禁止超级用户启动tomcat

参考配置
(1)在普通用户的模式下,运行tomcat的启动脚本,不适用root用户启动

9、启用安全协议https

1、参考配置
(1)使用JDK自带的keytool工具生成一个证书
    JAVA_HOME/bin/keytool  -genkey –alias tomcat –keyalg  RSA -keystore /path/to/my/keystore
  /path/to/my/keystore请根据实际情况修改
(2)修改tomcat的conf目录下的文件server.xml,更改为使用https方式,增加如下行:
    <Connector classname="org.apache.catalina.http.HttpConnector" 
     port="8443"  minProcessors="5"  maxprocessors="100" 
     enableLookups="true"  acceptCount="10"  debug="0"
     scheme="https" secure="true" />
    <Factory classname="org.apache.catalina.SSLServerSocketFactory"
     clientAuth="false" 
     keystoreFile="/path/to/my/keystore"  keystorePass="runway1@"
     protocol="TLS"/>
其中keystorePass的值为生成keystore时输入的密码,其他参数请根据实际情况填写
(3)重新启动tomcat服务

10、设置连接超时时间限制

1、参考配置
(1)配置定时自动登出功能
修改tomcat的conf目录下的文件server.xml,在相关内容下,修改connectionTimeout为300秒:
    <Connector port="8080" maxHttpHeaderSize="8192" 
     maxThreads="150" minSpareThreads="25" 
     maxSpareThreads="75" enableLookups="false" 
     redirectPort="8443" acceptCount="100" 
     connectionTimeout="300" disableUploadTimeout="true" />
请将connectionTimeout值设置为不大于基线配置值的整数,且不为0
2、补充操作说明
(1)请根据实际情况修改,针对每个应用下进行更改

11、检查最大连接数

参考配置
(1)设置连接数
修改tomcat的conf目录下的文件server.xml,配置内容参考如下:
    <Connector   port="8080"
      maxThreads="1024"    minSpareThreads="100"
      maxSpareThreads="500"  acceptCount="100" 
    /> 
maxThreads="1024"  表示最多同时处理1024个连接,请根据实际情况配置不大于基线配置值

12、更改tomcat服务器默认管理端口

参考配置
(1)修改文件$TOMCAT_HOME/conf/server.xml,更改默认管理端口到xx
    <Connector port="xx"  
     maxHttpHeaderSize="8192" maxThreads="150" 
     minSpareThreads="25" maxSpareThreads="75"
     enableLookups="false" redirectPort="8443" acceptCount="100"
     connectionTimeout="300" disableUploadTimeout="true" />
(2)重启tomcat服务

13、Tomcat错误页面重定向

参考配置
(1)配置$TOMCAT_HOME/conf/web.xml文件,在最后</web-app>一行之前加入以下内容:
    <error-page> 
    <error-code>404</error-code>
    <location>/noFile.htm</location> 
    </error-page>
    ……………
    <error-page>
    <exception-type>java.lang.NullPointerException</exception-type>
    <location>/error.jsp</location>
    </error-page>
第一个<error-page></error-page>之间的配置实现了将404未找到jsp网页的错误导向noFile.htm页面,也可以用类似方法添加其他的错误代码导向页面,如403,500等。
第二个<error-page></error-page>之间的配置实现了当jsp网页出现java.lang.NullPointerException导常时,转向error.jsp错误页面,还需要在第个jsp网页中加入以下内容:
    <%@ page errorPage="/error.jsp" %>
典型的error.jsp错误页面的程序写法如下:
    <%@ page contentType="text/html;charset=GB2312"%>
    <%@ page isErrorPage="true"%>
    <html>
    <head><title>错误页面</title></head>
    <body>出错了:</p> 错误信息: <%= exception.getMessage() %><br>
          Stack Trace is : <pre><font color="red"><%
          java.io.CharArrayWriter cw = new java.io.CharArrayWriter();
          java.io.PrintWriter pw = new java.io.PrintWriter(cw,true);
          exception.printStackTrace(pw);
          out.println(cw.toString());
          %></font></pre>
    </body>
    </html>
当出现NullPointerException异常时tomcat会把网页导入到error.jsp,且会打印出出错信息。
(2)重新启动tomcat服务
(3)要求错误页面不能太大

14、禁止tomcat列表显示文件

参考配置
(1) 禁止tomcat列表显示文件
修改文件$TOMCAT_HOME/conf/web.xml, 查找下述内容:
    <init-param>
        <param-name>listings</param-name>
        <param-value>true</param-value>
    </init-param>
把true改成false,则禁止列表显示文件。
(2)重新启动tomcat服务

15、配置自动登出

参考配置
(1)配置定时自动登出功能
修改文件$TOMCAT_HOME/conf/server.xml配置文件,在相关内容下,修改connectionTimeout为30秒(推荐值,必须小于300秒):
    <Connector port="8080" maxHttpHeaderSize="8192" 
     maxThreads="150" minSpareThreads="25" 
     maxSpareThreads="75" enableLookups="false" 
     redirectPort="8443" acceptCount="100" 
     connectionTimeout="30" disableUploadTimeout="true" />
(2)补充操作说明:
请将配置文件中未注释掉的所有连接端口Connector port配置项的connectionTimeout后面的时间修改为小于300秒即可。

16、禁用manager功能

参考配置
 (1)将以下目录$TOMCAT_HOME/webapps/manager,移除到非$TOMCAT_HOME/webapps目录

17、根据机器性能和业务需求,设置最大最小连接数

参考配置
(1)设置连接数
修改文件$TOMCAT_HOME/conf/server.xml,配置内容参考如下:
    <Connector   port="8080"
      maxThreads="1024"    minSpareThreads="100"
      maxSpareThreads="500"  acceptCount="100" 
    /> 
maxThreads="1024"  表示最多同时处理1024个连接
minSpareThreads="100"   表示即使没有人使用也开这么多空线程等待
maxSpareThreads="500"  表示如果最多可以空500个线程
acceptCount="100"  当同时连接的人数达到maxThreads时,还可以接收排队的连接,超过这个连接的则直接返回拒绝连接

18、禁用PUT、DELETE等危险的HTTP 方法

参考配置
(1)修改文件$TOMCAT_HOME/conf/web.xml,配置org.apache.catalina.servlets.DefaultServlet的值,内容如下:
    <init-param>
    <param-name>readonly</param-name>
    <param-value>false</param-value>
    </init-param> 
readonly参数默认是true,即允许delete和put操作,修改为false。
上一页Apache 基线检查策略下一页基线检查策略

最后更新于3年前

这有帮助吗?