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"/>


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM