浏览模式: 普通 | 列表
分类: 网络技术 | << | < | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | > | >>

推荐日志 网络安全重在日常防护

[ 2007-03-25 03:45:39 | 作者: sun ]

近期读了一些关于网络入侵的文章,感觉到增强网络安全是一项日常性的工作,并不是说网络设备、服务器配置好了就绝对安全了,操作系统和一些软件的漏洞是不断被发现的,比如冲击波、震荡波病毒就是利用系统漏洞,同样利用这些漏洞可以溢出得到系统管理员权限, server-U的提升权限漏洞也可以被利用。在这些漏洞未被发现前,我们觉得系统是安全的,其实还是不安全的,也许漏洞在未公布前已经被部分hacker 所知,也就是说系统和应用软件我们不知道还会存在什么漏洞,那么日常性的防护就显得尤为必要。


一、做好基础性的防护工作,服务器安装干净的操作系统,不需要的服务一律不装,多一项就多一种被入侵的可能性,打齐所有补丁,微软的操作系统当然推荐WIN2K3,性能和安全性比WIN2K都有所增强,选择一款优秀的杀毒软件,至少能对付大多数木马和病毒 的,安装好杀毒软件,设置好时间段自动上网升级,设置好帐号和权限,设置的用户尽可能的少,对用户的权限尽可能的小,密码设置要足够强壮。对于MSSQL,也要设置分配好权限,按照最小原则分配。最好禁用xp_cmdshell。有的网络有硬件防火墙,当 然好,但仅仅依靠硬件防火墙,并不能阻挡hacker的攻击,利用反向连接型的木马和其他的办法还是可以突破硬件防火墙的阻挡。WIN2K3系统自带的防火墙功能还不够强大,建议打开,但还需要安装一款优秀的软件防火墙保护系统,我一般习惯用ZA,论坛有 很多教程了。对于对互联网提供服务的服务器,软件防火墙的安全级别设置为最高,然后仅仅开放提供服务的端口,其他一律关闭,对于服务器上所有要访问网络的程序,现在防火墙都会给予提示是否允许访问,根据情况对于系统升级,杀毒软件自动升级等有必要访问外网 的程序加到防火墙允许访问列表。那么那些反向连接型的木马就会被防火墙阻止,这样至少系统多了一些安全性的保障,给hacker入侵就多一些阻碍。网络上有很多基础型的防护资料,大家可以查查相关服务器安全配置方面的资料。


二、修补所有已知的漏洞,未知的就没法修补了,所以要养成良好的习惯,就是要经常去关注。了解自己的系统,知彼知己,百战百胜。所有补丁是否打齐,比如mssql,server-U,论坛程序是否还有漏洞,每一个漏洞几乎都是致命的,系统开了哪些服务,开了哪些端口,目前开的这些服务中有没有漏洞可以被黑客应用,经常性的了解当前黑客攻击的手法和可以被利用的漏洞,检查自己的系统中是否存在这些漏洞。比如SQL注入漏洞,很多网站 都是因为这个服务器被入侵,如果我们作为网站或者服务器的管理者,我们就应该经常去关注这些技术,自己经常可以用一些安全性扫描工具检测检测,比如X- scan,snamp, nbsi,PHP注入检测工具等,或者是用当前比较流行的hacker入侵工具检测自己的系统是否存在漏洞,这得针对自己的系统开的服务去检测,发现漏洞及时修补。网络管理人员不可能对每一方面都很精通,可以请精通的人员帮助检测,当然对于公司来说,如果 系统非常重要,应该请专业的安全机构来检测,毕竟他们比较专业。


三、服务器的远程管理,相信很多人都喜欢用server自带的远程终端,我也喜欢,简洁速度快。但对于外网开放的服务器来说,就要谨慎了,要想到自己能用,那么这个端口就对外开放了,黑客也可以用,所以也要做一些防护了。一就是用证书策略来限制访问者,给 TS配置安全证书,客户端访问需要安全证书。二就是限制能够访问服务器终端服务的IP地址。三是可以在前两者的基础上再把默认的3389端口改一下。当然也可以用其他的远程管理软件,pcanywh&#101;re也不错。


四、另外一个容易忽视的环节是网络容易被薄弱的环节所攻破,服务器配置安全了,但网络存在其他不安全的机器,还是容易被攻破,“千里之堤,溃于蚁穴 ”。利用被控制的网络中的一台机器做跳板,可以对整个网络进行渗透攻击,所以安全的配置网络中的机器也很必要。说到跳板攻击,水平稍高一点的hacker攻击一般都会隐藏其真实IP,所以说如果被入侵了,再去追查的话是很难成功的。Hacker利用控制的 肉鸡,肉鸡一般都是有漏洞被完全控制的计算机,安装了一些代理程序或者黑客软件,比如DDOS攻击软件,跳板程序等,这些肉鸡就成为黑客的跳板,从而隐藏了真实IP。


五、最后想说的是即使大家经过层层防护,系统也未必就绝对安全了,但已经可以抵挡一般的hacker的攻击了。连老大微软都不能说他的系统绝对安全。系统即使只开放80端口, 如果服务方面存在漏洞的话,水平高的hacker还是可以钻进去,所以最关键的一点我认为还是关注最新漏洞,发现就要及时修补。“攻就是防,防就是攻” ,这个观点我比较赞同,我说的意思并不是要去攻击别人的网站,而是要了解别人的攻击手法,更好的做好防护。比如不知道什么叫克隆管理员账号,也许你的机器已经被入侵并被克隆了账号,可能你还不知道呢?如果知道有这种手法,也许就会更注意这方面。自己的网站 如果真的做得无漏洞可钻,hacker也就无可奈何了。


希望大家有好的思路和经验能够多探讨探讨,要做好网络安全还有很多细节需要注意,一个微小的疏忽都可能导致功亏一篑。

推荐日志 MRTG在IIS 6.0上实现入侵检测功能

[ 2007-03-25 03:45:27 | 作者: sun ]
MRTG(Multi Router Traffic Grapher)是一个跨平台的监控网络链路流量负载的工具软件,目前它可以运行在大多数Unix系统和Windows NT之上。它通过snmp协议从设备得到设备的流量信息,并将流量负载以包含PNG格式的图形的HTML 文档方式显示给用户,以非常直观的形式显示流量负载。

  或许你还不知道,MRTG还是一个有效的入侵检测工具。大家都知道,入侵者扫描与破坏后都能生成一些异常的网络流量,而人们在一般情况下是意识不到的。但是MRTG却能通过图形化的形式给管理员提供入侵的信息。并可以查出数周之前的入侵信息,以备管理员参考。

  一,攻击行为对服务器造成的信息 

  1,攻击者使用CGI漏洞扫描器对潜在的CGI漏洞脚本进行扫描时,HTTP 404 Not Found errors的记录会增长。

  2,攻击者尝试暴力破解服务器上的帐户,HTTP 401 Authorization Required errors 的记录会增长。

  3,一种新的蠕虫出现,某一个特定的协议的流量会增长。
  

  4,蠕虫通过傀儡主机,攻击其他的服务器,出外的流量增加,并增大CPU的负荷。

  5,入侵者尝试SQL injection攻击,HTTP 500 Server Errors记录会增长。

  6,垃圾邮件发送者在网络上寻找中继SMTP服务器来发送垃圾邮件,会造成SMTP的和DNS lookups流量大增,同时造成CPU负荷增大。

  7,攻击者进行DDOS攻击,会造成ICMP流量,TCP连接,虚假的IP,多播广播流量大增。造成浪费大量的带宽。

  看完上面的,我们可以总结出,攻击者要入侵必须会影响到服务器的这些资源:: CPU, RAM,磁盘空间,网络连接和带宽。入侵者还有可能对服务器建立进程后门,开放端口,他们还对他们的入侵行为进行伪装掩盖,避免遭到入侵检测系统的监视。

  二,攻击者使用以下的方法避免被检测到:  

   1,探测扫描很长时间后,才进行真正的入侵进攻。  

   2,从多个主机进行攻击,避免单一的主机记录。  

   3,尽量避免入侵造成的CPU, RAM和驱动器的负荷。  

   4,利用管理员无人职守时入侵,在周末或者节假日发起攻击。  

   三,对于IIS 6,我们需要监视的是  

   1,网络流量,包括带宽,数据包,连接的数量等。  

   2,网络协议的异常错误。  

   3,网站的内外流量,包括用户的权限设置,外部请求的错误流量等。  

   4,线程和进程。  

   四,在Windows 2003下安装MRTG   

  在使用MRTG之前,你需要在你的服务器里安装SNMP 服务。具体步骤如下:从控制面板中选择添加/删除程序,点击添加和删除windows组件。管理和监视工具中的详细资料里就可以找到简单网络管理协议,即可安装。

