ホームページ > データベース > mysql チュートリアル > 如何管理和维护服务器(措施、细节、步骤)

如何管理和维护服务器(措施、细节、步骤)

WBOY
リリース: 2016-06-07 16:39:47
オリジナル
5164 人が閲覧しました

第一阶段:服务器搭建 1、 利用iis搭建web服务器,实现相同ip,相同端口,不同主机头的虚拟主机,主机头要做域名解析。 2、 如果要搭建动态网站,可以使用wamp的软件实现,这种方法较简单,软件安装完成即可。如果想深入研究,则可以手工配置支持asp,ASP.net

第一阶段:服务器搭建

1、 利用iis搭建web服务器,实现相同ip,相同端口,不同主机头的虚拟主机,主机头要做域名解析。

2、 如果要搭建动态网站,可以使用wamp的软件实现,这种方法较简单,软件安装完成即可。如果想深入研究,则可以手工配置支持asp,ASP.net,php的动态网站,数据库可以采用sqlserver,access,mysql。

3、 配置好服务器之后,可以把一期网站课做好的网页放到服务器上,也可以按小组独立设计网页。如果想实现动态网站,可以搭建discuss论坛,并实现后台管理。

4、 网页的上传和下载需要ftp服务器的支持,搭建ftp可以采用微软自带的ftp 服务器组件,提高服务器的安全性。

第二阶段:服务器维护

Web服务器的日常维护是网管的一项重要工作,主要工作有:入侵检测、服务器优化、常见故障处理以及日志管理等一系列日常维护工作。

一、入侵检测工作:
作为服务器的日常管理,入侵检测是一项非常重要的工作,在平常的检测过程中,主要包含日常的服务器安全例行检查和遭到入侵时的入侵检查,也就是分为在入侵进行时的安全检查和在入侵前后的安全检查。
日常的安全检测:日常安全检测主要针对系统的安全性,工作主要按照以下步骤进行。 1、查看服务器状态:
打开进程管理器,查看服务器性能,观察CPU和内存使用状况。查看是否有CPU和内存占用过高等异常情况。
2、检查当前进程情况
切换“任务管理器”到进程,查找有无可疑的应用程序或后台进程在运行。用进程管理器查看进程时里面会有一项taskmgr,这个是进程管理器自身的进程。如果正在运行windows更新会有一项wuauclt.exe进程。对于拿不准的进程或者说不知道是服务器上哪个应用程序开启的进程,可以在网络上搜索一下该进程名加以确定。通常的后门如果有进程的话,一般会取一个与系统进程类似的名称,如svch0st.exe,此时要仔细辨别[通常迷惑手段是变字母o为数字0,变字母l为数字1]
3、检查系统帐号
打开计算机管理,展开本地用户和组选项,查看组选项,查看administrators组是否添加有新帐号,检查是否有克隆帐号。
4、查看当前端口开放情况
使用activeport,查看当前的端口连接情况,尤其是注意与外部连接着的端口情况,看是否有未经允许的端口与外界在通信。如有,立即关闭该端口并记录下该端口对应的程序并记录,将该程序转移到其他目录下存放以便后来分析。打开计算机管理==》软件环境==》正在运行任务[在此处可以查看进程管理器中看不到的隐藏进程],查看当前运行的程序,如果有不明程序,记录下该程序的位置,打开任务管理器结束该进程,对于采用了守护进程的后门等程序可尝试结束进程树,如仍然无法结束,在注册表中搜索该程序名,删除掉相关键值,切换到安全模式下删除掉相关的程序文件。
5、检查系统服务
运行services.msc,检查处于已启动状态的服务,查看是否有新加的未知服务并确定服务的用途。对于不清楚的服务打开该服务的属性,查看该服务所对应的可执行文件是什么,如果确定该文件是系统内的正常使用的文件,可粗略放过。查看是否有其他正常开放服务依存在该服务上,如果有,可以粗略的放过。如果无法确定该执行文件是否是系统内正常文件并且没有其他正常开放服务依存在该服务上,可暂时停止掉该服务,然后测试下各种应用是否正常。对于一些后门由于采用了hook系统API技术,添加的服务项目在服务管理器中是无法看到的,这时需要打开注册表中的HKEY_LOCAL_MACHINE—SYSTEM—CurrentControlSet—Services项进行查找,通过查看各服务的名称、对应的执行文件来确定是否是后门、木马程序等。
6、查看相关日志
运行eventvwr.msc,粗略检查系统中的相关日志记录。在查看时在对应的日志记录上点右键选“属性”,在“筛选器”中设置一个日志筛选器,只选择错误、警告,查看日志的来源和具体描述信息。对于出现的错误如能在服务器常见故障排除中找到解决办法则依照该办法处理该问题,如果无解决办法则记录下该问题,详细记录下事件来源、ID号和具体描述信息,以便找到问题解决的办法。
7、检查系统文件
主要检查系统盘的exe和dll文件,建议系统安装完毕之后用dir *.exe /s >1.txt将C盘所有的exe文件列表保存下来,然后每次检查的时候再用该命令生成一份当时的列表,用fc比较两个文件,同样如此针对dll文件做相关检查。需要注意的是打补丁或者安装软件后重新生成一次原始列表。检查相关系统文件是否被替换或系统中是否被安装了木马后门等恶意程序。必要时可运行一次杀毒程序对系统盘进行一次扫描处理。
8、检查安全策略是否更改
打开本地连接的属性,查看“常规”中是否只勾选了“TCP/IP协议”,打开“TCP/IP”协议设置,点“高级”==》“选项”,查看“IP安全机制”是否是设定的IP策略,查看“TCP/IP”筛选允许的端口有没有被更改。打开“管理工具”=》“本地安全策略”,查看目前使用的IP安全策略是否发生更改。
9、检查目录权限
重点查看系统目录和重要的应用程序权限是否被更改。需要查看的目录有c:; c:winnt; C:winntsystem32; c:winntsystem32/inetsrv;c:winntsystem32/inetsrvdata; c:documents and Settings;然后再检查serv-u安装目录,查看这些目录的权限是否做过变动。检查system32下的一些重要文件是否更改过权限,包括:cmd,net,ftp,tftp,cacls等文件。
10、检查启动项
主要检查当前的开机自启动程序。可以使用AReporter来检查开机自启动的程序。

