Linux安全加固的中间件Tomcat怎么用


Linux安全加固的中间件Tomcat怎么用,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。之前整理了关于主机系统的加固(Linux安全加固、Windows安全加固)。(其实我还是喜欢日靶机……)接下来想整理下和探索下中间件或者web容器的加固,以及主流数据库的加固。先大概说下web的一些基础东西。一般的web访问顺序如下web浏览器->web服务器(狭义)->web容器->应用服务器->数据库服务器所以哪一个环节出了问题,各种攻击姿势就来了。业务上一般的选择如下:小项目,个人开发一般用tomcat。linux系统一般使用jetty或apachehpptd大型的项目会用jboss或we免费云主机域名bloigc,商业项目一般采用weblgoic,webshere,其他的还有jboss、glasshfish等web服务器:响应页面,处理http协议IIS、Apache、nginx、Lighttpdweb容器:tomcat(拥有JSP容器,servlet容器),IIS(拥有ASP容器)操作系统与应用程序之间的交互应用服务器:IIS,Tomcat,WebLogic,WebSphere即是应用服务器,又拥有web服务器的功能中间件:为应用程序提供容器和服务这次是tomcat的Linux加固。tomcat是apache的一个中间件软件,其可以提供jsp或者php的解析服务加固依然分为身份鉴别、访问控制、安全审计、资源控制和入侵防范5个方面。大部分加固基于xml配置文件进行修改,也应根据实际需求制定方案。寻找配置文件目录,Linux可以用find /-name *tomcat* 即可。注:皆为参考操作配置。1. 删除多余账号:修改tomcat配置文件/conf/tomcat-users.xml配置文件,删除与工作无关的帐号。例如tomcat1与运行、维护等工作无关,删除帐号,注释如下行即可:.口令要求:长度至少8位,并包括数字、小写字母、大写字母和特殊符号4类中至少3类。修改tomcat配置文件/conf/tomcat-users.xml配置文件要求usr1密码必须满足复杂度要求。应为两个或两个以上即为合理修改tomcat配置文件/conf/tomcat-users.xml配置文件,修改或添加帐号:ps -ef | greptomcat|grep -v “grep”tomcat进程的启动用户应不为root使用普通用户启动tomcat服务。02访问控制最小特权:编辑tomcat配置文件/conf/tomcat-user.xml配置文件,在配置文件节点下,修改用户角色权限,授权tomcat具有远程管理权限:1. tomcat62. tomcat703安全审计编辑tomcat配置文件server.xml配置文件,在标签中增加记录日志功能,将以下内容的注释标记取消:

Directory=”logs”prefix=”localhost_access_log.” Suffix=”.txt”

Pattern=”common”resloveHosts=”false”/>

classname: This MUSTbe set to org.apache.catalina.valves.AccessLogValve to use thedefault access log valve

Directory:日志文件放置的目录,在tomcat下面有个logs文件夹,那里面是专门放置日志文件的,也可以修改为其他路径;

Prefix:这个是日志文件的名称前缀,日志名称为localhost_access_log.2008-10-22.txt,前面的前缀就是这个localhost_access_log。

Suffix: 文件后缀名。

Pattern:common方式时,将记录访问源IP、本地服务器IP、记录日志服务器IP、访问方式、发送字节数、本地接收端口、访问URL地址等相关信息在日志文件中。

resolveHosts:值为true时,tomcat会将这个服务器IP地址通过DNS转换为主机名,如果是false,就直接写服务器IP地址。

04

入侵防范

1. HTTP加密协议

cat/usr/apache-tomcat-5.5.23//conf/server.xml|sed ‘//d’|sed ‘/^$/d’|sed’//d’|sed ‘/^s*$/d’|grep “keystoreFile”

(1)使用JDK自带的keytool工具生成一个证书:

$JAVA_HOME/bin/keytool -genkey –alias tomcat –keyalg RSA -keystore/path/to/my/keystore

其中目录:/path/to/my需要用户自行创建。

(2)修改tomcat安装目录下/conf/server.xml配置文件,更改为使用HTTPS方式,增加如下行:

port=”8443″ protocol=”HTTP/1.1″ minProcessors=”5″

SSLEnabled=”true”

maxprocessors=”100″

enableLookups=”true” acceptCount=”10″ debug=”0″

scheme=”https”

Factory_classname=”org.apache.catalina.SSLServerSocketFactory”

secure=”true”

clientAuth=”false”

keystoreFile=”/path/to/my/keystore”

keystorePass=”123qwe”

sslProtocol=”TLS”/>

其中keystorePass的值为生成keystore时输入的密码。

(3)重新启动tomcat服务

