服务器安全设置详解

3年前 (2021-07-02)阅读394回复0
Alexis
Alexis
  • 管理员
  • 发消息
  • 注册排名628
  • 经验值85
  • 级别管理员
  • 主题17
  • 回复0
楼主
印刷厂直印加工●彩页1000张只需要69元●名片5元每盒-更多产品印刷报价➦联系电话:138-1621-1622(微信同号)

服务器被**是一件让人感到很不爽的事情,我也不知道为什么这个世界上会有这么多的吃饱了没事干的人,一天到晚在那里**别人的服务器,在心里是深深的诅咒他们.但是诅咒没有用的,服务器的安全还是要设置好.

  下面我用的例子.将是一台标准的虚拟主机.

  系统:windows2003

  服务:[IIS] [SERV-U] [IMAIL] [SQL SERVER 2000] [PHP] [MYSQL]

  描述:为了演示,绑定了最多的服务.大家可以根据实际情况做筛减

  1.WINDOWS本地安全策略 端口限制

  A.对于我们的例子来说.需要开通以下端口

  外->本地 80

  外->本地 20

  外->本地 21

  外->本地 PASV所用到的一些端口

  外->本地 25

  外->本地 110

  外->本地 3389

  然后按照具体情况.打开SQL SERVER和MYSQL的端口

  外->本地 1433

  外->本地 3306

  B.接着是开放从内部往外需要开放的端口

  按照实际情况,如果无需邮件服务,则不要打开以下两条规则

  本地->外 53 TCP,UDP

  本地->外 25

  按照具体情况.如果无需在服务器上访问网页.尽量不要开以下端口

  本地->外 80

  C.除了明确允许的一律阻止.这个是安全规则的关键.

  外->本地 所有协议 阻止

  2.用户帐号

  a.将administrator改名,例子中改为root

  b.取消所有除管理员root外所有用户属性中的

  远程控制->启用远程控制 以及

  终端服务配置文件->允许登陆到终端服务器

  c.将guest改名为administrator并且修改密码

  d.除了管理员root,IUSER以及IWAM以及ASPNET用户外.禁用其他一切用户.包括SQL DEBUG以及TERMINAL USER等等

  3.目录权限

  将所有盘符的权限,全部改为只有

  administrators组 全部权限

  system 全部权限

  将C盘的所有子目录和子文件继承C盘的administrator(组或用户)和SYSTEM所有权限的两个权限

  然后做如下修改

  C:\Documents and Settings\All Users 开放默认的读取及运行 列出文件目录 读取三个权限

  C:\Documents and Settings\ 增加Users用户组的读取运行权限,避免出现LoadUserProfile失败

021yin.com的Access数据库访问权限

  C:\Windows如下的操作可能导致采用Ghost的操作失败,系统可以Ghost成功,但在启动后会自动重启,等待解决

  C:\WINDOWS\ 开放Everyone 默认的读取及运行 列出文件目录 读取三个权限

  C:\WINDOWS\Temp 开放Everyone 修改,读取及运行,列出文件目录,读取,写入权限

021yin.com请开发该目录的读写权限

  同时注意下列相关目录权限不足IIS_WPG及Service用户的权限:

  C:\WINDOWS\Help\IISHelp\Common

  C:\WINDOWS\System32\Inetsrv\ASP Compiled Templates

  C:\WINDOWS\IIS Temporary Compressed Files

  现在WebShell就无法在系统目录内写入文件了.

  当然也可以使用更严格的权限.

  在WINDOWS下分别目录设置权限.

  可是比较复杂.效果也并不明显.

  4.IIS

  在IIS 6下.应用程序扩展内的文件类型对应ISAPI的类型已经去掉了IDQ,PRINT等等危险的脚本类型,

  在IIS 5下我们需要把除了ASP以及ASA以外所有类型删除.

  安装URLSCAN

  在[DenyExtensions]中

  一般加入以下内容

  .cer

  .cdx

  .mdb

  .bat

  .cmd

021yin.com

  .htw

  .ida

  .idq

  .htr

  .idc

  .shtm

  .shtml

  .stm

  .printer

  这样入侵者就无法下载.mdb数据库.这种方法比外面一些在文件头加入特殊字符的方法更加彻底.

  因为即便文件头加入特殊字符.还是可以通过编码构造出来的

  5.WEB目录权限

  作为虚拟主机.会有许多独立客户

  比较保险的做法就是为每个客户,建立一个windows用户

  然后在IIS的响应的站点项内

  把IIS执行的匿名用户.绑定成这个用户

  并且把他指向的目录

  权限变更为

  administrators 全部权限

  system 全部权限

  单独建立的用户(或者IUSER) 选择高级->打开除 完全控制,遍历文件夹/运行程序,取得所有权 3个外的其他权限.

  如果服务器上站点不多.并且有论坛

  我们可以把每个论坛的上传目录

  去掉此用户的执行权限.

  只有读写权限

  这样入侵者即便绕过论坛文件类型检测上传了webshell

  也是无法运行的.

  6.MS SQL SERVER2000

  使用系统帐户登陆查询分析器

  运行以下脚本

  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

  go

  删除所有危险的扩展.

  7.修改CMD.EXE以及NET.EXE权限

  将两个文件的权限.修改到特定管理员才能访问,比如本例中.我们如下修改

  cmd.exe root用户 所有权限

  net.exe root用户 所有权现

  这样就能防止非法访问.

  还可以使用例子中提供的comlog程序

  将com.exe改名_com.exe,然后替换com文件.这样可以记录所有执行的命令行指令

  单独对cmd.exe net.exe net1.exe ping.exe netstat.exe ftp.exe tftp.exe telnet.exe regedit.exe at.exe attrib.exe cacls.exe format.exe 设置为只允许administrators组访问,这样就可以防范通过Serv-U的本地提升权限漏洞来运行这些关键的程序了,再删除cacls.exe 这个程序,防止有人通过命令行来修改权限

  8.备份

  使用ntbackup软件.备份系统状态.

  使用reg.exe 备份系统关键数据

  如reg export HKLM\SOFTWARE\ODBC e:\backup\system\odbc.reg /y

  来备份系统的ODBC

  9.杀毒

  这里介绍MCAFEE 8i 中文企业版

  因为这个版本对于国内的许多恶意代码和木马都能够及时的更新.

  比如已经能够检测到海阳顶端2006

  而且能够杀除IMAIL等SMTP软件使用的队列中MIME编码的病毒文件

  而很多人喜欢安装诺顿企业版.而诺顿企业版,对于WEBSHELL.基本都是没有反应的.

  而且无法对于MIME编码的文件进行杀毒.

  在MCAFEE中.

  我们还能够加入规则.阻止在windows目录建立和修改EXE.DLL文件等

  我们在软件中加入对WEB目录的杀毒计划.

  每天执行一次

  并且打开实时监控.

  注意:安装一些杀毒软件会影响ASP地执行,是因为禁用了jscript.dll和vbscript.dll组件

  在dos方式下运行 regsvr32 jscript.dll, regsvr32 vbscript.dll解除限制即可

  10.关闭无用的服务

  我们一般关闭如下服务

  Computer Browser

  Help and Support

  Messenger

  Print Spooler

  Remote Registry

  TCP/IP NetBIOS Helper

  如果服务器不用作域控,我们也可以禁用

  Workstation禁止探针探测进程和用户信息

  关闭“远程注册表服务”

  安全隐患:如果黑客连接到了我们的计算机,而且计算机启用了远程注册表服务(Remote Registry),那么黑客就可远程设置注册表中的服务,因此远程注册表服务需要特别保护。

  解决方法:我们可将远程注册表服务(Remote Registry)的启动方式设置为禁用。不过,黑客在入侵我们的计算机后,仍然可以通过简单的操作将该服务从“禁用”转换为“自动启动”。因此我们有必要将该服务删除。

  找到注册表中“HKEY_LOCAL_ MACHINESYSTEMCurrentControlSet Services”下的RemoteRegistry项,右键点击该项选择“删除”(图1),将该项删除后就无法启动该服务了。

  11.取消危险组件

  如果服务器不需要FSO

  regsvr32 /u c:\windows\system32\scrrun.dll

  注销组件

  regsvr32 /u c:\windows\system32\wshom.ocx

  regsvr32 /u c:\windows\system32\wshext.dll

  regsvr32 /u c:\windows\system32\shell32.dll

  如果有可能删除这些组件

  使用regedit在注册表中进行如下操作

  将/HKEY_CLASSES_ROOT下的

  WScript.Network

  WScript.Network.1

  WScript.Shell

  WScript.Shell.1

  Shell.Application

  Shell.Application.1

  键值改名或删除

  将这些键值下CLSID中包含的字串

  如

  {13709620-C279-11CE-A49E-444553540000}

  {72C24DD5-D70A-438B-8A42-98424B88AFB8}

  到/HKEY_CLASSES_ROOT/CLSID下找到以这些字串命名的键值

  全部删除

  修改注册表,让系统更强壮

  1、隐藏重要文件/目录可以修改注册表实现完全隐藏:HKEY_LOCAL_MACHINE\SOFTWARE\ Microsoft\Windows\ Current-Version\Explorer\Advanced\Folder\Hi-dden\SHOWALL”,鼠标右击 “CheckedValue”,选择修改,把数值由1改为0

  2、启动系统自带的Internet连接_blank”>防火墙,在设置服务选项中勾选Web服务器。

  3、防止SYN洪水攻击   HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters

  新建DWORD值,名为SynAttackProtect,值为2

  EnablePMTUDiscovery REG_DWORD 0

  NoNameReleaseOnDemand REG_DWORD 1

  EnableDeadGWDetect REG_DWORD 0

  KeepAliveTime REG_DWORD 300,000

  PerformRouterDiscovery REG_DWORD 0

  EnableICMPRedirects REG_DWORD 0

  4. 禁止响应ICMP路由通告报文

  HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\Interfaces\interface  新建DWORD值,名为PerformRouterDiscovery 值为0

  5. 防止ICMP重定向报文的攻击

    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters

    将EnableICMPRedirects 值设为0

  6. 不支持IGMP协议

   HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters

  新建DWORD值,名为IGMPLevel 值为0

  7.修改终端服务端口

  [HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Control \ Terminal Server \ Wds \ rdpwd \ Tds \ tcp],看到右边的PortNumber了吗?在十进制状态下改成你想要的端口号吧,比如7126之类的,只要不与其它冲突即可。

  第二处HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Control \ Terminal Server \ WinStations \ RDP-Tcp,方法同上,记得改的端口号和上面改的一样就行了。

  8、禁止IPC空连接:

  cracker 可以利用net use命令建立空连接,进而入侵,还有net view,nbtstat这些都是基于空连接的,禁止空连接就好了。打开注册表,找到Local_Machine\System \CurrentControlSet\Control\LSA-RestrictAnonymous 把这个值改成”1”即可。

  9、更改TTL值

  cracker可以根据ping回的TTL值来大致判断你的操作系统,如:

  TTL=107(WINNT);

  TTL=108(win2000);

  TTL=127或128(win9x);

  TTL=240或241(linux);

  TTL=252(solaris);

  TTL=240(Irix);

  实际上你可以自己更改的:HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip \Parameters:DefaultTTL REG_DWORD 0-0xff(0-255 十进制,默认值128)改成一个莫名其妙的数字如258,起码让那些小菜鸟晕上半天,就此放弃入侵你也不一定哦

  10. 删除默认共享

  有人问过我一开机就共享所有盘,改回来以后,重启又变成了共享是怎么回事,这是2K为管理而设置的默认共享,必须通过修改注册表的方式取消它:HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanServer \Parameters:AutoShareServer类型是REG_DWORD把值改为0即可

  11. 禁止建立空连接

  默认情况下,任何用户通过通过空连接连上服务器,进而枚举出帐号,猜测密码。我们可以通过修改注册表来禁止建立空连接:

  Local_Machine\System\CurrentControlSet\Control\LSA-RestrictAnonymous 的值改成”1”即可。

  12.审计

  本地安全策略->本地策略->审核策略

  打开以下内容

  审核策略更改 成功,失败

  审核系统事件 成功,失败

  审核帐户登陆事件 成功,失败

  审核帐户管理 成功,失败

  本地安全策略->本地策略->安全选项

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

  交互式登陆:会话锁定不显示上次地用户名启用

  网络访问:限制匿名访问命名管道和共享 启用

  13.解除上传附件限制

  Windows2003中IIS6默认无法上传超过200K的附件以及无法下载超过4M的附件问题

  解决办法:

  1、先在服务里关闭 iis admin service 服务。

  2、找到 windows\system32\inetsrv\ 下的 metabase.xml 文件。

  3、用纯文本方式打开,找到 ASPMaxRequestEntityAllowed 把它修改为需要的值(可修改为10M即:10240000),默认为:204800,即:200K。

  4、存盘,然后重启 iis admin service 服务。

  在 IIS 6.0 中,无法下载超过4M的附件时,可以按以下步骤解决:

  1、先在服务里关闭 iis admin service 服务。

  2、找到 windows\system32\inetsrv\ 下的 metabase.xml 文件。

  3、用纯文本方式打开,找到 AspBufferingLimit 把它修改为需要的值(可修改为20M即:20480000)。

  4、存盘,然后重启 iis admin service 服务。

  14防止Serv-U权限提升

  其实,注销了Shell组件之后,侵入者运行提升工具的可能性就很小了,但是prel等别的脚本语言也有shell能力,为防万一,还是设置一下为好。

  用Ultraedit打开ServUDaemon.exe查找Ascii:LocalAdministrator,和#l@$ak#.lk;0@P,修改成等长度的其它字符就可以了,ServUAdmin.exe也一样处理。

  另外注意设置Serv-U所在的文件夹的权限,不要让IIS匿名用户有读取的权限,否则人家下走你修改过的文件,照样可以分析出你的管理员名和密码。

0
0
收藏0
回帖

服务器安全设置详解 期待您的回复!

取消
载入表情清单……
载入颜色清单……
插入网络图片

取消确定

图片上传中
编辑器信息
提示信息