使用独立运行者方式对Serv-U进行安全加固
Serv-U默认是以System组的身份运行的,对本机有完全操作的权限。所以如果攻击者利用Serv-U程序的漏洞而获得了可执行shell,那么他将可以操作系统里任何一个目录。& B7 P' _; O$ N& n, S" S
Liunx系统和Unix系统比Windows安全的一个重要原因在于:Linux和Unix的系统服务不使用root权限,而是使用权限比较低的另外一个单独用户,比如web服务使用了nobody这个用户。
/ O9 o; g3 l9 o$ i6 ~6 Q为了提升Serv-U的安全级,我们为Serv-U创建一个独立的用户,并且让Serv-U用这个用户的身份来运行。这样即使Serv-U由于出现了漏洞而被进攻,也只能影响到有限的数据,不能影响到系统关键文件。; j+ B, R" ?$ e. C7 g f; z
首先建立一个用户,名称可以任意定义,比如叫做ftpuser。进入开始 -> 控制面板 -> 管理工具 -> 计算机管理,找到用户一项,点击右键选择添加。打开一个记事本,随便敲击一段密码,越复杂越好,16位以上为佳。把这段密码复制下来,贴到创建新用户的对话框里边去。
. {7 O7 E' a( x下边修改磁盘权限,首先修改Serv-U的安装目录。点击右键,选择属性。切换到安全标签。可以看到当前目录的权限是只有管理员和系统用户能够操作。点击添加,在用户名那里输入ftpuser,即刚才新建的那个用户。然后点击确定。将ftpuser的权限设置为“读取及运行”、“列出文件夹目录”、“读取”。进入目录,找到ServUAdmin.ini文件,点击右键,选择属性。点击安全的标签,可以看到当前的文件权限,和刚才设置的目录权限是一致的。我们给他添加“修改”和“写入”的许可权限。在“D:\Serv-U”目录下找到ServUDaemon.ini这个文件,也给他添加“修改”和“写入”的许可权限。
/ S- l! [1 ^3 d接下来给站点目录添加Serv-U的读写权限。给你开设的所有站点分别给予ftpuser权限,并将其权限设置为除了完全操作之外的所有权限。
* S5 v5 @( {1 W7 H6 D+ z现在对C盘设置权限。为了不让Serv-U的运行用户ftpuser读写cmd.exe等文件,我们需要给其添加禁止写入的权限。找到C:\WINNT\system32\cmd.exe,点击右键选择属性,进入安全,然后添加禁止任何操作的权限。通理,给C:\WINNT\explorer.exe也设置禁止操作的权限。
1 l) o( }) D/ S |0 @另外,还需要在“本地安全设置”,设置禁止ftpuser用户本地登陆。进入控制面板 -> 管理工具 -> 本地安全策略 -> 本地策略 -> 用户权利指派 -> 拒绝本地登陆。/ }% u1 |% I- `* z$ Z5 M% g1 L. }
设置都完成后,我们把Serv-U的启动身份切换到ftpuser。进入控制面板 -> 管理工具 -> 计算机管理,找到Serv-U的服务。双击它,打开“登陆”对话框。当前默认为“本地系统帐户”。修改为ftpuser用户,并且把刚才设置的复杂密码填写进去。 点击确定,并且重新启动服务。- O# S, ^: O2 m( |, u2 b
经过如此设置,ftpuser运行者将只能读写规定的站点目录,对其他目录没有写入权限。而其本身是非system身份的普通用户,降低了他对系统的潜在危险。
Liunx系统和Unix系统比Windows安全的一个重要原因在于:Linux和Unix的系统服务不使用root权限,而是使用权限比较低的另外一个单独用户,比如web服务使用了nobody这个用户。
/ O9 o; g3 l9 o$ i6 ~6 Q为了提升Serv-U的安全级,我们为Serv-U创建一个独立的用户,并且让Serv-U用这个用户的身份来运行。这样即使Serv-U由于出现了漏洞而被进攻,也只能影响到有限的数据,不能影响到系统关键文件。; j+ B, R" ?$ e. C7 g f; z
首先建立一个用户,名称可以任意定义,比如叫做ftpuser。进入开始 -> 控制面板 -> 管理工具 -> 计算机管理,找到用户一项,点击右键选择添加。打开一个记事本,随便敲击一段密码,越复杂越好,16位以上为佳。把这段密码复制下来,贴到创建新用户的对话框里边去。
. {7 O7 E' a( x下边修改磁盘权限,首先修改Serv-U的安装目录。点击右键,选择属性。切换到安全标签。可以看到当前目录的权限是只有管理员和系统用户能够操作。点击添加,在用户名那里输入ftpuser,即刚才新建的那个用户。然后点击确定。将ftpuser的权限设置为“读取及运行”、“列出文件夹目录”、“读取”。进入目录,找到ServUAdmin.ini文件,点击右键,选择属性。点击安全的标签,可以看到当前的文件权限,和刚才设置的目录权限是一致的。我们给他添加“修改”和“写入”的许可权限。在“D:\Serv-U”目录下找到ServUDaemon.ini这个文件,也给他添加“修改”和“写入”的许可权限。
/ S- l! [1 ^3 d接下来给站点目录添加Serv-U的读写权限。给你开设的所有站点分别给予ftpuser权限,并将其权限设置为除了完全操作之外的所有权限。
* S5 v5 @( {1 W7 H6 D+ z现在对C盘设置权限。为了不让Serv-U的运行用户ftpuser读写cmd.exe等文件,我们需要给其添加禁止写入的权限。找到C:\WINNT\system32\cmd.exe,点击右键选择属性,进入安全,然后添加禁止任何操作的权限。通理,给C:\WINNT\explorer.exe也设置禁止操作的权限。
1 l) o( }) D/ S |0 @另外,还需要在“本地安全设置”,设置禁止ftpuser用户本地登陆。进入控制面板 -> 管理工具 -> 本地安全策略 -> 本地策略 -> 用户权利指派 -> 拒绝本地登陆。/ }% u1 |% I- `* z$ Z5 M% g1 L. }
设置都完成后,我们把Serv-U的启动身份切换到ftpuser。进入控制面板 -> 管理工具 -> 计算机管理,找到Serv-U的服务。双击它,打开“登陆”对话框。当前默认为“本地系统帐户”。修改为ftpuser用户,并且把刚才设置的复杂密码填写进去。 点击确定,并且重新启动服务。- O# S, ^: O2 m( |, u2 b
经过如此设置,ftpuser运行者将只能读写规定的站点目录,对其他目录没有写入权限。而其本身是非system身份的普通用户,降低了他对系统的潜在危险。
作者: zgsj8020 发布时间: 2011-12-28
感谢您的分享,如果有图片配合效果会更好!
作者: IT之梦 发布时间: 2011-12-28