2. 禁用非法HTTP请求方法

编辑web.xml文件

查看org.apache.catalina.servlets.DefaultServlet是否存在如下配置:

readonly

false

将false修改为true。readonly参数默认是true,即不允许delete和put操作。

05

资源控制

1. 超时登出

单位是毫秒

/conf/server.xml配置文件,将connectionTimeout修改为30秒:

2. 错误页面重定向

(1) 编辑tomcat配置文件/conf/web.xml文件:

在最后一行之前加入以下内容:

404

/noFile.htm

java.lang.NullPointerException

/error.jsp

第一个之间的配置实现了将404未找到jsp网页的错误导向noFile.htm页面,也可以用类似方法添加其多的错误代码导向页面,如403,500等。

第二个之间的配置实现了当jsp网页出现java.lang.NullPointerException导常时,转向error.jsp错误页面,还需要在第个jsp网页中加入以下内容:

典型的error.jsp错误页面的程序写法如下:

错误页面

出错了:Directory=”logs”prefix=”localhost_access_log.” Suffix=”.txt”Pattern=”common”resloveHosts=”false”/>classname: This MUSTbe set to org.apache.catalina.valves.AccessLogValve to use thedefault access log valveDirectory:日志文件放置的目录,在tomcat下面有个logs文件夹,那里面是专门放置日志文件的,也可以修改为其他路径;Prefix:这个是日志文件的名称前缀,日志名称为localhost_access_log.2008-10-22.txt,前面的前缀就是这个localhost_access_log。Suffix: 文件后缀名。Pattern:common方式时,将记录访问源IP、本地服务器IP、记录日志服务器IP、访问方式、发送字节数、本地接收端口、访问URL地址等相关信息在日志文件中。resolveHosts:值为true时,tomcat会将这个服务器IP地址通过DNS转换为主机名,如果是false,就直接写服务器IP地址。04入侵防范1. HTTP加密协议cat/usr/apache-tomcat-5.5.23//conf/server.xml|sed ‘//d’|sed ‘/^$/d’|sed’//d’|sed ‘/^s*$/d’|grep “keystoreFile”(1)使用JDK自带的keytool工具生成一个证书:$JAVA_HOME/bin/keytool -genkey –alias tomcat –keyalg RSA -keystore/path/to/my/keystore其中目录:/path/to/my需要用户自行创建。(2)修改tomcat安装目录下/conf/server.xml配置文件,更改为使用HTTPS方式,增加如下行:

port=”8443″ protocol=”HTTP/1.1″ minProcessors=”5″

SSLEnabled=”true”

maxprocessors=”100″

enableLookups=”true” acceptCount=”10″ debug=”0″

scheme=”https”

Factory_classname=”org.apache.catalina.SSLServerSocketFactory”

secure=”true”

clientAuth=”false”

keystoreFile=”/path/to/my/keystore”

keystorePass=”123qwe”

sslProtocol=”TLS”/>

其中keystorePass的值为生成keystore时输入的密码。

(3)重新启动tomcat服务

2. 禁用非法HTTP请求方法

编辑web.xml文件

查看org.apache.catalina.servlets.DefaultServlet是否存在如下配置:

readonly

false

将false修改为true。readonly参数默认是true,即不允许delete和put操作。

05

资源控制

1. 超时登出

单位是毫秒

/conf/server.xml配置文件,将connectionTimeout修改为30秒:

2. 错误页面重定向

(1) 编辑tomcat配置文件/conf/web.xml文件:

在最后一行之前加入以下内容:

404

/noFile.htm

java.lang.NullPointerException

/error.jsp

第一个之间的配置实现了将404未找到jsp网页的错误导向noFile.htm页面,也可以用类似方法添加其多的错误代码导向页面,如403,500等。

第二个之间的配置实现了当jsp网页出现java.lang.NullPointerException导常时,转向error.jsp错误页面,还需要在第个jsp网页中加入以下内容:

典型的error.jsp错误页面的程序写法如下:

