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

相关文章

来自专栏向治洪

android最新更新方法

使用SDK Manager更新时出现问题Failed to fetch URL https://dl-ssl.google.com/android/repos...

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

如何在Ubuntu 14.04上安装CouchDB和Futon

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

2901
来自专栏SpringBoot 核心技术

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

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

9552
来自专栏听Allen瞎扯淡

Mac OS X 安装 JDK备忘

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

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

如何在Ubuntu 14.04上安装Bacula Server

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

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

2018-09-11Ubuntu arduino使用makeblock library

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

1524
来自专栏用户2442861的专栏

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

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

1261
来自专栏纯洁的微笑

springboot(十六):使用Jenkins部署Spring Boot

jenkins是devops神器,本篇文章介绍如何安装和使用jenkins部署Spring Boot项目 jenkins搭建 部署分为三个步骤; 第一步,jen...

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

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

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

1302
来自专栏晓晨的专栏

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

4213

扫码关注云+社区

领取腾讯云代金券