zoukankan      html  css  js  c++  java
  • Tomcat安全优化

     

    (1)  telnet管理端口保护(强制)
    类别配置内容及说明标准配置备注
    telnet管理端口保护 1.修改默认的8005管理端口为不易猜测的端口(大于1024);2.修改SHUTDOWN指令为其他字符串; <Server port="**8527**" shutdown="**dangerous**"> 1.以上配置项的配置内容只是建议配置,可以按照服务实际情况进行合理配置,但要求端口配置在8000~8999之间;
    (2)  ajp连接端口保护(推荐)
    类别配置内容及说明标准配置备注
    Ajp 连接端口保护 1.修改默认的ajp 8009端口为不易冲突的大于1024端口;2.通过iptables规则限制ajp端口访问的权限仅为线上机器; <Connector port="8528"protocol="AJP/1.3" /> 以上配置项的配置内容仅为建议配置,请按照服务实际情况进行合理配置,但要求端口配置在8000~8999之间;;保护此端口的目的在于防止线下的测试流量被mod_jk转发至线上tomcat服务器;
    (3)  降权启动(强制)
    类别配置内容及说明标准配置备注
    降权启动 1.tomcat启动用户权限必须为非root权限,尽量降低tomcat启动用户的目录访问权限;2.如需直接对外使用80端口,可通过普通账号启动后,配置iptables规则进行转发;   避免一旦tomcat 服务被入侵,黑客直接获取高级用户权限危害整个server的安全;
    [root@java-tomcat1 ~]# useradd tomcat 
    [root@java-tomcat1 ~]# chown tomcat.tomcat /data/application/tomcat/ -R
    [root@java-tomcat1 ~]# su -c '/data/application/tomcat/bin/startup.sh' tomcat
    Using CATALINA_BASE:   /data/application/tomcat
    Using CATALINA_HOME:   /data/application/tomcat
    Using CATALINA_TMPDIR: /data/application/tomcat/temp
    Using JRE_HOME:       /usr/local/java
    Using CLASSPATH:       /data/application/tomcat/bin/bootstrap.jar:/data/application/tomcat/bin/tomcat-juli.jar
    Tomcat started.
    [root@java-tomcat1 ~]# ps -ef | grep tomcat
    tomcat     1065      1 64 20:33 ?        00:00:06 /usr/local/java/bin/java -Djava.util.logging.config.file=/data/applicationtomcat/conf/logging.properties -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Djdk.tls.ephemeralDHKeySize=2048 -Djava.protocol.handler.pkgs=org.apache.catalina.webresources -Dorg.apache.catalina.security.SecurityListener.UMASK=0027 -Dignore.endorsed.dirs= -classpath /data/application/tomcat/bin/bootstrap.jar:/data/application/tomcat/bin/tomcat-juli.jar -Dcatalina.base=/data/application/tomcat -Dcatalina.home=/data/application/tomcat -Djava.io.tmpdir=/data/application/tomcat/temp org.apache.catalina.startup.Bootstrap start
    root       1112   1027  0 20:33 pts/0    00:00:00 grep --color=auto tomcat
    (4)  文件列表访问控制(强制)
    类别配置内容及说明标准配置备注
    文件列表访问控制 1.conf/web.xml文件中default部分listings的配置必须为false; <init-param><param-name>listings</param-name><param-value>false</param-value></init-param> false为不列出目录文件,true为允许列出,默认为false;

    (5)  起停脚本权限回收(推荐)

    类别配置内容及说明标准配置或操作备注
    起停脚本权限回收 去除其他用户对Tomcat的bin目录下shutdown.sh、startup.sh、catalina.sh的可执行权限; chmod -R 744 tomcat/bin/* 防止其他用户有起停线上Tomcat的权限;
    (6)  访问日志格式规范(推荐)

    conf/server.xml

    类别配置内容及说明标准配置或操作备注
    访问日志格式规范 开启Tomcat默认访问日志中的Referer和User-Agent记录 <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs" prefix="localhost_access_log." suffix=".txt" pattern="%h %l %u %t %r %s %b %{Referer}i %{User-Agent}i %D" resolveHosts="false"/> 开启Referer和User-Agent是为了一旦出现安全问题能够更好的根据日志进行问题排查;
  • 相关阅读:
    初学者一些常用的SQL语句(一)
    java小知识
    ArrayList底层实现原理
    JVM原理
    一个简单的登陆注册页面(希望可以帮到您)
    数据结构
    C++/C
    C的函数指针与指针函数
    函数指针与指针函数
    对数据库通用性的更新操作(ssh)
  • 原文地址:https://www.cnblogs.com/wyglog/p/12506815.html
Copyright © 2011-2022 走看看