二、数据备份和数据恢复(用户自己备份)
数据备份工作:
1、每月备份一次系统数据。
2、备份系统后的两周单独备份一次应用程序数据,主要包括IIS、数据库等数据。 3、确保备份数据的安全,并分类放置这些数据备份。因基本上采用的都是全备份方法,对于数据的保留周期可以只保留该次备份和上次备份数据两份即可。

数据恢复工作:
1、系统崩溃或遇到其他不可恢复系统正常状态情况时,先对上次系统备份后发生的一些更改事件如应用程序、安全策略等的设置做好备份,恢复完系统后再恢复这些更改。
2、应用程序等出错采用最近一次的备份数据恢复相关内容。

三、服务器性能优化
1、整理系统空间:
删除系统备份文件,删除驱动备份,刪除不用的输入法,刪除系统的帮助文件,卸载不常用的组件。最小化C盘文件。
2、性能优化:
删除多余的开机自动运行程序;
减少预读取,减少进度条等待时间;
让系统自动关闭停止响应的程序;
禁用错误报告,但在发生严重错误时通知;
关闭自动更新,改为手动更新计算机;
启用硬件和DirectX加速;
禁用关机事件跟踪;
禁用配置服务器向导;
减少开机磁盘扫描等待时间;
将处理器计划和内存使用都调到应用程序上;
调整虚拟内存;
内存优化;
修改cpu的二级缓存;
修改磁盘缓存。

3、IIS性能优化
1)调整IIS高速缓存
HKEY_LOCAL_MACHINE SystemCurrentControlSetServicesInetInfoParametersMemoryCacheSize MemoryCacheSize的范围是从0道4GB,缺省值为3072000(3MB)。一般来说此值最小应设为服务器内存的10%。IIS通过高速缓存系统句柄、目录列表以及其他常用数据的值来提高系统的性能。这个参数指明了分配给高速缓存的内存大小。如果该值为0,那就意味着“不进行任何高速缓存”。在这种情况下系统的性能可能会降低。如果你的服务器网络通讯繁忙,并且有足够的内存空间,可以考虑增大该值。必须注意的是修改注册表后,需要重新启动才能使新值生效。
2)不要关闭系统服务: “Protected Storage”
3)对访问流量进行限制
(1)对站点访问人数进行限制
(2)站点带宽限制。保持HTTP连接。
(3)进程限制, 输入CPU的耗用百分比
4)提高IIS的处理效率
应用程序设置”处的“应用程序保护”下拉按钮,从弹出的下拉列表中,选中“低(IIS进程)”选项,IIS服务器处理程序的效率可以提高20%左右。但此设置会带来严重的安全问题,不值得推荐。

