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 条评论
登录 后参与评论

相关文章

来自专栏青玉伏案

JavaEE开发之SpringMVC中的静态资源映射及服务器推送技术

在上篇博客中,我们聊了《JavaEE开发之SpringMVC中的自定义拦截器及异常处理》。本篇博客我们继续的来聊SpringMVC的东西,下方我们将会聊到js、...

2206
来自专栏小狼的世界

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

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

993
来自专栏SpringBoot 核心技术

SpringCloud组件:Eureka高可用集群部署

我们在之前的章节SpringCloud组件:搭建Eureka服务注册中心学习到了单个服务注册中心的创建,不过单模式的部署方式在实战中确实不太提倡,因为有很多种原...

5412
来自专栏happyJared

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

1K1
来自专栏你不就像风一样

SpringBoot热部署的实现方式

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

923
来自专栏程序猿DD

Spring Boot应用的后台运行配置

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

4546
来自专栏应用案例

SSM框架搭建

ssm框架的学习小结,主要是初期环境的搭建配置以及信息的交互处理过程,非技术人员请绕道~ SpringMVC其实就是Spring框架的一个模块,是一个基于MVC...

37710
来自专栏图像识别与深度学习

2018-09-11Ubuntu arduino使用makeblock library

在Downloads下找到Makeblock-Libraries-master剪切到/usr/share/arduino/libraries下,

1134
来自专栏用户2442861的专栏

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

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

881
来自专栏听Allen瞎扯淡

Mac OS X 安装 JDK备忘

oracle官网从jdk1.7开始才有Mac版的安装包,但有的项目必须使用jdk1.6,所以必须从其他途径安装jdk1.6了。查了下发现,要想安装jdk1.6,...

1213

扫码关注云+社区