<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                企業??AI智能體構建引擎,智能編排和調試,一鍵部署,支持知識庫和私有化部署方案 廣告
                https://my.oschina.net/guolikai/blog/1817615 Tomcat安全管理規范 [TOC] # 一、 安全設置規范 ## 1.強制要求部分 ### 1) telnet管理端口保護(強制) 配置說明 * 修改默認的8005管理端口為不易猜測的端口(大于1024); * 修改SHUTDOWN指令為其他字符串; 標準配置 ```xml <Server port="8527" shutdown="dangerous"> ``` 備注: 以上配置項的配置內容只是建議配置,可以按照服務實際情況進行合理配置,但要求端口配置在8000~8999之間; ### 2) 禁用管理端(強制) 配置說明 * 刪除默認的{Tomcat安裝目錄}/conf/tomcat-users.xml文件,重啟tomcat后將會自動生成新的文件; * 刪除{Tomcat安裝目錄}/webapps下默認的所有目錄和文件; * 將tomcat 應用根目錄 標準配置 ```xml <Context path="" docBase="/home/work/local/tomcat_webapps" debug="0" reloadable="false" crossContext="true"/> ``` 備注 對于前端web模塊,Tomcat管理端屬于tomcat的高危安全隱患,一旦被攻破,黑客通過上傳web shell的方式將會直接取得服務器的控制權,后果極其嚴重; ### 3) 降權啟動(強制) 配置說明 * tomcat啟動用戶權限必須為非root權限,盡量降低tomcat啟動用戶的目錄訪問權限; * 如需直接對外使用80端口,可通過普通賬號啟動后,配置iptables規則進行轉發; 備注 避免一旦tomcat 服務被入侵,黑客直接獲取高級用戶權限危害整個server的安全; ### 4) 文件列表訪問控制(強制) 配置說明 * conf/web.xml文件中default部分listings的配置必須為false; 標準配置 ```xml <init-param> <param-name>listings</param-name> <param-value>false</param-value> </init-param> ``` 備注 false為不列出目錄文件,true為允許列出,默認為false; ### 5) 版本信息隱藏(強制) 配置說明 * 修改conf/web.xml,重定向403、404以及500等錯誤到指定的錯誤頁面; * 也可以通過修改應用程序目錄下的WEB-INF/web.xml下的配置進行錯誤頁面的重定向; 標準配置 ```xml <init-param> <param-name>listings</param-name> <param-value>false</param-value> </init-param> <error-page> <error-code>403</error-code> <location>/forbidden.jsp</location> </error-page> <error-page> <error-code>404</error-code> <location>/notfound.jsp</location> </error-page> <error-page> <error-code>500</error-code> <location>/systembusy.jsp</location> </error-page> ``` 備注 在配置中對一些常見錯誤進行重定向,避免當出現錯誤時tomcat默認顯示的錯誤頁面暴露服務器和版本信息; 必須確保程序根目錄下的錯誤頁面已經存在; 注意: 此外的錯誤頁面定義,每個項目工程目錄下都要各自建立自己的相應的錯誤頁面。 ## 2.推薦要求部分 ### 1) ajp連接端口保護(推薦) 配置說明 * 修改默認的ajp 8009端口為不易沖突的大于1024端口; * 通過iptables規則限制ajp端口訪問的權限僅為線上機器; 標準配置 ```xml <Connector port="8528" protocol="AJP/1.3" /> ``` 備注 以上配置項的配置內容僅為建議配置,請按照服務實際情況進行合理配置,但要求端口配置在8000~8999之間; 保護此端口的目的在于防止線下的測試流量被mod_jk轉發至線上tomcat服務器; ### 2)Server header重寫(推薦) 配置說明 * 在HTTP Connector配置中加入server的配置; 標準配置 ```xml server="webserver" ``` 備注 當tomcat HTTP端口直接提供web服務時此配置生效,加入此配置,將會替換http 響應Server header部分的默認配置,默認是Apache-Coyote/1.1 ### 3)起停腳本權限回收(推薦) 配置說明 * 去除其他用戶對Tomcat的bin目錄下shutdown.sh、startup.sh、catalina.sh的可執行權限; 標準配置 ```sh chmod -R 744 tomcat/bin/* ``` 備注 防止其他用戶有起停線上Tomcat的權限; ### 4)訪問日志格式規范(推薦) 配置說明 * 開啟Tomcat默認訪問日志中的Referer和User-Agent記錄 標準配置 ```xml <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs" prefix="localhost_access_log." suffix=".txt" pattern="%{X-Forwarded-For}i %l %u %t %r %s %b %{Referer}i %{User-Agent}i %D" resolveHosts="false"/> ``` 備注 開啟Referer和User-Agent是為了一旦出現安全問題能夠更好的根據日志進行問題排查; X-Forwarded-For用于nginx作為反向代理服務器時,獲取客戶端真實的IP ## 3.可選要求部分 ### 1)訪問限制(可選) 配置說明 * 通過配置,限定訪問的ip來源 標準配置 ```xml <Context path="" docBase="/home/work/tomcat" debug="0" reloadable="false" crossContext="true"> <Valve className="org.apache.catalina.valves.RemoteAddrValve" allow="61.148.18.138,61.135.165.*" deny="*.*.*.*"/> </Context> ``` 備注 通過配置信任ip的白名單,拒絕非白名單ip的訪問,此配置主要是針對高保密級別的系統,一般產品線不需要; ### 2)屏蔽DNS查詢 配置說明 * enableLookups 標準配置 ```xml <Connector enableLookups="false"/> ``` 備注 enableLookups:調用request、getRemoteHost()執行DNS查詢,以返回遠程主機的主機名,如果設置為false,則直接返回IP地址。 ### 3)壓縮管理 配置說明 * 在 server.xml 配置文件中的 Connector 節點中配置如下參數,來實現對指定資源類型進行壓縮。 標準配置 ```xml compression="on" compressionMinSize="50" noCompressionUserAgents="gozilla, traviata" compressableMimeType="text/html,text/xml, text/javascript,text/css,text/plain" ``` 備注 * 打開壓縮功能 * 啟用壓縮的輸出內容大小,默認為2KB * 對于以下的瀏覽器,不啟用壓縮 * 哪些資源類型需要壓縮 >前端使用nginx作為反向代理,一般不需要啟用tomcat壓縮功能。 >tomcat作為一個應用服務器,也是支持 gzip 壓縮功能的。 # 二、附錄:建議配置及標準執行方案 ## 1) 配置部分`${ CATALINA_HOME }/conf/server.xml` ```xml <Server port="8527" shutdown="dangerous"> <!--Define a non-SSL HTTP/1.1Connector on port 8080--> <Connector port="8080" server="webserver"/> <!--Define an AJP 1.3Connector on port 8528--> <!--Define an accesslog --> <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"/> <Connector port="8528" protocol="AJP/1.3"/> <Context path="" docBase="/home/work/local/tomcat_webapps" debug="0" reloadable="false" crossContext="true"/> ``` ## 2)配置部分(${ CATALINA_HOME }/conf/web.xml或者WEB-INF/web.xml) ```xml <init-p aram> <param-name>listings</param-name> <param-value>false</param-value> </init-param> <error-page> <error-code>403</error-code> <location>/forbidden.jsp</location> </error-page> <error-page> <error-code>404</error-code> <location>/notfound.jsp</location> </error-page> <error-page> <error-code>500</error-code> <location>/systembusy.jsp</location> </error-page> ``` ## 3)刪除如下tomcat的默認目錄和默認文件 ```sh rm -fr tomcat/webapps/* rm -fr tomcat/conf/tomcat-user.xml ``` ## 4)除其他用戶對tomcat 起停腳本的執行權限 ```sh chmod 744 –R tomcat/bin/* ```
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看