• tomcat安全基线


      为了符合tomcat安全基线,需要做一下加固:

    1、管理用户的密码加密:《摘要算法加密tomcat登录密码》

      管理用户在conf/tomcat-users.xml中配置,密码一般是明文形式,如果需要加密,可以在conf/server.xml配置加密算法后,在tomcat-users.xml文件中填写密文。步骤如下:

    1、server.xml中配置密码加密方式,此处仅做MD5加密,注意:Realm小节在默认配置中是一行,以/结尾,需要拆开。
    <Realm className="org.apache.catalina.realm.UserDatabaseRealm" resourceName="UserDatabase">
            <CredentialHandler algorithm="MD5" className="org.apache.catalina.realm.MessageDigestCredentialHandler"/>
    </Realm>
    2、用digest.sh脚本生成md5加密的密文,输出为:userpassword:balabalabalabala
    digest.sh -a md5 userpassword
    3、将生成的密文替换conf/tomcat-users.xml中原来的明文密码

    2、配置错误页面:《tomcat配置错误页面》,在web.xml的<web-app>中添加

        <!-- 400错误 -->  
        <error-page>  
            <error-code>400</error-code>  
            <location>/error.html</location>  
        </error-page>  
        <!-- 404 页面不存在错误 -->  
        <error-page>  
            <error-code>404</error-code>  
            <location>/error.html</location>  
        </error-page>  
        <!-- 500 服务器内部错误 -->  
        <error-page>  
            <error-code>500</error-code>  
            <location>/error.html</location>  
        </error-page>  
        <!-- java.lang.Exception异常错误,依据这个标记可定义多个类似错误提示 -->  
        <error-page>  
            <exception-type>java.lang.Exception</exception-type>  
            <location>/error.html</location>  
        </error-page>  
        <!-- java.lang.NullPointerException异常错误,依据这个标记可定义多个类似错误提示 -->  
        <error-page>  
            <exception-type>java.lang.NullPointerException</exception-type>  
            <location>/error.html</location>  
        </error-page>

    3、允许远程登录manager控制台:修改manager/META-INF/context.xml,注释掉以下限制:

      <Valve className="org.apache.catalina.valves.RemoteAddrValve"
             allow="127.d+.d+.d+|::1|0:0:0:0:0:0:0:1" />

    4、修改banner:《tomcat修改banner,隐藏版本信息》,修改conf/server.xml的server属性。需要说明的是,此处修改的只是http头中的banner,tomcat的一些错误页面会附加上原始版本信息。关于tomcat的版本信息完全屏蔽,还是要到lib/catalina.jar中去修改。

    打开tomcat的conf/server.xml,在server.xml找到
    <Connector port="8080" protocol="HTTP/1.1"  
                        connectionTimeout="20000" 
                        redirectPort="8443"  
                        URIEncoding="UTF-8" 
                        useBodyEncodingForURI="true" />
    
    修改后如下:
    <Connector port="8080" protocol="HTTP/1.1"  
                         connectionTimeout="20000" 
                         redirectPort="8443"  
                         URIEncoding="UTF-8" 
                         useBodyEncodingForURI="true" 
                         server="Microsoft-IIS/6.5"/>
  • 相关阅读:
    Word Embedding理解
    几种简单的主题模型(生成模型)
    BTM学习小记
    LDA学习小记
    word2vec训练好的词向量
    java带字符编码编译
    web安全领域常见的攻击方式
    宝塔webhook布置gitee自动同步服务端
    unity3d学习路线
    缩略图含裁剪文件
  • 原文地址:https://www.cnblogs.com/badwood316/p/11914912.html
Copyright © 2020-2023  润新知