1.关闭服务器端口: server.xml默认有下面一行:
这样允许任何人只要telnet到服务器的8005端口,输入”SHUTDOWN”,然后回车,服务器立即就被关掉了。 从安全的角度上考虑,我们需要把这个shutdown指令改成一个别人不容易猜测的字符串,可以同时把端口也改了。 例如修改如下:
这样就只有在telnet到8005,并且输入”c1gstudio”才能够关闭Tomcat. 注意:这个修改不影响shutdown.bat的执行。运行shutdown.bat一样可以关闭服务器。
2.增加防火墙 更安全的方式是同时增加防火墙,来限制访问Tomcat的控制与连接器端口 你可以通过运行netstat -a来查看网络服务器socket及其他现有连接的清单 插入规则 iptables -A INPUT -p tcp -m tcp –dport 8005 -j DROP 保存规则 service iptables save 重载规则 service iptables restart
3.处理好Tomcat管理台的安全 Tomcat管理台的应用文件,默认在{Tomcat安装目录}\server\webapps下,有admin和manager两个应用。 其用户密码,在{Tomcat安装目录}\conf/tomcat-users.xml中定义。在{Tomcat安装目录}\webapps下 admin.xml和manager.xml文件定义了可以通过访问/admin和/manager进入。 默认情况下,完全可以登录tomcat管理台,造成严重安全问题 检测办法:用IE打开链接http://[IP]:[Port]/admin,以用户名admin,密码为空登录,如果成功, 说明存在问题。 解决办法:可以删除{Tomcat安装目录}\webapps下admin.xml和manager.xml文件,或者去掉用户密 码,也可以删除应用文件。
4.运行错误网页
如果找不到网页即出现404错误,会显示服务器版本号,服务器配置也一目了然, 为了避免这种情况,希望自定义设置错误页面。 设置如下: 用记事本打开\conf\web.xml文件,在文件的倒数第二行(一行之前)加入以下内容:
在根目录下创建404.jsp和500.jsp文件
5.多重服务器的安全防护模式 当在同一台主机(或同一网络文件系统)上的 Apache httpd Web 服务器与 Tomcat 之间共享网页的实际目录时, 请留意其个别安全防护模式间的相互作用。当你有“受保护的目录”时,这会特别重要。 服务器将具有能读取彼此文件的权限。 在这些状况下,请注意 Tomcat 并不会保护如 .htaccess 的文件,而Apache也不会保护Web应用程序的 WEB-INF 或 META-INF 目录。 这些情形都有可能导致重大的安全漏洞,所以,我们建议你在使用这些特别的目录时,要格外小心。
若要让 Apache httpd 保护 WEB-INF 及 META-INF 目录,请在 httpd.conf 中加入下列内容
6.屏蔽目录文件自动列出的方法 conf/web.xml文件
这里false为不列出,true为充许列出
7.以非root用户运行
8.关闭8009端口 8009/tcp open ajp13
8009端口是tomcat和apache的mod_proxy_ajp,mod_jk沟通的端口,没有用到就关了。
tomcatpath/conf/server.xml 中的这段注释掉
One Response
Stay in touch with the conversation, subscribe to the RSS feed for comments on this post.
Continuing the Discussion