5)将IIS服务器设置为独立的服务器
(1)提高硬件配置来优化IIS性能
硬盘:硬盘空间被NT和IIS服务以如下两种方式使用:一种是简单地存储数据;另一种是作为虚拟内存使用。如果使用Ultra2的SCSI硬盘,可以显著提高IIS的性能
(2)可以把NT服务器的页交换文件分布到多个物理磁盘上,注意是多个“物理磁盘”,分布在多个分区上是无效的。另外,不要将页交换文件放在与WIndows NT引导区相同的分区中
(3)使用磁盘镜像或磁盘带区集可以提高磁盘的读取性能
(4)最好把所有的数据都储存在一个单独的分区里。然后定期运行磁盘碎片整理程序以保证在存储Web服务器数据的分区中没有碎片。使用NTFS有助于减少碎片。推荐使用Norton的Speeddisk,可以很快的整理NTFS分区。
6)起用HTTP压缩
HTTP压缩是在Web服务器和浏览器间传输压缩文本内容的方法。HTTP压缩采用通用的压缩算法如gzip等压缩HTML、Javas cript或CSS文件。可使用pipeboost进行设置。
7)起用资源回收
使用IIS5 Recycle定时回收进程资源。

四、服务器常见故障排除(以下列举的主要都为动态网站故障,供参考)

1、ASP“请求的资源正在使用中”的解决办法:

该问题一般与杀毒软件有关,在服务器上安装个人版杀毒软件所致。出现这种错误可以通过卸载杀毒软件解决,也可尝试重新注册vbs cript.dll和jscript.dll来解决,在命令行下运行:regsvr32 vbscript.dll 和regsvr32 jscript.dll即可。

2、ASP500错误解决办法:

首先确定该问题是否是单一站点存在还是所有站点存在,如果是单一站点存在该问题,则是网站程序的问题,可打开该站点的错误提示,把IE的“显示友好HTTP错误”信息取消,查看具体错误信息,然后对应修改相关程序。如是所有站点存在该问题,并且HTML页面没有出现该问题,相关日志出现“服务器无法加载应用程序‘/LM/W3SVC/1/ROOT‘。错误是 ‘不支持此接口‘”。那十有八九是服务器系统中的ASP相关组件出现了问题,重新启动IIS服务,尝试是否可以解决该问题,无法解决重新启动系统尝试是否可解决该问题,如无法解决可重新修复一下ASP组件:首先删除com组件中的关于IIS的三个东西,需要先将属性里的高级中“禁止删除”的勾选取消。
命令行中,输入“cd winntsystem32inetsrv”字符串命令,单击回车键后,再执行“rundll32 wamreg.dll,CreateIISPackage”命令,接着再依次执行“regsvr32 asptxn.dll”命令、“iisreset”命令,最后重新启动一下计算机操作系统,这样IIS服务器就能重新正确响应ASP脚本页面了。

3、IIS出现105错误:

在系统日志中“服务器无法注册管理工具发现信息。管理工具可能无法看到此服务器” 来源:w3svc ID:105
解决办法:在网络连接中重新安装netbios协议即可,安装完成之后取消掉勾选。

4、MySQL服务无法启动【错误代码1067】的解决方法

启动MySQL服务时都会在中途报错!内容为:在 本地计算机 无法启动MySQL服务 错误1067:进程意外中止。
解决方法:查找Windows目录下的my.ini文件,编辑内容(如果没有该文件,则新建一个),至少包含basedir,datadir这两个基本的配置。
[mysqld]
# set basedir to installation path, e.g., c:/mysql
# 设置为MYSQL的安装目录
basedir=D:/www/WebServer/MySQL
# set datadir to location of data directory,
# e.g., c:/mysql/data or d:/mydata/data
# 设置为MYSQL的数据目录
datadir=D:/www/WebServer/MySQL/data
注意,我在更改系统的temp目录之后没有对更改后的目录给予system用户的权限也出现过该问题。

5、DllHotst进程消耗cpu 100%的问题

