Resin安全配置小技巧

1.版本:应该从Resin官方提供的下载页面下载最新稳定

版本,注意不要下载beta版本。Resin官网地址为:

http://www.caucho.com/download/

2.删除默认页面:Resin安装好后,存在默认的示例页面、文档及管理页面:

需要删除以下文件及目录:

%resin%/webapps/ROOT/index.jsp

%resin%/doc/resin-doc文件夹

%resin%/doc/resin-admin文件夹

在Resin4版本中,需再把resin.properties配置文件中的 resin_doc : true和web_admin_enable : true都注释掉。

3. 管理目录安全配置:对于管理目录,需要做到只允许合法ip可以访问,Resin限制白名单ip访问的配置如下:

WEB-INF/resin-web.xml

<web-appxmlns="http://caucho.com/ns/resin"

xmlns:resin="urn:java:com.caucho.resin">

...

<resin:Allow url-pattern="/admin/*">

<resin:IfNetwork value="192.168.17.0/24"/>

</resin:Allow>

...

</web-app>

4. 禁用root启动Resin:不以root权限启动Resin,修改resin配置文件中的配置项,确保setuid_user和setuid_group的值不为root,以便在绑定端口后(例如80端口),Resin可切换到非root用户

resin.properties

setuid_user : nobodysetuid_group : nobody

5.开启日志记录:编辑resin.xml配置文件,确保level值不为Off,默认情况下,Resin是开启日志记录功能的,其配置如下:

resin.xml

<log-handler name="" level="all" path="stdout:" timestamp="[%y-%m-%d %H:%M:%S.%s]" format=" {${thread}} ${log.message}"/>

6. 禁止显示错误信息:Resin在程序执行失败时会有错误信息提示,可能泄漏服务器的敏感信息,需要关闭错误提示信息。

首先,关闭开发模式,将resin.properties配置文件中的 dev_mode: true注释掉。其次,通过指定错误页面的方式避免将错误回显给用户,其配置如下:

WEB-INF/ web.xml

(1)出现404/500未找到网页的错误时显示404.php/500.jsp页面<error-page error-code='404' location='/404.php'/><error-page error-code='500' location='/500.jsp'/> (2)出现java.lang.NullPointerException错误时显示 error.jsp页面<error-page exception-type=java.lang.NullPointerException location='/error.jsp'/> 注:可以根据需要自行增加相应的错误码,常见的如500,404等,location选项为指定跳转的页面,该jsp/php/html文件需要自己生成。

7.关闭静态映射:在resin 3.x.x版本中存在<strict-mapping>配置项,若设为true,可能会导致通过www.abc.com/test.jsp%00x 或者末尾添加%5c等其它特殊字符下载到jsp源码。修改配置如下:

WEB-INF/resin-web.xml

<strict-mapping>false</strict-mapping>

注意:默认为false。

原文发布于微信公众号 - 腾讯云安全(TencentCloudSecurity)

原文发表时间:2014-08-15

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏晓晨的专栏

Gogs搭建教程-极易搭建的自助 Git 服务

2623
来自专栏Jerry的SAP技术分享

使用Eclipse进行PHP的服务器端调试

最近工作需要对PHP的服务器端代码进行远程调试,涉及到Eclipse里环境的设置。在网上找了很多资料,大多不全,或者缺少配图,于是把自己做的过程中遇到的问题记录...

912
来自专栏Gaussic

使用IntelliJ IDEA开发SpringMVC网站(二)框架配置 顶

注:此文承接上一文:使用IntelliJ IDEA开发SpringMVC网站(一)开发环境

813
来自专栏你不就像风一样

SpringBoot热部署的实现方式

一般情况下直接在pom.xml文件添加下面的依赖即可,但eclipse和IDEA有时也会造成影响。

853
来自专栏happyJared

实现Java热部署的几种解决方案

3981
来自专栏小狼的世界

Fedora 11 的安装以及 LAMP环境的搭建(二)

        Windows下的同事,很多都使用winrar来压缩和传输文件,所以这个也是不可或缺的,提供对于rar压缩格式的支持

943
来自专栏程序猿DD

Spring Boot应用的后台运行配置

酱油一篇,整理一下关于Spring Boot后台运行的一些配置方式。在介绍后台运行配置之前,我们先回顾一下Spring Boot应用的几种运行方式: - 运行S...

4106
来自专栏用户2442861的专栏

使用IntelliJ IDEA开发SpringMVC网站(二)框架配置

注:此文承接上一文:使用IntelliJ IDEA开发SpringMVC网站(一)开发环境

651
来自专栏云计算教程系列

如何在Ubuntu 14.04上安装CouchDB和Futon

Apache CouchDB,类似Redis,Cassandra和MongoDB,是一个NoSQL数据库。CouchDB将数据存储为JSON文档,这些文档本质上...

1241
来自专栏云计算教程系列

如何在Ubuntu 14.04上安装Bacula Server

Bacula是一种开源网络备份解决方案,允许您创建备份并执行计算机系统的数据恢复。它非常灵活和强大,这使得它在配置时稍微麻烦,适合在许多情况下进行备份。备份系统...

1181

扫码关注云+社区