提升Debian上Tomcat服務器的安全性是一個多層面的過程,涉及多個方面的配置和最佳實踐。以下是一些關鍵步驟和建議,可以幫助你提高Tomcat的安全防護能力:
更新系統和安裝必要的軟件包:
sudo apt update
sudo apt upgrade
關閉Tomcat管理頁面:
sudo rm -rf /usr/share/tomcat8/webapps/managers
sudo rm -rf /usr/share/tomcat8/webapps/host-manager
修改默認端口號:
/etc/tomcat8/server.xml
文件,修改以下端口:<Connector port="8081" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443"/>
<Connector port="8009" protocol="AJP/1.3" redirectPort="8443"/>
禁用不必要的服務和端口:
/etc/tomcat8/server.xml
中,禁用不必要的連接器:<Host name="localhost" appBase="webapps" unpackWARs="true" autoDeploy="false">
<Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs" prefix="localhost_access_log" suffix=".txt" pattern="%h %l %u %t %r %s %b"/>
<Valve className="org.apache.catalina.valves.ErrorReportValve" showReport="false" showServerInfo="false"/>
<Listener className="org.apache.catalina.startup.VersionLoggerListener"/>
<Listener className="org.apache.catalina.core.AprLifecycleListener" SSLEngine="on"/>
<Listener className="org.apache.catalina.core.JreMemoryLeakPreventionListener"/>
<Listener className="org.apache.catalina.mbeans.GlobalResourcesLifecycleListener"/>
<Listener className="org.apache.catalina.core.ThreadLocalLeakPreventionListener"/>
</Host>
配置防火墻:
ufw
限制對Tomcat端口的訪問:sudo ufw allow 8081/tcp
sudo ufw allow 8009/tcp
sudo ufw enable
刪除示例文檔和應用:
webapps
目錄下的示例文件和目錄:sudo rm -rf /usr/share/tomcat8/webapps/docs
sudo rm -rf /usr/share/tomcat8/webapps/examples
修改默認賬號:
/etc/tomcat8/tomcat-users.xml
文件,修改默認用戶:<tomcat-users>
<role rolename="manager-gui"/>
<user username="admin" password="securePassword" roles="manager-gui"/>
<role rolename="admin-gui"/>
<user username="admin" password="securePassword" roles="admin-gui"/>
</tomcat-users>
隱藏Tomcat版本信息:
/usr/share/tomcat8/lib/catalina.jar
文件,刪除 META-INF/MANIFEST.MF
中的版本信息:jar xf /usr/share/tomcat8/lib/catalina.jar
cd org/apache/catalina/utilsed -i 's/Apache Tomcat/\\/\\//g' ServerInfo.properties
jar uvf /usr/share/tomcat8/lib/catalina.jar org/apache/catalina/util/ServerInfo.properties
啟用安全Cookie:
/etc/tomcat8/context.xml
中添加以下內容:<Context useHttpOnly="true"/>
定期審計和監控:
sudo apt install logwatch
sudo logwatch --output mail
配置SSL/TLS:
conf/server.xml
文件,添加SSL連接器:<Connector port="8443" protocol="org.apache.coyote.http11.Http11NioProtocol" maxThreads="150" SSLEnabled="true" scheme="https" secure="true" clientAuth="false" sslProtocol="TLS" keystoreFile="/path/to/your/keystore" keystorePass="yourKeystorePassword"/>
配置用戶驗證:
conf/tomcat-users.xml
文件,添加管理用戶:<tomcat-users>
<role rolename="manager-gui"/>
<role rolename="admin-gui"/>
<user username="admin" password="securePassword" roles="manager-gui,admin-gui"/>
</tomcat-users>
防火墻配置:
ufw
限制訪問Tomcat端口:sudo ufw allow 8080/tcp
sudo ufw allow 8443/tcp
禁用不必要的服務:
定期更新Tomcat:
監控和日志審核:
禁用不必要的服務:
/examples
),以防止攻擊者利用樣例漏洞進行攻擊。使用強密碼策略:
配置入侵檢測系統(IDS):
通過上述措施,可以顯著提高Debian上Tomcat服務器的安全性。確保定期審查和更新配置,以應對新的安全威脅。