之前整理了关于主机系统的加固(Linux安全加固、Windows安全加固)。
(实在我还是喜好日靶机……)

接下来想整理下和探索下中间件或者web容器的加固,以及主流数据库的加固。

先大概说下web的一些根本东西。

jsp多页打印出来Linux平安加固之中央件Tomcat JavaScript

一样平常的web访问顺序如下

web浏览器->web做事器(狭义)->web容器->运用做事器->数据库做事器

以是哪一个环节出了问题,各种攻击姿势就来了。

业务上一样平常的选择如下:

小项目,个人开拓一样平常用tomcat。

linux系统一样平常利用jetty或apachehpptd

大型的项目会用jboss或webloigc,商业项目一样平常采取weblgoic,webshere,其他的还有jboss、glasshfish等

web做事器:

相应页面,处理http协议

IIS、Apache、nginx、Lighttpd

web容器:

tomcat(拥有JSP容器,servlet容器),IIS(拥有ASP容器)

操作系统与运用程序之间的交互

运用做事器:

IIS,Tomcat,WebLogic,WebSphere即是运用做事器,又拥有web做事器的功能

中间件:为运用程序供应容器和做事

这次是tomcat的Linux加固。

tomcat是apache的一个中间件软件,其可以供应jsp或者php的解析做事

加固依然分为身份鉴别、访问掌握、安全审计、资源掌握和入侵戒备5个方面。

大部分加固基于xml配置文件进行修正,也应根据实际需求制订方案。

探求配置文件目录,Linux可以用find /-name tomcat 即可。

注:皆为参考操作配置。

01身份鉴别

1. 删除多余账号:

修正tomcat配置文件/conf/tomcat-users.xml配置文件,删除与事情无关的帐号。

例如tomcat1与运行、掩护等事情无关,删除帐号,注释如下行即可:

<userusername=”tomcat1” password=”tomcat” roles=”admin”>.

2. 口令繁芜度:

口令哀求:长度至少8位,并包括数字、小写字母、大写字母和分外符号4类中至少3类。

修正tomcat配置文件/conf/tomcat-users.xml配置文件

<userusername=”usr1” password=”12345qwe” roles=”admin”>

哀求usr1密码必须知足繁芜度哀求。

3. 不同用户不同账号:

应为两个或两个以上即为合理

修正tomcat配置文件/conf/tomcat-users.xml配置文件,修正或添加帐号:

<userusername=”tomcat” password=” Tomcat!234” roles=”admin”>

4. 非root启动做事:

ps -ef | greptomcat|grep -v \"大众grep\公众

tomcat进程的启动用户应不为root

利用普通用户启动tomcat做事。

02

访问掌握

最小特权:

编辑tomcat配置文件/conf/tomcat-user.xml配置文件,在配置文件<tomcat-users>节点下,修正用户角色权限,授权tomcat具有远程管理权限:

1. tomcat6

<rolerolename=\"大众admin\"大众/>

<rolerolename=\"大众manager\"大众/>

<userusername=\"大众tomcat\"大众 password=\公众Qwe12345\"大众roles=\"大众admin,manager\公众/>

2. tomcat7

<rolerolename=\"大众admin-gui\"大众/>

<rolerolename=\"大众manager-gui\"大众/>

<userusername=\公众admin\"大众 password=\公众Qwe12345\"大众roles=\"大众admin-gui,manager-gui\公众/>

03

安全审计

编辑tomcat配置文件server.xml配置文件,在<HOST>标签中增加记录日志功能,将以下内容的注释标记<! -- -- >取消:

<valveclassname=”org.apache.catalina.valves.AccessLogValve”

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办法,增加如下行:

<Connectorclassname=\公众org.apache.catalina.http.HttpConnector\公众

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是否存在如下配置:

<init-param>

<param-name>readonly</param-name>

<param-value>false</param-value>

</init-param>

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

05

资源掌握

1. 超时登出

单位是毫秒

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

<Connectorport=\"大众8080\公众 maxHttpHeaderSize=\"大众8192\"大众 maxThreads=\"大众150\"大众minSpareThreads=\"大众25\"大众maxSpareThreads=\"大众75\"大众、enableLookups=\"大众false\公众redirectPort=\"大众8443\"大众 acceptCount=\"大众100\"大众connectionTimeout=\公众30000\"大众 disableUploadTimeout=\"大众true\公众/>

2. 缺点页面重定向

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

在末了</web-app>一行之前加入以下内容:

<error-page>

<error-code>404</error-code>

<location>/noFile.htm</location>

</error-page>

<error-page>

<exception-type>java.lang.NullPointerException</exception-type>

<location>/error.jsp</location>

</error-page>

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

第二个<error-page></error-page>之间的配置实现了当jsp网页涌现java.lang.NullPointerException导常时,转向error.jsp缺点页面,还须要在第个jsp网页中加入以下内容:

<%@ pageerrorPage=\公众/error.jsp\"大众 %>

范例的error.jsp缺点页面的程序写法如下:

<%@ pagecontentType=\"大众text/html;charset=GB2312\"大众%>

<%@ pageisErrorPage=\公众true\公众%>

<html>

<head><title>缺点页面</title></head>

<body>出错了:</p>缺点信息:<%= exception.getMessage() %><br>

Stack Trace is :<pre><font color=\公众red\"大众><%

java.io.CharArrayWritercw = new java.io.CharArrayWriter();

java.io.PrintWriterpw = new java.io.PrintWriter(cw,true);

exception.printStackTrace(pw);

out.println(cw.toString());

%></font></pre>

</body>

</html>

当涌现NullPointerException非常时tomcat会把网页导入到error.jsp,且会打印出出错信息。

重新启动tomcat做事

3. 修正默认端口

修正tomcat配置文件server.xml配置文件,变动默认管理端口到非8080:

<Connector

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配置文件:

<init-param>

<param-name>listings</param-name>

<param-value>true</param-value>

</init-param>

把true改成false。

重新启动tomcat做事

5. 防止恶意关闭做事

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

shutdown的值为繁芜的字符串:

<Serverport=\"大众8005\"大众 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做事器通用安全加固指南 :学习对Linux做事器进行安全加固。
点击http://www.hetianlab.com/expc.do?ec=ECID172.19.104.182015070311360700001文开始操作!

声明:笔者初衷用于分享与遍及网络知识,若读者因此作出任何危害网络安全行为后果自大,与合天智汇及原作者无关,本文为合天原创,若需转载,请注明出处!