登录论坛 | 注册会员 设为首页 | 收藏本站
当前位置 : 首页>软件学院>网络技术>网络安全>正文
 
Apache+Proftpd虚拟主机的安全问题

http://www.dbit.cn 2009/8/18 7:34:06  来源:东北IT网  编辑:叶子
 
  1. proftpd建立hostuser/hostuser帐号,所有用户均映射到该帐号。

  htdocs/hosts 目录属主也为hostuser

  这样用户使用FTP上传的文件属性为hostuser(644 755)。

  将FTP锁定用户在自己的主目录下。

  apache以nobody运行(以独立apache用户更好),读hostuser的脚本文件。

  对于要写入的目录uploads和cache,必须设定777,且循环设定其子目录。两个目录禁止脚本执行(.htaccess:php_flag engine off)。这样即使黑客上传webshell到这两个目录,也无法执行。

  这样cache或uploads中的新文件的属主将是nobody

  cache目录要限制对外访问。

  这里存在一个问题,就是apache生成的文件和目录644和755,当proftpd以hostuser:hostuser运行时,用户是无法删除cache或uploads中的内容的。

  解决方法:

  (1) 在PHP程序中chmod文件和目录分别为666和777

  以adodb为例,需修改adodb.inc.php文件1681行if (!mkdir($dir,0771)) 和adodb-csvlib.inc.php文件287行chmod($tmpname,0644);两个地方

  (2) 让用户在系统里面清空cache和uploads

  2. PHP safe_mode,它的主要作用是读写文件时会检查当前脚本和要读写或修改的文件属主是否一致,如果不一致就拒绝修改。

  不过,如果当前脚本属主是hostuser,要删除属主是nobody的uploads目录下的文件,一旦safe_mode打开,就不能写了。

  所以safe_mode默认是不打开的,

  其替代方案为:

  php_admin_value open_basedir /docroot 限制每个用户只能访问自己的文件。这里的docroot是程序的根目录,不是程序下的cache或uploads目录。如果不是根目录,PHP程序都无法访问。

  3. (不一定能保证)所有PHP程序脚本能过滤Remote Code Execution和Local File Include攻击。否则黑客仍有可能读取config.php中的密码,或者直接读写cache或uploads目录中的内容。

  cache目录中不可存放类似用户密码之类的数据。

  4. expose_php设为off ,这样php不会在http文件头中泄露PHP的版本号.
收藏】【打印】【进入论坛
  相关文章:

·Linux下Apache配置虚拟主机+SSL 
·Apache服务器的配置与管理 
·Apache的Rewrite和404错误页面
·Apache与PHP的基本配置
·Windows7安装Apache服务失败怎么办 

 
 
 
最新文章

抢先苹果,消息称英特尔芯片采用台积电
三星揭晓业内首款单条 512GB DDR5 内存
vivo 高端新机爆料:120Hz 曲面屏 + 天
vivo Y21 在印度正式上市:Helio P35 芯
微星推出 GeForce RTX 3080 Sea Hawk X
消息称三星 Galaxy Tab S8 系列平板将放
机械革命推出 F6 轻薄本:16 英寸全面屏
英特尔 12 代 Alder Lake CPU 600 系列
雷军:向小米手机 1 首批用户每人赠送价
小米李明谈用户被踢出 MIUI 测试版:大

推荐文章
1
2
3
4
5
6
7
8
9
10
叛逆嫩模性感写真
宫如敏不雅照疯传 看张馨予韩一菲兽兽谁
不惧孔子抢位 阿凡达游戏影音配置推荐
2015第十七届“东北安博会”火爆招商
第十六届东北国际公共安全防范产品博览
2016年第五届中国国际商业信息化博览会
2016年第五届中国国际POS机及相关设备展
互联网电视熟了吗 2013最火电视深解析
桑达获邀出席2015中国(广州)国际POS机
宝获利报名参加“2015年度中国POS机行业
八卦图解 More>>
叛逆嫩模性感写真 宫如敏不雅照疯传 看张馨予韩一菲
周伟童魔鬼身材日本性感写真图  联想V360笔记本模特写真