求知 文章 文库 Lib 视频 iPerson 课程 认证 咨询 工具 讲座 Modeler   Code  
会员   
 
  
 
 
     
   
分享到
简单的服务器安全配置
 
火龙果软件    发布于 2013-11-04
 

经测试,本配置在Win2003 + IIS6.0 + Serv-U + SQL Server 的单服务器多网站中一切正常。以下配置中打勾的为推荐进行配置,打叉的为可选配置。

一、系统权限的设置

1、磁盘权限

系统盘只给 Administrators 组和 SYSTEM 的完全控制权限

其他磁盘只给 Administrators 组完全控制权限

系统盘\Documents and Settings 目录只给 Administrators 组和 SYSTEM 的完全控制权限

系统盘\Documents and Settings\All Users 目录只给 Administrators 组和 SYSTEM 的完全控制权限

系统盘\windows\system32\config\ 禁止guests组

系统盘\Documents and Settings\All Users\「开始」菜单\程序\ 禁止guests组

系统盘\windowns\system32\inetsrv\data\ 禁止guests组

系统盘\Windows\System32\ at.exe、attrib.exe、cacls.exe、net.exe、net1.exe、netstat.exe、regedit.exe 文件只给 Administrators 组和 SYSTEM 的完全控制权限

系统盘\Windows\System32\ cmd.exe、format.com 仅 Administrators 组完全控制权限

把所有(Windows\system32和Windows\ServicePackFiles\i386) format.com 更名为 format_nowayh.com

2、本地安全策略设置

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

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

审核策略更改 成功 失败

审核登录事件 成功 失败

审核对象访问失败

审核过程跟踪 无审核

审核目录服务访问失败

审核特权使用失败

审核系统事件 成功 失败

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

审核账户管理 成功 失败

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

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

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

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

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

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

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

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

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

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

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

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

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

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

D、账户策略–>账户锁定策略

将账户设为“5次登陆无效”,“锁定时间为30分钟”,“复位锁定计数设为30分钟”

二、其他配置

√·把Administrator账户更改

管理工具→本地安全策略→本地策略→安全选项

√·新建一无任何权限的假Administrator账户

管理工具→计算机管理→系统工具→本地用户和组→用户

更改描述:管理计算机(域)的内置帐户

×·重命名IIS来宾账户

1、管理工具→计算机管理→系统工具→本地用户和组→用户→重命名IUSR_ComputerName

2、打开 IIS 管理器→本地计算机→属性→允许直接编辑配置数据库

3、进入Windows\system32\inetsrv文件夹→MetaBase.xml→右键编辑→找到”AnonymousUserName”→写入”IUSR_”新名称→保存

4、关闭”允许直接编辑配置数据库”

√·禁止文件共享

本地连接属性→去掉”Microsoft网络的文件和打印共享”和”Microsoft 网络客户端”前面的”√”

√·禁止NetBIOS(关闭139端口)

本地连接属性→TCP/IP属性→高级→WINS→禁用TCP/IP上的NetBIOS

管理工具→计算机管理→设备管理器→查看→显示隐藏的设备→非即插即用驱动程序→禁用 NetBios over tcpip→重启

√·防火墙的设置

本地连接属性→高级→Windows防火墙设置→高级→第一个”设置”,勾选ftp、HTTP、远程桌面服务

√·禁止ADMIN$缺省共享、磁盘默认共享、限制IPC$缺省共享(匿名用户无法列举本机用户列表、禁止空连接)

新建REG文件,导入注册表

Windows Registry Editor Version 5.00
[HKEY_LOcaL_MACHINE\SYSTEM\CurrentControlSet\Services\lanmanserver\parameters]
“AutoshareWks”=dword:00000000
“AutoShareServer”=dword:00000000
[HKEY_LOcaL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa]
“restrictanonymous”=dword:00000001

√·删除以下注册表主键

WScript.Network
WScript.Network.1
{093FF999-1EA0-4079-9525-9614C3504B74}
WScript.Shell
WScript.Shell.1
{72C24DD5-D70A-438B-8A42-98424B88AFB8}
Shell.Application
Shell.Application.1
{13709620-C279-11CE-A49E-444553540000}

√·更改3389端口为12344

这里只介绍如何更改,既然本端口公布出来了,那大家就别用这个了,端口可用windows自带的计算器将10进制转为16进制,16进制数替换下面两个的dword:后面的值(7位数,不够的在前面补0),登陆的时候用10进制,端口更改在服务器重启后生效。新建REG文件,导入注册表

Windows Registry Editor Version 5.00
[HKEY_LOcaL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\Wds\rdpwd\Tds\tcp]
“PortNumber”=dword:0003038
[HKEY_LOcaL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp]
“PortNumber”=dword:00003038

