apache和resin的安全配置

  一个好的WEB系统不仅仅是功能上的优秀,安全方面也是至关重要的,尤其是在黑客、菜鸟流行的今天,工具泛滥、病毒横行让人不得不防啊。今天就个人的经验之谈来做下简单的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目录的时候就需要输入用户名和密码了。这样也就达到了目录的保护功能。

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/20542911/viewspace-615773/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/20542911/viewspace-615773/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值