0x01 账号口令
1 设置控制台口令
加固 resin 控制台,设置复杂的口令
1 、参考配置操作
(1) 如果不需要使用 resin-admin,建议删除 resin_home/doc/admin 文件夹
(2) 在 admin-users.xml 中为用户设置复杂的密码
编辑 resin_home/conf/admin-users.xml,进行用户密码设置,例如:
<resin:AdminAuthenticator xmlns="http://caucho.com/ns/resin"
xmlns:resin="urn:java:com.caucho.resin">
< user name="admin" password="yCGkvrQHY7K8qtlHsgJ6zg=="/ >
</resin:AdminAuthenticator>
注意,初次注册登录用户名需要按照注册步骤修改 resin.properties,同步自动产生 admin-users.xml.generated 文件。
2 、补充说明
口令要求:长度至少 8 位,并包括数字、小写字母、大写字母和特殊符号 4类中至少 3 类。
判定:admin-users.xml 配置文件中的账号口令符合口令复杂度要求。
检测:
(1) 默认通过 http://ip:8080/resin-admin 可以访问 resin admin
(2) 检查 admin-users.xml 中的用户密码设置
2 服务运行身份管理
以 resin 用户运行服务,增强安全性
1 、配置:
Unix 系统:
(1) 创建 resin 组:groupadd resin
(2) 创建 resin 用户并加入 apache 组:useradd resin –g resin
(3) 以 resin 身份启动服务
Windows 系统:
(1) 新建一个 resin 用户
(2) 设置 resin 用户对 resin_home 的相关权限
(3) 在服务管理器 (services.msc) 中找到 resin 服务,右键选择属性,设置登
录身份为 resin 用户
判定: 符合性判定依据,Resin 服务运行用户为 Resin。
检测:查看 resin 的启动脚本或服务,确认是否以 resin 身份运行
0x02 日志审计
1 记录用户登录行为
设备应配置日志功能,对用户登录进行记录,记录内容包括用户登录使用的账号,登录是否成功,登录时间,以及远程登录时,用户使用的 IP 地址。
配置指南
参考:如果 resin 前端有 Apache,Apache 可以记录访问日志。如果 resin 独立运行,可以开启 resin 访问日志,修改 resin_home/conf/resin.xml,取消注释:
<access-log path="log/access.log"
format='%h %l %u %t "%r" %s %b "%{Referer}i" "%{User-Agent}i"'
rollover-period="1W"/>
启用 access_log 后,重启 resin,在 resin_home/log 中可以看到访问日志
判定:查看 logs 目录中相关日志文件内容,记录完整
检测:检查 resin_home/log 目录中的日志文件
0x03 其他
1 删除示例
删除文档和示例程序,防止被非法利用来进行攻击。
配置:删除 resin_home/doc/resin-doc 文件夹
判定:resin_home/doc/resin-doc 文件夹不包含文档和示例程序
检测:打开 resin_home/doc/resin-doc 文件夹,进行检查
2 自定义错误信息
自定义 Resin 返回的错误信息,防止泄露服务器版本等信息。
配置:
1 、参考配置操作
(1)修改应用程序的 web.xml,在最后</web-app>一行之前加入以下内容
a)表示出现 404 未找到网页的错误时显示 404.html 页面
<error-page>
<error-code>404</error-code>
<location>/404.html</location>
</error-page>
建议自定义 403,404,500 错误的页面
b)表示出现 java.lang.NullPointerException 错误时显示 error.jsp 页面
<error-page>
<exception-type>java.lang.NullPointerException</exception-type>
<location>/ error.jsp</location>
</error-page>
(2)重新启动 Resin 服务
(3)要求错误页面不能太大
判定:访问出错时,指向指定的错误页面。
检测:查看应用程序的 web.xml 中<error-page> </error-page> 部分的设置
3 禁止目录列出
防止直接访问目录时由于找不到默认主页而列出目录下所有文件
配置:
1 、参考配置 操作
(1) 编辑 web.xml 配置文件,将 listings 是否设置为 false
<param-name>listings</param-name>
<param-value>false</param-value>
判定:当 WEB 目录中没有默认首页如 index.html,index.jsp 等文件时,不会列出目录内容
检测:检查 web.xml 配置文件
4 补丁更新
手动安装补丁或安装最新版本软件
所安装的补丁,应首先在经过测试验证;安装前,要做好数据备份。
判定:安装了最新版本的安全补丁,或者所安装的版本没有高危漏洞。
检测:查看 resin 版本信息