您的位置:首页 > 运维架构 > Tomcat

tomcat安全管理策略

2010-12-17 18:44 288 查看
这段时间在使用apache.xmlrpc和pgsql-jdbc碰到tomcat安全问题

HTTP Status 500 -

type Exception report

message

description The server encountered an internal error () that prevented it from fulfilling this request.

exception

javax.servlet.ServletException: Could not initialize class org.apache.xmlrpc.webserver.XmlRpcServletServer
org.apache.catalina.security.SecurityUtil.execute(SecurityUtil.java:324)
org.apache.catalina.security.SecurityUtil.doAsPrivilege(SecurityUtil.java:162)
org.apache.catalina.security.SecurityUtil.doAsPrivilege(SecurityUtil.java:115)
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298)
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:859)
org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:588)
org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
java.lang.Thread.run(Thread.java:662)


note The full stack trace of the root cause is available in the Apache Tomcat/6.0.24 logs.

Apache Tomcat/6.0.24

#postgresql-jdbc-error:

SQLException: Your security policy has prevented the connection from being attempted. You probably need to grant the connect java.net.SocketPermission to the database server host and port that you wish to connect to.
SQLState: 99999
VendorError: 0

#原来etc/init.d/tomcat6在ubuntu8.0+服务器默认开启保护,设置关闭就可以访问xmlrpc.

sudo vim /etc/init.d/tomcat6

# Use the Java security manager? (yes/no)

TOMCAT6_SECURITY=yes

#但关闭后tomcat环境安全级别比较低,易找到漏洞,后来找到了解决方案!

#更改策略文件

sudo vim /var/lib/tomcat6/conf/policy.d/50local.policy

#然后在最后一行添加, database是我的项目文件配置有所有权限

grant codeBase "file:${catalina.base}/webapps/database/-" {

permission java.security.AllPermission;

};

#ok搞定jdbc连接和xmlrpc访问

参考:http://www.jaxmao.org/tomcat-docs/security-manager-howto.html
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: