3 Web服务器安全加固
3.1 启用日志记录功能
3.2 HTTPS协议
3.3 Tomcat错误页面重定向
3.4 禁止tomcat列表显示文件
表2-1 Linux安装后文件路径
表2-2 Linux下全局配置文件可能位置
实施目的
Web服务器应配置日志功能,对用户登录进行记录,记录内容包括用户登录使用的账号、登录是否成功、登录时间以及远程登录时用户使用的IP地址。
问题影响
无法对用户的登陆进行日志记录。
系统当前状态
系统未配置日志记录。
实施步骤
编辑server.xml配置文件,在
将以下内容的注释标记< ! -- -- >取消
Pattern="common" resloveHosts="false"/>
classname:必须被设置为
“org.apache.catalina.valves.AccessLogValve to use the default access log valve. &<60”;
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地址。
回退方案
还原server.xml。
判断依据
登录web服务器后,检查相关信息是否被日志记录。
实施风险
低
重要等级
实施目的
对于通过HTTP协议进行远程维护的设备,设备应支持使用HTTPS等加密协议。
问题影响
增加Web数据传输安全隐患。
系统当前状态
系统未配置HTTPS加密协议。
实施步骤
1、使用JDK自带的keytool工具生成一个证书:
JAVA_HOME/bin/keytool -genkey –alias tomcat –keyalg RSA -keystore /path/to/my/keystore
2、修改tomcat/conf/server.xml配置文件,更改为使用https方式,增加如下行:
< Factory classname="org.apache.catalina.SSLServerSocketFactory" clientAuth="false" keystoreFile="/path/to/my/keystore" keystorePass="runway" protocol="TLS"/>
< /Connector>
回退方案
还原server.xml。
判断依据
登录web服务器后,检查相关信息是否被日志记录。
实施风险
低
重要等级
实施目的
更改Tomcat错误页面并重定向页面,增加系统安全性。
问题影响
出现错误时系统可能会将错误堆栈信息打印到页面,使得攻击人员可以根据错误信息进行有效的攻击。
系统当前状态
系统未配置错误重定向页面。
实施步骤
配置tomcat/conf/web.xml文件,在最后之前加入以下内容:
< error-code>404
< location>/noFile.htm
< /error-page>
……………
< error-page>
< exception-type>java.lang.NullPointerException
< location>/error.jsp
第一个
第二个
回退方案
还原server.xml。
判断依据
URL地址栏中输入“http://ip:80/manager123”查看返回界面。
实施风险
高
重要等级
实施目的
禁止tomcat列表显示文件,增加系统安全性。
问题影响
不安全性增加。
系统当前状态
系统未配置禁止tomcat列表显示文件。
实施步骤
编辑tomcat/conf/web.xml配置文件,
< /init-param>
把true改成false。重新启动tomcat服务。
回退方案
还原server.xml。
判断依据
直接访问http://ip:8800/webadd。
实施风险
低
重要等级