Tomcat配置的几个安全问题
param name1.关闭服务器端口: l默认有下面一行: <Server port="8005" shutdown="SHUTDOWN"> 这样允许任何人只要telnet到服务器的8005端口,输入"SHUTDOWN",然后回车,服务器立即就被关掉了。 从安全的角度上考虑,我们需要把这个shutdown指令改成一个别人不容易猜测的字符串。 例如修改如下: <Server port="8006" shutdown="lizongbo">,这样就只有在telnet到8006,并且输入"lizongbo"才能够关闭Tomcat. 注意:这个修改不影响shutdown.bat的执行。运行shutdown.bat一样可以关闭服务器。 2.对于tomcat3.1中,屏蔽目录文件自动列出的方法 缺省情况下,如果你访问tomcat下的一个web应用,那么如果你输入的是一个目录名,而且该目录下没有一个可用的welcome文件,那么tomcat会将该目录下的所有文件列出来,如果你想屏蔽这个缺省行为,那么可以修改l文件,将其中的: <servlet> <servlet-name>default</servlet-name> <servlet-class>org.apache.catalina.servlets.DefaultServlet</servlet-class> <init-param> <param-name>debug</param-name> <param-value>0</param-value> </init-param> <init-param> <param-name>listings</param-name> <param-value>true</param-value> </init-param> <load-on-startup>1</load-on-startup> </servlet> 修改为: <servlet> <servlet-name>default</servlet-name> <servlet-class>org.apache.catalina.servlets.DefaultServlet</servlet-class> <init-param> <param-name>debug</param-name> <param-value>0</param-value> </init-param> <init-param> <param-name>listings</param-name> <param-value>false</param-value> </init-param> <load-on-startup>1</load-on-startup> </servlet> 3.如何让Tomcat记录客户端的访问日志 需要完成的步骤: 1。修改Tomcat的l文件。 2。加上Valve节点到l文件中,和您目前使用的Connector的节点平级。 如:<Valve className="org.apache.catalina.valves.AccessLogValve" directory="e:\trs\trscds\tomcat\logs" pattern="combined"/> 3。重新启动您的Tomcat 4。有用户在访问的时候,在指定的log目录下面会生成一个access_log文件(每天一个)。 上述的步骤是以Tomcat4.x为例。(可能会影响性能,不推荐大家使用)。 4.处理好Tomcat管理台的安全 Tomcat管理台的应用文件,默认在{Tomcat安装目录}\server\webapps下,有admin和manager两个应用。 其用户密码,在{Tomcat安装目录}\l中定义。在{Tomcat安装目录}\webapps下 l和l文件定义了可以通过访问/admin和/manager进入。 默认情况下,完全可以登录tomcat管理台,造成严重安全问题 检测办法:用IE打开链接[IP]:[Port]/admin,以用户名admin,密码为空登录,如果成功, 说明存在问题。 解决办法:可以删除{Tomcat安装目录}\webapps下l和l文件,或者去掉用户密 码,也可以删除应用文件。 5.运行错误网页 如果不到网页即出现404错误,会显示服务器版本号,服务器配置也一目了然, 为了避免这种情况,希望自定义设置错误页面。 设置如下: 1、将附件的index.htm文件拷贝至\webapps\ROOT目录内,删除或改名原来的index.jsp文件。 2、用记事本打开\l文件,在文件的倒数第二行(</web-app>一行之前)加入以下内容: <error-page> <error-code>404</error-code> <location>/error_404.htm</location> </error-page> 路径的是对的,奇怪的是我测试时输入一个不存在的页,出现404错误提示出现的却不是我所定义的页面,这就怪了. 主要有以下几个因素: 1.使用 tomcat 服务器 2.tomcat服务器版本 3.浏览器问题 4.IE的设置 5.错误页本身的大小 下面是提供的解决方法: 1.升级tomcat (换成其它服务器,代价沉重) 2.ie 设定 工具-->Internet选项-->高级--->显示http友好错误信息(取消选择) , 3. 把错误页做大一点,具体几个字节,没测试,估计三四百足够了, (加一个div块,display设为none就可以了) 4.设置指定错误页页状态为正确,骗过IE的自定义错误页 方法 <% response.setStatus(200); // 200 = HttpServletResponse.SC_OK %> |
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论