错误页面port=”8443″ protocol=”HTTP/1.1″ minProcessors=”5″SSLEnabled=”true”maxprocessors=”100″enableLookups=”true” acceptCount=”10″ debug=”0″scheme=”https”Factory_classname=”org.apache.catalina.SSLServerSocketFactory”secure=”true”clientAuth=”false”keystoreFile=”/path/to/my/keystore”keystorePass=”123qwe”sslProtocol=”TLS”/>其中keystorePass的值为生成keystore时输入的密码。(3)重新启动tomcat服务2. 禁用非法HTTP请求方法编辑web.xml文件查看org.apache.catalina.servlets.DefaultServlet是否存在如下配置:readonlyfalse将false修改为true。readonly参数默认是true,即不允许delete和put操作。05资源控制1. 超时登出单位是毫秒/conf/server.xml配置文件,将connectionTimeout修改为30秒:2. 错误页面重定向(1) 编辑tomcat配置文件/conf/web.xml文件:在最后一行之前加入以下内容:404/noFile.htmjava.lang.NullPointerException/error.jsp第一个之间的配置实现了将404未找到jsp网页的错误导向noFile.htm页面,也可以用类似方法添加其多的错误代码导向页面,如403,500等。第二个之间的配置实现了当jsp网页出现java.lang.NullPointerException导常时,转向error.jsp错误页面,还需要在第个jsp网页中加入以下内容:典型的error.jsp错误页面的程序写法如下:Stack Trace is :java.io.CharArrayWritercw = new java.io.CharArrayWriter();java.io.PrintWriterpw = new java.io.PrintWriter(cw,true);exception.printStackTrace(pw);out.println(cw.toString());%>当出现NullPointerException异常时tomcat会把网页导入到error.jsp,且会打印出出错信息。重新启动tomcat服务3. 修改默认端口修改tomcat配置文件server.xml配置文件,更改默认管理端口到非8080:

port=”8080″ maxHttpHeaderSize=”8192″ maxThreads=”150″

minSpareThreads=”25″maxSpareThreads=”75″、

enableLookups=”false”redirectPort=”8443″ acceptCount=”100″

connectionTimeout=”300″disableUploadTimeout=”true” />

重新启动tomcat服务

4. 禁止目录列出

编辑tomcat配置文件web.xml配置文件:

listings

true

把true改成false。

重新启动tomcat服务

5. 防止恶意关闭服务

编辑tomcat配置文件conf/server.xml配置文件,

shutdown的值为复杂的字符串:

6. 连接数设置

编辑tomcat配置文件server.xml文件:

maxThreads=”150″ 表示最多同时处理150个连接。

minSpareThreads=”25″ 表示即使没有人使用也开这么多空线程等待。

maxSpareThreads=”75″ 表示如果最多可以空75个线程。

acceptCount=”100″ 当同时连接的人数达到maxThreads时,还可以接收排队的连接,超过这个连接的则直接返回拒绝连接。

7. 修改banner

修改/lib/catalina.jar中Serverinfo.properties问津中的以下参数(修改以掩饰真实版本信息):

server.info=X

server.build=BuildDate

server.number=X

关于Linux安全加固的中间件Tomcat怎么用问题的解答就分享到这里了,希望以上内容可以对大家有一定的帮助,如果你还有很多疑惑没有解开,可以关注云编程开发博客行业资讯频道了解更多相关知识。

port=”8080″ maxHttpHeaderSize=”8192″ maxThreads=”150″minSpareThreads=”25″maxSpareThreads=”75″、enableLookups=”false”redirectPort=”8443″ acceptCount=”100″connectionTimeout=”300″disableUploadTimeout=”true” />重新启动tomcat服务4. 禁止目录列出编辑tomcat配置文件web.xml配置文件:listingstrue把true改成false。重新启动tomcat服务5. 防止恶意关闭服务编辑tomcat配置文件conf/server.xml配置文件,shutdown的值为复杂的字符串:6. 连接数设置编辑tomcat配置文件server.xml文件:maxThreads=”150″ 表示最多同时处理150个连接。minSpareThreads=”25″ 表示即使没有人使用也开这么多空线程等待。maxSpareThreads=”75″ 表示如果最多可以空75个线程。acceptCount=”100″ 当同时连接的人数达到maxThreads时,还可以接收排队的连接,超过这个连接的则直接返回拒绝连接。7. 修改banner修改/lib/catalina.jar中Serverinfo.properties问津中的以下参数(修改以掩饰真实版本信息):server.info=Xserver.build=BuildDateserver.number=X关于Linux安全加固的中间件Tomcat怎么用问题的解答就分享到这里了,希望以上内容可以对大家有一定的帮助,如果你还有很多疑惑没有解开,可以关注云编程开发博客行业资讯频道了解更多相关知识。

相关推荐: linux怎么搭建node.js开发环境

这篇“linux怎么搭建node.js开发环境”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“linux怎么搭建node.js开发环境”文章吧。1…

免责声明:本站发布的图片视频文字,以转载和分享为主,文章观点不代表本站立场,本站不承担相关法律责任;如果涉及侵权请联系邮箱:360163164@qq.com举报,并提供相关证据,经查实将立刻删除涉嫌侵权内容。

Like (0)
Donate 微信扫一扫 微信扫一扫
Previous 02/02 17:24
Next 02/02 17:24