警告:本文只是基于概念的角度讲述对个别应用服务的权限控制,其中很多操作与实际应用环境不符,请勿在完全领会的情况下在实际运营的服务器上操作,否则后果自负。
前期设置
D盘目录分配

说明
SRV目录用于放置应用服务程序例如SERV-U等;
TEMP目录用于分离系统的TEMP临时文件目录;
WWWROOT用于WEB文件存放,WEB用户目录位于该目录下。
操作过程
1.分离系统临时文件目录

原TEMP目录位于C盘下,对权限控制有一定影响,迁移到其他盘符有助于更完善权限控制。
2.生成用于启动SERV-U服务的系统用户

把该用户放进Guests组

3.安装SERV-U

如前面说的一样,把应用服务安装在指定目录,而不是安装在默认的“C:\Program Files”有助于完善权限控制。
4.修改SERV-U本地密码

5.修改SERV-U服务的启动用户

“为什么要这样做呢?”这一步恐怕是最多人问的一步,简单来说,默认启动应用服务的是以“LocalSystem”权限运行的,如果攻击方成功溢出应用程序,那么攻击方将立刻拥有LocalSystem的权限,如果指定启动用户,那么即使攻击方成功溢出,也仅能获取该帐户权限,以下的修改也是基于这个道理做出的修改。
6.修改C盘权限

添加Administrator对C盘的控制权

以上是系统正常工作所需要对C盘有权限的用户

其实整个操作实现的就是,只允许必须的权限,取消无必要的权限。
7.D盘权限设置

8.启动SERV-U的用户对SERV-U工作目录的权限控制

如果SERV-U无法启动或者无法修改配置,就是以上两步做错。
9.修改ServUAdmin.exe和ServUDaemon.exe的权限设置


此修改是用于防御攻击方替换此文件强行改变SERV-U本地密码。
10.修改SERV-U启动用户对TEMP目录的权限

11.修改SERV-U启动用户对WWWROOT子目录的权限设置

说明:该子目录是用于模拟WEB用户目录
##################################################################
综合说明
1. 你可以看到我把服务程序的工作目录从默认的“C:\Program Files”以及系统变量temp分离了出来,这有助于权限控制处理。当然实际上temp的权限控制还不是真正合理,在实际应用上,用户的temp不应该和系统的temp混在一起。
2. 你可以看到我对C盘,D盘以及各个目录的权限控制,这个说白了就只允许应用服务只能读取写入他自己的目录,至于其他无关目录,他不应该能读取写入运行。再次警告!在实际应用里,大量服务需要不同的权限,千万不要完全按照我的示范操作!否则后果自负!
------------------------------------------------------------------
新手常见差错
F:serv-u无法启动
Q:
(1).请reboot
(2).请再次确认ftpd用户对serv-u工作目录的权限
F:无法更改serv-u设置
Q: 请再次确认ftpd用户对serv-u工作目录的权限
F:无法上传
Q:请再次确认ftpd用户对wwwroot目录的权限
全文完
BY.FreeShadow
2005.03.03
