Tomcat安全加固

1.   Tomcat运行在非root用户下

        为Tomcat创建的专用用户,并拥有必须的最小权限。

    useradd tomcat -M -d / -s /usr/sbin/nologin


2.   删除默认的应用

       webapps目录下的应用删除或禁止访问。


3.   关闭Shutdown端口或复杂化停止密码

       Shutdown端口设置为-1 或为Shutdown提供复杂密码。

       <Server port="-1" shutdown="1q2w3e4r">


4.   禁用TRACE请求

      <Connector port="8080" protocol="HTTP/1.1"  connectionTimeout="20000" allowTrace="fasle"/>


5.  关闭xpoweredBy响应头

     <Connector port="8080" protocol="HTTP/1.1"    connectionTimeout="20000" xpoweredBy="fasle"/>


6.  禁用SSL v3协议

      <Connector protocol="HTTP/1.1" SSLEnabled="true" 

        port="8443" sslProtocols = "TLS" sslEnabledProtocols="TLSv1,TLSv1.1,TLSv1.2"/>


7.   禁用deployXML功能

       <Host name="localhost"  unpackWARs="false" deployXML="false">


8.  关闭自动部署

        防止被植入恶意程序,关闭自动部署。部署应用时重启生效。

       <Host name="localhost" appBase=""  unpackWARs="false" autoDeploy="false">


9.   隐藏Tomcat的版本信息

       修改catalina.jar!org\apache\catalina\util\ServerInfo.properties文件中的版本信息为

       server.info=Apache Tomcat

       server.number=

       server.built=

      <Connector port="8080" protocol="HTTP/1.1"    connectionTimeout="20000" server="AS 1.0"/>


10.  自定义错误页面

   Tomcat内部生成的错误页面包含Tomcat相关信息。

   编辑conf/web.xml,在</web-app>标签前添加以下内容

  <error-page>
  <error-code>404</error-code>
   <location>/404.html</location>
  </error-page> 
  <error-page>
    <error-code>500</error-code>
   <location>/500.html</location>
  </error-page>


11.  限定访问的IP地址

     一般存在前端负载均衡,请求地址比较固定。

     <Host name="localhost"  appBase="/data/www/apps"   unpackWARs="true" autoDeploy="false">

     <Valve className="org.apache.catalina.valves.RemoteAddrValve"    allow="192.168.1.10,192.168.1.11,192.168.2.*" deny=""/>  

     <Valve className="org.apache.catalina.valves.RemoteHostValve"  allow="www.test.com,*.test.com" deny=""/></Host>


12. 开启访问日志记录

    记录流量访问,会带来部分性能开销

    <Valve className="org.apache.catalina.valves.AccessLogValve"  directory="logs" 

     prefix="localhost_access_log"  suffix=".txt" 

     pattern="%h %l %u %t &quot;%r&quot; %s %b %{Referer}i %{User-Agent}i %D"

     resolveHosts="false" />


13.  禁用访问目录列表

        编辑conf/web.xml文件

      <servlet>

        <servlet-name>default</servlet-name>

        <servlet-class>org.apache.catalina.servlets.DefaultServlet</servlet-class>

        <init-param>

            <param-name>debug</param-name>

            <param-value>0</param-value>

        </init-param>

        <init-param>

            <param-name>listings</param-name>

            <param-value>false</param-value>

        </init-param>

        <load-on-startup>1</load-on-startup>

    </servlet>


14. 禁用资源的修改权限

     <servlet>

        <servlet-name>default</servlet-name>

        <servlet-class>org.apache.catalina.servlets.DefaultServlet</servlet-class>

        <init-param>

            <param-name>debug</param-name>

            <param-value>0</param-value>

        </init-param>

        <init-param>

            <param-name>readonly</param-name>

            <param-value>true</param-value>

        </init-param>

        <load-on-startup>1</load-on-startup>

    </servlet>

15.  Tomcat与项目文件属主分离

      即便攻破了Tomcat,也不能对项目文件进行更改。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值