服务器正常CPU消耗应该在75%以下,而且CPU消耗应该是上下起伏的,出现这种问题的服务器,CPU会突然一直处100%的水平,而且不会下降。查看任务管理器,可以发现是DLLHOST.EXE消耗了所有的CPU空闲时间,管理员在这种情况下,只好重新启动IIS服务,奇怪的是,重新启动IIS服务后一切正常,但可能过了一段时间后,问题又再次出现了。
直接原因:
有一个或多个ACCESS数据库在多次读写过程中损坏, MDAC系统在写入这个损坏的ACCESS文件时,ASP线程处于BLOCK状态,结果其他线程只能等待,IIS被死锁了,全部的CPU时间都消耗在DLLHOST中。
解决办法:
把数据库下载到本地,然后用ACCESS打开,进行修复操作。再上传到网站。如果还不行,只有新建一个ACCESS数据库,再从原来的数据库中导入所有表和记录。然后把新数据库上传到服务器上。

6、Windows installer出错:

在安装软件的时候出现“不能访问windows installer 服务。可能你在安全模式下运行 windows ,或者windows installer 没有正确的安装。请和你的支持人员联系以获得帮助” 如果试图重新安装InstMsiW.exe,提示:“指定的服务已存在”。
解决办法:
关于installer的错误,可能还有其他错误提示,可尝试以下解决办法:
首先确认是否是权限方面的问题,提示信息会提供相关信息,如果是权限问题,给予winnt目录everyone权限即可[安装完把权限改回来即可]。如果提示的是上述信息,可以尝试以下解决方法:运行“msiexec /unregserver”卸载Windows Installer服务,如果无法卸载可使用

SRVINSTW进行卸载,然后下载windows installer的安装程序[地址:http://www.newhua.com/cfan/200410/instmsiw.exe],用winrar解压该文件,在解压缩出来的文件夹里面找到msi.inf文件,右键单击选择“安装”,重新启动系统后运行“msiexec /regserver”重新注册Windows Installer服务。

五、服务器管理

服务器日常管理安排
服务器管理工作必须规范严谨,尤其在不是只有一位管理员的时候,日常管理工作包括:

1、服务器的定时重启。每台服务器保证每周重新启动一次。重新启动之后要进行复查,确认服务器已经启动了,确认服务器上的各项服务均恢复正常。对于没有启动起来或服务未能及时恢复的情况要采取相应措施。前者可请求托管商的相关工作人员帮忙手工重新启动,必要时可要求让连接上显示器确认是否已启动起来;后者需要远程登陆上服务器进行原因查找并根据原因尝试恢复服务。

2、服务器的安全、性能检查,每服务器至少保证每周登陆两次粗略检查两次。每次检查的结果要求进行登记在册。如需要使用一些工具进行检查,可直接在e:tools中查找到相关工具。对于临时需要从网络上找的工具,首先将IE的安全级别调整到高,然后在网络上进行查找,不要去任何不明站点下载,尽量选择如华军、天空等大型网站进行下载,下载后确保当前杀毒软件已升级到最新版本,升级完毕后对下载的软件进行一次杀毒,确认正常后方能使用。对于下载的新工具对以后维护需要使用的话,将该工具保存到e:tools下,并在该目录中的readme.txt文件中做好相应记录,记录该工具的名称,功能,使用方法。并且在该文件夹中的rar文件夹中保留一份该工具的winrar压缩文件备份,设置解压密码。

3、服务器的数据备份工作(用户自己备份),每服务器至少保证每月备份一次系统数据,系统备份采用ghost方式,对于ghost文件固定存放在e:ghost文件目录下,文件名以备份的日期命名,如0824.gho,每服务器至少保证每两周备份一次应用程序数据,每服务器至少保证每月备份一次用户数据,备份的数据固定存放在e:databak文件夹,针对各种数据再建立对应的子文件夹,如serv-u用户数据放在该文件夹下的servu文件夹下,iis站点数据存放在该文件夹下的iis文件夹下。

4、服务器的监控工作,每天正常工作期间必须保证监视所有服务器状态,一旦发现服务停止要及时采取相应措施。对于发现服务停止,首先检查该服务器上同类型的服务是否中断,如所有同类型的服务都已中断及时登陆服务器查看相关原因并针对该原因尝试重新开启对应服务。

5、服务器的相关日志操作,每服务器保证每月对相关日志进行一次清理,清理前对应的各项日志如应用程序日志、安全日志、系统日志等都应选择“保存日志”。

6、服务器的补丁修补、应用程序更新工作,对于新出的漏洞补丁,应用程序方面的安全更新一定要在发现的第一时间给每服务器打上应用程序的补丁。

7、服务器的隐患检查工作,主要包括安全隐患、性能等方面。每服务器必须保证每月重点的单独检查一次。每次的检查结果必须做好记录。

8、不定时的相关工作,每服务器由于应用软件更改或其他某原因需要安装新的应用程序或卸载应用程序等操作必须知会所有管理员。

9、定期的管理密码更改工作,每服务器保证至少每两个月更改一次密码,对于SQL服务器由于如果SQL采用混合验证更改系统管理员密码会影响数据库的使用则不予修改。

相关建议:对每服务器设立一个服务器管理记载,管理员每次登陆系统都应该在此中进行详细的记录,共需要记录以下几项:登入时间,退出时间,登入时服务器状态[包含不明进程记录,端口连接状态,系统帐号状态,内存/CPU状态],详细操作情况记录[详细记录下管理员登陆系统后的每一步操作]。无论是远程登陆操作还是物理接触操作都要进行记录,然后将这些记录按照各服务器归档,按时间顺序整理好文档。

对于数据备份、服务器定时重启等操作建议将服务器分组,例如分成四组,每月的周六晚备份一组服务器的数据,每周的某一天定时去重启一组的服务器,这样对于工作的开展比较方便,这些属于固定性的工作。另外有些工作可以同步进行,如每月一次的数据备份、安全检查和管理员密码修改工作,先进行数据备份,然后进行安全检查,再修改密码。对于需要的即时操作如服务器补丁程序的安装、服务器不定时的故障维护等工作,这些属于即时性的工作,但是原则上即时性的工作不能影响固定工作的安排。

补充:管理员日常注意事项
在服务器管理过程中,管理员需要注意以下事项:
1、对自己的每一次操作应做好详细记录,具体见上述建议,以便于后来检查。
2、努力提高自身水平,加强学习。

第三阶段:服务器安全

一、安装杀毒软件和防火墙。

二、用户安全设置:

1、禁用Guest账号

在计算机管理的用户里面把Guest账号禁用。为了保险起见,最好给Guest加一个复杂的密码。你可以打开

记事本,在里面输入一串包含特殊字符、数字、字母的长字符串,然后把它作为Guest用户的密码拷进去。

2、限制不必要的用户

去掉所有的Duplicate User用户、测试用户、共享用户等等。用户组策略设置相应权限,并且经常检查系统

的用户,删除已经不再使用的用户。这些用户很多时候都是黑客们入侵系统的突破口。

3、创建两个管理员账号

创建一个一般权限用户用来收信以及处理一些日常事物,另一个拥有Administrators 权限的用户只在需要

的时候使用。

4、把系统Administrator账号改名

大家都知道,Windows 2000 的Administrator用户是不能被停用的,这意味着别人可以一遍又一遍地尝

试这个用户的密码。尽量把它伪装成普通用户,比如改成Guesycludx。

5、创建一个陷阱用户

什么是陷阱用户?即创建一个名为“Administrator”的本地用户,把它的权限设置成最低,什么事也干不了

的那种,并且加上一个超过10位的超级复杂密码。这样可以让那些 Hacker们忙上一段时间,借此发现它们

的入侵企图。

6、把共享文件的权限从Everyone组改成授权用户

任何时候都不要把共享文件的用户设置成“Everyone”组,包括打印共享,默认的属性就是“Everyone”组

的,一定不要忘了改。

7、开启用户策略

使用用户策略,分别设置复位用户锁定计数器时间为20分钟,用户锁定时间为20分钟,用户锁定阈值为3

次。

8、不让系统显示上次登录的用户名

默认情况下,登录对话框中会显示上次登录的用户名。这使得别人可以很容易地得到系统的一些用户名,进

而做密码猜测。修改注册表可以不让对话框里显示上次登录的用户名。方法为:打开注册表编辑器并找到注

册表项“HKLMSoftwareMicrosoftWindows TCurrentVersionWinlogonDont-

DisplayLastUserName”,把REG_SZ的键值改成1。

9、使用安全密码

一些公司的管理员创建账号的时候往往用公司名、计算机名做用户名,然后又把这些用户的密码设置得太简

单,比如“welcome”等等。因此,要注意密码的复杂性,还要记住经常改密码。

10、设置屏幕保护密码

11 、开启密码策略

注意应用密码策略,如启用密码复杂性要求,设置密码长度最小值为6位 ,设置强制密码历史为5次,时间

为42天。

12、考虑使用智能卡来代替密码

对于密码,总是使安全管理员进退两难,密码设置简单容易受到黑客的攻击,密码设置复杂又容易忘记。如果条件允许,用智能卡来代替复杂的密码是一个很好的解决方法。

三、本地安全策略的设置:

开始菜单—>管理工具—>本地安全策略

A、本地策略——>审核策略

审核策略更改成功 失败

审核登录事件成功 失败

审核对象访问失败

审核过程跟踪无审核

审核目录服务访问失败

审核特权使用失败

审核系统事件成功 失败

审核账户登录事件成功 失败

审核账户管理成功 失败

B、本地策略——>用户权限分配

关闭系统:只有Administrators组、其它全部删除。

通过终端服务拒绝登陆:加入Guests、User组

通过终端服务允许登陆:只加入Administrators组,其他全部删除

C、本地策略——>安全选项

交互式登陆:不显示上次的用户名启用

网络访问:不允许SAM帐户和共享的匿名枚举 启用

网络访问:不允许为网络身份验证储存凭证启用

网络访问:可匿名访问的共享全部删除

网络访问:可匿名访问的命全部删除

网络访问:可远程访问的注册表路径全部删除

网络访问:可远程访问的注册表路径和子路径全部删除

帐户:重命名来宾帐户重命名一个帐户

帐户:重命名系统管理员帐户重命名一个帐户

四、搭建serv-u的ftp的注意事项:

1、安装时的两点注意

在安装Serv-U时,就应该注意尽量不要将其安装在默认的C:\Program Files\Serv-U目录下,应该更换一个不易被猜测到的目录

2、初次设置尤重要

安装好Serv-U初次运行时,会自动弹出创建域和账户操作向导窗口。由于使用向导创建的账户会带来一些未知的安全问题,因此在这里建议单击“取消”按钮,改用手工来创建。

在Serv-U处于运行状态时,我们需要修改默认的管理口令此时在“新密码”和“重复新密码”窗口中连续输入自己欲设置的口令。这样用户在设置一些本地服务时将必须输入口令才能完成。

3、账户设置须仔细

1)账户失效时间

