Jade Dungeon

Tomcat Checklist

网络访问限制

限制网络访问,比如在前端有代理的情况下(Apache httpd、Nginx), 只有代理可以访问HTTP连接与AJP连接:

# allow ws-host to connect to tomcat
iptables -A INPUT -p tcp --dport 8080 --source ws-host -d 10.0.0.2 -j ACCEPT
iptables -A INPUT -p tcp --dport 8009 --source ws-host -d 10.0.0.2 -j ACCEPT
iptables -A INPUT -p tcp --dport 8443 --source ws-host -d 10.0.0.2 -j ACCEPT

# denie all other host to connect to tomcat
iptables -A INPUT -p tcp --dport 8080 -d 10.0.0.2 -j DROP
iptables -A INPUT -p tcp --dport 8009 -d 10.0.0.2 -j DROP
iptables -A INPUT -p tcp --dport 8443 -d 10.0.0.2 -j DROP

用户账号

$CATALINA_HOME/conf/tomcat-users.xml

<?xml version='1.0' encoding='utf-8'?>
<tomcat-users>

	<role rolename="role1"/>

	<user username="admin" password="admin" 
		roles="manager-gui,manager-script,manager-jmx,manager-status" />
	
	<user username="role1" password="role1" roles="role1" />
	
</tomcat-users>

主机配置

server.xml

关闭热布署

server.xml文件中的HostautoDeploy属性。

停用DNS查询

停用以后,程序中调用getRemoteHost()时只会取得IP地址,而不是域名。

server.xml中配置Connector对象:

<Connector enableLookups="false" />

安全协议配置

conf/catalina.policy中配置应用的访问权限。