Tomcat安全配置介绍

  • 关闭服务器端口

server.xml默认有下面一行:<Server port="8005" shutdown="SHUTDOWN">这样允许任何人只要telnet到服务器的8005端口,输入"SHUTDOWN",然后回车,服务器立即就被关掉了。从安全的角度上考虑,我们需要把这个shutdown指令改成一个别人不容易猜测的字符串,可以同时把端口也改了。 例如修改如下:<Server port="8005" shutdown="c1gstdduddddio"> 注意:这个修改不影响shutdown.bat的执行。运行shutdown.bat一样可以关闭服务器。

  • 增加防火墙

更安全的方式是同时增加防火墙,来限制访问Tomcat的控制与连接器端口 你可以通过运行netstat -a来查看网络服务器socket及其他现有连接的清单 插入规则 iptables -A INPUT -p tcp -m tcp --dport 8005 -j DROP 保存规则 service iptables save 重载规则 service iptables restart

  • 处理好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文件,或者去掉用户密 码,也可以删除应用文件。

  • 运行错误网页

如果找不到网页即出现404错误,会显示服务器版本号,服务器配置也一目了然, 为了避免这种情况,希望自定义设置错误页面。 设置如下: 用记事本打开\conf\web.xml文件,在文件的倒数第二行(一行之前)加入以下内容:

<error-page>
    <error-code>404</error-code>
    <location>/404.jsp</location>
  </error-page>
  <error-page>
    <error-code>500</error-code>
    <location>/500.jsp</location>
  </error-page>

在根目录下创建404.jsp和500.jsp文件

  • 多重服务器的安全防护模式

当在同一台主机(或同一网络文件系统)上的 Apache httpd Web 服务器与 Tomcat 之间共享网页的实际目录时, 请留意其个别安全防护模式间的相互作用。当你有“受保护的目录”时,这会特别重要。 服务器将具有能读取彼此文件的权限。 在这些状况下,请注意 Tomcat 并不会保护如 .htaccess 的文件,而Apache也不会保护Web应用程序的 WEB-INF 或 META-INF 目录。 这些情形都有可能导致重大的安全漏洞,所以,我们建议你在使用这些特别的目录时,要格外小心。若要让 Apache httpd 保护 WEB-INF 及 META-INF 目录,请在 httpd.conf 中加入下列内容

<LocationMatch "/WEB-INF/">
AllowOverride None
deny from all
</LocationMatch>
<LocationMatch "/META-INF/">
AllowOverride None
deny from all
</LocationMatch>
  • 屏蔽目录文件自动列出的方法

conf/web.xml文件

<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>

<param-value>false</param-value> 这里false为不列出,true为充许列出

  • 以非root用户运行
  • 关闭8009端口

8009/tcp open ajp13 8009端口是tomcat和apache的mod_proxy_ajp,mod_jk沟通的端口,没有用到就关了。 tomcatpath/conf/server.xml 中的这段注释掉

<!--
    <Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />
    -->

Tomcat 是 Apache软件基金会下的一个免费、开源的WEB应用服务器,它可以运行在 Linux 和 Windows 等多个平台上,由于其性能稳定、扩展性好、免费等特点深受广大用户喜爱。目前,很多互联网应用和企业应用都部署在 Tomcat 服务器上,比如我们公司,哈。之前我们 tomcat 都采用的是默认的配置,因此在安全方面还是有所隐患的。上周对测试环境的所有服务器的tomcat都做了安全优化,其间也粗略做了一些性能优化,这里就简单记录分享下!

  • 关闭war自动部署

默认 Tomcat 是开启了对war包的热部署的。为了防止被植入木马等恶意程序,因此我们要关闭自动部署。

<Host name="localhost" appBase="" unpackWARs="false" autoDeploy="false">
  • 禁用 Tomcat 管理页面

我们线上是不使用 Tomcat 默认提供的管理页面的,因此都会在初始化的时候就把这些页面删掉。这些页面是存放在 Tomcat 安装目录下的webapps目录下的。 我们只需要删除该目录下的所有文件即可。 当然,还有涉及管理页面的2个配置文件 host-manager.xml 和 manager.xml 也需要一并删掉。这两个文件存放在 Tomcat 安装目录下的conf/Catalina/localhost目录下。




浏览 277 评论 0 赞 0 砸 0 标签: tomcat 安全
评论
还可以再输入500个字

请您注意

·自觉遵守:爱国、守法、自律、真实、文明的原则
·尊重网上道德,遵守《全国人大常委会关于维护互联网安全的决定》及中华人民共和国其他各项有关法律法规
·严禁发表危害国家安全,破坏民族团结、国家宗教政策和社会稳定,含侮辱、诽谤、教唆、淫秽等内容的作品
·承担一切因您的行为而直接或间接导致的民事或刑事法律责任
·您在NoteShare上发表的作品,NoteShare有权在网站内保留、转载、引用或者删除
·参与本评论即表明您已经阅读并接受上述条款