服务器安全维护计划书
一.服务器操作系统的安全维护
1、对网站的代码进行检查,检查是否被黑客放置了网页木马和ASP木马、网站代码中是否有后门程序。
2、对网站代码安全性进行检查,检查是否存在SQL注入漏洞、上传文件漏洞等常见的危害站点安全的漏洞。
3、对服务器操作系统的日志进行分析,检查系统是否被入侵,查看是否被黑客安装了木马及对系统做了哪些改动。
4、对服务器操作系统打上最新的补丁,合理的配置和安装常用的应用软件(比如防火墙、杀毒软件、数据库等),并将服务器的软件更新为安全、稳定、兼容性好的版本。
5、对服务器操作系统进行合理配置和优化,注销掉不必要的系统组件,停掉不必要的危险的服务、禁用危险的端口,通过运行最小的服务以达到最大的安全性。
6、对常用应用程序的服务端口和提示信息,进行隐藏和伪造,防止黑客利用扫描工具来获取服务器信息。
7、合理的配置权限,每个站点均配置独立的internet来宾帐号,限制internet 来宾帐号的访问权限,只允许其可以读取和执行运行网站所需要的程序,只对甲方站点的网站目录有读取和写入权限,禁止访问其它目录,并限制其执行危险的命令,这样就算黑客有办法上传了木马程序到甲方网站目录,也无法执行,更不会对系统造成危害。
8、降低SQL数据库、SERV-U FTP等应用软件服务的运行权限,删除MSSQL数据库不必要的、危险的存储过程,防止黑客利用漏洞来进一步入侵和提升权限,并通过有效的设置,防止未知的溢出攻击。
二.
IIS
优化
1
.禁止多余的
Web
服务扩展
IIS6.0
支持多种服务扩展,有些管理员偷懒或者不求甚解,担心
Web
运行中出现解析错误,索性在建站时开启了所有的
Web
服务扩展。殊不
知,这其中的有些扩展比如“所有未知
CGI
扩展”、“在
服务器
端的包含文件”等是
Web
运行中根本用不到的,况且还占用
IIS
资源影响性能拖垮
Web
,甚
至某些扩展存在漏洞容易被攻击者利用。因此,科学的原则是,用到什么扩展就启用什么扩展。
如果企业站点是静态页面,那什么扩展都不要开启。不过现在的企业站点都是交互的动态页面比如
asp
、
php
、
jsp
等。如果是
asp
页面,那只
需开启“
Active Server Pages
”即可。对于
php
、
jsp
等动态页面
IIS6.0
默认是不支持的需要进行安装相应组件实现对这些扩展的支持。不过,此时用不到的扩展完全可以
禁用。
禁止
Web
服务扩展的操作非常简单,打开“
IIS
管理器”,在左窗格中点击“
Web
服务扩展”,在右侧选择相应的扩展,然后点击“禁用”即可。
2
.删除不必要的
IIS
扩展名映射
IIS
默认支持
.asp
、
.cdx
等
8
种扩展名的映射,这其中除了
.asp
之外其他的扩展几乎用不到。这些用不着的扩展会加重
web
服务器
的负担,而且带来一定的安全隐患。比如
.asa
,
.cer
等扩展名,就可以被攻击者利用来获得
webshell
。因为一般的
asp
系统都会限制
asp
文件的上传,但如果没有限制
.asa
或者
.cer
等扩展名,攻击者就可以更改文件后缀突破上传限制,运行
.asa
或者
.cer
的文件获得
webshell
。
删除
IIS
扩展名的操作是:打开
IIS
管理器,右键单击“默认
Web
站点”选择“属性”,点击“主目录”选项卡,然后点击“配置”打开应用程序
窗口,最后根据自己的需要选择不必要的应用程序映射比如
.shtml, .shtm, .stm
等,然后点击“删除”即可。
三.
磁盘权限设置
第一,先创建一个用户组,以后任何的站点的用户都建在这个�M里,然后配置这个组在各个分区没有权限或完全拒绝(直接在根磁盘配置就能够了,不要替换任何子目录的权限)。然后再配置各个IIS
用户在各自的文档夹里的权限。
第二,改名或卸载不安全组件
第三,把system32
下面的一些常用网络命令配置成只有 system administrators
能够访问
其他用户全部删除,如net.exe tftp.exe at.exe ....
网上应该有很多相关介绍了
第四,使用一般用户启动mssql
或mysql
数据库
假如出现asp
数据库连不上的问题,应该是c:\windows\temp c:\WINDOWS\IIS Temporary Compressed Files
文档夹没有给虚拟用户组权限,给他可读可写。
这样配置出来,不支持asp.net
,
要支持的话 c:\WINDOWS\Microsoft.NET\Framework\v1.1.4322
这个目录也要给虚拟用户组可运行权限,web
文档夹要加上iis_wpg
可读可写,但开启asp.net
会带来新的安全问题,假如无需的话不建议开启。
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
即可生效。但不推荐该方法。
另外,对于FSO
由于用户程序需要使用,服务器上可以不注销掉该组件,这里只提一下FSO
的防范,但并不需要在自动开通空间的虚拟商服务器上使用,只适合于手工开通的站点。可以针对需要FSO
和不需要FSO
的站点设置两个组,对于需要FSO
的用户组给予c: winntsystem32scrrun.dll
文件的执行权限,不需要的不给权限。重新启动服务器即可生效。
对于这样的设置结合上面的权限设置,海阳木马已经在这里失去了作用.
四. 服务器的备份,还原
备份是指将系统中的数据的副本按一定的策略储存到安全区域,而还原是备份的反向过程。备份的重要性只有在还原的时候才可以体现出来!
启动备份的两种方法:1.开始--所有程序—附件—系统工具—启动工具—备份,2.开始—运行—ntbackup
备份的类型:1.
常规备份
2.
增量备份
3.
差异备份
4.副本备份
5.每日备份
常规备份是将备份所有选定的文件,且将其标记为已备份状态(清除存档状态).常规备份时,用户仅需要备份文件的最近副本就可以用于恢复年有的文件.
增量备份只备份自上次常规备份或增量备份以来创建或更改的文件(只备份有存档标记的文件).增量备份速度快,但恢复时比较麻烦,要求备份文件连续.
差异备份只备份自上次正常或增量备份以来创建或更改的文件(只备份有存档标记的文件).备份速度慢,备份文件不要求连续.
副本备份将备份所有选定的文件,但不将备份文件标记为已备份.
每日备份用于备份当天创建或更改过的所有选定文件.
备份标记的处理
备份类型
|
备份前
|
备份后
|
常规备份
|
不检查标记
|
清除标记
|
检查标记
|
检查标记
|
清除标记
|
差异备份
|
检查标记
|
不清除标记
|
副本备份
|
不检查标记
|
不清除标记
|
每日备份
|
不检查标记,检查文件的修改日期是否为当天
|
不清除标记
|
常用的备份有:
常规+
增量,
常规+
差异,
常规+
增量+
副本.
还原是备份的反过程,
运行ntbackup,
选还原和管理媒体
如果是域控制器,则系统状态数据为:注册表(Registry
),COM+
类注册数据库(COM+Class Registration Databass)
,启动文件(Boot File)
,活动目录(Active Directory)
,系统卷(SYSVOL)
。
独立计算机或成员计算机包含的系统状态数据:注册表(Registry
),COM+
类注册数据库(COM+Class Registration Databass)
,启动文件(Boot File)
。如图6
在域控制器上,还原系统状态的步骤:
1
.重启DC
,在显示启动菜单时按F8
键。
2
.选择
目录服务还原模式。
3
.输入adminidtrator
和还原密码
4
.运行ntbackup,
还原
5
.重启DC
可以运用任务计划实现服务器的自动备份,减小工作量!
五.
My SQL
安全设置
如果服务器上启用
MySQL
数据库,
MySQL
数据库需要注意的安全设置为:
删除
mysql
中的所有默认用户,只保留本地
root
帐户,为
root
用户加上一个复杂的密码。赋予普通用户
updatedeletealertcreatedrop
权限的时候,并限定到特定的数据库,尤其要避免普通客户拥有对
mysql
数据库操作的权限。检查
mysql.user
表,取消不必要用户的
shutdown_priv,reload_priv,process_priv
和
File_priv
权限,这些权限可能泄漏更多的服务器信息包括非
mysql
的其它信息出去。可以为
mysql
设置一个启动用户,该用户只对
mysql
目录有权限。设置安装目录的
data
数据库的权限
(
此目录存放了
mysql
数据库的数据信息
)
。对于
mysql
安装目录给
users
加上读取、列目录和执行权限。
1
.
Server-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
一般都拥有这些权限的。
2
.
MSSQL
数据库服务器的安全设置
对于专用的
MSSQL
数据库服务器,对外只开放
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
了。
六.入侵检测工作
作为服务器的日常管理,入侵检测是一项非常重要的工作,在平常的检测过程中,主要包含日常的服务器安全例行检查和遭到入侵时的入侵检查,也就是分为在入侵进行时的安全检查和在入侵前后的安全检查。
日常安全检测主要针对系统的安全性,工作主要按照以下步骤进行:
1
.查看服务器状态:
打开进程管理器,查看服务器性能,观察
CPU
和内存使用状况。查看是否有
CPU
和内存占用过高等异常情况。
2
.检查当前进程情况
切换“任务管理器”到进程,查找有无可疑的应用程序或后台进程在运行。用进程管理器查看进程时里面会有一项
taskmgr
,这个是进程管理器自身的进程。如果正在运行
windows
更新会有一项
wuauclt.exe
进程。通常的后门如果有进程的话,一般会取一个与系统进程类似的名称,如
svch0st.exe
,此时要仔细辨别
[
通常迷惑手段是变字母
o
为数字
0
,变字母
l
为数字
1]
3
.检查系统帐号
打开计算机管理,展开本地用户和组选项,查看组选项,查看
administrators
组是否添加有新帐号,检查是否有克隆帐号。
4
.查看当前端口开放情况
使用
netstat -an
,查看当前的端口连接情况,尤其是注意与外部连接着的端口情况,看是否有未经允许的端口与外界在通信。如有,立即关闭该端口并记录下该端口对应的程序并记录,将该程序转移到其他目录下存放以便后来分析。
5
.检查系统服务
运行
services.msc
,检查处于已启动状态的服务,查看是否有新加的未知服务并确定服务的用途。对于不清楚的服务打开该服务的属性,查看该服务所对应的可执行文件是什么,如果确定该文件是系统内的正常使用的文件,可粗略放过。查看是否有其他正常开放服务依存在该服务上,如果有,可以粗略的放过。如果无法确定该执行文件是否是系统内正常文件并且没有其他正常开放服务依存在该服务上,可暂时停止掉该服务,然后测试下各种应用是否正常。对于一些后门由于采用了
hook
系统
API
技术,添加的服务项目在服务管理器中是无法看到的,这时需要打开注册表中的
HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServices
项进行查找,通过查看各服务的名称、对应的执行文件来确定是否是后门、木马程序等。
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:windows\system32;c:C:windows\system32\inetsrv;C:windows\system32\netsrvdata;c:documents and Settings;
然后再检查
serv-u
安装目录,查看这些目录的权限是否做过变动。检查
system32
下的一些重要文件是否更改过权限,包括:
cmd
,
net
,
ftp
,
tftp
,
cacls
等文件。
10
.检查启动项
主要检查当前的开机自启动程序。可以使用
msconfig.exe
来检查开机自启动的程序。
发现入侵时的应对措施
对于即时发现的入侵事件,以下情况针对系统已遭受到破坏情况下的处理,系统未遭受到破坏或暂时无法察觉到破坏先按照上述的检查步骤检查一遍后再酌情考虑以下措施。系统遭受到破坏后应立即采取以下措施:
视情况严重决定处理的方式,是通过远程处理还是通过实地处理。如情况严重建议采用实地处理。如采用实地处理,在发现入侵的第一时间通知机房关闭服务器,待处理人员赶到机房时断开网线,再进入系统进行检查。如采用远程处理,如情况严重第一时间停止所有应用服务,更改
IP
策略为只允许远程管理端口进行连接然后重新启动服务器,重新启动之后再远程连接上去进行处理,重启前先用
msconfig.exs
检查开机自启动的程序。然后再进行安全检查。
以下处理措施针对用户站点被入侵但未危及系统的情况,如果用户要求加强自己站点的安全性,可按如下方式加固用户站点的安全:
站点根目录
----
只给
administrator
读取权限,权限继承下去。
wwwroot ------
给
web
用户读取、写入权限。高级里面有删除子文件夹和文件权限
database------
给
web
用户读取、写入权限。高级里面没有删除子文件夹和文件权限
如需要进一步修改,可针对用户站点的特性对于普通文件存放目录如
html
、
js
、图片文件夹只给读取权限,对
asp
等脚本文件给予上表中的权限。另外查看该用户站点对应的安全日志,找出漏洞原因,协助用户修补程序漏洞。
七
.
服务器维护保养工作由操作者负责,其中人员分配如下:
每次保养必须添写保养记录,设备出现故障应及时汇报给维修,并详细描述故障出现前设备的情况和所进行的操作,积极配合维修人员检修,以便顺利恢复生产!公司对服务器维护情况将进行不定期抽查。建议操作者在每次交接时仔细检查设备完好状况,记录好设备运行情况。
服务器的管理条例
操作者必须严格按照保养计划书保养维护好设备
,
严格按照操作规程操作
,
设备发生故障
,
应及时向维修反映设备情况
,
包括故障出现的时间
,
故障的现象
,
以及故障出现前操作者进行的详细操作
,
以便维修人员正确快速地排除故障
,(
如实反映故障情况将有利与故障地排除。
本文出自 “服务器交流区” 博客,转载请与作者联系!