对于新账的账户,必须认真设置其权限。首先如果账户有使用时间限制,那么一定需要在“帐号”标签中设置帐户自动“移除”的时间,这主要是针对一些临时账户用户。

2)防范大容量文件攻击

其次为了防范大容量文件攻击,大家需要限制最大速度。切换到“常规”标签,我们可以看到默认状态下“最大上传速度”和“最大下载速度”都是空白一片,则表示没有限制,这样一些黑客就会这个漏洞传送大容量的文件,从而导致FTP处理不过来使程序停止响应或自动关闭。因此,用户可以根据需要填写一个限制的速度,单位是KB/秒,一般填写1000KB/秒左右为宜。另外“空闲超时”和“会话超时”也建议设置一个数值,通常的10分钟左右即可。

3)目录访问权限

一般来说,我们不需要将多余的权限授予用户。因此,中需要根据其账户类型,在“目录访问”标签中选择相应的操作类型即可。但是有一点需要注意的是,不管是什么用户,建议都不要授予其“运行”权限,因为在取得webshell后就可以很容易的运行攻击程序来破坏Serv-U的正常工作。

4)限制访问来源

通常情况下,用户登录FTP时的IP地址都相对固定,即使是使用ADSL这类拨号上网动态IP地址用户,其用于自动分配的IP地址都是有一个相对固定的范围的。对此,我们可以切换到“IP访问”标签,将“编辑规则”设为“允许访问”,然后在“规则”中输入允许访问的IP地址或IP地址段,输入之后单击“添加”按钮,可以添加多条规则。另外我们也可以从系统日志中查找蛛丝马迹,发现来明不明的IP地址,可以将其添加到“拒绝访问”列表中。

4、启用SSL

默认状态下,Serv-U的数据传输都是以明文方式传送的,这样很容易被一些嗅探工具捕获。对此,我们可以启用SSL加密。

首先在Serv-U的管理窗口左侧选择“本地服务器”下的“设置”项,在右侧选择“SSL证书”标签,然后在“普通名称”中填入实际使用的FTP地址,其它的项目随便填写,填好后单击“应用”按钮完成SSL证书的创建。

