系统设置网上有一句话是“最小的权限+最少的服务=最大的安全”。此句基本上是个人都看过,但我好像
没有看到过一篇讲的比较详细稍具全面的文章,下面就以我个人经验作一次教学尝试! 最小的权限如何实现?
NTFS系统权限设置 在使用之前将每个硬盘根加上 Administrators 用户为全部权限(可选加入SYSTEM用户)
删除其它用户,进入系统盘:权限如下
C:\\WINDOWS Administrators SYSTEM用户全部权限 Users 用户默认权限不作修改 其它目录删除Everyone用户,切记C:\\Documents and Settings下All Users\\Default User目录及其子目录
如C:\\Documents and Settings\\All Users\\Application Data 目录默认配置保留了Everyone用户权限
C:\\WINDOWS 目录下面的权限也得注意,如 C:\\WINDOWS\\PCHealth、C:\\windows\\Installer也是保留了Everyone权限.
删除C:\\WINDOWS\\Web\\printers目录,此目录的存在会造成IIS里加入一个.printers的扩展名,可溢出攻击
默认IIS错误页面已基本上没多少人使用了。建议删除C:\\WINDOWS\\Help\\iisHelp目录 删除C:\\WINDOWS\\system32\\inetsrv\\iisadmpwd,此目录为管理IIS密码之用,如一些因密码不同步造成500
错误的时候使用 OWA 或 Iisadmpwd 修改同步密码,但在这里可以删掉,下面讲到的设置将会杜绝因系统
设置造成的密码不同步问题。 打开C:\\Windows 搜索
net.exe;cmd.exe;tftp.exe;netstat.exe;regedit.exe;at.exe;attrib.exe;cacls.exe;format.com; regsvr32.exe;xcopy.exe;wscript.exe;cscript.exe;ftp.exe;telnet.exe;arp.exe;edlin.exe;
ping.exe;route.exe;finger.exe;posix.exe;rsh.exe;atsvc.exe;qbasic.exe;runonce.exe;syskey.exe 修改权限,删除所有的用户只保存Administrators 和SYSTEM为所有权限 关闭445端口
HKEY_LOCAL_MACHINE\\System\\CurrentControlSet\\Services\\netBT\\Parameters 新建 “DWORD值”值名为 “SMBDeviceEnabled” 数据为默认值“0” 禁止建立空连接
HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\Control\\Lsa
新建 “DWORD值”值名为 “RestrictAnonymous” 数据值为“1” [2003默认为1] 禁止系统自动启动服务器共享
HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\Services\\LanmanServer\\Parameters 新建 “DWORD值”值名为 “AutoShareServer” 数据值为“0” 禁止系统自动启动管理共享
HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\Services\\LanmanServer\\Parameters 新建 “DWORD值”值名为 “AutoShareWks” 数据值为“0” 通过修改注册表防止小规模DDOS攻击
HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\Services\\Tcpip\\Parameters 新建 “DWORD值”值名为 “SynAttackProtect” 数据值为“1” 禁止dump file的产生
dump文件在系统崩溃和蓝屏的时候是一份很有用的查找问题的资料。然而,它也能够给黑客提供一些敏感
信息比如一些应用程序的密码等。控制面板>系统属性>高级>启动和故障恢复把 写入调试信息 改成无。 关闭华医生Dr.Watson
在开始-运行中输入“drwtsn32”,或者开始-程序-附件-系统工具-系统信息-工具-Dr Watson,调出系统
里的华医生Dr.Watson ,只保留“转储全部线程上下文”选项,否则一旦程序出错,硬盘会读很久,并占
用大量空间。如果以前有此情况,请查找user.dmp文件,删除后可节省几十MB空间。 本地安全策略配置
开始 > 程序 > 管理工具 > 本地安全策略
账户策略 > 密码策略 > 密码最短使用期限 改成0天[即密码不过期,上面我讲到不会造成IIS密码不同步]
账户策略 > 账户锁定策略 > 账户锁定阈值 5 次 账户锁定时间 10分钟 [个人推荐配置] 本地策略 > 审核策略 > 账户管理 成功 失败 登录事件 成功 失败 对象访问 失败 策略更改 成功 失败 特权使用 失败 系统事件 成功 失败 目录服务访问 失败 账户登录事件 成功 失败
本地策略 > 安全选项 > 清除虚拟内存页面文件 更改为\已启用\ > 不显示上次的用户名 更改为\已启用\ > 不需要按CTRL+ALT+DEL 更改为\已启用\ > 不允许 SAM 账户的匿名枚举 更改为\已启用\
> 不允许 SAM 账户和共享的匿名枚举 更改为\已启用\ > 重命名来宾账户 更改成一个复杂的账户名
> 重命名系统管理员账号 更改一个自己用的账号 [同时可建立一个无用户组的Administrat账户] 组策略编辑器
运行 gpedit.msc 计算机配置 > 管理模板 > 系统 显示“关闭事件跟踪程序” 更改为已禁用 删除不安全组件
WScript.Shell 、Shell.application 这两个组件一般一些ASP木马或一些恶意程序都会使用到。 方案一:
regsvr32 /u wshom.ocx 卸载WScript.Shell 组件 regsvr32 /u shell32.dll 卸载Shell.application 组件 如果按照上面讲到的设置,可不必删除这两个文件 方案二: 删除注册表
HKEY_CLASSES_ROOT\\CLSID\\{72C24DD5-D70A-438B-8A42-98424B88AFB8} 对应 WScript.Shell
删除注册表 HKEY_CLASSES_ROOT\\CLSID\\{13709620-C279-11CE-A49E-444553540000} 对应 Shell.application 用户管理
建立另一个备用管理员账号,防止特殊情况发生。
安装有终端服务与SQL服务的服务器停用TsInternetUser, SQLDebugger这两个账号 用户组说明
在将来要使用到的IIS中,IIS用户一般使用Guests组,也可以再重新建立一个独立的专供IIS使用的组,但
要将这个组赋予C:\\Windows 目录为读取权限[单一读取] 个人不建议使用单独目录,太小家子气。
最少的服务如果实现
黑色为自动 绿色为手动 红色为禁用 Alerter
Application Experience Lookup Service Application Layer Gateway Service Application Management
Automatic Updates [Windows自动更新,可选项] Background Intelligent Transfer Service ClipBook
COM+ Event System COM+ System Application Computer Browser Cryptographic Services DCOM Server Process Launcher DHCP Client
Distributed File System Distributed Link Tracking Client Distributed Link Tracking Server