最后别忘了Windows防火墙允许12344端口,关闭3389端口

√·禁止非管理员使用at命令,新建REG文件,导入注册表

Windows Registry Editor Version 5.00
[HKEY_LOcaL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa]
“SubmitControl”=dword:00000001

√·卸载最不安全的组件

运行”卸载最不安全的组件.bat”,重启后更名或删掉Windows\System32\里的wshom.ocx和shell32.dll

—————-卸载最不安全的组件.bat—————–
regsvr32/u %SystemRoot%\System32\wshom.ocx
regsvr32/u %SystemRoot%\System32\shell32.dll
regsvr32/u %SystemRoot%\System32\wshext.dll

√·Windows日志的移动

打开”HKEY_LOcaL_MACHINE\SYSTEM\CurrentControlSet\Services\Eventlog\”

Application 子项:应用程序日志

Security 子项:安全日志

System 子项:系统日志

分别更改子项的File键值,再把System32\config目录下的AppEvent.Evt、SecEvent.Evt、SysEvent.Evt复制到目标文件夹,重启。

√·Windows日志的保护

1、移动日志后的文件夹→属性→安全→高级→去掉”允许父系的继承权限……”→复制→确定

2、保留System账户和User组,System账户保留除完全控制和修改之外的权限,User组仅保留只读权限

3、AppEvent.Evt、SysEvent.Evt保留Administrator、System账户和User组,Administrator、System账户保留除完全控制和修改之外的权 限,User组仅保留只读权限;

dnsEvent.Evt、SecEvent.Evt保留System账户和User组,System账户保留除完全控制和修改之外的权限,User组仅保留只读权限

√·要手动停止/禁用的服务:Computer Browser、Error reporting service、Microsoft Serch、Print Spooler、Remote Registry、Server 、TCP/IP NetBIOS Helper、Workstation

√·解决在 IIS 6.0 中,无法下载超过4M的附件(现改为10M)

停止IIS服务→打开WINDOWS\system32\inetsrv\→记事本打开MetaBase.xml→找到 aspBufferingLimit 项→值改为10485760

√·设置web上传单个文件最大值为10 MB

停止IIS服务→打开WINDOWS\system32\inetsrv\→记事本打开MetaBase.xml→找到 aspMaxRequestEntityAllowed项→值改为 10485760

×·重新定位和设置 IIS 日志文件的权限

1、将 IIS 日志文件的位置移动到非系统分区:在非系统的NTFS分区新建一文件夹→打开 IIS 管理器→右键网站→属性→单击”启用日志 记录”框架中的”属性”→更改到刚才创建的文件夹

2、设置 IIS 日志文件的权限:浏览至日志文件所在的文件夹→属性→安全→确保Administrators和System的权限设置为”完全控制”

×·配置 IIS 元数据库权限

打开 Windows\System32\Inetsrv\MetaBase.xml 文件→属性→安全→确认只有 Administrators 组的成员和LocalSystem 帐户拥有对元 数据库的完全控制访问权,删除所有其他文件权限→确定

解释 web 内容的权限

打开IIS管理器→右键想要配置的网站的文件夹、网站、目录、虚拟目录或文件

脚本源文件访问,用户可以访问源文件。如果选择”读”,则可以读源文件;如果选择”写”,则可以写源文件。脚本源访问包括脚本的源代码 。如果”读”或”写”均未选择,则此选项不可用。

读(默认情况下选择):用户可以查看目录或文件的内容和属性。

写:用户可以更改目录或文件的内容和属性。

目录浏览:用户可以查看文件列表和集合。

日志访问:对网站的每次访问创建日志项。

检索资源:允许检索服务检索此资源。这允许用户搜索资源。

√·关闭自动播放

运行组策略编辑器(gpedit.msc)→计算机配置→管理模板→系统→关闭自动播放→属性→已启用→所有驱动器

√·禁用DCOM

运行Dcomcnfg.exe。控制台根节点→组件服务→计算机→右键单击“我的电脑”→属性”→默认属性”选项卡→清除“在这台计算机上启用分布式 COM”复选框。

√·启用父路径

IIS管理器→右键网站→属性→主目录→配置→选项→启用父路径

√·IIS 6.0 系统无任何动作超时时间和脚本超时时间

IIS管理器→右键网站→属性→主目录→配置→选项→分别改为40分钟和180秒

√·删除不必要的IIS扩展名映射

IIS管理器→右击web站点→属性→主目录→配置→映射,去掉不必要的应用程序映射,主要为.shtml, .shtm, .stm

√·增加IIS对MIME文件类型的支持