安装成功后,你需要立刻安全配置一下,我们大家都知道,SNMP在网络上决不是一个安全的协议,你可以通过http://support.microsoft.com/?kbid=324261这个连接来具体了解。但是我们只是在本地使用SNMP,但是还是建议你通过防火墙屏蔽SNMP的161与162端口和使用IPSec。并且要配置为obscure community string。在管理工具中,在服务中选择安全,设为只读访问。尽管community string安全问题不多,但是你还是要避免使用community string为只读访问。 

  MRTG是一个用Perl编译的C程序。你还要安装ActivePerl来解决支持脚本的问题。下载最新的MRTG。可以到http://people.ee.ethz.ch/~oetiker/webtools/mrtg/pub/下载,

  注意要选择.zip的文件下载。这篇文章所使用的版本请到http://securityfocus.com/microsoft/images/burnett_MRTG_files.zip下载。

  把MRTG解压到C:\Program Files\MRTG目录下。 

  在你的Inetpub目录下为MRTG建立一个子目录。为了安全,不要建立在wwwroot目录下。然后,使用IIS建立一个MRTG的新站点。如果可能的话,最好能为MRTG站点配置一个主机头和一个独立的IP。也可以在一个已存在的目录下为MRTG站点建立一个合法的虚拟目录,也能达到同样的目的。 

  注意,在新建立的MRTG站点不要运行可执行的脚本,只提供只读访问。在NTFS下,要注意对用户的权限的设置。如果可能的话,最好对指定MRTG站点的IP来选择特定的主机。  

  现在,就可以把配置文件放到C:\Program Files\MRTG\Bin下了,并把index.html 文件拷贝到你的\Inetpub\MRTG 目录下。 

  下面,我们来测试一下,在命令提示符下输入: 

  C:\ProgramFiles\MRTG>perl mrtg mrtg.cfg

  如果一些正常的话,就会在在你的MRTG站点就有了一些配置文件。如果安装失败,你可以回顾一下你安装的步骤,是否有错误,并参考MRTG 的参考手册。 

  五,具体配置SNMP计数器  

   尽管微软提供了SNMP的计数器,但是我发现它对一些应用程序支持有些问题,然而,MRTG却能从很多的应用程序中得到消息。但是我们通过Windows Management Instrumentation (WMI) 也能得到包括所有的计数器的性能信息。同SNMP不同的是,微软在WMI下了很大的时间和金钱。比如:我想得到关于线程和进程的信息,我可以使用以下的脚本轻易实现:  

  Set oWService=GetObject("winmgmts:\\localhost\root\cimv2")

  Set colItems=oWService.ExecQuery("Sel&#101;ct * FROM Win32_PerfFormattedData_PerfOS_System",,48)

  For Each Item in colItems

   Param1=Param1 + Item.Processes

   Param2=Param2 + Item.Threads

   Uptime=Item.SystemUptime

Next  

  WScript.Echo Param1

  WScript.Echo Param2

  WScript.Echo Uptime & " seconds"

  WScript.Echo "LocalHost" 

  Another problem I had was getting detailed o&#114; custom web statistics through either SNMP o&#114; WMI. To solve that, I used Microsoft&#39;s LogParser tool to run custom queries from a simple batch file:   

  @for /f "tokens=1,2,3,4* delims=/ " %%i in (&#39;date /t&#39;) do @set year=%%l&& @set month=%%j&& @set day=%%k

  @set logfile=c:\windows\system32\LogFiles\%1\ex%YEAR:~2,2%%month%%day%.log

  @If Exist %logfile% (

   @logparser "Sel&#101;ct COUNT(*) FROM %logfile% Wh&#101;re (sc-status>= 400AND sc-status<500)

   AND TO_TIMESTAMP(date, time) > SUB(SYSTEM_TIMESTAMP(), TO_TIMESTAMP(&#39;5&#39;,&#39;m&#39;))" -q

   @logparser "Sel&#101;ct COUNT(*) FROM %logfile% Wh&#101;re (sc-status>= 500AND sc-status<600)

   AND TO_TIMESTAMP(date, time) > SUB(SYSTEM_TIMESTAMP(), TO_TIMESTAMP(&#39;5&#39;,&#39;m&#39;))" -q

  ) ELSE (

   @Echo %logfile%

   @Echo 0

  )

  @Echo Unknown

  @Echo %1
  

   因为微软的日志记录工具也非常强大,和MRTG的计数器配合使用,在加上免费的入侵检测系统Snort,效果会更好。

  六,最后 

  在你自定义的完你的计数器完成之后,通过图行化的状况就可以轻易的找出入侵者。可以在网站http://snmpboy.msft.net看到在Windows 2003 server中的snmp更多的信息。

推荐日志 提升安全性Win XP必禁的十大服务

[ 2007-03-25 03:45:11 | 作者: sun ]
Windows提供了很多非常有价值的服务,但很多服务都是双刃剑,用不好就会带来诸多安全隐患。以下十项服务是对安全威胁较大的服务,建议普通用户一定要禁用它。


  Win XP必须禁止的服务

  1.NetMeeting Remote Desktop Sharing:允许受权的用户通过NetMeeting在网络上互相访问对方。这项服务对大多数个人用户并没有多大用处,况且服务的开启还会带来安全问题,因为上网时该服务会把用户名以明文形式发送到连接它的客户端,黑客的嗅探程序很容易就能探测到这些账户信息。

  2.Universal Plug and Play Device Host:此服务是为通用的即插即用设备提供支持。这项服务存在一个安全漏洞,运行此服务的计算机很容易受到攻击。攻击者只要向某个拥有多台Win XP系统的网络发送一个虚假的UDP包,就可能会造成这些Win XP主机对指定的主机进行攻击(DDoS)。另外如果向该系统1900端口发送一个UDP包,令“Location”域的地址指向另一系统的chargen端口,就有可能使系统陷入一个死循环,消耗掉系统的所有资源(需要安装硬件时需手动开启)。

  3.Messenger:俗称信使服务,电脑用户在局域网内可以利用它进行资料交换(传输客户端和服务器之间的Net Send和Alerter服务消息,此服务与Windows Messenger无关。如果服务停止,Alerter消息不会被传输)。这是一个危险而讨厌的服务,Messenger服务基本上是用在企业的网络管理上,但是垃圾邮件和垃圾广告厂商,也经常利用该服务发布弹出式广告,标题为“信使服务”。而且这项服务有漏洞,MSBlast和Slammer病毒就是用它来进行快速传播的。

  4.Terminal Services:允许多位用户连接并控制一台机器,并且在远程计算机上显示桌面和应用程序。如果你不使用Win XP的远程控制功能,可以禁止它。

  5.Remote Registry:使远程用户能修改此计算机上的注册表设置。注册表可以说是系统的核心内容,一般用户都不建议自行更改,更何况要让别人远程修改,所以这项服务是极其危险的。

  6.Fast User Switching Compatibility:在多用户下为需要协助的应用程序提供管理。Windows XP允许在一台电脑上进行多用户之间的快速切换,但是这项功能有个漏洞,当你点击“开始→注销→快速切换”,在传统登录方式下重复输入一个用户名进行登录时,系统会认为是暴力破解,而锁定所有非管理员账户。如果不经常使用,可以禁止该服务。或者在“控制面板→用户账户→更改用户登录或注销方式”中取消“使用快速用户切换”。

  7.Telnet:允许远程用户登录到此计算机并运行程序,并支持多种 TCP/IP Telnet客户,包括基于 UNIX 和 Windows 的计算机。又一个危险的服务,如果启动,远程用户就可以登录、访问本地的程序,甚至可以用它来修改你的ADSL Modem等的网络设置。除非你是网络专业人员或电脑不作为服务器使用,否则一定要禁止它。

  8.Performance Logs And Alerts:收集本地或远程计算机基于预先配置的日程参数的性能数据,然后将此数据写入日志或触发警报。为了防止被远程计算机搜索数据,坚决禁止它。

  9.Remote Desktop Help Session Manager:如果此服务被终止,远程协助将不可用。

  10.TCP/IP NetBIOS Helper:NetBIOS在Win 9X下就经常有人用它来进行攻击,对于不需要文件和打印共享的用户,此项也可以禁用

进阶:可以禁止的服务

  另外还有一些普通用户可以按需求禁止的服务:  

  1.Alerter:通知所选用户和计算机有关系统管理级警报。如果你未连上局域网且不需要管理警报,则可将其禁止。  

  2.Indexing Service:本地和远程计算机上文件的索引内容和属性,提供文件快速访问。这项服务对个人用户没有多大用处。  

  3.Application Layer Gateway Service:为Internet连接共享和Internet连接防火墙提供第三方协议插件的支持。如果你没有启用Internet连接共享或Windows XP的内置防火墙,可以禁止该服务。  

  4.Uninterruptible Power Supply:管理连接到计算机的不间断电源,没有安装UPS的用户可以禁用。  

  5.Print Spooler:将文件加载到内存中以便稍后打印。如果没装打印机,可以禁用。  

  6.Smart Card:管理计算机对智能卡的读取访问。基本上用不上,可以禁用。  

  7.Ssdp Discovery Service:启动家庭网络上的upnp设备自动发现。具有upnp的设备还不多,对于我们来说这个服务是没有用的。  

  8.Automatic Up&#100;ates:自动从Windows Up&#100;ate网络更新补丁。利用Windows Up&#100;ate功能进行升级,速度太慢,建议大家通过多线程下载工具下载补丁到本地硬盘后,再进行升级。  

  9.Clipbook:启用“剪贴板查看器”储存信息并与远程计算机共享。如果不想与远程计算机进行信息共享,就可以禁止。  

  10.Imapi Cd-burning Com Service:用Imapi管理CD录制,虽然Win XP中内置了此功能,但是我们大多会选择专业刻录软件,另外如果没有安装刻录机的话,也可以禁止该服务。   

  11.Workstation:创建和维护到远程服务的客户端网络连接。如果服务停止,这些连接都将不可用。  

  12.Error Reporting Service:服务和应用程序在非标准环境下运行时,允许错误报告。如果你不是专业人员,这个错误报告对你来说根本没用。  

  再就是如下几种服务对普通用户而言也没有什么作用,大家可以自己决定取舍,如:Routing and Remote Access、Net Logon、Network DDE和Network DDE DSDM。

推荐日志 详解网站的安全保护方法

[ 2007-03-25 03:44:59 | 作者: sun ]
一、网站的通用保护方法

  针对黑客威胁,网络安全管理员采取各种手段增强服务器的安全,确保WWW服务的正常运行。象在Internet上的Email、ftp等服务器一样,可以用如下的方法来对WWW服务器进行保护:

  安全配置

  关闭不必要的服务,最好是只提供WWW服务,安装操作系统的最新补丁,将WWW服务升级到最新版本并安装所有补丁,对根据WWW服务提供者的安全建议进行配置等,这些措施将极大提供WWW服务器本身的安全。

  防火墙 

  安装必要的防火墙,阻止各种扫描工具的试探和信息收集,甚至可以根据一些安全报告来阻止来自某些特定IP地址范围的机器连接,给WWW服务器增加一个防护层,同时需要对防火墙内的网络环境进行调整,消除内部网络的安全隐患。  

  漏洞扫描 

  使用商用或免费的漏洞扫描和风险评估工具定期对服务器进行扫描,来发现潜在的安全问题,并确保由于升级或修改配置等正常的维护工作不会带来安全问题。  

  入侵检测系统   

  利用入侵检测系统(IDS)的实时监控能力,发现正在进行的攻击行为及攻击前的试探行为,记录黑客的来源及攻击步骤和方法。   

  这些安全措施都将极大提供WWW服务器的安全,减少被攻击的可能性。

  二、网站的专用保护方法

  尽管采用的各种安全措施能防止很多黑客的攻击,然而由于各种操作系统和服务器软件漏洞的不断发现,攻击方法层出不穷,技术高明的黑客还是能突破层层保护,获得系统的控制权限,从而达到破坏主页的目的。这种情况下,一些网络安全公司推出了专门针对网站的保护软件,只保护网站最重要的内容--网页。一旦检测到被保护的文件发生了{非正常的}改变,就进行恢复。一般情况下,系统首先需要对正常的页面文件进行备份,然后启动检测机制,检查文件是否被修改,如果被修改就需要进行恢复。我们对以下几个方面的技术进行分析比较:  

监测方式   

  本地和远程:检测可以是在本地运行一个监测端,也可以在网络上的另一台主机。如果是本地的话,监测端进程需要足够的权限读取被保护目录或文件。监测端如果在远端的话,WWW服务器需要开放一些服务并给监测端相应的权限,较常见的方式是直接利用服务器的开放的WWW服务,使用HTTP协议来监测被保护的文件和目录。也可利用其它常用协议来检测保护文件和目录,如FTP等。采用本地方式检测的优点是效率高,而远程方式则具有平台无关性,但会增加网络流量等负担。  

  定时和触发:绝大部分保护软件是使用的定时检测的方式,不论在本地还是远程检测都是根据系统设定的时间定时检测,还可将被保护的网页分为不同等级,等级高的检测时间间隔可以设得较短,以获得较好的实时性,而将保护等级较低的网页文件检测时间间隔设得较长,以减轻系统的负担。触发方式则是利用操作系统提供的一些功能,在文件被创建、修改或删除时得到通知,这种方法的优点是效率高,但无法实现远程检测。  

  比较方法  

  在判断文件是否被修改时,往往采用被保护目录和备份库中的文件进行比较,比较最常见的方式全文比较。使用全文比较能直接、准确地判断出该文件是否被修改。然而全文比较在文件较大较多时效率十分低下,一些保护软件就采用文件的属性如文件大小、创建修改时间等进行比较,这种方法虽然简单高效,但也有严重的缺陷:{恶意入侵者}可以通过精心构造,把替换文件的属性设置得和原文件完全相同,{从而使被恶意更改的文件无法被检测出来}。另一种方案就是比较文件的数字签名,最常见的是MD5签名算法,由于数字签名的不可伪造性,数字签名能确保文件的相同。

  恢复方式   

  恢复方式与备份库存放的位置直接相关。如果备份库存放在本地的话,恢复进程必须有写被保护目录或文件的权限。如果在远程则需要通过文件共享或FTP的方式来进行,那么需要文件共享或FTP的帐号,并且该帐号拥有对被保护目录或文件的写权限。  

  备份库的安全  

  当黑客发现其更换的主页很快被恢复时,往往会激发起进一步破坏的欲望,此时备份库的安全尤为重要。网页文件的安全就转变为备份库的安全。对备份库的保护一种是通过文件隐藏来实现,让黑客无法找到备份目录。另一种方法是对备份库进行数字签名,如果黑客修改了备份库的内容,保护软件可以通过签名发现,就可停止WWW服务或使用一个默认的页面。

  通过以上分析比较我们发现各种技术都有其优缺点,需要结合实际的网络环境来选择最适合的技术方案。

  三、网站保护的缺陷

  尽管网站保护软件能进一步提高系统的安全,仍然存在一些缺陷。首先这些保护软件都是针对静态页面而设计,而现在动态页面占据的范围越来越大,尽管本地监测方式可以检测脚本文件,但对脚本文件使用的数据库却无能为力。   

  另外,有些攻击并不是针对页面文件进行的,前不久泛滥成灾的"Red Code"就是使用修改IIS服务的一个动态库来达到攻击页面的目的。另一个方面,网站保护软件本身会增加WWW服务器的负载,在WWW服务器负载本身已经很重的情况下,一定好仔细规划好使用方案。   

  四、结论

  本文讨论了网站常用的保护方法,详细地分析比较了专用网站保护软件采用的各种技术实现和优缺点,并指出了其缺陷。安全虽不是使用某个工具或某些工具就可以解决的,但使用这些工具能帮助提高安全性,减少安全风险。

推荐日志 系统特性与web安全

[ 2007-03-25 03:44:47 | 作者: sun ]
一、WINDOWS系统

windows对..\的支持
windows对.的忽略
二、*nix系统

freebsd系统下/的利用
大小写的区分
三,iis与apache

解析文件类型的利用
iis6的特性
apache文件名解析缺陷漏洞
四、配置文件的位置
==================================

一、WINDOWS系统

1、windows对..\的支持

特性:win系统下可以用..\进行跨目录操作
利用:web入侵中进行跨目录操作时,在web程序过滤了/的情况下,我们可以通过..\突破。
实例:MolyX Board的attachment.php中attach变量过虑不严漏洞(http://4ngel.net/article/50.htm)在angel的文章里提供的解决方案里,只过滤了/,并没有对\过滤,导致在win主机上漏洞依旧,详见:http://www.4ngel.net/blog/hei/index.php?action=show&id=92

2、windows对.的忽略

特性:win系统下在文件后缀后的.将被忽略,如test.php. 与test.php是等同的
利用:导致上传文件时,被利用上传webshell
实例:缺

二、*nix系统

1、freebsd系统下/的利用 (ps:也有可能存在于其他系统)

特性:freebsd下因系统文件格式不同导致可以利用/进行目录列片攻击:如在freebsd下运行cat / 得到根目录下的所有文件夹及文件:

cat /

.
.. .snap(
dev\
usr
var stand犅p
etc? cdromg? distsg?
bin? boot唜<
lib \ libexec
mnt ? proc唜?( rescue?? root唜?? sbin唜??
tmp

sys ? .cshrc?? .profile
? COPYRIGHTe?
compat?
home]D? entropy \t service ( d greenarmy玩

利用:mysql注射时可以配合load_file()进行目录列片攻击。如load_file(0x2F) [0x2F为/的hex值] ,load_file(0x2Froot0x2F)

2、大小写的区分

特性:*nix系统是文件格式区分大小写,而windows系统不区分。
利用:最简单的利用也是最直接的 用来区分web服务器使用的系统
实例:分别提交
http://www.4ngel.net/blog/hei/index.php 正常返回
http://www.4ngel.net/blog/hei/inDex.php 提示文件不存在
这个说明www.4ngel.net主机为非windows系统。

三,iis与apache

1、解析文件类型的利用

iis在支持asp外,还支持asa,cer,cdx,htr
apache+php在支持php外,还支持php3,php4,phpx等
由于web程序的过虑不足,导致可以上传webshell

2、iis6的特性

IIS 6.0 目录名里包含有文件.asp会导致其目录下任意文件当做asp文件来运行。如我们把webshell保存到test.asp/webshell.gif,当iis6下访问http://xxx/test.asp/webshell.gif 时webshell.gif被当作asp文件来解析。可以利用到通过数据库备用得到的webshell,存放后门等方面。

3、apache文件名解析缺陷漏洞

apache 文件名解析时,是从后面开始检查后缀,按最后一个合法后缀执行。如:cmdshell.php.heige 因为heige不被apache解析,所以apache把这个文件当php文件解析了.
利用:
a、有的web程序安装后,会把install.php改名为install.php.lock,install.php.bak等等
实例:BMForum等
b、挖掘上传漏洞
实例:Discuz!等
c、.....

四、配置文件的位置

每个系统都自己特定的配置文件(包括第3方软件的配置文件)其位置也是相对固定的。文件内容包含了服务器的敏感信息。在我们利用web漏洞任意操作文件时(如 include包含漏洞,mysql注射load_file()的利用,等等)读取或下载这些配置文件,导致敏感信息的泄露。如:
windows系统:boot.ini mysql的%SYSTEMROOT%/my.ini servu的c:\program files\serv-u\servudeamon.ini 等等
*nix系统的 etc/目录下的文件 等等

小结

本文只是个人的一些经验的整理,由于个人的知识有限,如果有什么不对的或者你有好的发现和经验,等待您的分享!

推荐日志 MAC地址与IP地址绑定的策略

[ 2007-03-25 03:44:36 | 作者: sun ]
引言 对“IP地址盗用”的解决方案绝大多数都是采取MAC与IP地址绑定策略,这种做法是十分危险的,本文将就这个问题进行探讨。在这里需要声明的是,本文是处于对对MAC与IP地址绑定策略安全的忧虑,不带有任何黑客性质。


为什么要绑定MAC与IP 地址


影响网络安全的因素很多,IP地址盗用或地址欺骗就是其中一个常见且危害极大的因素。现实中,许多网络应用是基于IP的,比如流量统计、账号控制等都将IP地址作为标志用户的一个重要的参数。如果有人盗用了合法地址并伪装成合法用户,网络上传输的数据就可能被破坏、窃听,甚至盗用,造成无法弥补的损失。


盗用外部网络的IP地址比较困难,因为路由器等网络互连设备一般都会设置通过各个端口的IP地址范围,不属于该IP地址范围的报文将无法通过这些互连设备。但如果盗用的是Ethernet内部合法用户的IP地址,这种网络互连设备显然无能为力了。“道高一尺,魔高一丈”,对于Ethernet内部的IP地址被盗用,当然也有相应的解决办法。绑定MAC地址与IP地址就是防止内部IP盗用的一个常用的、简单的、有效的措施。


MAC与IP 地址绑定原理


IP地址的修改非常容易,而MAC地址存储在网卡的EEPROM中,而且网卡的MAC地址是唯一确定的。因此,为了防止内部人员进行非法IP盗用(例如盗用权限更高人员的IP地址,以获得权限外的信息),可以将内部网络的IP地址与MAC地址绑定,盗用者即使修改了IP地址,也因MAC地址不匹配而盗用失败:而且由于网卡MAC地址的唯一确定性,可以根据MAC地址查出使用该MAC地址的网卡,进而查出非法盗用者。


目前,很多单位的内部网络,尤其是学校校园网都采用了MAC地址与IP地址的绑定技术。许多防火墙(硬件防火墙和软件防火墙)为了防止网络内部的IP地址被盗用,也都内置了MAC地址与IP地址的绑定功能。


从表面上看来,绑定MAC地址和IP地址可以防止内部IP地址被盗用,但实际上由于各层协议以及网卡驱动等实现技术,MAC地址与IP地址的绑定存在很大的缺陷,并不能真正防止内部IP地址被盗用。


破解MAC与IP地址绑定策略


IP地址和MAC地址简介


现行的TCP/IP网络是一个四层协议结构,从下往上依次为链路层、网络层、传输层和应用层。


Ethernet协议是链路层协议,使用的地址是MAC地址。MAC地址是Ethernet网卡在Ethernet中的硬件标志,网卡生产时将其存于网卡的EEPROM中。网卡的MAC地址各不相同,MAC地址可以唯一标志一块网卡。在Ethernet上传输的每个报文都含有发送该报文的网卡的MAC地址。


Ethernet根据Ethernet报文头中的源MAC地址和目的MAC来识别报文的发送端和接收端。IP协议应用于网络层,使用的地址为IP地址。使用IP协议进行通讯,每个IP报文头中必须含有源IP和目的IP地址,用以标志该IP报文的发送端和接收端。在Ethernet上使用IP协议传输报文时,IP报文作为Ethernet报文的数据。IP地址对于Ethernet交换机或处理器是透明的。用户可以根据实际网络的需要为网卡配置一个或多个IP地址。MAC地址和IP地址之间并不存在一一对应的关系。


MAC地址存储在网卡的EEPROM中并且唯一确定,但网卡驱动在发送Ethernet报文时,并不从EEPROM中读取MAC地址,而是在内存中来建立一块缓存区,Ethernet报文从中读取源MAC地址。而且,用户可以通过操作系统修改实际发送的Ethernet报文中的源MAC地址。既然MAC地址可以修改,那么MAC地址与IP地址的绑定也就失去了它原有的意义。


破解方案


下图是破解试验的结构示意图。其内部服务器和外部服务器都提供Web服务,防火墙中实现了MAC地址和IP地址的绑定。报文中的源MAC地址与1P地址对如果无法与防火墙中设置的MAC地址与1P地址对匹配,将无法通过防火墙。主机2和内部服务器都是内部网络中的合法机器;主机1是为了做实验而新加入的机器。安装的操作系统是W2000企业版,网卡是3Com的。


试验需要修改主机1中网卡的MAC和IP地址为被盗用设备的MAC和IP地址。首先,在控制面板中选择“网络和拨号连接”,选中对应的网卡并点击鼠标右键,选择属性,在属性页的“常规”页中点击“配置”按钮。在配置属性页中选择“高级”,再在“属性”栏中选择“Network Address”,在“值”栏中选中输人框,然后在输人框中输人被盗用设备的MAC地址,MAC地址就修改成功了。


然后再将IP地址配置成被盗用设备的IP地址。盗用内部客户机IP地址:将主机1的MAC地址和IP地址分别修改为主机2的MAC地址和IP地址。主机1可以访问外部服务器,能够顺利地通过防火墙,访问权限与主机2没有分别。而且,与此同时主机2也可以正常地访问外部服务器,完全不受主机1的影响。无论是主机2还是防火墙都察觉不到主机1的存在。主机1如果访问内部服务器,根本无需通过防火墙,更是畅通无阻了。


盗用内部服务器IP地址:将主机1的MAC地址和U地址修改为内部服务器的MAC地址和IP地址。主机1也提供Web服务。为了使效果更明显,主机1上提供的Web服务内容与内部服务器提供的内容不同。


因为在实际的实验中主机1与主机2连在同一个HUB上,主机2的访问请求总是先被主机1响应,主机2期望访问的是内部服务器,得到的却总是主机1提供的内容。更一般地,主机2如果试图访问内部服务器,获得的到底是主机1提供的内容还是内部服务器提供的内容具有随机性,要看它的访问请求首先被谁响应,在后面的分析中我们将进一步对此进行阐述。


盗用服务器的MAC和IP危害可能更大,如果主机1提供的Web内容和内部服务器中的内容一样,那么主机2将无法识别它访问的到底是哪个机器;如果Web内容中要求输人账号、密码等信息,那么这些信息对于主机1来说则是一览无遗了。


破解成功的原因


上面的实验验证了绑定MAC地址与IP地址的确存在很大的缺陷,无法有效地防止内部IP地址被盗用。接下来,将从理论上对该缺陷进行详细的分析。


缺陷存在的前提是网卡的混杂接收模式,所谓混杂接收模式是指网卡可以接收网络上传输的所有报文,无论其目的MAC地址是否为该网卡的MAC地址。正是由于网卡支持混杂模式,才使网卡驱动程序支持MAC地址的修改成为可能;否则,就算修改了MAC地址,但是网卡根本无法接收相应地址的报文,该网卡就变得只能发送,无法接收,通信也就无法正常进行了。


MAC地址可以被盗用的直接原因是网卡驱动程序发送Ethernet报文的实现机制。Ethernet报文中的源MAC地址是驱动程序负责填写的,但驱动程序并不从网卡的EEPROM中读取MAC,而是在内存中建立一个MAC地址缓存区。网卡初始化的时候将EEPROM中的内容读入到该缓存区。如果将该缓存区中的内容修改为用户设置的MAC地址,以后发出去的Ethernet报文的源地址就是修改后的MAC地址了。


如果仅仅是修改MAC地址,地址盗用并不见得能够得逞。Ethernet是基于广播的,Ethernet网卡都能监听到局域网中传输的所有报文,但是网卡只接收那些目的地址与自己的MAC地址相匹配的Ethernet报文。如果有两台具有相同MAC地址的主机分别发出访问请求,而这两个访问请求的响应报文对于这两台主机都是匹配的,那么这两台主机就不只接收到自己需要的内容,而且还会接收到目的为另外一台同MAC主机的内容。


按理说,两台主机因为接收了多余的报文后,都应该无法正常工作,盗用马上就会被察觉,盗用也就无法继续了;但是,在实验中地址被盗用之后,各台实验设备都可以互不干扰的正常工作。这又是什么原因呢?答案应该归结于上层使用的协议。


目前,网络中最常用的协议是TCP/IP协议,网络应用程序一般都是运行在TCP或者UDP之上。例如,实验中Web服务器采用的HTTP协议就是基于TCP的。在TCP或者UDP中,标志通信双方的不仅仅是IP地址,还包括端口号。在一般的应用中,用户端的端口号并不是预先设置的,而是协议根据一定的规则生成的,具有随机性。像上面利用IE来访问Web服务器就是这样。UDP或者TCP的端口号为16位二进制数,两个16位的随机数字相等的几率非常小,恰好相等又谈何容易?两台主机虽然MAC地址和IP地址相同,但是应用端口号不同,接收到的多余数据由于在TCP/UDP层找不到匹配的端口号,被当成无用的数据简单地丢弃了,而TCP/UDP层的处理对于用户层来说是透明的;所以用户可以“正确无误”地正常使用相应的服务,而不受地址盗用的干扰。


当然,某些应用程序的用户端口号可能是用户或者应用程序自己设置的,而不是交给协议来随机的生成。那么,结果又会如何呢?例如,在两台MAC地址和IP地址都相同的主机上,启动了两个端口相同的应用程序,这两个应用是不是就无法正常工作了呢?其实不尽然。


如果下层使用的是UDP协议,两个应用将互相干扰无法正常工作。如果使用的是TCP协议,结果就不一样了。因为TCP是面向连接的,为了实现重发机制,保证数据的正确传输,TCP引入了报文序列号和接收窗口的概念。在上述的端口号匹配的报文中,只有那些序列号的偏差属于接收窗口之内的报文才会被接收,否则,会被认为是过期报文而丢弃。TCP协议中的报文的序列号有32位,每个应用程序发送的第一个报文的序列号是严格按照随机的原则产生的,以后每个报文的序列号依次加1。


窗口的大小有16位,也就是说窗口最大可以是216,而序列号的范围是232,主机期望接收的TCP数据的序列号正好也处于对方的接收范围之内的概率为1/216,可谓小之又小。 TCP的序列号本来是为了实现报文的正确传输,现在却成了地址盗用的帮凶。


解决MAC与IP地址绑定被破解的方法


解决MAC与IP地址绑定被破解的方法很多,主要以下几种。


交换机端口、MAC地址和IP地址三者绑定的方法;代理服务与防火墙相结合的方法;用PPPoE协议进行用户认证的方法;基于目录服务策略的方法;统一身份认证与计费软件相结合的方法等(这些方法的实现原理和过程可以参考拙作《校园网IP地址盗用解决方案》)。在这里笔者尤其推荐最后一种方法,这种方法是将校园网办公自动化系统和网络计费软件结合在一起而实现的,这在校园网信息化建设的今天具有很强的实践性。

推荐日志 当心!HTML文件也能格式化你的硬盘

[ 2007-03-25 03:44:24 | 作者: sun ]
一日,忽然听朋友说,他在上网的时候,不知点击了什么东西,而将他的硬盘全部给格式化了。笔者首先的念头就是:该不会是中了那个有名的国产宏病毒"七月杀手"?不过这个宏病毒是在系统Autoexec.bat文件中加入了"deltree c:/y",应该不会格式化整个硬盘。


曾经在某个杂志上看到过一个介绍,说什么IE浏览器可以通过执行ActiveX而把硬盘格式化,而且记得当时还公布了源代码,只是当时公布的源代码是针对西班牙版的Windows,对中文版的Windows没有用,说不定那些代码现在已经被一些高手给改成了针对中文Windows的呢。


问问自己的朋友,他也是稀里糊涂地被格式化掉硬盘的,当时进入的网站也不记得了。


没有办法,笔者只好自己跑到国内的一些网站去找类似的主题文章。皇天不负苦心人,终于找到了几个可以格式化硬盘的HTML文件。网站上的版主出自好心,提醒下载的网友:只能供自己研究,不可害人。


考虑到危险性,笔者先用记事本随便打开其中一个看看源代码,没有想到这个源文件竟给加了密,里面是用JavaScript写的脚本,加密的部分好像只是一些字符的定义,而真正的脚本内容也只是显示一些字符在屏幕上。


因为自己的机器是刚装好的,没有什么特别重要的数据,所以就抱着"过把瘾就死"的念头,用IE浏览器打开了这个HTML文件。


接着,浏览器发出一个警告:"该页上的ActiveX控件与页上的其它部分进行交互可能不安全,是否允许进行交互?"。


如果你选择"是",则就会运行那些不安全控件。不过笔者试的这个HTML文件只是给大家开个玩笑,你打开它后,它说什么"你的C盘已经被它强行输入格式化,一旦重新启动就格式化了。


请不要启动,立即保存有用的文件。"等诸如此类的话。笔者仔细检查了一下Windows启动程序里的内容,也没有什么变化,于是放心大胆地重启,果然是开的玩笑。

在下载的另外一个HTML文件中,看看源代码,不禁吓了一跳。程序仅有的不足30代代码中有24行都是调用Windows里自带的format.com命令,真是够狠的。除了A、B两个驱外,只要你能够分的区C-Z,都会被格式化。


为了验证其效果,又不想笔者的硬盘被格式化,笔者把Windows里自带的format.com给改了名字,然后用IE打开该HTML文件,浏览器同样发出一个警告:"该页上的某些软件(ActiveX控件)可能不安全。建议您不要运行。是否允许运行?"。


当你选择"是"的时候,会弹出几十个DOS窗口,可能是因为它找不到format.com这个文件,找开的所有DOS窗口都是什么显示也没有。


它不但调用了format.com,另外还加上了一些参数,如快速格式化等,再加上格式化时窗口就已经自动完成了硬盘格式化的工作,等你发现时也已经悔之晚矣。幸好笔者事先已经把硬盘里的format.com给改了名字,否则后果可想而知。


看来现在通过HTML文件来格式化中文版的Windows确实是可以做到的。以后大家上网可要小心点啦。不过,大家也不必怕被噎着而不吃饭,只要你按下面的方法做,照样能痛快淋漓地进行网上冲浪。


一、不要随便打开陌生人寄来的Email的附件,现在对于HTML文件,打开时如果出现所谓的"页面含有不安全的ActiveX"等信息时都该小心了,最好不要运行该ActiveX控件。


二、将Windows系统里比较危险的一些程序改名,比如format.com、deltree.exe等。我们在Windows下真正用到这些DOS命令的情况并不是很多,所以对直接调用DOS命令来恶意破坏系统的代码,改名不失为一种对付的好方法。你可以改为一些容易记的名字,如format.com改为format-1.com。


三、注意更新自己的系统,系统不一定是要最新的版本,但是其安全性方面的补丁就一定要注意,最好能去下载并安装上。我们常用的反病毒、反黑客程序要定期去更新。


值得注意的是:对于笔者这次用到的格式化硬盘的HTML文件,还没有什么反病毒、反黑客程序能够做出反应(这也难怪,因为这个恶意代码并不属于病毒和黑客程序的范畴)。


四、在网上遇到的一些非法网站,如果它要求你下载或者点击什么东西,要先看看说明,最好不要轻易相信。以前报纸上介绍的因为下载一个程序而造成拨号上网用户支付国际长途电话费就是一个惨痛的教训。


像笔者的朋友那样因为在网上不听网页版主的劝告,硬要去试一试那些程序,结果糊里糊涂地硬盘被格,这个教训大家也要好好地汲取。


互联网这个自由世界,导致一些别有用心的人利用网络缺陷去攻击网民。目前最为普遍的一种攻击手段就是“邮件炸弹”,这也是我们这些个人用户在网络安全中最需要注意的地方。那什么是邮件炸弹,它有哪些危害,知道了厉害之后,我们该采取怎样的办法去对付电子邮件炸弹,以免遭非法用户的“暗算”?对于这些问题的答案,相信大家在看完本篇文章后,一定是很清楚了。

  邮件炸弹的概念

  谈起“炸弹”,脑海中马上会出现一种战争场面,而所谓的电子邮件炸弹,危害与炸弹是一样的,只不过是电子的,邮件炸弹具体说,指的是邮件发送者,利用特殊的电子邮件软件,在很短的时间内连续不断地将邮件邮寄给同一个收信人,在这些数以千万计的大容量信件面前收件箱肯定不堪重负,而最终“爆炸身亡”。

  我们往往会把邮件炸弹与邮件Spaming混淆,其实这两者实质不尽相同。Spaming指的是发件者在同一时间内将同一电子邮件寄出给千万个不同的用户(或寄到新闻组),主要是一些公司用来宣传其产品的广告方式,这种方式一般不会对收件人造成太大的伤害。

  邮件炸弹的危害

  邮件炸弹可以说是目前网络中最“流行”的一种恶作剧,而用来制作恶作剧的特殊程序也称为E-mail Bomber。当某人所作所为引起了好事者不满时,好事者就可以通过这种手段来发动进攻。这种攻击手段不仅会干扰用户的电子邮件系统的正常使用,甚至它还能影响到邮件系统所在的服务器系统的安全,造成整个网络系统全部瘫痪,所以邮件炸弹具有很大危害。

  邮件炸弹可以大量消耗网络资源,常常导致网络塞车,使大量的用户不能正常地工作。通常,网络用户的信箱容量是很有限的,在有限的空间中,如果用户在短时间内收到上千上万封电子邮件,那么经过一轮邮件炸弹轰炸后的电子邮件的总容量很容易就把用户有限的阵地挤垮。这样用户的邮箱中将没有多余的空间接纳新的邮件,那么新邮件将会被丢失或者被退回,这时用户的邮箱已经失去了作用;另外,这些邮件炸弹所携带的大容量信息不断在网络上来回传输,很容易堵塞带宽并不富裕的传输信道,这样会加重服务器的工作强度,减缓了处理其他用户的电子邮件的速度,从而导致了整个过程的延迟。

  预防炸弹袭击的措施

  遭受“炸弹”袭击后,第一个举动可能就是对那些无聊之人表示极端的愤慨,同时也想“以其人之道还治其人之身”,让这些“恶人”也尝尝“中弹”的滋味,于是有愤愤不平者可能会想到用电子邮件中的回复和转信的功能将整个炸弹“回放”给发件人。然而这些狡猾的“恶人”可能想到他们的举动会遭人唾骂、遭人报复,为避免“杀身之祸”,这些人早已将退路准备好,他们把电子邮件中的发信人和收信人的两个地址栏都改换成了被攻击者的邮件地址,如果你想报复他们的话,你的“回礼”行动不仅不能够成功,而且他们还会让你“搬起石头砸自己的脚”,使你的邮箱“雪上加霜”,你所寄出的电子邮件就会永无止境地返回给自己。

  作战方法

  报复肯定不是好方法,还是要预防为主。下面笔者推荐几种“作战方案”供大家参考:
 向ISP求援

  一旦信箱被轰炸了,但自己又没有好的办法来对付它,这时你应该做的就是拿起电话向你上网的ISP服务商求援,他们就会采取办法帮你清除E-mail Bomb。

  不要“惹是生非”在聊天室同人聊天,在论坛上与人争鸣,都要注意言辞不可过激,更不能进行人身攻击。否则……




  采用过滤功能

  在邮件软件中安装一个过滤器(比如说E-mail notify)是一种最有效的防范措施。在接收任何电子邮件之前预先检查发件人的资料, 如果觉得有可疑之处,可以将之删除,不让它进入你的邮件系统。但这种做法有时会误删除一些有用的邮件。如果担心有人恶意破坏你的信箱,给你发来一个“重磅炸弹”,你可以在邮件软件中启用过滤功能,把你的邮件服务器设置为,超过你信箱容量的大邮件时,自动进行删除。

  使用转信功能

  有些邮件服务器为了提高服务质量往往设有“自动转信”功能,利用该功能可以在一定程度上解决容量特大邮件的攻击。假设你申请了一个转信信箱,利用该信箱的转信功能和过滤功能,可以将那些不愿意看到的邮件统统过滤掉,删除在邮件服务器中,或者将垃圾邮件转移到自己其他免费的信箱中,或者干脆放弃使用被轰炸的邮箱,另外重新申请一个新的信箱。

  谨慎使用自动回信功能

  所谓“自动回信”就是指对方给你的这个信箱发来一封信而你没有及时收取的话,邮件系统会按照你事先的设定自动给发信人回复一封确认收到的信件。这个功能本来给大家带来了方便,但也有可能制造成邮件炸弹!试想一下,如果给你发信的人使用的邮件账号系统也开启了自动回信功能,那么当你收到他发来的信而没有及时收取时,你的系统就会给他自动发送一封确认信。恰巧他在这段时间也没有及时收取信件,那么他的系统又会自动给你发送一封确认收到的信。如此一来,这种自动发送的确认信便会在你们双方的系统中不断重复发送,直到把你们双方的信箱都撑爆为止!

  用专用工具来对付

  如果你的邮箱不幸已经“中弹”,而且你还想继续使用这个信箱名的话,可以用一些邮件工具软件如PoP-It来清除这些垃圾信息。这些清除软件可以登录到邮件服务器上,使用其中的命令来删除不需要的邮件,保留有用的信件。

推荐日志 详解有关Windows系统下的权限设置

[ 2007-03-25 03:43:35 | 作者: sun ]
随着动网论坛的广泛应用和动网上传漏洞的被发现以及SQL注入式攻击越来越多的被使用,WEBSHELL让防火墙形同虚设,一台即使打了所有微软补丁、只让80端口对外开放的WEB服务器也逃不过被黑的命运。难道我们真的无能为力了吗?其实,只要你弄明白了NTFS系统下的权限设置问题,我们可以对crackers们说:NO!

要打造一台安全的WEB服务器,那么这台服务器就一定要使用NTFS和Windows NT/2000/2003。众所周知,Windows是一个支持多用户、多任务的操作系统,这是权限设置的基础,一切权限设置都是基于用户和进程而言的,不同的用户在访问这台计算机时,将会有不同的权限。DOS是个单任务、单用户的操作系统。但是我们能说DOS没有权限吗?不能!当我们打开一台装有DOS操作系统的计算机的时候,我们就拥有了这个操作系统的管理员权限,而且,这个权限无处不在。所以,我们只能说DOS不支持权限的设置,不能说它没有权限。随着人们安全意识的提高,权限设置随着NTFS的发布诞生了。

Windows NT里,用户被分成许多组,组和组之间都有不同的权限,当然,一个组的用户和用户之间也可以有不同的权限。下面我们来谈谈NT中常见的用户组。

Administrators:管理员组,默认情况下,Administrators中的用户对计算机/域有不受限制的完全访问权。分配给该组的默认权限允许对整个系统进行完全控制。所以,只有受信任的人员才可成为该组的成员。

Power Users:高级用户组,Power Users 可以执行除了为 Administrators 组保留的任务外的其他任何操作系统任务。分配给 Power Users 组的默认权限允许 Power Users 组的成员修改整个计算机的设置。但Power Users 不具有将自己添加到 Administrators 组的权限。在权限设置中,这个组的权限是仅次于Administrators的。

Users:普通用户组,这个组的用户无法进行有意或无意的改动。因此,用户可以运行经过验证的应用程序,但不可以运行大多数旧版应用程序。Users 组是最安全的组,因为分配给该组的默认权限不允许成员修改操作系统的设置或用户资料。Users 组提供了一个最安全的程序运行环境。在经过 NTFS 格式化的卷上,默认安全设置旨在禁止该组的成员危及操作系统和已安装程序的完整性。用户不能修改系统注册表设置、操作系统文件或程序文件。Users 可以关闭工作站,但不能关闭服务器。Users 可以创建本地组,但只能修改自己创建的本地组。

Guests:来宾组,按默认值,来宾跟普通Users的成员有同等访问权,但来宾帐户的限制更多。

Everyone:顾名思义,所有的用户,这个计算机上的所有用户都属于这个组。

其实还有一个组也很常见,它拥有和Administrators一样、甚至比其还高的权限,但是这个组不允许任何用户的加入,在察看用户组的时候,它也不会被显示出来,它就是SYSTEM组。系统和系统级的服务正常运行所需要的权限都是靠它赋予的。由于该组只有这一个用户SYSTEM,也许把该组归为用户的行列更为贴切。

权限是有高低之分的,有高权限的用户可以对低权限的用户进行操作,但除了Administrators之外,其他组的用户不能访问 NTFS 卷上的其他用户资料,除非他们获得了这些用户的授权。而低权限的用户无法对高权限的用户进行任何操作。

我们平常使用计算机的过程当中不会感觉到有权限在阻挠你去做某件事情,这是因为我们在使用计算机的时候都用的是Administrators中的用户登陆的。这样有利也有弊,利当然是你能去做你想做的任何一件事情而不会遇到权限的限制。弊就是以 Administrators 组成员的身份运行计算机将使系统容易受到特洛伊木马、病毒及其他安全风险的威胁。访问 Internet 站点或打开电子邮件附件的简单行动都可能破坏系统。不熟悉的 Internet 站点或电子邮件附件可能有特洛伊木马代码,这些代码可以下载到系统并被执行。如果以本地计算机的管理员身份登录,特洛伊木马可能使用管理访问权重新格式化您的硬盘,造成不可估量的损失,所以在没有必要的情况下,最好不用Administrators中的用户登陆。Administrators中有一个在系统安装时就创建的默认用户——Administrator,Administrator 帐户具有对服务器的完全控制权限,并可以根据需要向用户指派用户权利和访问控制权限。因此强烈建议将此帐户设置为使用强密码。永远也不可以从 Administrators 组删除 Administrator 帐户,但可以重命名或禁用该帐户。由于大家都知道“管理员”存在于许多版本的 Windows 上,所以重命名或禁用此帐户将使恶意用户尝试并访问该帐户变得更为困难。对于一个好的服务器管理员来说,他们通常都会重命名或禁用此帐户。Guests用户组下,也有一个默认用户——Guest,但是在默认情况下,它是被禁用的。如果没有特别必要,无须启用此账户。我们可以通过“控制面板”——“管理工具”——“计算机管理”——“用户和用户组”来查看用户组及该组下的用户。

我们用鼠标右键单击一个NTFS卷或NTFS卷下的一个目录,选择“属性”——“安全”就可以对一个卷,或者一个卷下面的目录进行权限设置,此时我们会看到以下七种权限:完全控制、修改、读取和运行、列出文件夹目录、读取、写入、和特别的权限。“完全控制”就是对此卷或目录拥有不受限制的完全访问。地位就像Administrators在所有组中的地位一样。选中了“完全控制”,下面的五项属性将被自动被选中。“修改”则像Power users,选中了“修改”,下面的四项属性将被自动被选中。下面的任何一项没有被选中时,“修改”条件将不再成立。“读取和运行”就是允许读取和运行在这个卷或目录下的任何文件,“列出文件夹目录”和“读取”是“读取和运行”的必要条件。“列出文件夹目录”是指只能浏览该卷或目录下的子目录,不能读取,也不能运行。“读取”是能够读取该卷或目录下的数据。“写入”就是能往该卷或目录下写入数据。而“特别”则是对以上的六种权限进行了细分。读者可以自行对“特别”进行更深的研究,鄙人在此就不过多赘述了。

下面我们对一台刚刚安装好操作系统和服务软件的WEB服务器系统和其权限进行全面的刨析。服务器采用Windows 2000 Server版,安装好了SP4及各种补丁。WEB服务软件则是用了Windows 2000自带的IIS 5.0,删除了一切不必要的映射。整个硬盘分为四个NTFS卷,C盘为系统卷,只安装了系统和驱动程序;D盘为软件卷,该服务器上所有安装的软件都在D盘中;E盘是WEB程序卷,网站程序都在该卷下的WWW目录中;F盘是网站数据卷,网站系统调用的所有数据都存放在该卷的WWWDATABASE目录下。这样的分类还算是比较符合一台安全服务器的标准了。希望各个新手管理员能合理给你的服务器数据进行分类,这样不光是查找起来方便,更重要的是这样大大的增强了服务器的安全性,因为我们可以根据需要给每个卷或者每个目录都设置不同的权限,一旦发生了网络安全事故,也可以把损失降到最低。当然,也可以把网站的数据分布在不同的服务器上,使之成为一个服务器群,每个服务器都拥有不同的用户名和密码并提供不同的服务,这样做的安全性更高。不过愿意这样做的人都有一个特点——有钱。好了,言归正传,该服务器的数据库为MS-SQL,MS-SQL的服务软件SQL2000安装在d:\ms-sqlserver2K目录下,给SA账户设置好了足够强度的密码,安装好了SP3补丁。为了方便网页制作员对网页进行管理,该网站还开通了FTP服务,FTP服务软件使用的是SERV-U 5.1.0.0,安装在d:\ftpservice\serv-u目录下。杀毒软件和防火墙用的分别是Norton Antivirus和BlackICE,路径分别为d:\nortonAV和d:\firewall\blackice,病毒库已经升级到最新,防火墙规则库定义只有80端口和21端口对外开放。网站的内容是采用动网7.0的论坛,网站程序在e:\www\bbs下。细心的读者可能已经注意到了,安装这些服务软件的路径我都没有采用默认的路径或者是仅仅更改盘符的默认路径,这也是安全上的需要,因为一个黑客如果通过某些途径进入了你的服务器,但并没有获得管理员权限,他首先做的事情将是查看你开放了哪些服务以及安装了哪些软件,因为他需要通过这些来提升他的权限。一个难以猜解的路径加上好的权限设置将把他阻挡在外。相信经过这样配置的WEB服务器已经足够抵挡大部分学艺不精的黑客了。读者可能又会问了:“这根本没用到权限设置嘛!我把其他都安全工作都做好了,权限设置还有必要吗?”当然有!智者千虑还必有一失呢,就算你现在已经把系统安全做的完美无缺,你也要知道新的安全漏洞总是在被不断的发现。权限将是你的最后一道防线!那我们现在就来对这台没有经过任何权限设置,全部采用Windows默认权限的服务器进行一次模拟攻击,看看其是否真的固若金汤。

假设服务器外网域名为http://www.webserver.com,用扫描软件对其进行扫描后发现开放WWW和FTP服务,并发现其服务软件使用的是IIS 5.0和Serv-u 5.1,用一些针对他们的溢出工具后发现无效,遂放弃直接远程溢出的想法。打开网站页面,发现使用的是动网的论坛系统,于是在其域名后面加个/upfile.asp,发现有文件上传漏洞,便抓包,把修改过的ASP木马用NC提交,提示上传成功,成功得到WEBSHELL,打开刚刚上传的ASP木马,发现有MS-SQL、Norton Antivirus和BlackICE在运行,判断是防火墙上做了限制,把SQL服务端口屏蔽了。通过ASP木马查看到了Norton Antivirus和BlackICE的PID,又通过ASP木马上传了一个能杀掉进程的文件,运行后杀掉了Norton Antivirus和BlackICE。再扫描,发现1433端口开放了,到此,便有很多种途径获得管理员权限了,可以查看网站目录下的conn.asp得到SQL的用户名密码,再登陆进SQL执行添加用户,提管理员权限。也可以抓SERV-U下的ServUDaemon.ini修改后上传,得到系统管理员权限。还可以传本地溢出SERV-U的工具直接添加用户到Administrators等等。大家可以看到,一旦黑客找到了切入点,在没有权限限制的情况下,黑客将一帆风顺的取得管理员权限。

那我们现在就来看看Windows 2000的默认权限设置到底是怎样的。对于各个卷的根目录,默认给了Everyone组完全控制权。这意味着任何进入电脑的用户将不受限制的在这些根目录中为所欲为。系统卷下有三个目录比较特殊,系统默认给了他们有限制的权限,这三个目录是Documents and settings、Program files和Winnt。对于Documents and settings,默认的权限是这样分配的:Administrators拥有完全控制权;Everyone拥有读&运,列和读权限;Power users拥有读&运,列和读权限;SYSTEM同Administrators;Users拥有读&运,列和读权限。对于Program files,Administrators拥有完全控制权;Creator owner拥有特殊权限;Power users有完全控制权;SYSTEM同Administrators;Terminal server users拥有完全控制权,Users有读&运,列和读权限。对于Winnt,Administrators拥有完全控制权;Creator owner拥有特殊权限;Power users有完全控制权;SYSTEM同Administrators;Users有读&运,列和读权限。而非系统卷下的所有目录都将继承其父目录的权限,也就是Everyone组完全控制权!

现在大家知道为什么我们刚刚在测试的时候能一帆风顺的取得管理员权限了吧?权限设置的太低了!一个人在访问网站的时候,将被自动赋予IUSR用户,它是隶属于Guest组的。本来权限不高,但是系统默认给的Everyone组完全控制权却让它“身价倍增”,到最后能得到Administrators了。那么,怎样设置权限给这台WEB服务器才算是安全的呢?大家要牢记一句话:“最少的服务+最小的权限=最大的安全”对于服务,不必要的话一定不要装,要知道服务的运行是SYSTEM级的哦,对于权限,本着够用就好的原则分配就是了。对于WEB服务器,就拿刚刚那台服务器来说,我是这样设置权限的,大家可以参考一下:各个卷的根目录、Documents and settings以及Program files,只给Administrator完全控制权,或者干脆直接把Program files给删除掉;给系统卷的根目录多加一个Everyone的读、写权;给e:\www目录,也就是网站目录读、写权。最后,还要把cmd.exe这个文件给挖出来,只给Administrator完全控制权。经过这样的设置后,再想通过我刚刚的方法入侵这台服务器就是不可能完成的任务了。可能这时候又有读者会问:“为什么要给系统卷的根目录一个Everyone的读、写权?网站中的ASP文件运行不需要运行权限吗?”问的好,有深度。是这样的,系统卷如果不给Everyone的读、写权的话,启动计算机的时候,计算机会报错,而且会提示虚拟内存不足。当然这也有个前提——虚拟内存是分配在系统盘的,如果把虚拟内存分配在其他卷上,那你就要给那个卷Everyone的读、写权。ASP文件的运行方式是在服务器上执行,只把执行的结果传回最终用户的浏览器,这没错,但ASP文件不是系统意义上的可执行文件,它是由WEB服务的提供者——IIS来解释执行的,所以它的执行并不需要运行的权限。

经过上面的讲解以后,你一定对权限有了一个初步了了解了吧?想更深入的了解权限,那么权限的一些特性你就不能不知道了,权限是具有继承性、累加性 、优先性、交叉性的。

继承性是说下级的目录在没有经过重新设置之前,是拥有上一级目录权限设置的。这里还有一种情况要说明一下,在分区内复制目录或文件的时候,复制过去的目录和文件将拥有它现在所处位置的上一级目录权限设置。但在分区内移动目录或文件的时候,移动过去的目录和文件将拥有它原先的权限设置。

累加是说如一个组GROUP1中有两个用户USER1、USER2,他们同时对某文件或目录的访问权限分别为“读取”和“写入”,那么组GROUP1对该文件或目录的访问权限就为USER1和USER2的访问权限之和,实际上是取其最大的那个,即“读取”+“写入”=“写入”。 又如一个用户USER1同属于组GROUP1和GROUP2,而GROUP1对某一文件或目录的访问权限为“只读”型的,而GROUP2对这一文件或文件夹的访问权限为“完全控制”型的,则用户USER1对该文件或文件夹的访问权限为两个组权限累加所得,即:“只读”+“完全控制”=“完全控制”。

优先性,权限的这一特性又包含两种子特性,其一是文件的访问权限优先目录的权限,也就是说文件权限可以越过目录的权限,不顾上一级文件夹的设置。另一特性就是“拒绝”权限优先其它权限,也就是说“拒绝”权限可以越过其它所有其它权限,一旦选择了“拒绝”权限,则其它权限也就不能取任何作用,相当于没有设置。

交叉性是指当同一文件夹在为某一用户设置了共享权限的同时又为用户设置了该文件夹的访问权限,且所设权限不一致时,它的取舍原则是取两个权限的交集,也即最严格、最小的那种权限。如目录A为用户USER1设置的共享权限为“只读”,同时目录A为用户USER1设置的访问权限为“完全控制”,那用户USER1的最终访问权限为“只读”。

权限设置的问题我就说到这了,在最后我还想给各位读者提醒一下,权限的设置必须在NTFS分区中才能实现的,FAT32是不支持权限设置的。同时还想给各位管理员们一些建议:

1.养成良好的习惯,给服务器硬盘分区的时候分类明确些,在不使用服务器的时候将服务器锁定,经常更新各种补丁和升级杀毒软件。

2.设置足够强度的密码,这是老生常谈了,但总有管理员设置弱密码甚至空密码。

3.尽量不要把各种软件安装在默认的路径下。

4.在英文水平不是问题的情况下,尽量安装英文版操作系统。

5.切忌在服务器上乱装软件或不必要的服务。

6.牢记:没有永远安全的系统,经常更新你的知识。

推荐日志 教你上网前保证Windows XP安全的办法

[ 2007-03-25 03:43:12 | 作者: sun ]

当您安装新的 Windows XP Home、Professional 计算机时,需要确保系统安装了最新的更新软件和安全软件,以便在连接至 Internet 之前防御病毒和其它潜在威胁。连接至 Internet 后,定期更新操作系统和防病毒软件也同样重要。

下面这些步骤可帮助您以最新可用的 Windows XP 安全工具来设置新计算机。

第1步:正确安装系统补丁

安装完Windows XP后,我们接着马上需要进行Windows XP SP2的安装(硬盘剩余空间最好不要小于1.6GB),该补丁是2004年7月前发现的Windows XP系统安全漏洞的总包。

第2步:验证防火墙

安装完Windows XP SP2后,应该已安装了 Windows 防火墙(XP SP防火墙的设置见随后的教程)。

要验证计算机是否安装了 SP2,单击“开始”、“我的电脑”,然后单击“查看系统信息”以弹出“系统属性”窗口。此信息列在“系统:”标题下。“系统属性”窗口

第3步:获取软件更新

• 激活 Windows 自动更新。

• 插入调制解调器或网线以访问 Internet,然后启动“网络连接向导”。

• 连接后,让 Windows Up&#100;ate 安装最新的安全更新和软件更新。

一旦完成了所有更新且设定设置,您就可以在 Internet 冲浪了!只是要记住,勤于了解计算机安全技术很重要,因此,请定期运行 Windows Up&#100;ate,检查最新的下载和产品更新,保持启用自动更新并了解最新的安全威胁。同时多学习网络安全防范知识。