Tomcat的安全配置

Tomcat8安装, 安全配置与性能优化 一、Tomcat 安装 官网:http://tomcat.apache.org/ Tomcat8官网下载地址:http://tomcat.apache.org/download-80.cgi 为了便于文件管理,个人习惯 在/opt目录下创建 一个install目录用于存放 软件安装包,在/usr 目录下创建local文件夹用户存放解压文件 下载安装包:wget http://a... 阅读详情

 什么是Tomcat?

  Tomcat 服务器是一个免费的开放源代码的Web 应用服务器,目前最新版本是6.0.18(截止到2008-08-27)。
  Tomcat是Apache 软件基金会(Apache Software Foundation)的Jakarta 项目中的一个核心项目,由Apache、 Sun 和其他一些公司及个人共同开发而成。由于有了Sun 的参与和支持,最新的 Servlet 和JSP 规范总是能在Tomcat 中得到体现,Tomcat 5 支持最新的Servlet 2.4 和JSP 2.0 规范。因为Tomcat 技术先进、性能稳定,而且免费,因而深受Java 爱好者的喜爱并得到了部分软件开发商的认可,成为目前比较流行的Web 应用服务器。
  Tomcat 很受广大程序员的喜欢,因为它运行时占用的系统资源小,扩展性好,支持负载平衡与邮件服务等开发应用系统常用的功能;而且它还在不断的改进和完善中,任何一个感兴趣的程序员都可以更改它或在其中加入新的功能。
  Tomcat 是一个小型的轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试 JSP 程序的首选。对于一个初学者来说,可以这样认为,当在一台机器上配置好 Apache 服务器,可利用它响应对 HTML 页面的访问请求。实际上Tomcat 部分是Apache 服务器的扩展,但它是独立运行的,所以当你运行tomcat 时,它实际上作为一个与Apache 独立的进程单独运行的。
  这里的诀窍是,当配置正确时,Apache 为HTML页面服务,而Tomcat 实际上运行JSP 页面和Servlet。另外,Tomcat和IIS、Apache等Web服务器一样,具有处理HTML页面的功能,另外它还是一个Servlet和JSP容器,独立的Servlet容器是Tomcat的默认模式。不过,Tomcat处理静态HTML的能力不如Apache服务器。
II如何查看Tomcat 的版本?
 
看它的日志catalina.out
注意红色部分
2006-6-12 15:31:53 org.apache.coyote.http11.Http11Protocol init
ÐÅÏ¢: Initializing Coyote HTTP/1.1 on http-8080
2006-6-12 15:31:53 org.apache.catalina.startup.Catalina load
ÐÅÏ¢: Initialization processed in 3687 ms
2006-6-12 15:31:54 org.apache.catalina.core.StandardService start
ÐÅÏ¢: Starting service Catalina
2006-6-12 15:31:54 org.apache.catalina.core.StandardEngine start
ÐÅÏ¢: Starting Servlet Engine: Apache Tomcat/5.0.28
2006-6-12 15:31:54 org.apache.catalina.core.StandardHost start
ÐÅÏ¢: XML validation disabled
2006-6-12 15:31:54 org.apache.catalina.core.StandardHost getDeployer
ÐÅÏ¢: Create Host deployer for direct deployment ( non-jmx )
2006-6-12 15:31:54 org.apache.catalina.core.StandardHostDeployer install
ÐÅÏ¢: Processing Context configuration file URL file:/opt/wondertek/jakarta-tomcat-5

 
IIITomcat 得安全配置
1.下载 ::URL:: [url]http://www.eu.apache.org/dist/jakarta/tomcat-5/[/url]
这里注意,在jakarta-tomcat-5.0.28.exe以前是有默认的admin模块,在jakarta-tomcat-5.5.9.exe则没有安装默认的admin模块,这时 ::URL:: [url]http://127.0.0.1:8080/admin[/url]打开时则会出现
Tomcat's administration web application is no longer installed by default. Download and install the "admin" package to use it. 
因此我们现在需要下载"admin"package 包
把jakarta-tomcat-5.5.x.zip  与   jakarta-tomcat-5.5.x-compat.zip  与  jakarta-tomcat-5.5.x-admin.zip
三个文件解压在同一个目录中
(如果使用jdk1.4,才需要compat.zip用jdk1.5就可以免了这个。) 

