telnet管理端口保护

1. 修改默认的8005管理端口为不易猜测的端口(大于1024);

<Server port="" shutdown="dangerous">

2. 修改SHUTDOWN指令为其他字符串;

ajp连接端口保护

1. 修改默认的ajp 8009端口为不易冲突的大于1024端口;

2. 通过iptables规则限制ajp端口访问的权限仅为线上机器;

<Connector port="" 
protocol="AJP/1.3" />

保护此端口的目的在于防止线下的测试流量被mod_jk转发至线上tomcat服务器;

禁用管理端

这个一定要禁止

1.  删除默认的{Tomcat安装目录}/conf/tomcat-users.xml文件,重启tomcat后将会自动生成新的文件;

2.  删除{Tomcat安装目录}/webapps下默认的所有目录和文件;

3. 将tomcat 应用根目录配置为tomcat安装目录以外的目录;

<Context path="" docBase="/home/work/local/tomcat_webapps" debug="" reloadable="false" crossContext="true"/>

对于前段web模块,Tomcat管理端属于tomcat的高危安全隐患,一旦被攻破,黑客通过上传web shell的方式将会直接取得服务器的控制权,后果极其严重,所以使用此方法进行优化;

降权启动

1. tomcat启动用户权限必须为非root权限,尽量降低tomcat启动用户的目录访问权限;

2. 如需直接对外使用80端口,可通过普通账号启动后,配置iptables规则进行转发;

这样做是避免一旦tomcat 服务被入侵,黑客直接获取高级用户权限危害整个server的安全;

文件列表访问控制

1. conf/web.xml文件中default部分listings的配置改为false;

<init-param>
<param-name>listings</param-name>
<param-value>false</param-value>
</init-param>

false为不列出目录文件,true为允许列出,默认为false;

版本信息隐藏

1. 修改conf/web.xml,重定向403、404以及500等错误到指定的错误页面;

2. 也可以通过修改应用程序目录下的WEB-INF/web.xml下的配置进行错误页面的重定向;

<error-page>
<error-code></error-code>
<location>/forbidden.jsp</location>
</error-page>
<error-page>
<error-code></error-code>
<location>/notfound.jsp</location>
</error-page>
<error-page>
<error-code></error-code>
<location>/systembusy.jsp</location>
</error-page>

在配置中对一些常见错误进行重定向,避免当出现错误时tomcat默认显示的错误页面暴露服务器和版本信息;

必须确保程序根目录下的错误页面已经存在;

起动关闭脚本权限回收

去除其他用户对Tomcat的bin目录下shutdown.sh、startup.sh、catalina.sh的可执行权限;

chmod -R  tomcat/bin/*
防止其他用户有起停线上Tomcat的权限;

企业级Tomcat安全管理优化方案的更多相关文章

  1. Tomcat性能优化方案

    1. 提高JVM栈内存Increase JVM heap memory 你使用过tomcat的话,简单的说就是"内存溢出". 通常情况下,这种问题出现在实际的生产环境中.产生这种问 ...

  2. Tomcat 配置详解/优化方案

     转自:http://blog.csdn.net/cicada688/article/details/14451541 Service.xml Server.xml配置文件用于对整个容器进行相关的配置 ...

  3. tomcat配置详解/优化方案

    Service.xml Server.xml配置文件用于对整个容器进行相关的配置. <Server>元素:是整个配置文件的根元素.表示整个Catalina容器. 属性:className: ...

  4. Tomcat 优化方案 和 配置详解(转)

    转自 Tomcat 优化方案 和 配置详解 http://201605130349.iteye.com/blog/2298985 Server.xml配置文件用于对整个容器进行相关的配置. <S ...

  5. Tomcat 配置详解/优化方案(转)

    转载地址:https://blog.csdn.net/cicada688/article/details/14451541/ Service.xml Server.xml配置文件用于对整个容器进行相关 ...

  6. 企业级Tomcat部署实践及安全调优

    1.1 Tomcat简介 Tomcat是Apache软件基金会(Apache Software Foundation)的Jakarta 项目中的一个核心项目,由Apache.Sun和其他一些公司及个人 ...

  7. Tomcat 7优化配置

    Tomcat 的优化不像其它软件那样,简简单单的修改几个参数就可以了,它的优化主要有三方面,分为系统优化,Tomcat 本身的优化,Java 虚拟机(JVM)调优.系统优化就不在介绍了,接下来就详细的 ...

  8. 大型php网站性能和并发访问优化方案(转载自php中文网)

               网站性能优化对于大型网站来说非常重要,一个网站的访问打开速度影响着用户体验度,网站访问速度慢会造成高跳出率,小网站很好解决,那对于大型网站由于栏目多,图片和图像都比较庞大,那该怎 ...

  9. 企业级Tomcat部署配置

    1.1 Tomcat简介 Tomcat是Apache软件基金会(Apache Software Foundation)的Jakarta 项目中的一个核心项目,由Apache.Sun和其他一些公司及个人 ...

随机推荐

  1. Java IO编程全解(三)——伪异步IO编程

    转载请注明出处:http://www.cnblogs.com/Joanna-Yan/p/7723174.html 前面讲到:Java IO编程全解(二)--传统的BIO编程 为了解决同步阻塞I/O面临 ...

  2. arguments对象

    改变函数arguments也会改变对应的参数,arguments会自动映射到对应的参数上 但是改变参数并不会同步改变arguments 它们并不公用内存 在strict模式,不能对arguments付 ...

  3. 使用 gulp-file-include 构建前端静态页面

    前言 虽然现在单页面很流行,但是在 PC 端多页面还是常态,所以构建静态页面的工具还有用武之地.最近也看到了一些询问如何 include HTML 文件的问题. 很多时候我们在写静态页面的时候也希望能 ...

  4. Container With Most Water 容器最大水容量

    描述 Given n non-negative integers a1, a2, ..., an, where each represents a point at coordinate (i, ai ...

  5. nodeCZBK-笔记1

    [TOC] ****************************** day01 node简介 Node.js是一个让JavaScript运行在服务器端的开发平台. node就是一个js的执行环境 ...

  6. C# 扩展方法使用

    为指定类型扩展方法: 定义类Class1: public static class Class1                                  //必须为static类,且不能包含 ...

  7. Python的路径引用

    1.以HOME目录为准,进行跳转 sys.path.append(os.path.dirname(__file__) + os.sep + '../') from config import swor ...

  8. c# linq的差集,并集,交集,去重【转】

    using System.Linq;      List<string> ListA = new List<string>(); List<string> List ...

  9. Node学习——开篇

    前言:自从下决心转学前端以来,我的专业课java基本荒废了,所以对于后台开发的逻辑也已基本忘干净了.但是作为一名准前端程序猿,我认为还是有必要了解后端开发的,虽不必深入学习,但是能够了解项目从前端到后 ...

  10. Maven依赖分析

    背景 昨天帮一位同事排查了一个依赖冲突的问题.问题的现象就是在IntelliJ IDEA运行项目正常,但是打包(Maven assembly jar)之后传到服务器运行失败,报错:Caused by: ...