<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>裁纸刀下 &#187; 网站安全</title>
	<atom:link href="http://ofcss.com/tags/security/feed" rel="self" type="application/rss+xml" />
	<link>http://ofcss.com</link>
	<description>独立 自由 诚信 宽容 责任 平常心</description>
	<lastBuildDate>Thu, 19 Jan 2012 14:24:38 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>动易SiteFactory目录权限详解</title>
		<link>http://ofcss.com/2008/06/26/directory-permissions-detail-of-powereasy.html</link>
		<comments>http://ofcss.com/2008/06/26/directory-permissions-detail-of-powereasy.html#comments</comments>
		<pubDate>Thu, 26 Jun 2008 19:50:00 +0000</pubDate>
		<dc:creator>小李刀刀</dc:creator>
				<category><![CDATA[所谓技术]]></category>
		<category><![CDATA[动易]]></category>
		<category><![CDATA[权限]]></category>
		<category><![CDATA[网站安全]]></category>

		<guid isPermaLink="false">http://wukangrui.net/?p=288</guid>
		<description><![CDATA[<p>官方说明中，指出在2003版本上的目录权限是给Network Service帐户分配写入权限。这是一个理想化的状态，如果要满足分配该帐户写入权限即可正常使用的话，那么要满足以下条件： 你的站点是采用了默认的帐号设置，即站点程序池的运行标识帐户是Network Service(网络服务）； 你给根目录分配了写入权限，而不是按照安装向导页所提示的那几个目录设置； 你从来没有修改过NTFS的默认权限设置，对所有目录和文件都会有“Creator Owner”这个帐户的特殊权限。 满足以上条件的话，你给动易所在的目录分配了Network Service的写入权限后，基本上能够正常安装和使用动易（还会遇到一些问题，但是基本上可以了）。 下面解释一下：由于程序池运行标识帐户是“网络服务”，因此你的动易站点在读写磁盘文件、创建目录、创建文件的时候都是以Network Service帐户身份运行的，于是乎，创建和写入权限就不是问题了，再加上Creator Owner帐户的特殊权限（完全控制），也就对站点自己创建的文件和目录拥有了完全控制权限，因此可以正常运行。可能遇到的问题：由于只拥有写入权限（写入权限只包括创建目录和文件、写入属性、写入扩展属性），在修改站点配置，或者是在后台修改广告目录、JS目录、上传目录的时候，需要对已有的目录，而且创建者、所有者一般是Administrators组或者是Administrator，于是出现“对IAA目录的访问被拒绝”这一类的权限不足的提示。 现在考虑第二种情况，站长拥有一定的服务器安全配置知识，或者是虚拟主机、合租主机，WEB站点有下列任意一种情况： 没有用网络帐户来运行程序池而是用IWAM_机器名用户； 没有用Windows的任意一个默认帐户，而是自己创建了一个用户来运行程序池，比如我自己创建了IWAM_OOPHOME来运行程序池，IUSR_OOPHOME来运行IIS。 在创建站点之后，删除了站点根目录的Creator Owner权限，只保留了Administrators和System的完全控制权限和IWAM_机器名和IUSR_机器名的读写权限。 有上述任意一种情况，将导致安装不能成功，站点也不能正常运行。 动易SF在运行中，到底需要哪些帐户，需要哪些权限呢？下面我结合自己的测试，分析一下： 创建临时文件、静态页面、新增标签……，也就是“创建新目录和新文件”，这要求给程序池标识用户写入权限，具体的目录有config，IAA，JS，UploadFiles，Skin，Temp，Template。实际上还有一个目录，那就是系统根目录（因为要在根目录下创建保存配置的临时文件、创建首页静态文件、创建新增根节点的目录。这是需要“写入”权限的。 修改原有文件、删除临时文件……，也就是“删除目录和文件”，这要求给程序池标识用户权限高级设置里的”删除子目录和文件，删除”两项权限，实际上我们在基本的权限分配界面指定“修改”而不是“写入”权限就完成了这项权限的分配。 修改IAA、JS、UploadFiles的名称。虽然后台提示说要先修改目录，然后再到后台修改，但是经过试验发现，必须是直接在后台修改并保存，系统会自动给这几个目录更名。这要求程序池标识用户对根目录的修改权限。 既然权限分析清楚了，那我们就明白了，动易始终是对根目录有“修改”权限需求的。因此作为一劳永逸的办法，直接给网站根目录加上程序池标识用户的“修改”权限，就OK了。但是这样很多朋友会不满意。那怎么办呢？可以试试按下面的方法： 给站点根目录加上程序池标识帐户的“修改”权限，默认是继承到所有目录的。 打开根目录，对根目录下的图片目录、上传文件目录、纯读取运行的目录等取消“从父级目录继承权限”，提示的时候选择“删除”，这样这些目录就完全没有权限了； 重新给刚才删除了权限的目录给它们分配Administrators和System的完全控制权限； 给静态文件目录（例如上传、你各个节点的生成目录等）加上程序池标识帐户的“写入”权限（最好到高级权限里设置，只给“写入”权限，最多再加上“读取”权限，不需要“运行”和“列目录”的权限； 给非写入的程序文件夹，例如Rss、User等目录，增加IIS匿名用户和程序池标识帐户的“读取和运行”权限。 这样我们的站点就给了动易运行所需要的全部最大权限，同时也把不需要权限的目录统统去除了权限，比如上传目录，只有程序池帐户的写入权限和IIS匿名帐户的读取权限，就算被上传了木马到里面，除非是JavaScript木马，否则是不会被运行的。目前还没听说过JavaScript能对服务器端造成攻击和破坏的。至于ASPX、ASP、VBS一类的木马，传上去了也不能运行。哪怕是代码藏到图片里，也不能运行。 这样就最大程度地保护了站点的安全，又避免了权限分配不够造成的使用问题。 相关日志2008-06-22 &#8212; 动易SW中的一个严重但不影响使用的bug（二）2008-06-22 &#8212; SiteFactory面向的是高端，但是应该更高端2008-06-22 &#8212; 静态页面生成的思考2008-06-18 &#8212; 动易SW中的一个严重但不影响使用的bug(一)2008-05-23 &#8212; &#8230; <a href="http://ofcss.com/2008/06/26/directory-permissions-detail-of-powereasy.html">Continue reading <span class="meta-nav">&#8594;</span></a></p>
]]></description>
			<content:encoded><![CDATA[<p>官方说明中，指出在2003版本上的目录权限是给Network Service帐户分配写入权限。这是一个理想化的状态，如果要满足分配该帐户写入权限即可正常使用的话，那么要满足以下条件：</p>
<ol>
<li>你的站点是采用了默认的帐号设置，即站点程序池的运行标识帐户是Network Service(网络服务）；</li>
<li>你给根目录分配了写入权限，而不是按照安装向导页所提示的那几个目录设置；</li>
<li>你从来没有修改过NTFS的默认权限设置，对所有目录和文件都会有“Creator Owner”这个帐户的特殊权限。</li>
</ol>
<p>满足以上条件的话，你给动易所在的目录分配了Network Service的写入权限后，基本上能够正常安装和使用动易（还会遇到一些问题，但是基本上可以了）。<span id="more-288"></span></p>
<p>下面解释一下：由于程序池运行标识帐户是“网络服务”，因此你的动易站点在读写磁盘文件、创建目录、创建文件的时候都是以Network Service帐户身份运行的，于是乎，创建和写入权限就不是问题了，再加上Creator Owner帐户的特殊权限（完全控制），也就对站点自己创建的文件和目录拥有了完全控制权限，因此可以正常运行。可能遇到的问题：由于只拥有写入权限（写入权限只包括创建目录和文件、写入属性、写入扩展属性），在修改站点配置，或者是在后台修改广告目录、JS目录、上传目录的时候，需要对已有的目录，而且创建者、所有者一般是Administrators组或者是Administrator，于是出现“对IAA目录的访问被拒绝”这一类的权限不足的提示。</p>
<p>现在考虑第二种情况，站长拥有一定的服务器安全配置知识，或者是虚拟主机、合租主机，WEB站点有下列任意一种情况：</p>
<ol>
<li>没有用网络帐户来运行程序池而是用IWAM_机器名用户；</li>
<li>没有用Windows的任意一个默认帐户，而是自己创建了一个用户来运行程序池，比如我自己创建了IWAM_OOPHOME来运行程序池，IUSR_OOPHOME来运行IIS。</li>
<li>在创建站点之后，删除了站点根目录的Creator Owner权限，只保留了Administrators和System的完全控制权限和IWAM_机器名和IUSR_机器名的读写权限。</li>
</ol>
<p>有上述任意一种情况，将导致安装不能成功，站点也不能正常运行。</p>
<p>动易SF在运行中，到底需要哪些帐户，需要哪些权限呢？下面我结合自己的测试，分析一下：</p>
<ol>
<li>创建临时文件、静态页面、新增标签……，也就是“创建新目录和新文件”，这要求给程序池标识用户写入权限，具体的目录有config，IAA，JS，UploadFiles，Skin，Temp，Template。实际上还有一个目录，那就是系统根目录（因为要在根目录下创建保存配置的临时文件、创建首页静态文件、创建新增根节点的目录。这是需要“写入”权限的。</li>
<li>修改原有文件、删除临时文件……，也就是“删除目录和文件”，这要求给程序池标识用户权限高级设置里的”删除子目录和文件，删除”两项权限，实际上我们在基本的权限分配界面指定“修改”而不是“写入”权限就完成了这项权限的分配。</li>
<li>修改IAA、JS、UploadFiles的名称。虽然后台提示说要先修改目录，然后再到后台修改，但是经过试验发现，必须是直接在后台修改并保存，系统会自动给这几个目录更名。这要求程序池标识用户对根目录的修改权限。</li>
</ol>
<p>既然权限分析清楚了，那我们就明白了，动易始终是对根目录有“修改”权限需求的。因此作为一劳永逸的办法，直接给网站根目录加上程序池标识用户的“修改”权限，就OK了。但是这样很多朋友会不满意。那怎么办呢？可以试试按下面的方法：</p>
<ol>
<li>给站点根目录加上程序池标识帐户的“修改”权限，默认是继承到所有目录的。</li>
<li>打开根目录，对根目录下的图片目录、上传文件目录、纯读取运行的目录等取消“从父级目录继承权限”，提示的时候选择“删除”，这样这些目录就完全没有权限了；</li>
<li>重新给刚才删除了权限的目录给它们分配Administrators和System的完全控制权限；</li>
<li>给静态文件目录（例如上传、你各个节点的生成目录等）加上程序池标识帐户的“写入”权限（最好到高级权限里设置，只给“写入”权限，最多再加上“读取”权限，不需要“运行”和“列目录”的权限；</li>
<li>给非写入的程序文件夹，例如Rss、User等目录，增加IIS匿名用户和程序池标识帐户的“读取和运行”权限。</li>
</ol>
<p>这样我们的站点就给了动易运行所需要的全部最大权限，同时也把不需要权限的目录统统去除了权限，比如上传目录，只有程序池帐户的写入权限和IIS匿名帐户的读取权限，就算被上传了木马到里面，除非是JavaScript木马，否则是不会被运行的。目前还没听说过JavaScript能对服务器端造成攻击和破坏的。至于ASPX、ASP、VBS一类的木马，传上去了也不能运行。哪怕是代码藏到图片里，也不能运行。</p>
<p>这样就最大程度地保护了站点的安全，又避免了权限分配不够造成的使用问题。</p>
<h3  class="related_post_title">相关日志</h3><ul class="related_post"><li>2008-06-22 -- <a href="http://ofcss.com/2008/06/22/api-bug-in-powereasy-siteweaver-part2.html" title="动易SW中的一个严重但不影响使用的bug（二）">动易SW中的一个严重但不影响使用的bug（二）</a></li><li>2008-06-22 -- <a href="http://ofcss.com/2008/06/22/advancd-suggestions-to-sitefactory.html" title="SiteFactory面向的是高端，但是应该更高端">SiteFactory面向的是高端，但是应该更高端</a></li><li>2008-06-22 -- <a href="http://ofcss.com/2008/06/22/thinking-about-html-page-creating.html" title="静态页面生成的思考">静态页面生成的思考</a></li><li>2008-06-18 -- <a href="http://ofcss.com/2008/06/18/api-bug-in-powereasy-siteweaver-part1.html" title="动易SW中的一个严重但不影响使用的bug(一)">动易SW中的一个严重但不影响使用的bug(一)</a></li><li>2008-05-23 -- <a href="http://ofcss.com/2008/05/23/disadvantages-of-discuz-ucenter.html" title="给UCenter的拥蹩们泼点冷水">给UCenter的拥蹩们泼点冷水</a></li><li>2008-04-28 -- <a href="http://ofcss.com/2008/04/28/php-surround.html" title="PHP渐成合围之势">PHP渐成合围之势</a></li><li>2008-04-15 -- <a href="http://ofcss.com/2008/04/15/are-your-programer-or-just-webmaster.html" title="目的到底是学技术还是建网站？">目的到底是学技术还是建网站？</a></li><li>2008-04-15 -- <a href="http://ofcss.com/2008/04/15/mistakes-of-powereasy-sitefactory.html" title="动易SiteFactory遭遇滑铁卢？">动易SiteFactory遭遇滑铁卢？</a></li><li>2008-01-07 -- <a href="http://ofcss.com/2008/01/07/congratulation-to-powereasy-five-years-anniversary.html" title="五年风雨路 十万用户情">五年风雨路 十万用户情</a></li><li>2007-11-20 -- <a href="http://ofcss.com/2007/11/20/thinking-about-powereasy-opensource.html" title="由动易开源说开来">由动易开源说开来</a></li></ul>]]></content:encoded>
			<wfw:commentRss>http://ofcss.com/2008/06/26/directory-permissions-detail-of-powereasy.html/feed</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
	</channel>
</rss>

