服务器详细的安全配置
|
这是我在站长交流与互助群(17770150)里的讲座 希望大家多多捧场 感谢大家给我这个机会 能让我在这里讲课 首先给大家介绍国内的著名的安全站点 网络安全文章资料相当齐全 大家有空去 看看 http://forum.eviloctal.com 邪恶八进制 网上流传的很多关于windows server 2003系统的安全配置,但是仔细分析下发现很多都不全面,并且很多仍然配置的不够合理,并且有很大的安全隐患,今天我决定仔细做下极端BT的2003服务器的安全配置,让更多的网管朋友高枕无忧。 我们配置的服务器需要提供支持的组件如下:(ASP、ASPX、CGI、PHP、FSO、JMAIL、MySql、SMTP、POP3、FTP、3389终端服务、远程桌面Web连接管理服务等),这里前提是已经安装好了系统,IIS,包括FTP服务器,邮件服务器等,这些具体配置方法的就不再重复了,现在我们着重主要阐述下关于安全方面的配置。 关于常规的如安全的安装系统,设置和管理帐户,关闭多余的服务,审核策略,修改终端管理端口, 以及配置MS-SQL,删除危险的存储过程,用最低权限的public帐户连接等等,都不说了,大家在网上搜索到处是相关文章,315安全网上也多的很: 常规安全配置2003的:http://www.315safe.com/showarticle.asp?NewsID=2770 防范ASP木马在服务器上运行的:http://www.315safe.com/showarticle.asp?NewsID=2865 终端服务安全配置的:http://www.315safe.com/showarticle.asp?NewsID=2831 安装防火墙的:http://www.315safe.com/showarticle.asp?NewsID=2813 MS-SQL的安全配置:http://www.315safe.com/showarticle.asp?NewsID=2933 先说关于系统的NTFS磁盘权限设置,大家可能看得都多了,但是2003服务器有些细节地方需要注意的,我看很多文章都没写完全。 C盘只给administrators 和system权限,其他的权限不给,其他的盘也可以这样设置,这里给的system权限也不一定需要给,只是由于某些第三方应用程序是以服务形式启动的,需要加上这个用户,否则造成启动不了。
另外在c:/Documents and Settings/这里相当重要,后面的目录里的权限根本不会继承从前的设置,如果仅仅只是设置了C盘给administrators权限,而在All UsersApplication Data目录下会 出现everyone用户有完全控制权限,这样入侵这可以跳转到这个目录,写入脚本或只文件,再结合其他漏洞来提升权限;譬如利用serv-u的本地溢出提升权限,或系统遗漏有补丁,数据库的弱点,甚至社会工程学等等N多方法,从前不是有牛人发飑说:“只要给我一个webshell,我就能拿到system",这也的确是有可能的。在用做webftp服务器的系统里,建议是将这些目录都设置的锁死。其他每个盘的目录都按照这样设置,没个盘都只给adinistrators权限。
把不必要的服务都禁止掉,尽管这些不一定能被攻击者利用得上,但是按照安全规则和标准上来说,多余的东西就没必要开启,减少一份隐患。 在“网络连接”里,把不需要的协议和服务都删掉,这里只安装了基本的Internet协议(TCP/IP),由于要控制带宽流量服务,额外安装了Qos数据包计划程序。在高级tcp/ip设置里--“NetBIOS”设置“禁用tcp/IP上的NetBIOS(S)”。在高级选项里,使用“Internet连接防火墙”,这是windows 2003 自带的防火墙,在2000系统里没有的功能,虽然没什么功能,但可以屏蔽端口,这样已经基本达到了一个IPSec的功能。
这里我们按照所需要的服务开放响应的端口。在2003系统里,不推荐用TCP/IP筛选里的端口过滤功能,譬如在使用FTP服务器的时候,如果仅仅只开放21端口,由于FTP协议的特殊性,在进行FTP传输的时候,由于FTP 特有的Port模式和Passive模式,在进行数据传输的时候,需要动态的打开高端口,所以在使用TCP/IP过滤的情况下,经常会出现连接上后无法列出目录和数据传输的问题。所以在2003系统上增加的windows连接防火墙能很好的解决这个问题,所以都不推荐使用网卡的TCP/IP过滤功能。
SERV-U FTP 服务器的设置: 一般来说,不推荐使用srev-u做ftp服务器,主要是漏洞出现的太频繁了,但是也正是因为其操作简单,功能强大,过于流行,关注的人也多,才被发掘出bug来,换做其他的ftp服务器软件也一样不见得安全到哪儿去。 当然,这里也有款功能跟serv-u同样强大,比较安全的ftp软件:Ability FTP Server 下载地址:http://www.315safe.com/showarticle.asp?NewsID=4096 设置也很简单,不过我们这里还是要迎合大众胃口,说说关于serv-u的安全设置。 首先,6.0比从前5.x版本的多了个修改本地LocalAdministrtaor的密码功能,其实在5.x版本里可以用ultraedit-32等编辑器修改serv-u程序体进行修改密码端口,6.0修补了这个隐患,单独拿出来方便了大家。不过修改了管理密码的serv-u是一样有安全隐患的,两个月前臭要饭的就写了新的采用本地sniff方法获取serv-u的管理密码的exploit,正在网上火卖着,不过这种sniff的方法,同样是在获得webshell的条件后还得有个能在目录里有“执行”的权限,并且需要管理员再次登陆运行serv-u administrator的时候才能成功。所以我们的管理员要尽量避上以上几点因素,也是可以防护的。
IIS的安全: 删掉c:/inetpub目录,删除iis不必要的映射 首先是每一个web站点使用单独的IIS用户,譬如这里,新建立了一个名为www.315safe.com ,权限为guest的。
在IIS里的站点属性里“目录安全性”---“身份验证和访问控制“里设置匿名访问使用下列Windows 用户帐户”的用户名密码都使用www.315safe.com 这个用户的信息.在这个站点相对应的web目录文件,默认的只给IIS用户的读取和写入权限(后面有更BT的设置要介绍)。
ASP,ASPX默认都提供映射支持了的,对于PHP,需要新添加响应的映射脚本,然后在web服务扩展将ASP,ASPX都设置为允许,对于php以及CGI的支持,需要新建web服务扩展,在扩展名(X):下输入 php ,再在要求的文件(E):里添加地址 C:phpsapiphp4isapi.dll ,并勾选设置状态为允许(S)。然后点击确定,这样IIS就支持PHP了。支持CGI同样也是如此。
另外在应用程序配置里,设置调试为向客户端发送自定义的文本信息,这样能对于有ASP注入漏洞的站点,可以不反馈程序报错的信息,能够避免一定程度的攻击。
IIS6.0由于运行机制的不同,出现了应用程序池的概念。一般建议10个左右的站点共用一个应用程序池,应用程序池对于一般站点可以采用默认设置,
在应用程序设置里:执行权限为默认的纯脚本,应用程序池使用独立的名为:315safe的程序池。
名为315safe的应用程序池可以适当设置下“内存回收”:这里的最大虚拟内存为:1000M,最大使用的物理内存为256M,这样的设置几乎是没限制这个站点的性能的。
在应用程序池里有个“标识”选项,可以选择应用程序池的安全性帐户,默认才用网络服务这个帐户,大家就不要动它,能尽量以最低权限去运行大,隐患也就更小些。在一个站点的某些目录里,譬如这个“uploadfile"目录,不需要在里面运行asp程序或其他脚本的,就去掉这个目录的执行脚本程序权限,在“应用程序设置”的“执行权限”这里,默认的是“纯脚本”,我们改成“无”,这样就只能使用静态页面了。依次类推,大凡是不需要asp运行的目录,譬如数据库目录,图片目录等等里都可以这样做,这样主要是能避免在站点应用程序脚本出现bug的时候,譬如出现从前流行的upfile漏洞,而能够在一定程度上对漏洞有扼制的作用。
在默认情况下,我们一般给每个站点的web目录的权限为IIS用户的读取和写入,如图:
但是我们现在为了将SQL注入,上传漏洞全部都赶走,我们可以采取手动的方式进行细节性的策略设置。 1. 给web根目录的IIS用户只给读权限。如图:
改名或卸载不安全组件 最危险的组件是WSH和Shell,因为它可以运行你硬盘里的EXE等程序,比如它可以运行提升程序来提升SERV-U权限甚至用SERVU来运行更高权限的系统程序。 谨慎决定是否卸载一个组件 比如,FSO和XML是非常常用的组件之一,很多程序会用到他们。WSH组件会被一部分主机管理程序用到,也有的打包程序也会用到。 卸载最不安全的组件 最简单的办法是直接卸载后删除相应的程序文件。将下面的代码保存为一个.BAT文件, regsvr32/u C:WindowsSystem32wshom.ocx 然后运行一下,WScript.Shell, Shell.application, WScript.Network就会被卸载了。可能会提示无法删除文件,不用管它,重启一下服务器,你会发现这三个都提示“×安全”了。 改名不安全组件 打开注册表编辑器【开始→运行→regedit回车】,然后【编辑→查找→填写Shell.application→查找下一个】,用这个方法能找到两个注册表项:“{13709620-C279-11CE-A49E-444553540000}”和“Shell.application”。为了确保万无一失,把这两个注册表项导出来,保存为 .reg 文件。 比如我们想做这样的更改 13709620-C279-11CE-A49E-444553540000 改名为 13709620-C279-11CE-A49E-444553540001 那么,就把刚才导出的.reg文件里的内容按上面的对应关系替换掉,然后把修改好的.reg文件导入到注册表中(双击即可),导入了改名后的注册表项之后,别忘记了删除原有的那两个项目。这里需要注意一点,Clsid中只能是十个数字和ABCDEF六个字母。 下面是我修改后的代码(两个文件我合到一起了): Windows Registry Editor Version 5.00 [HKEY_CLASSES_ROOTCLSID{13709620-C279-11CE-A49E-444553540001}] [HKEY_CLASSES_ROOTCLSID{13709620-C279-11CE-A49E-444553540001}InProcServer32] [HKEY_CLASSES_ROOTCLSID{13709620-C279-11CE-A49E-444553540001}ProgID] [HKEY_CLASSES_ROOTCLSID{13709620-C279-11CE-A49E-444553540001}TypeLib] [HKEY_CLASSES_ROOTCLSID{13709620-C279-11CE-A49E-444553540001}Version] [HKEY_CLASSES_ROOTCLSID{13709620-C279-11CE-A49E-444553540001}VersionIndependentProgID] [HKEY_CLASSES_ROOTShell.Application_315safe] [HKEY_CLASSES_ROOTShell.Application_315safeCLSID] [HKEY_CLASSES_ROOTShell.Application_315safeCurVer] 你可以把这个保存为一个.reg文件运行试一下,但是可别就此了事,因为万一黑客也看了我的这篇文章,他会试验我改出来的这个名字的。 防止列出用户组和系统进程的方法是:【开始→程序→管理工具→服务】,找到Workstation,停止它,禁用它。 杀毒软件用一个Symantec AntiVirus 中小型企业版,这是一个不需太多干预并且易于管理的解决方案,可以提供超强病毒防护。有了赛门铁克保护您的服务器,您就可以依赖于最新的防护来抵御新近爆发的病毒、蠕虫和特洛伊木马,并从赛门铁克安全响应中心获得世界级的支持。集中控制和策略管理工具使得管理成为一件轻松的工作,先进的自动化功能可以在不中断您的工作的情况下,对病毒爆发提供及时的更新和迅捷的响应。Symantec AntiVirus 中小型企业版能够与您的企业一起扩展。它是一种可完全伸缩的解决方案,可以简化您在将台式机和服务器添加到网络中时的整合工作,并能将安全性扩展到多平台配置。 这样你的服务器就相当安全稳定了。 一 主机的安全配置 1.装杀毒软件、防火墙、这些都是必备的也是基本的,还有就是勤打官方的补丁。 2.推荐几款安全工具,360安全卫士能扫描你系统的漏洞,然后下载补丁修补,间谍软件,恶意插件,靠他查杀。 3.做安全配置首先将:net.exe,cmd.exe,netstat.exe,regedit.exe,at.exe,attrib.exe, cacls.exe,这些文件都设置只允许administrators访问。 还有将FTP.exe ,TFTP.exe ,这样命令黑客可以执行,下载黑客电脑的木马,安装到服务器,所以要改名。 把135、445、139、这些端口都要关闭。 4.在“网络连接”里,把不需要的协议和服务都删掉,只安装了基本的Internet协议 (TCP/IP)在高级tcp/ip设置里-- “NetBIOS”设置“禁用tcp/IP上的NetBIOS。 5.把不必要的服务都禁止掉,尽管这些不一定能被攻击者利用得上,但是按照安全规则和 标准上来说,多余的东西就没必要开启,减少一份隐患。 6.在屏幕保护,勾选上在恢复时使用密码保护,万一系统被黑客链接上 他不知道帐号密码也是没用的。 7.系统自带的TCP/IP筛选只开发你需要的端口,比如你只开放WEB服务和FTP服务,那么你就用TCP/IP筛选把其他端口过滤掉,只开放80和21端口。 这里有一个详细的2003的安全配置的文章大家去看看 二 ,WEB服务器的安全配置 你的WEB服务哪些目录允许解析哪些目录不允许解析 。比如存放附件的目录很容易让黑客在前台上传木马,黑客会利用得到管理员权限后,利用后台的一些功能 把附件改名为.ASP或者其他。 如果Web服务器解析了这个目录的话就会执行黑客的网页木马, 2.就是你这套整站程序是什么整站系统的的,要常关注官方的补丁 勤打补,你用的那套WEB系统可以到 www.sebug.net 上去搜索查询有什么漏洞,如果有漏洞请及时修补. 三,防止ASP木马在服务器上运行 1、删除FileSystemObject组件 还有就是FTP服务器,大家千万不要用SERV-U,SERV-U一直以来有个大漏洞,攻击者可以利用它,创建一个系统管理员的帐号,用终端3389登录。
2、WEB应用服务器与DB服务器分别使用不同的机器来存放,并且之间最好通过防火墙来 进行逻辑隔离,因为除了有程序在探测,sa 没密码的SQL Server,SQL Server 本身及大 量的扩展存储过程也有被溢出攻击的危险。 3、数据库服务器尽量不要与公网进行连接,如果一定要直接提供公网的连接存储,应考虑使用一个不是默认端口的端口来链接。 4、SA一定要设成强悍的密码,在默认安装Sql时sa账号没有密码,而一般管理员装完后 也忘了或怕麻烦而不更改密码。 5.DBO可以差异备份.列目录.SQL用户不允许访问硬盘也要设置.删除XP_CMDSHELL等SQL组件.为了防止EXEC命令执行. 6、不要使用IIS装好后预设的默认路径InetpubWWWRoot路 径. 7、随时注意是否有新的补丁需要补上,目前SQL2000最新的补本包为SP4。 8、使用过滤和防注入函数来过滤掉一些特殊的字符 ,比如单引号"一定要过滤掉。 9、关闭IIS的错误提示,以防止攻击者获得ASP的错误提示. 黑客还会利用DDOS分布式拒绝服务攻击,发送大量半链接数据包把你服务器攻击直到无法访问。 五,防范DDOS分布式拒绝服务攻击 黑客还会利用DDOS分布式拒绝服务攻击 发送大量无用数据包把你服务器攻击知道无法访问 SYN攻击是最常见又最容易被利用的一种攻击手法。 记得2000年YAHOO就遭受到这样的攻击。
这里,过滤网关主要指明防火墙,当然路由器也能成为过滤网关。防火墙部署在不同网络之间,防范外来非法攻击和防止保密信息外泄,它处于客户端和服务器之间,利用它来防护SYN攻击能起到很好的效果。过滤网关防护主要包括超时设置,SYN网关和SYN代理三种。 防范SYN攻击的另一项主要技术是调整tcp/ip协议,修改tcp协议实现。主要方法有SynAttackProtect保护机制、SYN cookies技术、增加最大半连接和缩短超时时间等。tcp/ip协议栈的调整可能会引起某些功能的受限,管理员应该在进行充分了解和测试的前提下进行此项工作。 为防范SYN攻击,win2000系统的tcp/ip协议内嵌了SynAttackProtect机制,Win2003系统也采用此机制。SynAttackProtect机制是通过关闭某些socket选项,增加额外的连接指示和减少超时时间,使系统能处理更多的SYN连接,以达到防范SYN攻击的目的。默认情况下,Win2000操作系统并不支持 SynAttackProtect保护机制,需要在注册表以下位置增加SynAttackProtect键值:HKLMSYSTEMCurrentControlSetServicesTcpipParameters 3.增加最大半连接数 六,防范ARP欺骗 防御方法 1.计算机IP地址与MAC绑定 在CMD方式下,键入以下命令:ARP-s IP地址MAC地址 例: ARP-s 192.168.1.100 XX-XX-XX-XX-XX 这样,就将静态IP地址192.168.1.100与网卡地址为XX-XX-XX-XX-XX的计算机绑定在一起了,即使别人盗 用您的IP地址 192.168.1.100,也无法通过代理服务器上网。 登录进入交换机,输入管理口令进入全局配置模式,键入命令: 2.交换机端口与MAC绑定 (config) #mac—address—table static<MAC地址>vlan<VLAN号>interface<模块 号/端口号表>该命令可分配一个静态的MAC地址给某些端口,即使重自交换饥,这个 地址也仍然会存在。从此。该端口只允许这个MAC地址对应的设备连接在该端口上送行 通信。用户通过注册表等方式更改MAC地址后,交换机拒绝为其通信。 3.Linux下ARP绑定 #arp -a > /etc/ethers 以上 就是我总结的网站服务器安全总结 有的是我自己写的 有的是我找的资料 讲的不好请多多包涵 谢谢大家 |






