2.修改jakarta-tomcat-5.5.x/conf/tomcat-users.xml.
添加管理员账号lizongbo,密码为lizongbopass.
新xml如下:
<?xml version='1.0' encoding='utf-8'?>
<tomcat-users>
  <role rolename="tomcat"/>
  <role rolename="role1"/>
  <role rolename="manager"/>
  <role rolename="admin"/>
  <user username="tomcat" password="tomcat" roles="tomcat"/>
  <user username="role1" password="tomcat" roles="role1"/>
  <user username="both" password="tomcat" roles="tomcat,role1"/>
  <user username="lizongbo" password="lizongbopass" roles="admin,manager"/>
</tomcat-users>

有时在%CATALINA_HOME%/server/webapps/admin/WEB-INF/web.xml里面也要做些修改


<!-- Security is active on entire directory -->
  <security-constraint>
    <display-name>Tomcat Server Configuration Security Constraint</display-name>
    <web-resource-collection>
      <web-resource-name>Protected Area</web-resource-name>
      <!-- Define the context-relative URL(s) to be protected -->
      <url-pattern>*.jsp</url-pattern>
      <url-pattern>*.do</url-pattern>
      <url-pattern>*.html</url-pattern>
    </web-resource-collection>
    <auth-constraint>
      <!-- Anyone with one of the listed roles may access this area -->
      <role-name>admin</role-name>
    </auth-constraint>
  </security-constraint>

  <!-- Login configuration uses form-based authentication -->
  <login-config>
    <auth-method>FORM</auth-method>
    <realm-name>Tomcat Server Configuration Form-Based Authentication Area</realm-name>
    <form-login-config>
      <form-login-page>/login.jsp</form-login-page>
      <form-error-page>/error.jsp</form-error-page>
    </form-login-config>
  </login-config>

  <!-- Security roles referenced by this web application -->
  <security-role>
    <description>
      The role that is required to log in to the Administration Application
    </description>
    <role-name>admin</role-name>
  </security-role>
