自己给公司写的服务器安全报告。请高人指点下。
关于对本公司托管服务器的安全和维护方案做了以下几点来进行对服务器安全设置。
硬件系统的安全防护
1.物理安全
所谓的物理安全是指防止以外时间或认为破坏具体的物理设备。如服务器、交换机、路由器、机柜、线路等。机房和机柜的钥匙一定要管理好,不要让无关人员随意进入机房,尤其是网络中心机房,防止人为的蓄意破坏。
2.设置安全
设置安全是指在设备上进行必要的设置(如服务器、交换机的密码等),防止黑客取得硬件设备的远程控制权。比如许多网管往往没有在服务器或可网管的交换机上设置必要的密码,懂网络设备管理技术的人可以通过网络来取得服务器或交换机的控制权,这是非常危险的。因为路由器属于接入设备,必然要暴露在互联网黑客攻击的视野之中,因此需要采取更为严格的安全管理措施,比如口令加密、加载严格的访问列表等。
由于本公司服务器是托管在电信机房,硬件的安全措施不需要考虑的太多。
软件系统的安全防护
1、安装补丁程序
任何操作系统都有漏洞,作为网络系统管理员就有责任及时地将“补丁”(Patch)打上。大部分服务器使用的是微软的Windows NT/2000/2003操作系统,因为使用的人特别多,所以发现的Bug也特别多,同时,蓄意攻击它们的人也特别多。微软公司为了弥补操作系统的安全漏洞,在其网站上提供了许多补丁,可以到网上下载并安装相关升级包。对于Windows 2000,至少要升级至Service Pack 4,对于Windows NT 4.0,至少要升级至Service Pack 6,而windows2003,至少要升级到service Pack 2。
如何及时打上补丁:
方法一:直接通过系统的windows update到官方进行打补丁。
方法二:可以通过杀毒软件来进行对系统补丁的扫描和下载。(如:金山毒霸,瑞星,江民等等这些。)
2.系统盘权限设置
C:分区部分:
c:\
administrators 全部(该文件夹,子文件夹及文件)
CREATOR OWNER 全部(只有子文件来及文件)
system 全部(该文件夹,子文件夹及文件)
IIS_WPG 创建文件/写入数据(只有该文件夹)
IIS_WPG(该文件夹,子文件夹及文件)
遍历文件夹/运行文件
列出文件夹/读取数据
读取属性
创建文件夹/附加数据
读取权限
c:\Documents and Settings
administrators 全部(该文件夹,子文件夹及文件)
Power Users (该文件夹,子文件夹及文件)
读取和运行
列出文件夹目录
读取
SYSTEM全部(该文件夹,子文件夹及文件)
C:\Program Files
administrators 全部(该文件夹,子文件夹及文件)
CREATOR OWNER全部(只有子文件来及文件)
IIS_WPG (该文件夹,子文件夹及文件)
读取和运行
列出文件夹目录
读取
Power Users(该文件夹,子文件夹及文件)
修改权限
SYSTEM全部(该文件夹,子文件夹及文件)
TERMINAL SERVER USER (该文件夹,子文件夹及文件)
修改权限
网站及虚拟机权限设置(比如网站在E盘)
说明:我们假设网站全部在E盘wwwsite目录下,并且为每一个虚拟机创建
了一个guest用户,用户名为vhost1...vhostn并且创建了一个webuser组
,把所有的vhost用户全部加入这个webuser组里面方便管理
E:\
Administrators全部(该文件夹,子文件夹及文件)
E:\wwwsite
Administrators全部(该文件夹,子文件夹及文件)
system全部(该文件夹,子文件夹及文件)
service全部(该文件夹,子文件夹及文件)
E:\wwwsite\vhost1
Administrators全部(该文件夹,子文件夹及文件)
system全部(该文件夹,子文件夹及文件)
vhost1全部(该文件夹,子文件夹及文件)
其它地方的权限设置
请找到c盘的这些文件,把安全性设置只有特定的管理员有完全操作权限
下列这些文件只允许administrators访问
net.exe
net1.exet
cmd.exe
tftp.exe
netstat.exe
regedit.exe
at.exe
attrib.exe
cacls.exe
format.com
在windows 2003系统中的权限设置,系统默认的设置已经比较安全了。在以上的这些权限设置中,可以把administrators改成administrator或者指定一个管理员用户来进行管理,把net.exe net1.exe等等这些命令文件进行改名做为伪装。这样的设置会使系统更加的安全。不过会有点太变态了。
3. 禁用不必要的服务,提高安全性和系统效率
服务器操作系统在安装的时候,会启动一些不需要的服务,这样会占用系统的资源,而且也增加了系统的安全隐患。象这些不用的服务应关闭。
例:
Task scheduler 允许程序在指定时间运行
Routing and Remote Access 在局域网以及广域网环境中为企业提供路由服务
Removable storage 管理可移动媒体、驱动程序和库
Remote Registry Service 允许远程注册表操作
Print Spooler 将文件加载到内存中以便以后打印。要用打印机的朋友不能禁用这项
IPSEC Policy Agent 管理IP安全策略以及启动ISAKMP/OakleyIKE)和IP安全驱动程序
Distributed Link Tracking Client 当文件在网络域的NTFS卷中移动时发送通知
Com+ Event System 提供事件的自动发布到订阅COM组件
Error Reporting Service 收集、存储和向 Microsoft 报告异常应用程序
Messenger 传输客户端和服务器之间的 NET SEND 和 警报器服务消息
Telnet 允许远程用户登录到此计算机并运行程序
3.修改注册表,让系统更强壮
1、隐藏重要文件/目录可以修改注册表实现完全隐藏:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\ Current-Version\EXPlorer\Advanced\Folder\Hi-dden\SHOWALL”,鼠标右击 “CheckedValue”,选择修改,把数值由1改为0
2、启动系统自带的Internet连接_blank">防火墙,在设置服务选项中勾选Web服务器。
3、防止SYN洪水攻击
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters
新建DWord值,名为SynAttackProtect,值为2
EnablePMTUDiscovery REG_DWORD 0
NoNameReleaseOnDemand REG_DWORD 1
EnableDeadGWDetect REG_DWORD 0
KeepAliveTime REG_DWORD 300,000
PerformRouterDiscovery REG_DWORD 0
EnableICMPRedirects REG_DWORD 0
4. 禁止响应ICMP路由通告报文
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\Interfaces\interface
新建DWORD值,名为PerformRouterDiscovery 值为0
5. 防止ICMP重定向报文的攻击
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters
将EnableICMPRedirects 值设为0
6. 不支持IGMP协议
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters
新建DWORD值,名为IGMPLevel 值为0
7.修改终端服务端口
运行regedit,找到[HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Control \ Terminal Server \ Wds \ rdpwd \ Tds \ tcp],看到右边的PortNumber了吗?在十进制状态下改成你想要的端口号吧,比如7126之类的,只要不与其它冲突即可。
2、第二处HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Control \ Terminal Server \ WinStations \ RDP-Tcp,方法同上,记得改的端口号和上面改的一样就行了。
8、禁止IPC空连接:
cracker可以利用net use命令建立空连接,进而入侵,还有net view,nBTstat这些都是基于空连接的,禁止空连接就好了。打开注册表,找到Local_Machine\System\CurrentControlSet\Control\LSA-RestrictAnonymous 把这个值改成”1”即可。
9、更改TTL值
cracker可以根据ping回的TTL值来大致判断你的操作系统,如:
TTL=107(WINNT);
TTL=108(win2000);
TTL=127或128(win9x);
TTL=240或241(Linux);
TTL=252(solaris);
TTL=240(Irix);
实际上你可以自己更改的:HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters:DefaultTTL REG_DWORD 0-0xff(0-255 十进制,默认值128)改成一个莫名其妙的数字如258,起码让那些小菜鸟晕上半天,就此放弃入侵你也不一定哦
10. 删除默认共享
有人问过我一开机就共享所有盘,改回来以后,重启又变成了共享是怎么回事,这是2K为管理而设置的默认共享,必须通过修改注册表的方式取消它:HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters:AutoShareServer类型是REG_DWORD把值改为0即可
11. 禁止建立空连接
默认情况下,任何用户通过通过空连接连上服务器,进而枚举出帐号,猜测密码。我们可以通过修改注册表来禁止建立空连接:
Local_Machine\System\CurrentControlSet\Control\LSA-RestrictAnonymous 的值改成”1”即可。
12. 其它安全手段
1.禁用TCP/IP上的NetBIOS
网上邻居-属性-本地连接-属性-Internet协议(TCP/IP)属性-高级-WINS面板-NetBIOS设置-禁用TCP/IP上的NetBIOS。这样cracker就无法用nbtstat命令来读取你的NetBIOS信息和网卡MAC地址了。
4.账号和密码保护
账号和密码保护可以说是系统的第一道防线,目前网上的大部分对系统的攻击都是从截获或猜测密码开始的。一旦黑客进入了系统,那么前面的防卫措施几乎就没有作用,所以对服务器系统管理员的账号和密码进行管理是保证系统安全非常重要的措施。
Administrator管理员帐号设置复杂的密码。比如字母加数字加字符。(黑客破解的难度系数加大)
Guest帐号禁用,同时也设置复杂的密码。(当黑客通过guest提权,或者权限复制时,也必须要破解密码。)
5.监测系统日志
通过运行系统日志程序,系统会记录下所有用户使用系统的情形,包括最近登录时间、使用的账号、进行的活动等。日志程序会定期生成报表,通过对报表进行分析,你可以知道是否有异常现象。
推荐的审核是:
本地安全策略->审核策略中打开相应的审核,推荐的审核是:
账户管理 成功 失败
登录事件 成功 失败
对象访问 失败
策略更改 成功 失败
特权使用 失败
系统事件 成功 失败
目录服务访问 失败
账户登录事件 成功 失败
审核项目少的缺点是万一你想看发现没有记录那就一点都没辙;审核项目太多不仅会占用系统资源而且会导致你根本没空去看,这样就失去了审核的意义。 与之相关的是:
在账户策略->密码策略中设定:
密码复杂性要求 启用
密码长度最小值 6位
强制密码历史 5次
最长存留期 30天
在账户策略->账户锁定策略中设定:
账户锁定 3次错误登录
锁定时间 20分钟
复位锁定计数 20分钟
同样,Terminal Service的安全日志默认也是不开的,我们可以在Terminal Service Configration(远程服务配置)->权限->高级中配置安全审核,一般来说只要记录登录、注销事件就可以了
6、定期对服务器进行备份
为防止不能预料的系统故障或用户不小心的非法操作,必须对系统进行安全备份。除了对全系统进行备份外,还应对修改过的数据进行周期性的备份。同时,应该将修改过的重要系统文件存放在不同的服务器上,以便出现系统崩溃时(通常是硬盘出错),可及时地将系统恢复到正常状态。
说明下:
转帖时,请注名先!!!!!!
这是我自己辛苦做出来的,希望大家珍惜下。
特别提下,在这里个安全报告中,还有很多地方都没有考虑到,而且考虑的不是很全,至少,我在IIS上没有考虑好,还sql上也没有考虑到安全
请高手补上和指点下。
[ 本帖最后由 淡淡的味道 于 2007-7-5 14:11 编辑 ]