首页 » 应用安全 » Web 服务器 » Resin » 正文

Resin 安全加固

1、禁止非本地用户访问resin-doc

以Resin4.0.36为例,修改配置文件/resin-pro-4.0.36/conf/resin.properties,配置如下:
resin_doc_host : 127.0.0.1
通常我们可以直接设置下面的参数来停用resin-doc
resin_doc  : false

2、以普通用户权限运行 Resin

常见普通用户:
/usr/sbin/groupadd resin
/usr/sbin/useradd -g resin resin -s /sbin/nologin
修改 resin 配置文件:
setuid_user    : resin
setuid_group   : resin

3、修改管理员口令为复杂度强的口令

口令格式如:It#1s@te5t!、Test$6y&y0u等

修改管理员口令

将管理员口令粘贴到/resin-pro-4.0.36/conf/resin.properties,覆盖原来的口令

 

4、禁用管理控制台

web_admin_enable  : false
rest_admin_enable : false


5、隐藏详细版本信息
Resin的版本信息被写死在了代码之中,无法通过配置文件来进行控制,修改方法如下:
第一步:找到下列文件,将所有文件解压缩到一个目录中(例如:xxx)。

%RESIN_HOME%/lib/resin.jar
%RESIN_HOME%/lib/pro.jar(适用于Pro版本)

第二步:找到下列文件:

xxx/com/caucho/Version.class
xxx/com/caucho/ProVersion.class(适用于Pro版本) 

用JD-GUI反编译版本上述文件,得到Version.java或ProVersion.java(适用于Pro版本)
注意:如果导出文件内容为空,可直接从JD-GUI中复制出代码创建这个文件

 

第三步:根据需要修改Version.java/ProVersion.java文件中的VERSION、FULL_VERSION和VERSION_DATA参数的值(建议直接删除小版本号),修改完成后用下面的命令重新编译为class文件

javac Version.java
javac ProVersion.java(适用于Pro版本)

第四步:然后重新打包
将编译得到的class文件复制到原位置覆盖就文件,然后使用下面的命令重新打包:

jar cfm resin.jar xxx/META-INF/MANIFEST.MF -C xxx/ .
jar cfm pro.jar xxx/META-INF/MANIFEST.MF -C xxx/ . (适用于Pro版本)

第五步:停止Resin,用新生成的jar文件覆盖原文件(建议在覆盖前先备份原文件)后重启Resin。

 

6、修改监听地址/端口

http_address  : 192.168.1.100
适用于 HTTP 站点的参数
app.http      : 8080
web.http      : 8080
适用于 HTTPS 站点的参数
# app.https    : 8443
# web.https    : 8443
# openssl_file : keys/test.crt
# openssl_key  : keys/test.key
# openssl_password : changeme

发表评论