无论是 Authetication ( 身份验证 还是 Authorization ( 权限管控  都只有设置相关的 admin ROLE, 当你想要新增或修改相关的 AA, 就必须修改这一个文件, 来符合你的环境.
3.修改jakarta-tomcat-5.5.x/conf/server.xml来解决编码问题。
(给Connector 添加URIEncoding参数,参考 ::URL:: [url]http://blog.youkuaiyun.com/darkxie/archive/2004/10/25/TOMCATAPP.aspx[/url])
(可以设置成GB18030)
    <Connector port="8080"
               maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
               enableLookups="false" redirectPort="8443" acceptCount="200"
               connectionTimeout="20000" disableUploadTimeout="true" URIEncoding="GBK"
               compression="on" compressionMinSize="2048" 
      noCompressionUserAgents="gozilla, traviata" 
      compressableMimeType="text/html,text/xml"/>
 
    <Connector port="8009" 
               enableLookups="false" redirectPort="8443" protocol="AJP/1.3" URIEncoding="GBK"/>
 

4.启用支持gzip压缩.
( ::URL:: [url]http://www.linuxaid.com.cn/forum/showdoc.jsp?l=1&i=81169[/url])
添加下列属性
 compression="on" 
      compressionMinSize="2048" 
      noCompressionUserAgents="gozilla, traviata" 
      compressableMimeType="text/html,text/xml"
 
5.设置虚拟主机。
在jakarta-tomcat-5.5.x/下建立文件夹vhost/[url]www.mydomain.com[/url]。
然后修改jakarta-tomcat-5.5.x/conf/server.xml
 
<Engine defaultHost="localhost" name="Catalina">
      <Host appBase="vhost/www.mydomain.com" name=" ::URL:: [url]http://www.mydomain.com/[/url]">
      </Host>
      <Host appBase="webapps" name="localhost">
      </Host>
      <Realm className="org.apache.catalina.realm.UserDatabaseRealm"/>
    </Engine>
 
6.添加数据库驱动,更新mail.jar和actiovation.jar
复制mysql-connector-java-3.0.16-ga-bin.jar,pg74.215.jdbc3.jar到 jakarta-tomcat-5.5.x/common/lib/
还有javamail 1.3.2的mail.jar,jaf-1_0_2的 activation.jar
msSQl 2000 JDBC sp3,msbase.jar,msutil,jar,mssqlserver.jar
 
 
7.配置SSL
参考  ::URL:: [url]http://jakarta.apache.org/tomcat/tomcat-5.5-doc/ssl-howto.html[/url]
D:/j2sdk1.4.2_06/bin>%JAVA_HOME%/bin/keytool -genkey -alias tomcat -keyalg RSA
输入keystore密码:  lizongbossl
您的名字与姓氏是什么?
  [tomcat5.5.x]:  tomcat5.5.x
您的组织单位名称是什么?
  [jakarta]:  jakarta
您的组织名称是什么?
  [apache]:  apache
您所在的城市或区域名称是什么?
  [hzcity]:  hzcity
您所在的州或省份名称是什么?
  [gdp]:  gdp
该单位的两字母国家代码是什么
  [CN]:  CN
CN=tomcat5.5.x, OU=jakarta, O=apache, L=hzcity, ST=gdp, C=CN 正确吗?
  [否]:  y
 
输入<tomcat>的主密码
        (如果和 keystore 密码相同,按回车):

(必须密码一致,因此直接回车)
然后再把userhome(例如:C:/Documents and Settings/lizongbo/)下的.keystore复制到
tomcat的conf/目录下。
 (例如:D:/jakarta-tomcat-5.5.x/conf/.keystore 
配置jakarta-tomcat-5.5.x/conf/server.xml
加上
    <Connector port="8443" 
               maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
               enableLookups="false" disableUploadTimeout="true"
               acceptCount="100" scheme="https" secure="true"
               clientAuth="false" sslProtocol="TLS" 
           keystoreFile="conf/.keystore" 
           keystorePass="lizongbossl"> <!--与先前设置的密码一致-->
    </Connector>
8.禁止文件目录列表,
修改jakarta-tomcat-5.5.x/conf/web.xml,把listing设置为false
 
    <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>true</param-value>
        </init-param>
        <load-on-startup>1</load-on-startup>
    </servlet>
 
 9.指定了自己的javaEncoding
(参考  ::URL:: [url]http://gceclub.sun.com.cn/staticcontent/html/sunone/app7/app7-dg-webapp/ch6/ch6-4.html [/url] 

    <servlet>
        <servlet-name>jsp</servlet-name>
        <servlet-class>org.apache.jasper.servlet.JspServlet</servlet-class>
        <init-param>
            <param-name>fork</param-name>
            <param-value>false</param-value>
        </init-param>
                <init-param>
            <param-name>javaEncoding</param-name>
            <param-value>GB18030</param-value>
        </init-param>
        <init-param>
            <param-name>xpoweredBy</param-name>
            <param-value>true</param-value>
        </init-param>
        <load-on-startup>3</load-on-startup>
    </servlet>
 10.添加rar,iso等的mime-type映射 
避免在浏览器里直接打开。
<mime-mapping>
<extension>mht</extension>
<mime-type>text/x-mht</mime-type>
</mime-mapping>
<mime-mapping>
        <extension>rar</extension>
        <mime-type>application/octet-stream</mime-type>
    </mime-mapping>
    <mime-mapping>
        <extension>iso</extension>
        <mime-type>application/octet-stream</mime-type>
    </mime-mapping>
    <mime-mapping>
        <extension>ape</extension>
        <mime-type>application/octet-stream</mime-type>
    </mime-mapping>
    <mime-mapping>
        <extension>rmvb</extension>
        <mime-type>application/octet-stream</mime-type>
    </mime-mapping>
    <mime-mapping>
        <extension>ico</extension>
        <mime-type>image/x-icon</mime-type>
    </mime-mapping>
10.1对html静态页面设置编码
<!--  修改下面两行以支持静态超文本的自动编码 
  --> 
 <mime-mapping>
  <extension>htm</extension> 
  <mime-type>text/html;charset=gb2312</mime-type> 
  </mime-mapping>
 <mime-mapping>
  <extension>html</extension> 
  <mime-type>text/html;charset=gb2312</mime-type> 
  </mime-mapping>
  </web-app>
 
11.添加welcome-file-list,并调整顺序。
 <welcome-file-list>    
        <welcome-file>index.jsp</welcome-file>
        <welcome-file>index.html</welcome-file>
        <welcome-file>index.htm</welcome-file>
        <welcome-file>default.html</welcome-file>
        <welcome-file>default.htm</welcome-file>
        <welcome-file>default.jsp</welcome-file>
    </welcome-file-list>
Tomcat安全配置策略 阅读详情

相关推荐

Tomcat 安全配置与性能优化

即父进程所有者是root用户,子进程与多线程所有者是一个非root用户,这个用户没有shell,无法通过ssh与控制台登陆系统,Java 的JVM 是与系统无关的,是建立在OS之上的,你使用什么用户启动Tomcat,那麽Tomcat 就会继承该所有者的权限。每次升级将压错包解压到 /www/http://example.com/目录下,http://www.example.com 是符号连接,连接到刚刚解压的目录。我的Tomcat安装在/srv目录下,但应用程序放在/www目录下,一般是这样的结构。

640

Tomcat 配置详解/优化方案

Service.xml Server.xml配置文件用于对整个容器进行相关的配置。 元素: 是整个配置文件的根元素。表示整个Catalina容器。 属性: className:实现了org.apache.catalina.Server接口的类名,标准实现类是org.apache.catalina.core.StandardServer类。 Port:Tomcat服务器监听用于关闭T

.    于思索中前行 8万+

解决Matlab激活后License checkout failed问题的详细步骤与避坑指南

本文详细解析了Matlab激活后出现License checkout failed错误的常见原因及解决方案,重点介绍了如何正确找到并运行激活程序,避免用户名填写错误等常见问题。文章还提供了多次激活与疑难排解的实用建议,帮助用户顺利完成Matlab激活过程。

weixin_33670786的博客 582

Tomcat作用解释、端口与安全性配置

Tomcat的体系结构是一个多层次的架构,由不同的组件组成,每个组件负责不同的功能。下面是Tomcat的主要组件及其功能和作用的简要介绍:通过这些组件的协作,Tomcat能够接收并处理来自客户端的请求,并将生成的响应返回给客户端,从而实现了Java Web应用程序的运行和托管。

一个博客 1098

ITK-snap医学图像标注方法(超级详细)——保姆级

医学3D图像标注方法,非常详细,保姆级

jialiyk的博客 3万+

分位数映射数据后处理-Quantile Mapping后处理 (R语言)

统计后处理器基本上是统计模型,将观察到的关注变量与从气象或水文模型的直接模型输出(DMO)导出的适当预测变量相关联。统计后处理的重要性早已在气象预报中得到认可。早期的工作包括完善的预测(perfect prognosis),模型输出统计(MOS)和模拟方法(analog method)等模型。 近年来,已经提出了许多其他后处理方法,包括秩直方图校准(rank histogram calibrati...

水滴石穿,绳锯木断 1万+

使用 Set-Cookies HttpOnly & Secure标志保护 Tomcat

根据MicrosoftDeveloperNetwork的说法,HttpOnly&Secure是Set-CookieHTTP响应标头中包含的附加标志。在Set-Cookie中使用HttpOnly有助于减轻最常见的XSS攻击风险。这可以由开发人员在应用程序中完成,也可以在Tomcat中实现以下内容。作为最佳实践,在修改之前备份配置文件,如果可能在非生产环境中进行测试,以确保它不会破坏应用程序。让我们看看如何实现这一点。...

allway2的博客 2401

深信服AC1000-B1200到手第一步:从开箱到激活上网的保姆级图文指南

本文提供深信服AC1000-B1200企业级行为管理设备的详细开局使用指南,涵盖从开箱验机、物理连接到网络配置、安全加固及设备激活的全流程。通过图文并茂的步骤解析,帮助用户快速完成设备初始化并实现安全上网,特别适合初次接触该设备的网络管理员参考。

weixin_42546392的博客 548

Nginx作为反向代理并以HTTP协议反向代理HTTPS服务

NginxHTTP协议反向代理HTTPS

架构师的成长之路的博客 8840

【python爬虫--爬取电商商品及对其销量、好差评等数据进行分析】Python爬虫爬取电商商品及大数据分析-实战

选择目标电商网站:这里选择爬取两个不同电商网站(比如京东、淘宝)上的商品数据,包括商品名称、价格、销量和评价信息。编写爬虫:通过爬虫获取商品信息并保存数据。数据清洗与对齐:将两个电商网站抓取到的数据进行统一清洗和对齐。数据分析:进行销量分析、好评与差评分析等。

Dreams°的博客 4013

「深度学习之优化算法」笔记(二)优化算法的分类

但是由于生物的局限性,人们所创造出的算法也会有局限性:我们所熟知的生物都生存在三维空间,在这些环境中,影响生物生存的条件比较有限,反应到算法中就是这些算法在解决较低维度的问题时效果很好,当遇到超高维(维度>500)问题时,结果可能不容乐观,没做过实验,我也不敢乱说。当然,他们的目的不是在最佳狩猎位置集合,他们的目的是在过去的途中看是否能发现更加好的狩猎位置,去往已经到过的狩猎地点再次狩猎是没有意义的,因为每个位置获取食物的难易程度是固定的。如果他们的策略是“不跟随最优解”,那么他们的策略是什么呢?

quanzhan_King的博客 1371

Tomcat安全配置

安全配置要求 帐户口令安全 帐户共用 编号 Tomcat-01001 名称 应为不同的用户分配不同的Tomcat帐户,不允许不同用户间共享Tomcat帐户。 操作指南 1、参考配置操作 修改 $CATALINA_HOME/co...

lee_yanyi的博客 2949

Allegro基本规则设置指导书之Spacing Region

当网络需要在Region中需要按照自身的规则匹配时,可以创建Region Class来匹配。Region也支持Class to Class规则,点击ok即可。Allegro基本规则设置指导书之Spacing Region。下面介绍基本规则设置指导书之Spacing Region。给创建好的Region 匹配一个规则。空白的地方创建一个Region。

weixin_54787054的博客 564

tomcat的安全配置

一、目的 本标准是Qunar信息系统安全技术标准的一部分,主要目的是根据信息安全管理政策要求,为我司tomcat配置提供安全标准。  二、范围 适用于我司所有tomcat。  三、内容  3.1 版本 同一应用,TOMCAT和JDK使用统一版本,生成环境TOMCAT和JDK由OPS部门或PE维护,其他人员禁止变更。当前指定的最低版本如下:

yumushui的专栏 1767

SLAM 轨迹评估工具——EVO安装、使用介绍

evo是一款用于视觉里程计和SLAM问题的轨迹评估工具. 核心功能是能够绘制相机的轨迹, 或评估轨迹与真值之间的误差. 支持多种数据集的轨迹格式(TUM、KITTI、EuRoC MAV、ROS的bag), 同时支持这些数据格式之间的相互转换,本文轨迹展示以tum数据格式为例。

u010196944的博客 1万+

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

Tomcat 的安全配置

安全是系统架构中最重要的关注点之一,通常情况下,所说的安全涵盖网络安全、数据安全、操作系统安全、服务器安全以及应用系统安全等诸多方面。Tomcat 是一个免费的开放源代码 的Web应用服务器,技术先进、性能稳定。由于它优秀的稳定性以及丰富的文档资料,广泛的使用人群,从而在开源领域受到广泛的青睐,因此,Tomcat安全也越来越受到重视。 Tomcat作为一款应用服务器,默认情况下可以满足多数场景的安全需求,但是在安全要求较高的情况下,仍需要从多个方面进行配置,已防止Tomcat管理后台被攻击等风险。Tomc

得已 1780

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

Tomcat : 安全配置

Tomcat 安全配置方法详解

Lifereunion的博客 4169

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

tomcat安全配置参考

0x01 基本配置 1 删除默认目录 安装完tomcat后,删除$CATALINA_HOME/webapps下默认的所有目录文件 rm -rf /srv/apache-tomcat/webapps/* 2 隐藏tomcat版本信息 修改$CATALINA_HOME/conf/server.xml,在Connector节点添加server字段,示例如下 <...

煜铭2011 6164

Tomcat安全配置规范

第1章账号管理、认证授权 1.1账号 1.1.1共享帐号管理 安全基线项目名称 Tomcat共享帐号管理安全基线要求项 安全基线编号 SBL-Tomcat-01-01-01 安全基线项说明 应按照用户分配账号。避免不同用户间共享账号。避免用户账号和设备间通信使用的账号共享。 检测...

weixin_34008933的博客 735

tomcat安全配置规范

Tomcat的安全生产环境tomcat规范1.更改服务监听端口若 Tomcat 都是放在内网的,则针对 Tomcat 服务的监听地址都是内网地址标准配置:&lt;Connector port="10000" server="webserver"/&gt;2.telnet管理端口保护修改默认的 8005 管理端口不易猜测(大于1024),但要求端口配置在8000~8999之间修改SHUTDOWN命令...

JEREMY的博客 2105

Tomcat 安全配置

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

咸的蛋疼的博客 1万+

tomcat简单安全配置

简单的应用安全配置方法: [code="xml"] 资源名称 /* tomcat用户角色名 BASIC 登陆欢迎语 [/code]

全力少年 147
上一篇: Tomcat服务器 安全设置
下一篇: 入侵基于JSP+Tomcat的Web网站实录
JavaAlpha
博客等级 码龄18年 910粉丝 511原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值