免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1558 | 回复: 0
打印 上一主题 下一主题

(转)Linux下apache和resin的安全配置 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2008-11-06 17:14 |只看该作者 |倒序浏览

              Linux下apache和resin的安全配置



resin的安全配置
1.端口修改
    由于resin和apache是整合的,所以resin的端口号可以改成譬如89657等,这样至少可以在一定程度上让人猜解到,当然最好就是做下防火墙的配置,不允许访问该端口就更好了。
2.目录列表禁止
    就算不能访问resin的端口,我们也还是要把resin的目录列表功能给禁止掉。这里以为resin3.0.22说明,修改resin.conf文件,查找到行DirectoryServlet,然后将该行注释掉即可!
3.错误屏蔽
    使用错误页面如屏蔽系统的错误信息(如500错误),这样就不会将系统的错误信息(如堆栈信息)暴露给客户了,而且在一定程度上还可以美化页面呢,呵呵。
    apache的安全配置
1.目录列表禁止
    由于apache是独立的一个WEB服务器,所以和resin整合后,即使resin配置了,但是apache没有配置也是可以看到列表的,所以我们也需要禁止apache的目录列表功能。这里主要修改apache的配置文件httpd.conf文件中的Directory段。比如你的WEB系统的目录是如下配置:
    Options Indexes FollowSymLinks
    那么只要去掉Options中的Indexes即可。
2.错误屏蔽
    和resin一样,使用错误页面来屏蔽系统的错误信息(如500错误和404错误等)。同样也是修改你的WEB系统的目录配置,如下:
    Options Indexes FollowSymLinks
    ErrorDocument 404 http://www.myweb.com/error/404.html
    ErrorDocument 403 http://www.myweb.com/error/403.html
    ErrorDocument 500 http://www.myweb.com/error/500.html
    这样就为你的系统配置了三个错误处理页面了。注意这里最好是使用域名,既你的系统的访问地址。
3.隐藏apache的版本信息和响应头
    当我们没有配置错误页面时,我们访问一个不存在的地址时,apache就会打印一个自己的错误页面,然后把apache的版本信息和resin的版本信息都打印在页面的底部。为了不给别有用心之能留下任何漏洞,我们当然要屏蔽这些版本信息了。修改httpd.conf文件如下(以为apache2.X为例子):
    找到行ServerSignature On 该成Off
    找到行ServerTokens Full 该成Prod

    这两行修改的意思就是关闭服务器的版本信息和修改apache的请求响应头。
4.对重要目录的密码访问控制
    对于WEB系统中的重要目录,比如保存数据库密码的属性文件或程序的源代码目录等。这些都是需要保密的信息,而且这样重要的目录通过禁止文件列表显然也不能完全解决。比较好的方式就是访问这些目录的时候需要密码校验,apache自带的安全特性就能满足这一要求。按如下要求做即可达到目录的密码访问控制:
4.1)修改你的Directory段中的AllowOverride None为AllowOverride Aall
   
        AllowOverride All
   
4.2)建立密码校验文件
    比如我们要将密码本存放在网络访问不到的目录,比如/home/mypassword/passwords文件中。那么执行如下命令(注意#表示Linux下的命令提示符):
#mkdir /home/mypassword
#touch /home/mypassword/passwords
    然后使用apache自带的工具htpasswd来创建一个帐号,假设你的apache安装在/usr/local/apache,命令操作如下:
#/usr/local/apache/bin/htpasswd -c /home/mypassword/passwords hello
    然后它会提示你输入密码(两次),确认成功后,这样就建立了一个hello用户的密码本。
4.3)建立访问控制文件
    在你需要进行密码控制的目录下建立文件.htaccess,比如要保护conf目录,那么就需要在conf目录下建立.htaccess文件,命令操作如下:
#cd /webapp/web1/conf
#touch .htaccess
    然后用VI打开该文件,并输入如下内容:
AuthType Basic
AuthName "Restricted Files"
AuthUserFile /home/mypassword/passwords
Require user hello
    意思是:第一行表示是采用基本密码访问控制;第二行是你的认证名称,可以随意取;第三行就是你的密码本的存放路径了,就是我们在第2步建立的文件;第四行就是访问该目录需要的用户名,当然了这里的用户名在我们的密码本中是要存在的,否则是校验不成功的。
    保存该文件后,重新启动apache,然后再访问conf目录的时候就需要输入用户名和密码了。这样也就达到了目录的保护功能。
    以上只是简单的apache和resin的安全控制,更多和更深入的安全配置就需要以后慢慢去了解了


本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u2/73562/showart_1384873.html
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP