最近因为IIS和SERV-U以至服务器安全出现问题。上网看了很多文章,对这方面比以前了解更加深!授人以鱼不如授人以渔,希望能让大家熟悉操作步骤同时,也知道为什么要这样。更渴望和各位朋友交流经验~,修补不足之处!Thanks 软件环境 : Windows Server 2003 Enterprise Edition Service Pack 1 简体中文版   (NTFS分区) Serv-U 6.4 汉化版 MCAfee 8.0i 服务器安全设置另参见:[windows 2003 web服务器安全设置 ]
 
1,首先安装Serv-U6.4,路径随便,不要安装在C盘!路径尽量复杂的,以减少入侵者猜到安装路径,如D:\ds464\5126554dad485\
2,运行Serv-U,注册域,把密码保存设置为 “加密在注册表里(Domain type:Store in computer registry)”。把帐户密码保存在注册表比保存在ServUDaemon.ini安全。
3,Serv-U安装完成后。打开“计算机管理”,“本地用户和组”。新建一个用户,如Asion,密码要长,要复杂,抄下,一会还要用上! 把用户不能更改密码和密码永不过期勾上3, 打开新建用户(Asion)的属性,在“隶属于”中把Users删除掉,即不属于任何组在“终端服务配置文件”,把“拒绝这个上用户登录到任何终端服务器”打上勾在“拨入”中,"远程访问权限"为“拒绝访问”
4,打开Serv-U安装目录“属性”“安全”“高级”,取消“允许父项的继承权限传播到该对象和所有子对象”,然后点“复制”把System/Creator owner/Users 删除掉,只留下”Administrator”.然后“添加”“高级”“立刻查找”,把新的建的用户“Asion”进去,权限除完全控制其它都给予! (即Serv-U安装目录只有两个用户权限,Admin/asion完全控制)  
5,,运行注册表程序Regedt32,打开分支\HKEY_LOCAL_MACHINE\SOFTWARE\Cat Soft,右击CatSoft打开权限,取消“允许父项的继续权限传播到该对象和所有子对象”,然后点删除,再应用。当弹出警告对话框“你拒绝了所有用户访问CatSoft。没有人能访问Catsoft。而且只有所有者才能更改权限。你要继续吗” 选择“是”。然后添加Administrator和新建的用户Asion所有权限(完全控制
6,打开计算机管理,“服务和应用程序”“服务”,找到”Serv-U Ftp服务器”,打开“属性”“登录”,将登陆身份设置为“此帐户”,并将新建的帐户asion添加上去,然后填上密码,再应用)接着重新启动一次Serv-U 服务。如果出现“错误5:拒绝访问” 那就要检查以上的操作有没漏做一步!这种现象一般都是权限设置错误!
7,运行Serv-U Admin,在“Settings”“Advanced” 下,添加PASV port range 3000-3030     在域的Advanced中。添加被动端口IP “Allow passive mode data transfers,use IP xxx.xxx.xxx.xxx” Serv-U安装路径尽量复杂,删除所有快捷图标,包括Documents and Settings 下每个用户目录的快捷方式,目的是尽量减少入侵者猜中。建立新帐户为为Serv-U的服务启动是为安全, Serv-U默认是System启动,而Serv-U有一个默认的管理用户(用户名:localadministrator,密码:#|@$ak#.|k;0@p),任何人只要通过一个能访问本地端口43958的账号就可以随意增删账号和执行任意内部和外部命令。 而注册表中设置只允许Admin和Serv-U服务帐户全权,也是防止入侵IIS后而读取Serv-U的Ftp 帐号密码。指定PASV(被动端口)很有必要,一是减少服务器端口开放,越少越安全;二是使于管理。如果不开放PASV,那么客户用IE登陆FTP就会出错! 另外FTP最好是开启记录日志,要是被入侵,还有点痕迹可查。
 
IIS设置
1, 新建站点,(运行IIS.msc),新建一个站点。如FTP,目录指向d:\ftp (名称和目录自己定),设置主页文档等等。浏览一下,看能不能正常显示,行,就继续下一步
2, 打开计算机管理,“本地用户和组”,“新建一个用户”,如IIS_FTP,密码尽量长,并且记下!打开该用户属性,在“隶属于”中删除USERS组,即不属于任何组。在“终端服务配置文件”中,勾上“拒绝这个用户登陆到任何终端服务器”,然后应用
3, 打开IIS管理器,新建站点(FTP)的属性,“目录安全性”“身份验证和访问控制”“编辑”,点“浏览”选取新建的用户IIS_FTP,并填上密码, 再应用确定!
4, 打开站点的文件目录(D:\ftp)“属性”,“安全”“高级”,取消“允许父项的继承权限传播到该对象和所有子对象。”,在弹出的对话框中,选“删除”。 然后添加Administrator 完全控制,添加IIS_FTP用户除了“完全控制“所以权限,也可以根椐网站的要求对应分配权限。我是这样设置的。然后,在IIS管理器中测试该站点,正常继续下文。如果没法显示或者出错,检查以上操作,注意一下权限设置。 原理和上面Serv-U的设置一样,只要理解了权限设置就行。的确,权限很复杂,现在我都很迷茫,还希望高人指点一二。
 
Thanks ^o^ MCAfee 8.0i     在杀毒软件设置中,发现病毒时自动清除;清除失败时自动删除(别设置在提示并让用户选择)。多数站点入侵都是ASP木马。让Antivirus 发现一个清一个! IIS结合Serv-U 1, 刚才Serv-U和IIS都已经完,现在要让Serv-U配合IIS了。打开站点目录,打开“安全”,添加Serv-U的运行帐户“Asion”,权限分配为除“完全控制”/“运行文件”/“更改权限”/“取得所有权”之外的所有权限。 2, 因为站点文件在d:\ftp下,所以还需要设置Serv-U运行帐户(Asion)对d:\盘的特殊访问,只付予“运行文件”/“读取属性”/“读取扩展属性”/“读取权限”,切记:应用到“只有该文件夹”。   如果站点文件在X:\abc\efg\目录,那同理还需要对X: 和 X:\abc\ 操作这一步    这里要注意的, 如果站点路径没有设置好权限(上面第2步),刚开始登陆FTP是正常,但一段时间后,就会提示 “530 Not logged in, homedirectory does not exist” 或者帐户密码正确也不无登
 
加固IIS和SERV-U
1, 打开本地连接, “Internet 协议(TCP/IP)” “属性” “高级” “选项” 打开Tcp/ip筛选 “启用 TCP/IP筛选”,只允许TCP20、21、80、3389和SERV-U的被动端口3000~3015,允许所有UDP和IP协议。 2, 打开IIS信息服务管理器,“应用程序池”“Default AppPool属性”中,取消“空闲超时”和“启用快速保护失败”
3, 每个盘符根目录(如c:\ 、d:\、e:\....)都不要给予Everyone权限,并把盘符下所有目录取消“允许父项的继承权限传播到该对象和所有子对象”
4, 删除Documents and Settings、Documents and Settings\All Users和D:\Documents and Settings\Default User的Evryone权限 上文提到的asion和IIS_FTP用户,可以随便改,只是设置时没写错就行!建议大家更改,不要用相对容易记忆的用户名。另外,有些文章说更改登陆Serv-U的提示符,我觉得完全没有必要,用FTP软件一连接,返回信息220,那肯定是Serv-U了!而IIS和Serv-U都不需要System用户运行,所以就把相关目录的system权限删除,无非是怕溢出得到system权限(这个比Admin还高级)。 补充一点:IIS中文件分类设置权限,为不同的类型文件建立不同目录,然后给予适应的权限。如静态文件:允许 R,拒绝W ;ASP文件: 允许E,拒绝W和R ;EXE目录:允许E,拒绝W和R 做为网管,安全工作永没完善,或多或少都有漏洞,唯有最大能力减少被入侵的机率,事后迅速补救。每次远程登陆服务器,首先做的都必打三个命令。 tasklist   :显示系统所有进程,虽然不少木马把名字改为svchost.exe 等等系统服务来隐藏,但明显的进程还是要查杀。 Taskkill /pid   :能终止大部份进程,确定是可疑进程就杀。还不能杀的只好进安全模式了….. Netstat -an : 以数字形式显示所有本机的连接端口。这样可以看清楚那些端口被使用。