引言
在当今高度互联的世界中,确保 Web 服务器的安全至关重要。通过遵循最佳实践和利用可用的工具,您可以显著降低服务器受到攻击和漏洞利用的风险。本指南将提供 Web 服务器安全配置的综合概述,帮助您保护您的系统免受威胁。
服务器配置优化
1. 禁用不必要的服务
禁用水暖气、FTP 和 Telnet 等不必要的服务可以减少攻击者可以利用的潜在入口点。只启用必要的服务,并确保定期审查和禁用不再需要的服务。
2. 更新软件和补丁
操作系统、Web 服务器软件和第三方应用程序应始终保持最新。补丁程序通常会解决安全漏洞,确保及时安装它们至关重要。启用自动更新功能或定期手动检查更新。
3. 使用防火墙
防火墙是一个软件或硬件程序,用于监视和控制传入和传出网络流量。配置防火墙以仅允许授权流量,并阻止来自未知或可疑来源的连接。
4. 实施入侵检测系统 (IDS)
IDS 是监视网络流量并检测可疑或恶意活动的软件程序。当检测到攻击或异常时,IDS 会发出警报,使您可以采取适当措施。
5. 限制用户权限
限制用户对服务器资源和数据的访问权限。仅授
制定一个事件响应计划,概述在安全事件发生时采取的步骤。计划应包括通知程序、遏制措施、取证程序和恢复策略。
结论
通过遵循本指南中概述的最佳实践,您可以显著增强 Web 服务器的安全。定期审核和更新您的配置,保持警惕并不断监控威胁,对于保护您的系统和数据至关重要。始终记住,安全是一项持续的过程,需要持续的努力和关注。
web服务器安全设置
Web服务器攻击常利用Web服务器软件和配置中的漏洞,web服务器安全也是我们现在很多人关注的一点,那么你知道web服务器安全设置吗?下面是我整理的一些关于web服务器安全设置的相关资料,供你参考。
web服务器安全设置一、IIS的相关设置
删除默认建立的站点的虚拟目录,停止默认web站点,删除对应的文件目录c:inetpub,配置所有站点的公共设置,设置好相关的连接数限制, 带宽设置以及性能设置等其他设置。配置应用程序映射,删除所有不必要的应用程序扩展,只保留asp,php,cgi,pl,aspx应用程序扩展。对于php和cgi,推荐使用isapi方式解析,用exe解析对安全和性能有所影响。用户程序调试设置发送文本错误信息给客户。
对于数据库,尽量采用mdb后缀,不需要更改为asp,可在IIS中设置一个mdb的扩展映射,将这个映射使用一个无关的dll文件如来防止数据库被下载。设置IIS的日志保存目录,调整日志记录信息。设置为发送文本错误信息。修改403错误页面,将其转向到其他页,可防止一些扫描器的探测。另外为隐藏系统信息,防止telnet到80端口所泄露的系统版本信息可修改IIS的banner信息,可以使用winhex手工修改或者使用相关软件如banneredit修改。
对于用户站点所在的目录,在此说明一下,用户的FTP根目录下对应三个文件佳,wwwroot,database,logfiles,分别存放站点文件,数据库备份和该站点的日志。如果一旦发生入侵事件可对该用户站点所在目录设置具体的权限,图片所在的目录只给予列目录的权限,程序所在目录如果不需要生成文件(如生成html的程序)不给予写入权限。因为是虚拟主机平常对脚本安全没办法做到细致入微的地步。
方法
用户从脚本提升权限:
web服务器安全设置二、ASP的安全设置
设置过权限和服务之后,防范asp木马还需要做以下工作,在cmd窗口运行以下命令:
regsvr32/u C:\WINNT\System32\
del C:\WINNT\System32\
regsvr32/u C:\WINNT\system32\
del C:\WINNT\system32\
即可将, , 组件卸载,可有效防止asp木马通过wscript或执行命令以及使用木马查看一些系统敏感信息。另法:可取消以上文件的users用户的权限,重新启动IIS即可生效。但不推荐该方法。
另外,对于FSO由于用户程序需要使用,服务器上可以不注销掉该组件,这里只提一下FSO的防范,但并不需要在自动开通空间的虚拟商服务器上使用,只适合于手工开通的站点。可以针对需要FSO和不需要FSO的站点设置两个组,对于需要FSO的用户组给予文件的执行权限,不需要的不给权限。重新启动服务器即可生效。
对于这样的设置结合上面的权限设置,你会发现海阳木马已经在这里失去了作用!
web服务器安全设置三、PHP的安全设置
默认安装的php需要有以下几个注意的问题:
C:\winnt\只给予users读权限即可。在里需要做如下设置:
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
默认设置_dcom = true修改为false[修改前要取消掉前面的;]
web服务器安全设置四、MySQL安全设置
如果服务器上启用MySQL数据库,MySQL数据库需要注意的安全设置为:
删除mysql中的所有默认用户,只保留本地root帐户,为root用户加上一个复杂的密码。赋予普通用户updatedeletealertcreatedrop权限的时候,并限定到特定的数据库,尤其要避免普通客户拥有对mysql数据库操作的权限。检查表,取消不必要用户的shutdown_priv,reload_priv,process_priv和File_priv权限,这些权限可能泄漏更多的服务器信息包括非mysql的其它信息出去。可以为mysql设置一个启动用户,该用户只对mysql目录有权限。设置安装目录的data数据库的权限(此目录存放了mysql数据库的数据信息)。对于mysql安装目录给users加上读取、列目录和执行权限。
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一般都拥有这些权限的。
web服务器安全设置五、数据库服务器的安全设置
对于专用的MSSQL数据库服务器,按照上文所讲的设置TCP/IP筛选和IP策略,对外只开放1433和5631端口。对于MSSQL首先需要为sa设置一个强壮的密码,使用混合身份验证,加强数据库日志的记录,审核数据库登陆事件的”成功和失败”.删除一些不需要的和危险的OLE自动存储过程(会造成企业管理器中部分功能不能使用),这些过程包括如下:
Sp_OAcreate Sp_OADestroy Sp_OAGetErrorInfo Sp_OAGetProperty
Sp_OAMethod Sp_OASetProperty Sp_OAStop
去掉不需要的注册表访问过程,包括有:
Xp_regaddmultistring Xp_regdeletekey Xp_regdeletevalue
Xp_regenumvalues Xp_regread Xp_regremovemultistring
Xp_regwrite
去掉其他系统存储过程,如果认为还有威胁,当然要小心drop这些过程,可以在测试机器上测试,保证正常的系统能完成工作,这些过程包括:
xp_cmdshell xp_dirtree xp_dropwebtask sp_addsrvrolemember
xp_makewebtask xp_runwebtask xp_subdirs sp_addlogin
sp_addextendedproc
在实例属性中选择TCP/IP协议的属性。选择隐藏 SQL Server 实例可防止对1434端口的探测,可修改默认使用的1433端口。除去数据库的guest账户把未经认可的使用者据之在外。 例外情况是master和 tempdb 数据库,因为对他们guest帐户是必需的。另外注意设置好各个数据库用户的权限,对于这些用户只给予所在数据库的一些权限。在程序中不要用sa用户去连接任何数据库。网络上有建议大家使用协议加密的,千万不要这么做,否则你只能重装MSSQL了。
WEB服务器的安全
盗用账号、缓冲区溢出以及执行任意命令是Web服务器比较常见的安全漏洞。
黑客攻击、蠕虫病毒以及木马是因特网比较常见的安全漏洞。
口令攻击、拒绝服务攻击以及IP欺骗是黑客攻击比较常见的类型。
随着网络技术的不断发展,Web服务器面临着许多安全威胁,直接影响到Web服务器的安全。
因此,加强Web服务器的安全防护是一项迫切需要的解决的时代课题。
笔者结合多年的工作实践,认为可从以下3个方面入手来加强Web服务器的安全防护。
第一,加强Web服务器的安全设置。
以Linux为操作平台的Web服务器的安全设置策略,能够有效降低服务器的安全隐患,以确保Web服务器的安全性,主要包括:登录有户名与密码的安全设置、系统口令的安全设置、BIOS的安全设置、使用SSL通信协议、命令存储的修改设置、隐藏系统信息、启用日志记录功能以及设置Web服务器有关目录的权限等[3]。
第二,加强互联网的安全防范。
Web服务器需要对外提供服务,它既有域名又有公网的网址,显然存在一些安全隐患。
所以,可给予Web服务器分配私有的地址,并且运用防火墙来做NAT可将其进行隐藏;同时因为一些攻击来源于内网的攻击,比如把内网计算机和Web服务器存放在相同的局域网之内,则在一定程度上会增加很多安全隐患,所以必须把它划分为不同的虚拟局域网,运用防火墙的地址转换来提供相互间的访问,这样就大大提高了Web服务器的安全性和可靠性;把Web服务器连接至防火墙的DMZ端口,将不适宜对外公布的重要信息的服务器放于内部网络,进而在提供对外的服务的同时,可以最大限度地保护好内部网络[4]。
第三,网络管理员要不断加强网络日常安全的维护与管理。
要对管理员用户名与密码定期修改;要对Web服务器系统的新增用户情况进行定时核对,并且需要认真仔细了解网络用户的各种功能;要及时给予更新Web服务器系统的杀毒软件以及病毒库,必要时可针对比较特殊的病毒给予安装专门杀毒的程序,同时要定期查杀Web服务器的系统病毒,定期查看CPU的正常工作使用状态、后台工作进程以及应用程序,假若发现异常情况需要及时给予妥当处理[5];因为很多木马与病毒均是运用系统漏洞来进行攻击的,所以需要不断自动更新Web服务器系统,以及定期扫描Web服务器系统的漏洞。
Web服务器已经成为了病毒、木马的重灾区。
不但企业的门户网站被篡改、资料被窃取,而且还成为了病毒与木马的传播者。
有些Web管理员采取了一些措施,虽然可以保证门户网站的主页不被篡改,但是却很难避免自己的网站被当作肉鸡,来传播病毒、恶意插件、木马等等。
这很大一部分原因是管理员在Web安全防护上太被动。
他们只是被动的防御。
为了彻底提高Web服务器的安全,Web安全要主动出击。
已经检查过网线。
也试过了ping服务器,依旧无法访问服务器。
好消息是,已经可以将问题定位到物理服务器或操作系统本身了。
换句话说,已经可以开始集中经理对现存的问题进行排查。
接下来,才去从底层到高层的方式来逐层检查问题,首先检查网络接口和本地网络配置是否正常。
DHCP是否启动?Web服务器是否指向正确的DNS服务器?如果是这样,可以根据使用的操作系统平台,检查Web服务是否正常开启。
在Windows环境,需要检查服务器是否具有Web服务的角色。
在Linux环境下,检查会更复杂,可以试试查找http相关的文件或服务来确保服务器是否正在运行。
如果以上方法都不奏效,检查日志并尝试查明在Web服务器宕机时日志中记录的那些信息。
将这些信息发给在故障处理和解决领域更有经验的专业人士,可能会获得更多的帮助。
同样的,如果已经确认网络连接不是问题,就可以使用Wireshark抓包工具对网络中传输的数据进行抓取分析,以此协助处理问题。
总而言之,服务器宕机的原因多种多样。
断电、配置错误、防火墙设置错误、甚至是来自互联网的恶意流量,都可能引发源站宕机并让系统管理员们抓狂。
所有这些问题都足以让企业决策者对冗余解决方案的设计和实施加以重视,同样的针对故障处理流程的设计和制定,还需要根据企业自身网络的实际情况为依据。
如何进行网站性能优化
一、前端优化
网站性能优化是一个很综合的话题,涉及到服务器的配置和网站前后端程序等各个方面,我只是从实际经历出发,分享一下自己所尝试过的网站性能优化方法。之所以在标题上挂一个web2.0,是因为本文更偏重于中小网站的性能优化,我所使用的系统也是典型web2.0的LAMP架构。
首先讲讲前端的优化,用户访问网页的等待时间,有80%是发生在浏览器前端,特别是页面和页面中各种元素(图片、CSS、Javascript、flash)的下载之上。因此在很多情况下,相对于把大量的时间花在艰苦而繁杂的程序改进上,前端的优化往往能起到事半功倍的作用。雅虎最近将内部使用的性能测试工具yslow向第三方公开,并发布了著名的网站性能优化的十三条规则,建议你下载并安装yslow,并作为测评网站优化效果的工具。下面我挑其中特别有价值的具体说明一下优化的方法:
对于第一次访问您网站,尚未在浏览器cache中缓存您网站内容的用户,我们可以做的事情包括:
1)减少一个页面访问所产生的elebrator(),还有收费的ZendPerformanceSuite
3)将静态内容和动态内容分开处理
apache是一个功能完善但比较庞大的webserver,它的资源占用基本上和同时运行的进程数呈正比,对服务器内存的消耗比较大,处理并行任务的效率也一般。在一些情况下,我们可以用比较轻量级的webserver来host静态的图片、样式表和javascript文件,这样可以大大提升静态文件的处理速度,还可以减少对内存占用。我使用的webserver是来自俄罗斯的nginx,其他选择方案还包括lig等知名网站应用中都得到了检验。
6)服务器运行状态的检测,找到影响性能的瓶颈所在
系统优化没有一劳永逸的方法,需要通过检测服务器的运行状态来及时发现影响性能的瓶颈,以及可能存在的潜在问题,因为网站的性能,永远取决于木桶中的短板。可以编写一些脚本来检测web服务的运行,也有一些开源的软件也提供了很好的功能
7)良好的扩展架构是稳定和性能的基础
一些技巧和窍门可以帮你度过眼前的难关,但要想使网站具备应付大规模访问的能力,则需要从系统架构上进行彻底的规划,好在很多前人无私的把他们架构
网站的经验分享给我们,使我们可以少走甚多弯路。我最近读到的两篇有启发的文章:
-从LiveJournal后台发展看大规模网站性能优化方法
-Myspace的六次重构
最后不得不提到程序编码和数据库结构对性能的影响,一系列糟糕的循环语句,一个不合理的查询语句、一张设计不佳的数据表或索引表,都足以会使应用程序运行的速度成倍的降低。培养全局思考的能力,养成良好的编程习惯,并对数据库运行机制有所了解,是提高编程质量的基础。