web服务器安全设置
Posted JK_night
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了web服务器安全设置相关的知识,希望对你有一定的参考价值。
(密集恐惧症者和文字眩晕症者慎看)
一、关闭不必要的端口
只开3389 21 80 1433(mysql)
1.办法:本地连接--属性--Internet协议(TCP/IP)--高级--选项--TCP/IP筛选--属性--把勾打上 然后添加你需要的端口即可。
2.更改远程连接端口方法,打开以下注册表的地址,把值改为十进制的输入你想要的端口
[HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Control/Terminal Server/WinStations/RDP-Tcp] 重启生效!
3.在2003系统里,用TCP/IP筛选里的端口过滤功能,使用FTP服务器的时候,只开放21端口,在进行FTP传输的时候,FTP 特有的Port模式和Passive模式,在进行数据传输的时候,
需要动态的打开高端口,所以在使用TCP/IP过滤的情况下,经常会出现连接上后无法列出目录和数据传输的问题。所以在2003系统上增加的windows连接防火墙能很好的解决这个问
题,所以都不推荐使用网卡的TCP/IP过滤功能。
4.启用WIN2003的自身带的网络防火墙,并进行端口的改变。功能还可以!Internet 连接防火墙可以有效地拦截对Windows 2003服务器的非法入侵,防止非法远程主机对服务器的扫
描,提高Windows 2003服务器的安全性。同时,也可以有效拦截利用操作系统漏洞进行端口攻击的病毒,如冲击波等蠕虫病毒。如果在用Windows 2003构造的虚拟路由器上启用此
防火墙功能,能够对整个内部网络起到很好的保护作用。
二、关闭不需要的服务 打开相应的审核策略
1.关闭服务
●Computer Browser:维护网络计算机更新,禁用
●Distributed File System: 局域网管理共享文件,不需要禁用
●Distributed linktracking client:用于局域网更新连接信息,不需要禁用
●Error reporting service:禁止发送错误报告
●Microsoft Serch:提供快速的单词搜索,不需要可禁用
●NTLMSecuritysupportprovide:telnet服务和Microsoft Serch用的,不需要禁用
●PrintSpooler:如果没有打印机可禁用
●Remote Registry:禁止远程修改注册表
●Remote Desktop Help Session Manager:禁止远程协助
把不必要的服务都禁止掉,减少安全隐患。
在"网络连接"里,把不需要的协议和服务都删掉,这里只安装了基本的Internet协议(TCP/IP),由于要控制带宽流量服务,额外安装了Qos数据包计划程序。在高级tcp/ip设置里--
"NetBios"设置"禁用tcp/IP上的NetBIOS(S)"。在高级选项里,使用"Internet连接防火墙",这是windows 2003 自带的防火墙(2000系统里没有)可以屏蔽端口,这样已经基本达到了
一个IPSec的功能。
2.开启策略
在运行中输入gpedit.msc回车,打开组策略编辑器,选择计算机配置-Windows设置-安全设置-审核策略
●登录事件 成功 失败
●账户登录事件 成功 失败
●系统事件 成功 失败
●策略更改 成功 失败
●对象访问 失败
●目录服务访问 失败
●特权使用 失败
三、安全权限设置
1.系统盘权限设置
2.安全记录访问权限(在Internet信息服务IIS管理器->网站->你的网站名称->属性->主目录,设置一些权限)
四、防火墙、杀毒软件的安装(瑞星、卡巴斯基、火绒)
经常升级病毒库,我们推荐mcafree杀毒软件+blackice防火墙,在http://www.goldhoe.com/fuwuzhichi/同样有下载,可以升级的。
五、SQL2000 SERV-U FTP安全设置
1.SQL安全方面
(1)System Administrators 角色最好不要超过两个
(2)如果是在本机最好将身份验证配置为Win登陆
(3)不要使用Sa账户,为其配置一个超级复杂的密码
(4)隐藏 SQL Server、更改默认的1433端口
右击实例选属性-常规-网络配置中选择TCP/IP协议的属性,选择隐藏 SQL Server 实例,并改原默认的1433端口
2.serv-u的几点常规安全需要设置下:
(1)选中"Block "FTP_bounce"attack and FXP"。什么是FXP呢?通常,当使用FTP协议进行文件传输时,客户端首先向FTP服务器发出一个"PORT"命令,该命令中包含此用户的IP地
址和将被用来进行数据传输的端口号,服务器收到后,利用命令所提供的用户地址信息建立与用户的连接。大多数情况下,上述过程不会出现任何问题,但当客户端是一名恶意用户
时,可能会通过在PORT命令中加入特定的地址信息,使FTP服务器与其它非客户端的机器建立连接。虽然这名恶意用户可能本身无权直接访问某一特定机器,但是如果FTP服务器有
权访问该机器的话,那么恶意用户就可以通过FTP服务器作为中介,仍然能够最终实现与目标服务器的连接。这就是FXP,也称跨服务器攻击。选中后就可以防止发生此种情况。
六、IIS安全设置IIS的相关设置
1.删除默认建立的站点的虚拟目录,停止默认web站点,删除对应的文件目录c:inetpub,配置所有站点的公共设置,设置好相关的连接数限制,带宽设置以及性能设置等其他设置。
2.配置应用程序映射,删除所有不必要的应用程序扩展,只保留asp,php,cgi,pl,aspx应用程序扩展。对于php和cgi,推荐使用isapi方式解析,用exe解析对安全和性能有所影响。
用户程序调试设置发送文本错误信息给户。对于数据库,尽量采用mdb后缀,不需要更改为asp,可在IIS中设置一个mdb的扩展映射,将这个映射使用一个无关的dll文件如C:
WINNTsystem32inetsrvssinc.dll来防止数据库被下载。
3.设置IIS的日志保存目录,调整日志记录信息。设置为发送文本错误信息。修改403错误页面,将其转向到其他页,可防止一些扫描器的探测。另外为隐藏系统信息,防止telnet到80
端口所泄露的系统版本信息可修改IIS的banner信息,可以使用winhex手工修改或者使用相关软件如banneredit修改。 对于用户站点所在的目录,在此说明一下,用户的FTP根目录下
对应三个文件佳,wwwroot,database,logfiles,分别存放站点文件,数据库备份和该站点的日志。如果一旦发生入侵事件可对该用户站点所在目录设置具体的权限,图片所在的目
录只给予列目录的权限,程序所在目录如果不需要生成文件(如生成html的程序)不给予写入权限。因为是虚拟主机平常对脚本安全没办法做到细致入微的地步,更多的只能在方法用
户从脚本提升权限: ASP的安全设置: 设置过权限和服务之后,防范asp木马还需要做以下工作,在cmd窗口运行以下命令: regsvr32/u C:/WINNT/System32/wshom.ocx del
C:/WINNT/System32/wshom.ocx regsvr32/u C:/WINNT/system32/shell32.dll del C:/WINNT/system32/shell32.dll 即可将WScript.Shell, Shell.application, WScript.Network组
件卸载,可有效防止asp木马通过wscript或shell.application执行命令以及使用木马查看一些系统敏感信息。
(可取消以上文件的users用户的权限,重新启动IIS即可生效。但不推荐该方法)
4.对于FSO由于用户程序需要使用,服务器上可以不注销掉该组件,这里只提一下FSO的防范,但并不需要在自动开通空间的虚拟商服务器上使用,只适合于手工开通的站点。可以针
对需要FSO和不需要FSO的站点设置两个组,对于需要FSO的用户组给予c:winntsystem32scrrun.dll文件的执行权限,不需要的不给权限。重新启动服务器即可生效。 对于这样的设
置结合上面的权限设置,你会发现海阳木马已经在这里失去了作用! PHP的安全设置: 默认安装的php需要有以下几个注意的问题: C:/winnt/php.ini只给予users读权限即可。在
php.ini里需要做如下设置: Safe_mode=on register_globals = Off allow_url_fopen = Off display_errors = Off magic_quotes_gpc = On [默认是on,但需检查一遍] open_basedir
=web目录 disable_functions =passthru,exec,shell_exec,system,phpinfo,get_cfg_var,popen,chmod 默认设置com.allow_dcom = true修改为false[修改前要取消掉前面
的;]
5.MySQL安全设置: 如果服务器上启用MySQL数据库,MySQL数据库需要注意的安全设置为: 删除mysql中的所有默认用户,只保留本地root帐户,为root用户加上一个复杂的密
码。赋予普通用户updatedeletealertcreatedrop权限的时候,并限定到特定的数据库,尤其要避免普通客户拥有对mysql数据库操作的权限。检查mysql.user表,取消不必要用户的
shutdown_priv,relo ad_priv,process_priv和File_priv权限,这些权限可能泄漏更多的服务器信息包括非mysql的其它信息出去。可以为mysql设置一个启动用户,该用户只对mysql
目录有权限。设置安装目录的data数据库的权限(此目录存放了mysql数据库的数据信息)。对于mysql安装目录给users加上读取、列目录和执行权限。
6.Serv-u安全问题: 安装程序尽量采用最新版本,避免采用默认安装目录,设置好serv-u目录所在的权限,设置一个复杂的管理员密码。修改serv-u的banner信息,设置被动模式端口
范围(4001—4003)在本地服务器中设置中做好相关安全设置:包括检查匿名密码,禁用反超时调度,拦截“FTP bounce”攻击和FXP,对于在30秒内连接超过3次的用户拦截10分
钟。域中的设置为:要求复杂密码,目录只使用小写字母,高级中设置取消允许使用MDTM命令更改文件的日期。 更改serv-u的启动用户:在系统中新建一个用户,设置一个复杂点
的密码,不属于任何组。将servu的安装目录给予该用户完全控制权限。建立一个FTP根目录,需要给予这个用户该目录完全控制权限,因为所有的ftp用户上传,删除,更改文件都是
继承了该用户的权限,否则无法操作文件。另外需要给该目录以上的上级目录给该用户的读取权限,否则会在连接的时候出现530 Not logged in, home directory does not exist.比如
在测试的时候ftp根目录为d:soft,必须给d盘该用户的读取权限,为了安全取消d盘其他文件夹的继承权限。而一般的使用默认的system启动就没有这些问题,因为system一般都拥有
这些权限的。
七、.其他
1.隐藏重要文件/目录可以修改注册表实现完全隐藏:HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/Windows/ Current-
Version/Explorer/Advanced/Folder/Hidden/SHOWALL”,鼠标右击 “CheckedValue”,选择修改,把数值由1改为0
2.启动系统自带的Internet连接防火墙,在设置服务选项中勾选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之类的,只要不与其它冲突即可。 第二处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.禁用TCP/IP上的NetBIOS网上邻居-属性-本地连接-属性-Internet协议(TCP/IP)属性-高级-WINS面板-NetBIOS设置-禁用TCP/IP上的NetBIOS。这样cracker就无法用nbtstat命令来
读取你的NetBIOS信息和网卡MAC地址了。
13. 账户安全首先禁止一切账户,除了你自己。然后把Administrator改名。再建了个Administrator账户,不过是什么权限都没有的那种,密码复杂(陷阱账号)创建2个管理员用帐
号 虽然这点看上去和上面这点有些矛盾,但事实上是服从上面的规则的。 创建一个一般权限帐号用来收信以及处理一些日常事物,另一个拥有Administrators 权限的帐户只在需要的
时候使用。可以让管理员使用 “ RunAS” 命令来执行一些需要特权才能作的一些工作,以方便管理
14.更改C:/WINDOWS/Help/iisHelp/common/404b.htm内容改为http://www.5ol.com这样,出错了自动转到首页。
15.本地安全策略和组策略的设置,如果你在设置本地安全策略时设置错了,可以这样恢复成它的默认值打开 %SystemRoot%/Security文件夹,创建一个 "OldSecurity"子目录,
将%SystemRoot%/Security下所有的.log文件移到这个新建的子文件夹中在%SystemRoot%/Security/database/下找到"Secedit.sdb"安全数据库并将其改名,如改为"Secedit.old"启
动"安全配置和分析"MMC管理单元:"开始"->"运行"->"MMC",启动管理控制台,"添加/删除管理单元",将"安全配置和分析"管理单元添加上右击"安全配置和分析"->"打开数据库",浏
览"C:/WINNT/security/Database"文件夹,输入文件名"secedit.sdb",单击"打开"当系统提示输入一个模板时,选择"Setup Security.inf",单击"打开",如果系统提示"拒绝访问数据库",
不管他,你会发现在"C:/WINNT/security/Database"子文件夹中重新生成了新的安全数据库,在"C:/WINNT/security"子文件夹下重新生成了log文件,安全数据库重建成功。
16.禁用DCOM:运行中输入 Dcomcnfg.exe。 回车, 单击“控制台根节点”下的“组件服务”。 打开“计算机”子文件夹。对于本地计算机,请以右键单击“我的电脑”,然后选择“属性”。选择
“默认属性”选项卡。清除“在这台计算机上启用分布式 COM”复选框。
八.Windows2003中不常见的安全隐患的防堵方法
Windows 2003操作系统在调用应用程序出错时,系统中的Dr. Watson会自动将一些重要的调试信息保存起来,以便日后维护系统时查看,不过这些信息很有可能被黑客“瞄上”,
一旦瞄上的话,各种重要的调试信息就会暴露无疑,为了堵住Dr. Watson自动保存调试信息的隐患,我们可以按如下步骤来实现:
1、打开开始菜单,选中“运行”命令,在随后打开的运行对话框中,输入注册表编辑命令“ergedit”命令,打开一个注册表编辑窗口;
2、在该窗口中,用鼠标依次展开HKEY_local_machine\software\Microsoft\WindowsdowsNT\CurrentVersion\AeDebug分支,在对应AeDebug键值的右边子窗口中,用鼠
标双击Auto值,在弹出的参数设置窗口中,将其数值重新设置为“0”,
3、打开系统的Windows资源管理器窗口,并在其中依次展开Documents and Settings文件夹、All Users文件夹、Shared Documents文件夹、DrWatson文件夹,最后将对应
DrWatson中的User.dmp文件、Drwtsn32.log文件删除掉。
4.堵住资源共享隐患
为了给局域网用户相互之间传输信息带来方便,Windows Server 2003系统很是“善解人意”地为各位提供了文件和打印共享功能,不过我们在享受该功能带来便利的同时,共享功
能也会“引狼入室”,“大度”地向黑客们敞开了不少漏洞,给服务器系统造成了很大的不安全性;所以,在用完文件或打印共享功能时,大家千万要随时将功能关闭哟,以便堵住资源共
享隐患,下面就是关闭共享功能的具体步骤:
(1)执行控制面板菜单项下面的“网络连接”命令,在随后出现的窗口中,用鼠标右键单击一下“本地连接”图标;
(2)在打开的快捷菜单中,单击“属性”命令,这样就能打开一个“Internet协议(TCP/IP)”属性设置对话框;
(3)在该界面中取消“Microsoft网络的文件和打印机共享”这个选项;
(4)如此一来,本地计算机就没有办法对外提供文件与打印共享服务了,这样黑客自然也就少了攻击系统的“通道”。
在Windows2003系统下,要进行远程网络访问连接时,该系统下的远程桌面功能可以将进行网络连接时输入的用户名以及密码,通过普通明文内容方式传输给对应连接端的客户
端程序;在明文帐号传输过程中,实现“安插”在网络通道上的各种嗅探工具,会自动进入“嗅探”状态,这个明文帐号就很容易被“俘虏”了;明文帐号内容一旦被黑客或其他攻击者另谋他
用的话,为了杜绝这种安全隐患,我们可以按下面的方法来为系统“加固”:
(1)点击系统桌面上的“开始”按钮,打开开始菜单;
(2)从中执行控制面板命令,从弹出的下拉菜单中,选中“系统”命令,打开一个系统属性设置界面;
(3)在该界面中,用鼠标单击“远程”标签;
(4)在随后出现的标签页面中,将“允许用户远程连接到这台计算机”选项取消掉,这样就可以将远程访问连接功能屏蔽掉,从而堵住远程访问隐患了。
Windows 2003系统为我们提供了快速用户切换功能,利用该功能我们可以很轻松地登录到系统中;不过在享受这种轻松时,系统也存在安装隐患,例如我们要是执行系统“开始”
菜单中的“注销”命令来,快速“切换用户”时,再用传统的方式来登录系统的话,系统很有可能会本次登录,错误地当作是对计算机系统的一次暴力“袭击”,这样Windows2003系统就可
能将当前登录的帐号当作非法帐号,将它锁定起来,这显然不是我们所需要的;不过,我们可以按如下步骤来堵住用户切换时,产生的安全隐患:
在Windows 2003系统桌面中,打开开始菜单下面的控制面板命令,找到下面的“管理工具”命令,再执行下级菜单中的“计算机管理”命令,找到“用户帐户”图标,并在随后出现的窗
口中单击“更改用户登录或注销的方式”;在打开的设置窗口中,将“使用快速用户切换”选项取消掉就可以了。
Windows 2003操作系统即使在正常工作的情况下,也有可能会向黑客或者其他访问者泄漏重要的机密信息,特别是一些重要的帐号信息。也许我们永远不会想到要查看一下,那
些可能会泄漏隐私信息的文件,不过黑客对它们倒是很关心的哟!Windows 2003操作系统中的页面交换文件中,其实就隐藏了不少重要隐私信息,这些信息都是在动态中产生的,要
是不及时将它们清除,就很有可能成为黑客的入侵突破口;为此,我们必须按照下面的方法,来让Windows 2003操作系统在关闭系统时,自动将系统工作时产生的页面文件全部删除
掉:
(1)在Windows 2003的“开始”菜单中,执行“运行”命令,打开运行对话框,并在其中输入“Regedit”命令,来打开注册表窗口;
(2)在该窗口的左边区域中,用鼠标依次单击HKEY_local_machine\system\currentcontrolset\control\sessionmanager\memory management键值,找到右边区域中的ClearPageFileAtShutdown键值,并用鼠标双击之,在随后打开的数值设置窗口中,将该DWORD值重新修改为“1”;
(3)完成设置后,退出注册表编辑窗口,并重新启动计算机系统,就能让上面的设置生效了。
以上是关于web服务器安全设置的主要内容,如果未能解决你的问题,请参考以下文章