Tomcat配置的几个安全问题
param name1.关闭服务器端口:
l默认有下面一行:
<Server port="8005" shutdown="SHUTDOWN">
这样允许任何人只要telnet到服务器的8005端口,输入"SHUTDOWN",然后回车,服务器立即就被关掉了。
从安全的角度上考虑,我们需要把这个shutdown指令改成一个别人不容易猜测的字符串。
例如修改如下:
<Server port="8006" shutdown="lizongbo">,这样就只有在telnet8006,并且输入"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。修改Tomcatl文件。
    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下,有adminmanager两个应用。
其用户密码,在{Tomcat安装目录}\l中定义。在{Tomcat安装目录}\webapps
ll文件定义了可以通过访问/admin/manager进入。
默认情况下,完全可以登录tomcat管理台,造成严重安全问题
检测办法:用IE打开链接[IP]:[Port]/admin,以用户名admin,密码为空登录,如果成功,
说明存在问题。
解决办法:可以删除{Tomcat安装目录}\webappsll文件,或者去掉用户密
码,也可以删除应用文件。
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小时内删除。