接下来,我们就可以在域列表中选择自己已经创建好的域,然后在右侧的“安全性”下拉菜单中选中“只允许SSL/TLS进程”选项,再单击“应用”按钮即可启用当前域的SSL加密功能了。

不过要注意的是,启用SSL加密后,默认的FTP端口21将被改成990,对此需要告知用户,否则无法成功连接到FTP服务器。

5、认真查阅日志

用户访问FTP服务器,Serv-U都会忠诚的做下详实的记录,这些记录中包括用户访问的IP地址、连接时间、断开时间、上传下载的文件等。在管理窗口左侧选择要查看的域,然后再选择“活动”项,在右侧选择“域日志”,这样在这里即可显示详细的日志信息了。通过这些日志信息可以判断是否有恶意攻击。

6、注意升级

每一次补丁的发布都会弥补一些缺陷,因此建议大家在可能的情况下需要关注安全新闻,注意打补丁及时升级。这同样是网络安全中通用的一条法则。

五、关闭所有不需要的服务和端口:

以下服务除非特殊情况非开不可,如果不用都要关掉,例如:alerter,Application Layer Gateway Service,Background Intelligent Transfer Service,Computer Browser,Distributed File System,Help and Support,Messenger,NetMeeting Remote Desktop Sharing,Print Spooler,Remote Registry,Task Scheduler,Telnet等。

六、如果网站为动态网站,还需要注意以下安全:

1、php服务器安全

(1) 打开php的安全模式

php的安全模式是个非常重要的内嵌的安全机制,能够控制一些php中的函数,比如system(),

同时把很多文件操作函数进行了权限控制,也不允许对某些关键文件的文件,比如/etc/passwd,

但是默认的php.ini是没有打开安全模式的,我们把它打开:

safe_mode = on

(2) 用户组安全

当safe_mode打开时,safe_mode_gid被关闭,那么php脚本能够对文件进行访问,而且相同

组的用户也能够对文件进行访问。

建议设置为:

safe_mode_gid = off

如果不进行设置,可能我们无法对我们服务器网站目录下的文件进行操作了,比如我们需要

对文件进行操作的时候。

(3) 安全模式下执行程序主目录

如果安全模式打开了,但是却是要执行某些程序的时候,可以指定要执行程序的主目录:

safe_mode_exec_dir = D:/usr/bin

一般情况下是不需要执行什么程序的,所以推荐不要执行系统程序目录,可以指向一个目录,

然后把需要执行的程序拷贝过去,比如:

safe_mode_exec_dir = D:/tmp/cmd

但是,我更推荐不要执行任何程序,那么就可以指向我们网页目录:

safe_mode_exec_dir = D:/usr/www

(4) 安全模式下包含文件

如果要在安全模式下包含某些公共文件,那么就修改一下选项:

safe_mode_include_dir = D:/usr/www/include/

其实一般php脚本中包含文件都是在程序自己已经写好了,这个可以根据具体需要设置。

(5) 控制php脚本能访问的目录

使用open_basedir选项能够控制PHP脚本只能访问指定的目录,这样能够避免PHP脚本访问

不应该访问的文件,一定程度上限制了phpshell的危害,我们一般可以设置为只能访问网站目录:

open_basedir = D:/usr/www

(6) 关闭危险函数

如果打开了安全模式,那么函数禁止是可以不需要的,但是我们为了安全还是考虑进去。比如,

我们觉得不希望执行包括system()等在那的能够执行命令的php函数,或者能够查看php信息的

phpinfo()等函数,那么我们就可以禁止它们:

disable_functions = system,passthru,exec,shell_exec,popen,phpinfo

如果你要禁止任何文件和目录的操作,那么可以关闭很多文件操作

disable_functions =

chdir,chroot,dir,getcwd,opendir,readdir,scandir,fopen,unlink,delete,copy,mkdir,

rmdir,rename,file,file_get_contents,fputs,fwrite,chgrp,chmod,chown

以上只是列了部分不叫常用的文件处理函数,你也可以把上面执行命令函数和这个函数结合,

就能够抵制大部分的phpshell了。

(7) 关闭PHP版本信息在http头中的泄漏

我们为了防止黑客获取服务器中php版本的信息,可以关闭该信息斜路在http头中:

expose_php = Off

比如黑客在 telnet www.12345.com 80 的时候,那么将无法看到PHP的信息。

(8) 关闭注册全局变量

在PHP中提交的变量,包括使用POST或者GET提交的变量,都将自动注册为全局变量,能够直接访问,

