《服务器和网站安全加固技术规范.doc》由会员分享,可在线阅读,更多相关《服务器和网站安全加固技术规范.doc(12页珍藏版)》请在三一办公上搜索。
1、服务器和网站安全加固技术规范1.1 安全加固原理服务器安全加固是针对服务器系统(包含运行在主机上的各种软件系统)的脆弱性进行分析并修补。另外,安全加固同时包括了对主机系统的身份鉴别与认证、访问控制和审计跟踪策略的增强。1.2 安全加固的目标安全加固的主要目标包括以下两点: l 对系统性能进行优化配置,杜绝系统配置不当而出现的弱点;l 解决目标系统在安全评估中发现的技术性安全问题。 在修补加固完全成后,所有被加固的目标系统不应存在高风险漏洞和中风险漏洞(高风险漏洞和中风险漏洞,根据CVE:Common Vulnerabilities & Exposures公共漏洞和暴露标准定义)。如果对相关的漏
2、洞修补加固与现有应用冲突或会导致不良后果应另行处理。1.3 安全加固的原则安全加固的基本原则如下: l 安全加固内容不能影响目标系统所承载的业务运行; l 安全加固不能严重影响目标系统的自身性能;l 加固操作不能影响与目标系统以及与之相连的其它系统的安全性,也不能造成性能的明显下降。1.4 操作系统安全加固1.4.1 Windows(2003 Server)系统安全加固项目分项加固目的加固内容和方法基本安装和设置服务器配置基本要求保证系统基本安全性和易于维护1、正确划分文件系统格式,确保所有磁盘分区为NTFS分区。2、C盘安装操作系统,D盘安装常用软件及存放用户网站目录文件。服务器软件安装要求
3、提供最小化的功能,减少可能的漏洞。安装必备的防护软件,防病毒软件应安装学校统一购买的网络版瑞星。与服务运行和管理维护无关的服务软件、工具软件、应用软件都不能安装。补丁安装使系统升级到最新版本将Windows自动更新更改为使用校内WSUS服务器:l服务器地址:192.168.32.180:8530更新命令:wuauclt /detectnow帐号设置帐号密码策略修改保障帐号以及密码的安全在“管理工具”“本地安全设置”“帐户策略”中按如下要求进行设置:密码长度最小值7 字符密码最长存留期90天密码最短存留期30天帐号锁定计数器30分钟 帐户锁定时间30分钟帐户锁定阀值3次限制Guest用户权限避免
4、Guest帐号被黑客激活作为后门禁用Guest用户。在“管理工具”“本地安全设置”“本地策略”“用户权利指派”,“拒绝从网络访问这台计算机”中加入Guest用户,禁止Guest帐号本地登录和网络登录的权限。服务停止不需要服务避免未知漏洞给主机带来的风险“服务管理”中将下述服务停止,并将启动类型设置为手动:l Computer Browser服务l Alerter服务l Messenger服务l Computer Browser:维护网络上计算机的最新列表以及提供这个列表l Routing and Remote Access:在局域网以及广域网环境中为企业提供路由服务l Remote Regis
5、try Service:允许远程注册表操作l Print Spooler:将文件加载到内存中以便以后打印l DHCP Client:DHCP客户端 l Distributed Link Tracking Client:当文件在网络域的NTFS卷中移动时发送通知l Error Reporting Service:收集、存储和向 Microsoft 报告异常应用程序l Messenger:传输客户端和服务器之间的 NET SEND 和警报器服务消息l Telnet:允许远程用户登录到此计算机并运行程序l Help and Support:启用在此计算机上运行帮助和支持中心。如果停止服务,帮助和支持
6、中心将不可用。如果禁用服务,任何直接依赖于此服务的服务将无法启动。Wireless Configuration:启用 IEEE 802.11 适配器的自动配置。如果此服务停止,自动配置将不可用。如果此服务被禁用,所有明确依赖它的服务都将不能启动。系统文件限制特定执行文件的权限对特定文件权限进行限制,防止被黑客使用禁止用户组访问以下文件,仅限administrators、system用户组访问这些文件:xcopy.exe,wscript.exe,cscript.exe,net.exe,arp.exe,edlin.exe,ping.exe,route.exe,posix.exe,Rsh.exe,a
7、tsvc.exe,Copy.exe,cacls.exe,ipconfig.exe,rcp.exe,cmd.exe,debug.exe,regedt32.exe,regedit.exe,telnet.exe,Finger.exe,Nslookup.exe,Rexec.exe,ftp.exe,at.exe,runonce.exe,nbtstat.exe,Tracert.exe,netstat.exe日志设置审核策略对系统事件进行审核,在日后出现故障时用于排查故障。在“管理工具”“本地安全设置”“本地策略”“审核策略”中按如下要求进行设置:审核策略更改成功审核登录事件成功审核对象访问成功, 失败审核
8、过程追踪成功审核特权使用成功审核系统事件成功, 失败审核帐户登录事件成功, 失败审核帐户管理成功, 失败调整事件日志的大小、覆盖策略增大日志大小,避免由于日志文件容量过小导致日志记录不全在“计算机管理”“事件查看器”“属性”中修改下述值:大小覆盖方式应用日志16382K覆盖早于90天的事件安全日志16384K覆盖早于90天的事件系统日志16384K覆盖早于90天的事件16382K为参考值如果不够存储90天的事件日志可根据具体情况增加。注册表禁止匿名用户连接可以禁止匿名用户列举主机上所有用户、组、共享资源将:HKEY_LOCAL_MACHINE SYSTEMCurrentControlSetCo
9、ntrolLsa“restrictanonymous”的值由“0”改为“1”禁止C$、D$等默认共享关闭默认的盘符共享将该值修改为“0” HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServiceslanmanserverparameters AutoShareServer,REG_DWORD值为0修改数据包的生存时间(ttl)值可以通过修改此值来实现对外隐藏主机的类型和信息将该值修改为(0-255 十进制) HKEY_LOCAL_MACHINE systemcurrentcontrolsetservicestcpipparametersDefaulttt
10、l,REG_DWORD值改为0-0xff ,默认值128各类系统的TTL值:LINUX 64、WIN2K/NT 128、WINDOWS 系列 32、UNIX 系列 255防止syn洪水攻击可以通过修改此值来实现对syn的防止HKEY_LOCAL_MACHINE systemcurrentcontrolsetservicestcpipparameters,synattackprotect,REG_DWORD值改为0x2,默认值为0x0禁止响应icmp路由通告报文可以通过修改此值来实现防止tcmp攻击将子键“PerformRouterDiscovery” REG_DWORD型的值修改为0(0为禁止
11、响应ICMP路由通告报文,2为允许响应ICMP路由通告报文) HKEY_LOCAL_MACHINE systemcurrentcontrolsetservicestcpipparametersinterfacesinterface,performrouterdiscovery REG_DWORD值改为0x0(默认值为0x2)防止icmp重定向报文的攻击可以通过修改此值来实现防止tcmp攻击将子键“EnableICMPRedirects”(REG_DWORD型)的值修改为0(0为禁止ICMP的重定向报文)即可HKEY_LOCAL_MACHINE systemcurrentcontrolsetse
12、rvicestcpipparameters,enableicmpredirects,REG_DWORD值改为 0x0(默认值为0x1)修改远程桌面3389默认端口可以通过修改此值来提升服务器的安全性HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlTerminal ServerWdsrdpwdTdstcp,将PortNumber改为1024(十进制)。HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlTerminal ServerWinStationsRDP-Tcp,方法同上,修改的端口号和上面修改的一
13、样。设置arp缓存老化时间设置可以通过修改此值来提升服务器的安全性HKEY_LOCAL_MACHINE systemcurrentcontrolsetservices:tcpipparameters,arpcachelife,REG_DWORD值改为0-0xffffffff(秒数,默认值为120秒)arpcacheminreferencedlife,REG_DWORD值改为0-0xffffffff(秒数,默认值为600)网络协议解除NetBios与TCP/IP协议的绑定,并禁用NetBios协议禁用NetBios协议,提升安全性控制面版网络属性TCP/IP属性高级WINS禁用TCP/IP上的N
14、ETBIOS防火墙设置启用系统自带防火墙提升网络、主机安全性启用系统自带防火墙,根据服务类型打开必要的端口和服务范围:l 网站(web)服务器:80端口l SQLServer服务器:1433端口,只限定服务器IP段,只为本机专用的SQLServer不开此端口l FTP服务:21端口,只限定校内IP远程桌面:将默认端口改为1024,只限定网络中心办公用IP段1.4.2 Linux(RedHat AS)操作系统安全加固项目分项加固目的加固内容和方法基本安装和设置服务器配置基本要求保证系统基本安全性和易于维护磁盘/boot目录不少于100M使用ext3分区格式安装使用最小化安装服务器软件安装要求提供
15、最小化的功能,减少可能的漏洞。与服务运行和管理维护无关的服务软件、工具软件、应用软件都不能安装。系统补丁安装选择性升级,保证升级的可用的性使用yum list updates察看可用升级使用yum update page升级page包帐号策略帐号密码策略修改保障帐号以及口令的安全删除不使用的帐号密码长度最小值7字符密码最长存留期90天密码最短存留期30天帐号自动注销15分钟打开/etc/login.defs文件PASS_MAX_DAYS 90 注:用户的密码不过期最多的天数;PASS_MIN_DAYS 30 注:密码修改之间最小的天数;PASS_MIN_LEN 7 注:密码最小长度;帐号自动注
16、销打开 etc/profile在文件最后添加如下语句:TMOUT=900export TOMOUT指定特定用户使用su限制用户使用root权限编辑/etc/pam.d/su文件,增加如下两行:auth sufficient /lib/security/pam_rootok.so debugauth required /lib/security/pam_wheel.so group=wheel服务加固优化关闭不需要的系统服务避免未知漏洞给主机带来的风险执行ntsysv禁用除syslog、sshd、network、crond、iptables、xinetd和应用所需服务之外的所有服务。文件系统加固
17、限制特定文件的权限限制非root权限用户读取文件内容使用root 权限执行下列命令 chattr +i /etc/passwdchattr +i /etc/shadowchattr +i /etc/groupchattr +i /etc/gshadowchmod -R 700 /etc/rc.d/init.d/*chmod 600 /etc/inetd.conf日志备份备份日志对系统事件进行审核,在日后出现故障时用于排查故障。定期备份日志包含/var/log内的所有日志远程访问限制Ssh 访问限制限制root用户直接登录、限制ip地址限制root直接远程ssh登录或限制登录IP地址:限制roo
18、t直接远程ssh登录修改/etc/ssh/sshd_configPermitRootLogin no,限制登录IP地址修改/etc/hosts.allow文件,添加维护IP地址,如:Sshd:202.200.255.0/255.255.255.0同时修改/etc/hosts.deny文件,添加:sshd:anyany防火墙设置启用系统自带防火墙iptables提升网络、主机安全性启用系统自带防火墙,根据服务类型打开必要的端口和服务范围:Ssh:22开启需要对外提供服务的端口原则:在不影响正常使用的情况下端口开启最少化。其它其他方面加固:Ctrl+Alt+Delete增加优化系统的安全性禁止Ct
19、rl+Alt+Delete重新启动系统修改/etc/inittab文件,将“ca:ctrlaltdel:/sbin/shutdown -t3 -r now”一行加号注释掉。历史纪录删除注销时删除命令缓冲区编辑/etc/skel/.bash_logout文件,增加如下行:rm -f $HOME/.bash_history如果只需要针对某个特定用户,如root用户进行设置,则可只在该用户的主目录下修改/$HOME/.bash_history 文件,增加相同的一行即可。1.5 Web服务软件安全加固1.5.1 IIS安全加固项目分项加固目的加固内容和方法网站安装配置网站安装保证系统基本安全性和易于维
20、护l 网站禁止安装在windows系统盘,一般安装在D:盘wwwroot目录中,网站主目录采用如下约定命名:D:wwwroot网站使用的IP地址网站中文名称网站拼音简称l 网站安装后立即修改日志文件目录,移动到D:盘或E:盘,日志目录命名约定:D:IIslogIIS自动分配的网站编号在IIS中配置网站时,网站名称应与登记信息一致,主机头值与域名一致。网站基本配置提供最小执行功能减少可能的漏洞l 根据需要提供最小执行功能:(1)对纯静态网站,确认不要提供asp和执行解析,在IIS主目录权限中禁用执行权限。(2)对动态网站,如果只需要支撑,则不要提供asp执行解析;每个网站配置单独的应用程序池。(
21、3)根据网站程序设计,尽量不要启用父目录回溯支持。屏蔽网站错误信息。网站安装调试正常后,禁用服务器端和客户端脚本调试、禁止向客户端发送详细错误信息。对ASP.net还要修改wed.conf配置文件禁用.net错误信息。网站权限设置网站权限设置实现各网站之间、操作系统和网站之间实现安全隔离为每一个虚拟空间用户创建隶属于guests组的一个帐户,帐户名为vIUSR_网站拼音简称,密码采用长度不小于10位的复杂密码。创建一个webuser组,将所有的vIUSR用户全部加入这个webuser组里面以便管理。将“D:wwwroot”去掉权限继承,删除以下用户外其它用户和权限设置:l Administra
22、tors完全控制权限(该文件夹,子文件夹及文件)l system完全控制权限(该文件夹,子文件夹及文件)将“c:program filescommon files:”、“c:windowssystem32inetsrv”去掉权限继承,删除以下用户外其他用户和权限设置:l Administrators完全控制权限(该文件夹,子文件夹及文件)l system完全控制权限(该文件夹,子文件夹及文件)l webuser完全控制权限(该文件夹,子文件夹及文件)将“C:”、“D:”盘用户权限加入如下设置: l Webuser全部拒绝将网站主目录,即“D:wwwroot网站使用的IP地址网站中文名称网站拼音
23、简称”按照如下方式设置用户权限:l Administrators完全控制权限(继承的,不用修改)l system完全控制权限(继承的,不用修改)l vIUSR_网站拼音简称 默认权限(读取,运行,列目录)l 对于.net网站需要再增加和network service两个帐户的默认权限在IIS中为每个网站设定相应的匿名访问帐户。打开IIS管理器的属性、在属性中的“目录安全性”、“身份验证和访问控制”中设定每个网站对应的vIUSR_网站拼音简称。1. 设置Web上传文件目录权限对于有web方式上传文件功能的网站,要明确上传文件存放的文件夹,赋予该网站的用户vIUSR_网站拼音简称“写入”和“修改权
24、限”,尤其注意不能赋予“完全控制”和“特别权限”。在IIS的目录权限配置中,针对该目录要禁止脚本执行和应用程序执行,应用程序权限设置为“无”。2. 数据库文件权限设置如果网站只用文件数据库,如Access,应修改数据库文件扩展名,一般可改为.asa或.asp防止客户端下载,对于需要修改的数据库文件,在windows文件系统中赋予vIUSR_网站拼音简称用户“写入”和“修改权限”。模块设置限制服务模块的使用保证IIS环境的安全安装IIS安全插件 URLscan开启C:WINDOWSsystem32inetsrvurlscan打开urlscan.ini在DenyExtensions下增加.mdb删
25、除不使用的应用程序扩展模块打开IIS 找到要进行的加固的网站IIS-网站-主目录-配置-映射;找到除了使用的扩展名保留,其他的删除Web服务扩展功能设置关闭web服务扩展减少可能的漏洞开启Internet信息服务(IIS)管理器打开服务器WEB服务扩展如果网站仅为ASP网站可以禁止除Active Server Pages以外的所有扩展ASP.NET vXBITS 服务器扩展WebDAV在服务器端的包含文件所有未知cgi 扩展所有未知ISAPI扩展错误页面设置更改错误页面屏蔽http错误信息新建一个error.htm的提示页面打开IIS 点击网站属性自定义错误编辑更改文件更改错误页面401-54
26、01-6401-7404-1404-2404-3404b405406407410412414415400401-1401-2401-3401-4401403-1403-10403-11403-12403-13403-14403-15403-16403-17403-18403-19403-2403-20403-3403-4403-5403-6403-7403-8403-9403500-100500-11500-12500-13500-14500-15500-16500-17500-18500-19500501502日志设置使用W3C扩充日志文件格式便于分析排查打开IIS 点击网站属性网站属性高级
27、使用W3C扩充日志文件格式,记录客户IP地址,用户名,服务器端口,方法,URL字根,HTTP状态,用户代理根据网站访问量设置轮询周期,建议为每天轮询。同时设置日志的访问权限,只允许管理员和system为Full Control。其它删除默认虚拟目录减少可能的安全漏洞删除默认的虚拟目录,包括 IISSamples、IISAdmin、IISHelp 和 Scripts 虚拟目录1.5.2 Apache安全加固项目分项加固目的加固内容和方法服务器文件权限设置设置服务器文件权限限制Apache进程所能访问的文件,增强安全性Apache服务器配置文件包含、conf 、.htaccss等文件权限设置、Ap
28、ache进程限制所能访问的文件系统模块设置限制服务模块的使用删除必须之外的任何没有用到的模块、增加平台的安全性打开http.conf 找到LoadModule 不使用的模块可以在LoadModule 的前端增加modsecurity安全模块增加平台的安全性打开http.conf 找到LoadModule增加modsecurity安全模块错误页面设置更改默认错误页面屏蔽http错误信息.htaccess 文件中加入如下内容即可:ErrorDocument 401 /error.htmErrorDocument 404 /error. htmErrorDocument 500 /error. ht
29、mErrorDocument 403 /error. htmError. htm 为自定义内容日志设置增加默认日志内容便于分析排查打开httpd.conf增加 LogFormat %a %lSSI文件增强SSI文件增强关闭从SSI页运行脚本和程序的能力,增强安全性启用suexec程序:在选项指令中用“IncludesNOEXEC”取代 “Includes”。服务器目录和文件保护保护系统设置防止随意使用.htaccess文件单独更改服务器设置,造成安全漏洞在服务器设置文件中输入:开启httpd.conf AllowOverride None除了特别启用的之外,这个设置将阻止在所有的目录中使用.h
30、taccess文件。使用.htaccess文件把某个目录的访问权限赋予某个用户。系统管理员需要在httpd.conf或者srm.conf文件中使用AccessFileName指令打开目录的访问控制。如:AuthName PrivateFilesAuthType BasicAuthUserFile /path/to/httpd/usersrequire Phoenix# htpasswd -c /path/to/httpd/users1.5.3 Tomcat安全加固项目分项加固目的加固内容和方法权限设置Tomcat权限降低tomcat的权限。 首先创建一个普通用户,为其设置密码,将其密码策略设置
31、为“密码永不过期”,修改Tomcat安装文件夹的访问权限,为新建用户设置Tomcat文件夹的读、写、执行的访问权限,新建用户设置WebApps文件夹的只读访问权限,如果某些Web应用程序需要写访问权限,单独为其授予对那个文件夹的写访问权限。 在打开服务管理器(services.msc),找到Apache Tomcat服务,双击打开该服务,在其实属性窗口中点击“登录”选项卡,在登录身份下选中“以此帐户”,然后在文本框中输入新建用户和密码, 最后“确定”并重启服务器。这样Tomcat就以这个普通用户的权限运行。禁止目录浏览禁止目录浏览防止客户端浏览Web目录,泄漏服务器信息打开web.xml设置
32、listings false 关闭管理页面关闭登陆页面防止非法用户登录关闭登陆页面删除或者更改tomcat-users.xml内的用户名密码conf/tomcat-users.xml可以删除webapps下admin.xml和manager.xml的2个文件错误页面设置更改默认错误页面隐藏错误信息打开web.xml 最后一行加入 401 /error.htm 404 /error.htm 500 /error.htm 建立一个error.html的文件1.5.4 PHP安全加固项目分项加固目的加固内容和方法运行模式以Apache模块方式运行限制php语言环境的路径。防止用户直接调用CGI,增强
33、安全性修改php.inidoc_root = /htdocs user_dir = /htdocs修改其中的doc_root和usr_dir 参数。Http.conf Action php-script /cgi-bin/php.cgi AddHandler php-script .php以Php安全模式运行启用安全模式,关闭部分函数,增加Php环境的安全程度修改php.inisafe_mode = Onopen_basedir =/针对函数disable_functions = phpinfo,get_cfg_varerror_reporting=E_ALLlog_errors = Onerror_log = /var/log/php_err.logallow_url_fopen = Off1.6 安全加固风险规避措施安全加固过程的最大的风险在于测试过程中对业务产生影响,采取以下措施来减小风险: 在安全加固中不使用有潜在风险的加固建议。 安全加固时间尽量安排在业务量不大的时段或者晚上。 在安全加固过程中如果出现被加固系统没有响应的情况,应当立即停止加固工作,并且进行详细分析。 操作人员对本次安全加固过程中的数据进行完整记录:操作、响应、分析。