Howie's Workshop

24Mar/068

DreamHost的漏洞引发的安全性问题

关于Dreamhost的目录安全性问题,我在购买Dreamhost前就已经看过类似的文章了,但一直不以为然,觉得我的网站没有什么特别机密的东西,又从没跟人结怨,即使人家得到相关密码,也不会专门去修改我的数据.另外,大家也知道,为了不让DreamHost把网站的cpu时间算在我头上,我老早就把网站的运行模式改成mod_php4了.即便知道这样不安全,也第一时间告诉大家这样不安全,但我还是一边享受Dreamhost带来的快感,一边幸灾乐祸的笑Dreamhost傻到家了,直到今天设置我的wordpress时,才发现,其实DreamHost一点也不傻,我才是最大的傻瓜...

事情的缘由是这样的...

这两天,老婆在用她的blog时反映不能上传图片,我检查后发现是目录权限问题(无法写入),因此把blog的upload目录递归设置成777,之后发现可以正常上传图片.后来在帮blog设置google sitemaps插件时也发现同样存在写入问题,抱着没什么的观点,我偷懒的就把整个站点目录设置成777权限了.不过这时我心里已经清楚的知道为什么DreamHost强调最好用cgi模式了,因为在mod_php4模式整个站点由dhapache用户运作并依照文件权限中的"公共"权限部分对文件进行操作,如果我们的权限不放开(读/写/执行/),某些网站程序,像wordpress这么典型的程序,是无法正确的运行的.

那按mod_php4运行究竟有多不安全呢?带着这个疑问,我找回了那篇关于目录安全性的文章,并动手测试了一下,这一试着实让我吓了一跳.现在我把过程贴出来给大家看看:

$ cd /home (进入用户目录)
$ ls (列出有什么用户)
$ cd abc (进入其中一个用户目录)
$ ls
ls: .: Permission denied (禁止访问)
$ cd logs (进入该用户的logs目录)
$ ls (这样就可以知道该用户有什么网站目录了,比如说我们找到域名aaa.com)
$ cd ../aaa.com (进入上级目录中的aaa.com,这个才是放网页的目录)
$ ls
现在你猜猜看到什么了...没错,是网站的文件列表.

现在再想想我对blog做了什么设置?

对,777权限!它代表任何人都可读可写可执行该目录或文件.现在已经不再是看看文件找找密码这么简单了,只要你用mod_php4模式,并且为了让某些程序正常运行而放宽了文件权限,那么主机上任何一个用户都可以通过这样的方法改写你的网站内容...

DreamHost这样的权限漏洞无疑让DreamHost的用户必须做出以下抉择:
一,使用CGI模式提高网站安全性,继续忍受DreamHost的CPU条款,然后心惊胆战的等待DreamHost的Warning Letter.

二,使用mod_php4模式,抱着"我有正义我怕谁"的思想,时刻准备着为低级黑客及仇家的伟大事业奉献自己的网站.

三,严重鄙视DreamHost,不再使用DreamHost的空间.

路就摊在你们脚下,怎么选择是你们的自由.

附:howlym.com是放在bluehost的空间的,不用找我的来试. 另外DreamHost对于用户的操作是有记录的,不然你们怎么有机会看到resources里面的报告,所以最多看看就好了(其实最好看都不要看了),不要真的改人家的东西,不然就等着关站吧.

后记(解决办法):

是我不好,是我不对,是我年轻气盛,是我年少轻狂,没有认真分析,在写完本文后,我又对所谓的"漏洞"进行测试,发现原来只要注意一下习惯是可以避免的,因为在Fully Hosted那里是有个Web Directory的输入框,默认情况下是跟你的网站名相同的,这样的情况下所谓的"漏洞"就生效了.所以在设置的时候变更一下目录名是可以避免某些不安全因素,这样"漏洞"自然就补上了.
原来DreamHost还留个大家另外一个抉择: 让通向DreamHost的路越走越宽...

Comments (8) Trackbacks (0)
  1. 留名…
    正准备购买DreamHost的空间呢,晕

  2. 呵呵,看来吓到你了,其实看你怎么想咯,我就选择第二个方案,哈哈.
    对了,还是那句老话,买dreamhost能用777就用,用不了就用51DH,呵呵.就当支持本站.

  3. CGI模式如何设定CPU占用资源限制呢?

    如果我想在我自己的服务器上设定cpu资源限制该怎么做?

    可否讲讲?

  4. IIS可在站点属性->性能->启用线程限制 中设定.
    UNIX下面可以看看这里

  5. 恐怖,我的孔明灯在线……

  6. 去去去,Koumei不要跟着瞎起哄~~~你那几个网页好着呢,迟点帮你打包发到gmail做备份

  7. 哎,还是决定买L1了,用777——没钱哈哈
    反正是小站,先用着cgi模式吧

  8. sign,用你的方法试了一下,吓了我一大跳!
    连人家的DB用户名密码什么的全看得到!
    真是FT!

    bluehost的怎么样?介绍一下吧


Leave a comment


No trackbacks yet.