IIS管理器→选择服务器→右键→属性→MIME类型(或者右键web站点→属性→HTTP头→MIME类型→新建)添加如下表内容,然后重启IIS,扩展名MIME类型

.iso application/octet-stream
.rmvb application/vnd.rn-realmedia

√·禁止dump file的产生

我的电脑→右键→属性→高级→启动和故障恢复→写入调试信息→无。

dump文件在系统崩溃和蓝屏的时候是一份很有用的查找问题的资料(不然我就照字面意思翻译成垃圾文件了)。然而,它也能够给黑客提供 一些敏感信息比如一些应用程序的密码等。

三、Serv-U ftp服务的设置

√·本地服务器→设置→拦截”ftp_bounce”攻击和FXP

对于60秒内连接超过10次的用户拦截5分钟

√·本地服务器→域→用户→选中需要设置的账号→右边的”同一IP只允许2个登录”

√·本地服务器→域→设置→高级→取消”允许MDTM命令来更改文件的日期/时间”

设置Serv-U程序所在的文件夹的权限,Administrator组完全控制,禁止Guests组和IIS匿名用户有读取权限

服务器消息,自上而下分别改为:

服务器工作正常,现已准备就绪…

错误!请与管理员联系!

ftp服务器正在离线维护中,请稍后再试!

ftp服务器故障,请稍后再试!

当前账户达到最大用户访问数,请稍后再试!

很抱歉,服务器不允许匿名访问!

您上传的东西太少,请上传更多东西后再尝试下载!

四、SQL安全设置

审核指向SQL Server的连接

企业管理器→展开服务器组→右键→属性→安全性→失败

修改sa账户密码

企业管理器→展开服务器组→安全性→登录→双击sa账户

SQL查询分析器

use master
exec sp_dropextendedproc xp_cmdshell
exec sp_dropextendedproc xp_dirtree
exec sp_dropextendedproc xp_enumgroups
exec sp_dropextendedproc xp_fixeddrives
exec sp_dropextendedproc xp_loginconfig
exec sp_dropextendedproc xp_enumerrorlogs
exec sp_dropextendedproc xp_getfiledetails
exec sp_dropextendedproc Sp_OACreate
exec sp_dropextendedproc Sp_OADestroy
exec sp_dropextendedproc Sp_OAGetErrorInfo
exec sp_dropextendedproc Sp_OAGetProperty
exec sp_dropextendedproc Sp_OAMethod
exec sp_dropextendedproc Sp_OASetProperty
exec sp_dropextendedproc Sp_OAStop
exec sp_dropextendedproc Xp_regaddmultistring
exec sp_dropextendedproc Xp_regdeletekey
exec sp_dropextendedproc Xp_regdeletevalue
exec sp_dropextendedproc Xp_regenumvalues
exec sp_dropextendedproc Xp_regread
exec sp_dropextendedproc Xp_regremovemultistring
exec sp_dropextendedproc Xp_regwrite
drop procedure sp_makewebtask

91ri.org点评:本文描述了一个简单的服务器安全配置,假如各位按照这个配置对服务器进行安全配置那么可以在一定程度上防住部分黑客攻击,但是若要确保服务器安全还需要安装专业的服务器反病毒软件及防火墙,常打补丁及配置好各个网站站点的权限设置。

对服务器安全有兴趣了解更多的朋友可以参考以下几篇文章:<<检测某IDC服务器 从入侵提权谈主机防御>> <<WEB服务器入侵防御>> 也可以参考本站的安全防范栏目,那有最专业的网络安全知识供大家学习!

 
相关文章

iOS应用安全开发,你不知道的那些事术
Web安全之SQL注入攻击
移动APP安全在渗透测试中的应用
从Google备份互联网看“数据安全”
 
相关文档

web安全设计与防护
互联网海量内容安全处理技术
黑客攻击与防范技术
WEB黑盒安全检测
 
相关课程

WEB网站与应用安全原理与实践
web应用安全架构设计
创建安全的J2EE Web应用代码
信息安全问题与防范
 
分享到
 
 


iOS应用安全开发
Web安全之SQL注入攻击
APP安全在渗透测试中的应用
初探PHP的SQL注入攻击的技术
从Google备份看“数据安全”
更多...   


WEB网站与应用安全原理与实践
web应用安全架构设计
创建安全的J2EE Web应用代码
注册信息安全专业人员(CISP)
信息安全管理
信息安全问题与防范


中国银行 信息安全技术及深度防御
Web应用安全架构、入侵检测与防护
某财税领域知名IT服务商 Web安全测试
普瑞克斯 web安全设计、测试与优化
北京和利时 性能和安全性测试
SUN中国工程研究院 JSF框架、安全
更多...