这是对服务器非常不安全的,所以我们不能让它注册为全局变量,就把注册全局变量选项关闭:

register_globals = Off

当然,如果这样设置了,那么获取对应变量的时候就要采用合理方式,比如获取GET提交的变量var,

那么就要用$_GET['var']来进行获取,这个php程序员要注意。

(9) 打开magic_quotes_gpc来防止SQL注入

SQL注入是非常危险的问题,小则网站后台被入侵,重则整个服务器沦陷,

所以一定要小心。php.ini中有一个设置:

magic_quotes_gpc = Off

这个默认是关闭的,如果它打开后将自动把用户提交对sql的查询进行转换,

比如把 ‘ 转为 \’等,这对防止sql注射有重大作用。所以我们推荐设置为:

magic_quotes_gpc = On

(10) 错误信息控制

一般php在没有连接到数据库或者其他情况下会有提示错误,一般错误信息中会包含php脚本当

前的路径信息或者查询的SQL语句等信息,这类信息提供给黑客后,是不安全的,所以一般服务器建议禁止

错误提示:

display_errors = Off

如果你却是是要显示错误信息,一定要设置显示错误的级别,比如只显示警告以上的信息:

error_reporting = E_WARNING & E_ERROR

当然,我还是建议关闭错误提示。

(11) 错误日志

建议在关闭display_errors后能够把错误信息记录下来,便于查找服务器运行的原因:

log_errors = On

同时也要设置错误日志存放的目录,建议根apache的日志存在一起:

error_log = D:/usr/local/apache2/logs/php_error.log

注意:给文件必须允许apache用户的和组具有写的权限。

2、数据库的安全:

常用的数据库有sqlserver,mysql,对于安全性方面主要有以下几点:

1、 账户安全,账户的密码一定要复杂。

2、 端口安全,mysql端口是3306,sqlserver是1433,端口最好改掉

3、 对于mysql最好不要使用图形化工具,命令行模式最好。

4、 Sqlserver的sa账户最好禁用,也可以建立陷阱用户。

5、 经常对数据库做备份。

八、启用windows防火墙

桌面—>网上邻居—>(右键)属性—>本地连接—>(右键)属性—>高级—>

(选中)Internet 连接防火墙—>设置,把服务器上面要用到的服务端口选中

例如:一台WEB服务器,要提供WEB(80)、FTP(21)服务及远程桌面管理(3389)

在“FTP 服务器”、“WEB服务器(HTTP)”、“远程桌面”、“安全WEB服务器”前面打上对号,如果你要提供服务的端口不在里面,你也可以点击“添加”铵钮来添加,SMTP和POP3根据需要打开,具体参数可以参照系统里面原有的参数。然后点击确定。注意:如果是远程管理这台服务器,请先确定远程管理的端口是否选中或添加。一般需要打开的端口有:21、 25、 80、 110、 443、 3389、 等,根据需要开放需要的端口,关闭掉不安全的端口,如135,139,445,1433等。

九、权限设置

WINDOWS用户,在WINNT系统中大多数时候把权限按用户(組)来划分。在【开始→程序→管理工具→计算机管理→本地用户和组】管理系统用户和用户组。

NTFS权限设置,请记住分区的时候把所有的硬盘都分为NTFS分区,然后我们可以确定每个分区对每个用户开放的权限。【文件(夹)上右键→属性→安全】在这里管理NTFS文件(夹)权限。

IIS匿名用户,每个IIS站点或者虚拟目录,都可以设置一个匿名访问用户(现在暂且把它叫“IIS匿名用户”),当用户访问你的网站的.ASP文件的时候,这个.ASP文件所具有的权限,就是这个“IIS匿名用户”所具有的权限。

磁盘权限

1)系统盘及所有磁盘只给Administrators组和SYSTEM的完全控制权限

2)系统盘\DocumentsandSettings目录只给Administrators组和SYSTEM的完全控制权限

3)系统盘\DocumentsandSettings\AllUsers目录只给Administrators组和SYSTEM的完全控制权限

4)系统盘\Inetpub目录及下面所有目录、文件只给Administrators组和SYSTEM的完全控制权限

5)系统盘\Windows\System32\cacls.exe、cmd.exe、net.exe、net1.exe文件只给Administrators组和SYSTEM的完全控制权限

十、给操作系统和Web服务器打补丁
一旦漏洞公布,如果你不修补它,迟早会被人发现并利用

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート