建筑堡垒服务器

80酷酷网    80kuku.com

  服务器要求:1、配置一台堡垒主机;支持php、asp虚拟10个站的WEB的堡垒主机;就是说从新买来一台服务器,安装、配置、上架的过程。
一、安装系统,这里我选择的是windows 2000 server版,其实windows 2000是一个非常安全的一个操作系统,操作简单,而且Microsoft也对他这套系统很负责。安装时没什么特别的,也非常简单,其实我们只要注意以下几点就可以了。
1、安装时要采用NTFS格式的系统分区。NTFS格式分区的访问控制决不亚于*NIX系统,其实他的文件系统是按照UNIX而设计的,服务器上的 每个磁盘都应该采用。 
 2、在安装时一定要与公网断开、确保安装盘完好无损并可以信赖。
3、安装时只安装TCP/IP协议即可,同样安装时不安装任何程序及服务如图1所示,以最小化安装即可。为了安全,我们的服务器不加入域。

二、一般网上的教程常常说安装系统后就去“补丁铺”了,其实这样作是非常不安全的,这时系统的安全系数几乎为0,接入网络更新的时候很

有可能“中奖”,我们先打好系统底层基础安全。
1、开始运行输入“lusrmgr.msc”(引号不要以下相同)打开本地用户和组,在这里先建一个“Backup Operators”组的用户,用来日常数据备份和维护工作,建立10个guests组的用户用来分配给那10个虚拟网站使用,如user1----user10重命名管理员账号及来宾账号,并给予一个强壮的密码。
2、配置账户策略,打开“本地安全设置”。
密码策略:密码必须符合复杂性  ----已启用
              密码长度最小值      ----13个字符(建议更高)
    账户锁定策略设置:账户锁定阈值  ----3次     无效登录
账户锁定时间  ----30分钟 (可以根据需要更改)
如图2、3。

3、配置日志审核。
审核策略更改      成功+失败   
  审核登录事件      成功+失败   
  审核对象访问      失败   
  审核目录服务访问  失败
审核特权使用      失败
审核账户管理      成功+失败
  审核系统事件      成功+失败   
  审核账户管理      成功+失败 如图4所示

4、配置用户权利指派。
    备份文件和目录     ---- 建议用管理员账号和刚建的那个Backup Operators组的那个账号。删除administrators组及其它组。
本地登录              ---- 同上
关闭系统              ---- 同上
还原文件和目录        ---- 同上
管理审核和安全日志    ---- 管理员账户
配置单一进程          ---- 管理员账户
取得文件或对象的所有权---- 管理员账户
    从远端系统强制关机    ---- 无
更改系统时间          ---- 无
装载卸载设备驱动程序  ----管理员账户
磁盘配额              ----管理员账户
根据你的须要添加,不授予其它组任何权限,除了你有别的特殊要求。

三、停用系统提供不必要的服务。
开始运行输入services.msc打开系统服务控制台。启用不必要的服务会给服务器带来一定的安全隐患,而且也会占用系统一部分资源。一般

系统只运行以下服务即可,如果特别须要可视情况而定。
    Event Log  事件查看器
    IIS Admin Service  管理 Web 服务
    Logical Disk Manager 磁盘管理
    Plug and Play  管理即插即用硬件设备
    Protected Storage  提供对敏感数据的保护性存储
    Remote Procedure Call (RPC)  系统进程调用
    Security Accounts Manager    存储本地用户帐户的安全信息
    Windows Management Instrumentation  提供系统管理信息
    World Wide Web Publishing Service  提供 Web 连接和管理
   
四、网络连接的安全配置
1、在桌面的“网上邻居”上右键“属性”,找到“本地连接”右键“属性”如图5。我们只保留“internet 协议(TCP/IP)”,其它的对于我们这样的服务器没有用途而且还会带来安全隐患。



2、“internet 协议(TCP/IP)--属性--高级—WINS”选项卡,选择禁用TCP/IP上的NetBLOS(S)如图6
3、选择“选项---TCP/IP筛选---属性”,如果只提供WEB服务可只允许80端口的TCP数据通过,如果是多个WEB而用端口区分那就可视情况而定

了。如图7所示。

五、设定访问控制及文件权限
    将所有的分区都改成NTFS格式,如果硬盘无数据可以在本地盘符上“右键格式化”在“文件系统(F)”选择NTFS。否则使用命

令:"convert d:/fs:ntfs",此时须要重新启动。
取消默认的“Everyone”组对所有磁盘的完全控制权限,否则如果黑客传上来一个WEBSHELL就可以对服务器恶意破坏。打开“我的电脑”右键

本地磁盘“属性”在安全选项中“EverOne” 删除,添加管理员名账号并设置完全控制,添加Backup Operators组刚才新建的那个用户,用来日常维护,而系统盘要添加SYSTEM否则一些以SYSTEM权限运行的东西就运行不起来了,点击“高级”如图8所示,勾选“重置所有子对象的权限并允许传播可继承权限”单击确定。



当然我们还可以对磁盘上的重要文件进行加密,就算别人拿走你的硬盘也无法读出你的数据。但这个功能一定要慎用,当您的系统崩溃您也就

无法使用这些数据了,建议先备份后加密。具体操作见X档案上期小册子。好了服务器的基础安全先就作到这。
   
六、服务器主体建设

1、Server SQL 、My SQL的安装,安装都是傻瓜式安装。在My SQL默认安装时root用户没有密码,要给它一个强壮的密码,同样Server SQL的SA也一样。

2、Windows系统默认就支持ASP格式的,不需要安装额外的补助软件。现在我们来让Windows系统来支持PHP,我们以php-4.3.*-win32(以前用过一个php安装版的,安装过后不用配置IIS,这个有点麻烦),先把他解压到c:\php目录,php.ini-dist改名php.ini后拷贝到winnt内,再将php4ts.dll复制到system32目录内。在internet信息服务IIS管理器中找到相关的网站,右键“属性”弹出网站属性对话框,点击“主目录—配置—应用程序配置—添加”,我们在可执行文件(X):输入c:\php\sapi\php4isapi.dll扩展名:输入.php ,动作限制(L) GET,HEAD,POST,TRACE。如图9所示

3、IIS+NTFS控制虚拟主机权限
打开“internet信息服务”找到我们的站点右键属性,弹出配置对话框,在“IP地址(I)、TCP端口(T)”中输入相应的IP及端口默认端口是80。在文档添加网站的默认主页、在“主目录”选择网站的物理目录,如图10所示

点击“配置”在“应用程序映射”中删除这个站不需要的所有扩展名。
点击“目录安全性”单击编辑弹出“匿名用户账号”对话框,点击浏览添加user1,如图11所示。就算网站目录里被人传上个WEBSHELL,他也只能在此目录里溜达并且他没有运行CMD命令的权限。

在删除C盘下的Inetpub目录,把IIS安装时默认的scripts等虚拟目录也一概删除,为了保险起见,可以使用IIS的备份功能,将刚刚的设定全部备份下来,这样就可以随时恢复IIS的安全配置。我们打开网站所在目录,右键属性在“安全”选项中,(因为我们已设置过了,所以这只有管理员和Backup Operators组的一个用户),如果我们将此站分配给的Guests组用户“user1”将他添加进去,user1只有读的权限就可以了,如果有数据库,他还须要写的权限,点击高级,将“重置所有子对象的权限并允许传播可继承权限”复选框选上,单击确定。当然如果数据库在WEB目录外,我们要单独为此用户设定权限。其它站按此方法,分配给user2—user10用户就可以了。

4、简单的防范WEBSHELL。
经过我们以上的配置,就算有那个哥们拿到你一个站的WEBSHELL他也不能对其它站点破坏更不用说服务器了。如果您对那些小马已经深恶痛绝,你也可以直接在CMD里输入“regsvr32 /u c:\winnt\system32\scrrun.dll”一切都安静了,但是如果我们以后想用FSO权限的时候,那我们自己也用不了啦,我们可以用regsvr32 c:\winnt\system32\scrrun.dll来恢复,但是不建议大家用这个方法。我们可以在注册表里找到HKEY_CLASSES_ROOT\Scripting.FileSystemObject改成你想改的字符串,只要你不告诉别人那就没问题了。

七、防范溢出攻击
如果服务器被溢出成功,将会绑定服务器上的CMD.EXE命令,黑客就会远程连接我们的服务器运行一些CMD命令以取得服务器管理员的权限,在服务器上恶意破坏。我们应该怎么做呢!我们知道,一般的溢出都是以SYSTEM权限运行我们机器上CMD.EXE,那么把权限设置成只有管理员可以访问,把其它权限删除!如图12所示。



就算溢出“成功”也连接不上我们的服务器,在黑客机器上应该是“拒绝防问”当然也就达到了我们的目的。
在这里我还是建议大家把%system32下的危险文件改名或删除如:format.exe、del.exe、cmd.exe、cacls.exe等。

八、SQL SERVER数据库注入简单防护
1、对于数据库来说首先来说就是他的数据扩展存储带来的注入问题,SQL SERVER+ASP这样的组合很好找到注入点的,我们假设有这么一个地址

存在注入漏洞。
   那么我们可以用
master.dbo. ’net use hack /add’--
master.dbo. ’net loclaguoup administrators hack /add’--
现在hack已经是管理员了,但这样的主机很少了,如果你不配置一翻,那你就有可能成为少数中的一员。打开MS SQL SERVER的企业管理器找到扩展存储删除。如图13所示。

当然删除这一个是远远不够的,还有很多安全隐患呢!如提交
master.dbo.sp_addextendedproc dllname=’xplog70.dll’;--
这样直接把恢复回来(具体的入侵方式在这里就不说了)。我们只好也将xplog70.dll文件删除,我们还要把以下的扩展存储都删除


Xp_regaddmultistring
Xp_regdeletekey
Xp_regenumvalues
Xp_regdeletevalue
Xp_regremovemultistring
Xp_regwrite
Xp_regread
Xp_subdirs
Xp_fileexist
Xp_instance_regread
Xp_instance_regenumkeys
Xp_instance_regaddmultistring
等等……太多了,可以看一下SQL SERVER安全相关的资料。
2、用户的权限,对于网站用户,我们只要给他db_reader,db_writer的权限就可以了,不要给备份权限,当然对于每个用户都要给他一个强壮

的密码,以及关注MS SQL新的安全补丁。

九、安装补丁和配置应用程序
安装最新的安全补丁,一般关键更新和Service pack都要安装,更新的时候一定要去微软的网站,不要去一些不知明的网站下载,我们可以用开始菜单最上边的Windows Update更新。建议在服务器上不安装任何不知明的程序及没用的程序,及VC++和Office等开发工具。一个服务器上网络监控工具是不可少的(如网络流量监控、防火墙等),但一定要保证工具可靠,并且先安装到别的机器上测试后再安装在服务器上。

十、其它
1、不建议在服务器上使用IE和outlook express接收邮件。
2、养成良好的习惯,经常备份服务器的数据、日志等。
3、在有一定英文水平的时候,尽量安装英文版操作系统。
4、要建立严紧的管理制度,严格控制物理接触服务器人员。
PS:安全是一个全面而又复杂的工作,没有什么配置是绝对安全的,但我们要尽力做到安全,有可能一时的疏忽大意造成服务的沦陷,一个网

络管理员应当及时更新系统、应用程序补丁及审核系统日志,经常对自己的服务器进行安全测试。
写这么多希望能给和我一样菜的朋友有所帮助。由于篇幅有限,这些只不过是冰山一角,还有很多没有涉及到比如注册表、IPSEC、防火墙等



 

分享到
  • 微信分享
  • 新浪微博
  • QQ好友
  • QQ空间
点击: