企业级Tomcat安全管理优化方案
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安全管理优化方案的更多相关文章
- Tomcat性能优化方案
1. 提高JVM栈内存Increase JVM heap memory 你使用过tomcat的话,简单的说就是"内存溢出". 通常情况下,这种问题出现在实际的生产环境中.产生这种问 ...
- Tomcat 配置详解/优化方案
转自:http://blog.csdn.net/cicada688/article/details/14451541 Service.xml Server.xml配置文件用于对整个容器进行相关的配置 ...
- tomcat配置详解/优化方案
Service.xml Server.xml配置文件用于对整个容器进行相关的配置. <Server>元素:是整个配置文件的根元素.表示整个Catalina容器. 属性:className: ...
- Tomcat 优化方案 和 配置详解(转)
转自 Tomcat 优化方案 和 配置详解 http://201605130349.iteye.com/blog/2298985 Server.xml配置文件用于对整个容器进行相关的配置. <S ...
- Tomcat 配置详解/优化方案(转)
转载地址:https://blog.csdn.net/cicada688/article/details/14451541/ Service.xml Server.xml配置文件用于对整个容器进行相关 ...
- 企业级Tomcat部署实践及安全调优
1.1 Tomcat简介 Tomcat是Apache软件基金会(Apache Software Foundation)的Jakarta 项目中的一个核心项目,由Apache.Sun和其他一些公司及个人 ...
- Tomcat 7优化配置
Tomcat 的优化不像其它软件那样,简简单单的修改几个参数就可以了,它的优化主要有三方面,分为系统优化,Tomcat 本身的优化,Java 虚拟机(JVM)调优.系统优化就不在介绍了,接下来就详细的 ...
- 大型php网站性能和并发访问优化方案(转载自php中文网)
网站性能优化对于大型网站来说非常重要,一个网站的访问打开速度影响着用户体验度,网站访问速度慢会造成高跳出率,小网站很好解决,那对于大型网站由于栏目多,图片和图像都比较庞大,那该怎 ...
- 企业级Tomcat部署配置
1.1 Tomcat简介 Tomcat是Apache软件基金会(Apache Software Foundation)的Jakarta 项目中的一个核心项目,由Apache.Sun和其他一些公司及个人 ...
随机推荐
- JSP异常之org.apache.jasper.JasperException(转)
According to TLD or attribute directive in tag file, attribute items does not accep t any expression ...
- json标准是双引号
双引号才是json 的标准,单引号是不规范的(虽然在js 中是行的通的)!json 的名称和字符串值需要用双引号引起来,单引号的话,使用json.parse会出现错误
- js同时使用多个分隔符分割字符串.
利用正则分割,str.split(/reg/);如果有这样一个字符串: "jb51.net,google.com,baidu.com_weibo.com_haotu.net", 我 ...
- elasticsearch 基础语句
1. doucument id 的两种生成方式 自动生成document id自动生成的id,长度为20个字符,URL安全,base64编码,GUID,分布式系统并行生成时不可能会发生冲突 POST ...
- java历史概述
java简介Java是由Sun Microsystems公司于 1995年5月推出的Java面向对象程序设计语言(以下简称Java语言)和Java平台的总称.由James Gosling和同事们共同研 ...
- bootstrap导航栏.nav与.navbar区别
刚刚看了bootstrap的导航栏,发现有点弄混了,现在来整理一下: 一.简单的ul,li组成的导航: <ul class="nav nav-pills justify-content ...
- Python 面向对象(二) 特殊方法
一些Python特殊方法的汇总 __bases__ 类的基类,返回元祖__base__ 类的基类,也叫父类__call__ '类名()',类名加括号调用时执行的语句__class__ 对象或类 ...
- 我的第一个python web开发框架(17)——产品管理
这是后台管理系统最后一个功能,产品管理,它的接口与页面功能与上一章差不多. 获取产品列表接口 @get('/api/product/') def callback(): ""&qu ...
- ThinkPHP中ajax绑定select下拉框无法显示
html代码: 控制器代码: 其中的<option value="{$vo.gradeId}">{$one.gradeName}</option> 在操作过 ...
- devdependencies与dependencies的区别
一直在纠结devdependencies与dependencies的区别是什么,下面就对此作出详细介绍,希望对你有所帮助! 我们在使用npm install 安装模块或插件的时候,有两种命令把他们写入 ...