如何加强Apache Tomcat的安全性(详细实现介绍)

如何加强Apache Tomcat的安全性?Apache Tomcat 是一个免费的开源 Java 应用程序服务器,它提供了令人难以置信的开箱即用功能。尽管多年来 Apache Tomcat 的安全性有了显着提高,但这并不意味着它不可利用。
Apache Tomcat安全配置有哪些?在本指南中,我们将讨论保护 Apache Tomcat 服务器的各种方法。本指南中讨论的方法最适合生产,因为你在开发过程中可能需要也可能不需要它们。
1 – 抑制服务器信息提高 Apache Tomcat 服务器安全性的一种简单方法是从 HTTP 响应中删除服务器横幅。如果暴露,该标志可能会泄露你正在使用的 Tomcat 版本,从而更容易收集有关服务器和已知漏洞的信息。
在 Tomcat 的最新版本(Tomcat 8 及更高版本)中,默认情况下禁用服务器横幅。但是,如果你使用的是旧版本的 Tomcat,则可能需要手动执行此操作。
Apache Tomcat如何配置安全选项:编辑Tomcat安装目录conf目录下的server.xml文件。
找到连接器端口条目并删除服务器块。
之前:

< Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" server="< value>" redirectPort="8443" />

设置后:
< Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" />

保存文件并重新启动 Apache Tomcat 服务。
2 – 启用 SSL/TLSApache Tomcat安全配置有哪些?SSL 允许你通过 HTTPS 协议在服务器和客户端之间提供数据。要在 Tomcat 中使用 SSL,从而增强安全性,请将连接器端口中的 server.xml 文件和 SSLEnabled 指令编辑为:
< Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" SSLEnabled="true" scheme="https" keystoreFile="conf/key.jks" keystorePass="password" clientAuth="false" sslProtocol="TLS" redirectPort="8443" />

以上条目假设你有一个带有 SSL 证书的密钥库。
3 – 不要以 root 身份运行 Tomcat切勿以特权用户身份运行 Tomcat。这允许你在 Tomcat 服务受损的情况下保护系统。
创建一个用户来运行Tomcat服务。
sudo useradd -m -U -d /home/tomcat -s $(which false) tomcat

最后,将所有权更改为创建的 tomcat 用户。
chown -R tomcat:tomcat /home/tomcat

4 – 使用安全管理器【如何加强Apache Tomcat的安全性(详细实现介绍)】如何加强Apache Tomcat的安全性?最好使用安全管理器运行 Apache Tomcat 服务器。这可以防止不受信任的小程序在浏览器中运行。
./startup.sh -security

Apache Tomcat如何配置安全选项 - 下面是一个示例输出:
To do this, use the catalina script with the –security flag. Using CATALINA_BASE:/home/debian/apache-tomcat-10.0.10 Using CATALINA_HOME:/home/debian/apache-tomcat-10.0.10 Using CATALINA_TMPDIR: /home/debian/apache-tomcat-10.0.10/temp Using JRE_HOME:/usr Using CLASSPATH:/home/debian/apache-tomcat-10.0.10/bin/bootstrap.jar:/home/debian/apache-tomcat-10.0.10/bin/tomcat-juli.jar Using CATALINA_OPTS: Using Security Manager Tomcat started.

5 – 删除不需要的应用程序Apache Tomcat 带有可利用的默认示例应用程序。对此的最佳措施是将它们从你的 webapps 目录中删除。
你可以删除应用程序,例如:
  1. ROOT – Tomcat 默认页面
  2. docs– Tomcat 文档
  3. examples – 用于测试的 Servlet
如何加强Apache Tomcat的安全性(详细实现介绍)

文章图片
6 - 修改Tomcat的关机程序Apache Tomcat安全配置有哪些?另一种保护 Tomcat 的方法是更改??关闭程序。这样做有助于防止恶意用户关闭 Tomcat 的服务。
可以通过在 telnet 上使用端口 8005 并发送关闭命令来关闭 Tomcat:
$ telnet localhost 8005

Trying 127.0.0.1... Connected to localhost. Escape character is '^]'. shutdown Connection closed by foreign host.

Apache Tomcat如何配置安全选项:要解决此问题,请编辑 server.xml 文件并删除以下块。
< Server port="8005" shutdown="SHUTDOWN">

如果要保持关闭命令有效,请更改默认端口和命令。例如:
< Server port="5800" shutdown="KILLME">

7 – 添加安全和 HttpOnly 标志如何加强Apache Tomcat的安全性?攻击者还可以操纵已安装应用程序的 cookie 和会话。要解决此问题,请编辑 web.xml 文件并在 session-config 块中添加以下条目。
< cookie-config> < http-only>true< /http-only> < secure>true< /secure> < /cookie-config>

结论本文概述了你可以对 Apache Tomcat 进行的一些必要配置,以帮助增加和增强安全性。请注意,所讨论的方法只是你可以用来保护 Tomcat 的众多措施中的一小部分。

    推荐阅读