快捷搜索:   nginx

从黑客"踩点"开始谈重建安全防御系统

中国古代的大军事家孙子早在几千年前就在《孙子兵法》里指出:“知己知彼,百战不殆;不知彼而知己,一胜一负;不知彼不知己,每战必败。” 如果并不清楚黑客是如何找到我们的,如果也不知道黑客是如何进来的,即使我们拿一些安全设备将自己伪装起来,依然可能被黑客再次扒了衣服,透明的外衣加上裸奔,滋味一定不好受。

部署数据泄漏防护,减少黑客“踩点”途径

踩点(Footprinting),这是收集目标信息的奇技淫巧。举例来说,当盗贼决定抢劫一家银行时,他们不会大摇大摆地走进去直接要钱(至少明智的贼不会)。相反,他们会狠下一番苦功夫收集关于这家银行的相关信息,包括武装押运车的路线和运送时间、摄像头位置和摄像范围、出纳员人数、逃跑出口以及其他任何有助于行事的信息。同样的需要也适用于赵明的对手。他们必须收集大量的信息,以便集中火力进行外科手术式攻击(这种攻击可不会轻易被捉住)。因此,攻击者将尽可能多地收集一个单位安全情况的方方面面。最后,黑客就得到了独特的足迹(Footprint),也就是说黑客同样也能得到51CTO网站上提供的结构图。

◆公司的Web网页

◆相关组织

◆地理位置细节

◆电话号码、联系人名单、电子邮件地址、详细的个人资料

◆近期重大事件(合并、收购、裁员、快速增长等等)

◆可以表明现有信息安防机制的隐私/安防策略和技术细节

◆已归档的信息

◆心怀不满的员工

◆搜索引擎、Usenet和个人简历

◆让人感兴趣的其他信息

我们举一个例子来说,联系人名单和电子邮件地址也是非常有用的情报。大多数组织都会使用其员工姓名的某种变体作为他们的用户名和电子邮件地址(比如说,赵明的用户名往往会是“zhaoming”、“zhaom”或“zm”,而他的电子邮件地址则往往会是[email protected]或类似的东西)。如果能够设法弄到某个组织里的一个用户名或电子邮件地址,我们就可以相当准确地把很多用户的用户名和电子邮件地址推测出来。在我们稍后尝试获得系统资源的访问权限时,一个合法的用户名将非常有用,这很有可能造成网站管理账户的密码被“暴力破解”!

那么如何防止运维人员和公司内部普通用户将私有信息泄露出去,成为黑客踩点阶段的美餐呢?我们希望赵明通过一定的技术或管理手段,防止用户的指定数据或信息资产以违反安全策略规定的形式被有意或意外流出。那么在管理上,赵明可以借鉴更多的教育手段来提升普通用户将信息丢到外网上去,而技术手段上则需要“数据泄漏防护”(Data leakage prevention, DLP),产品的支撑。

通过赵明公司网络和应用结构图的分析,我们可以发现,这些敏感数据通常存放在文件服务器上,普通的用户通过自己的终端进行访问。而用户周边的打印机、可移动存储设备、摄像头、调制解调器和无线网络也是潜在的本地数据泄漏源,赵明可以通过在用户的终端上部署基于主机的数据泄漏防御方案来进行控制。而终端用户和Internet进行的通讯,尤其是最常见的E-mail、FTP、HTTP和即时通讯也是常见的网络数据泄漏源,在这种场合就需要在内部网络和Internet连接的出口处部署基于网络的数据泄漏防御方案进行控制。

部署传统防火墙,防范数据库暴露

如果说踩点相当于寻找并侦察情报中心的话,扫描就是在逐寸敲打墙壁以期找出所有门窗了。黑客通过踩点获得了很多有价值的信息,包括员工们的姓名和电话号码、IP地址范围、DNS服务器、Web服务器、论坛的账户信息、通过员工个人文档以及邮件内容获得的种种信息。他们将利用各种工具和技巧——比如ping扫描、端口扫描以及各种自动发现工具——去确定在目标网络里都有哪些系统正在监听外来的网络通信(或者说是真实存在的),以及都有哪些系统可以从因特网直接进行访问。

从基于Web主机的角度,各种服务器自身内置的实用工具都可以监测到ping或者扫描活动并把它们记载到日志文件里去。如果你们在查看有关日志时发现来自某个系统或网络的ICMP ECHO数据包是某种可疑的模式,那可能代表着有人正在对你们的站点进行网络侦察。希望赵明要密切留意这类活动,它往往预示着一次全面的攻击已迫在眉睫。另外,有许多种商业化的网络和桌面防火墙工具(Cisco、Check Point、Microsoft、McAfee、Symantec和ISS等公司都能提供)可以监测到ICMP、TCP和UDP ping扫描活动。

但存在可以监测ping扫描活动的技术,并不意味着有人在密切监测着这类活动。所以最好的方式是在Web主机前部属防火墙,以防止这种扫描接触到真实的主机。包过滤技术(Packet Filter)是防火墙为系统提供安全保障的主要技术,它通过设备对进出网络的数据流进行有选择的控制与操作。包过滤操作通常在选择路由的同时对数据包进行过滤。用户可以设定一系列的规则,指定允许哪些类型的数据包可以流入或流出内部网络;哪些类型的数据包的传输应该被丢弃。那么这些规则就是以IP包信息为基础,对IP包的源地址、 IP包的目的地址、封装协议(TCP/UDP/ICMP/IP Tunnel)、端口号等进行筛选。包过滤类型的防火墙要遵循的一条基本原则就是“最小特权原则”,即明确允许那些管理员希望通过的数据包,禁止其他的数据包。

另外一种常见的扫描时“端口扫描”,黑客是主动连接到目标系统的TCP和UDP端口以确定在目标系统上都有哪些服务正在运行或处于LISTENING(监听)状态的过程。确定有哪些端口正处于监听状态是一个非常重要的攻击步骤,攻击者不仅可以了解到远程系统上都运行着哪些服务,还可以准确地探测出目标系统所使用的操作系统和应用程序的类型和版本。处于监听状态的活跃服务就像是你家的大门和窗户——它们都是外人进入你私人领地的通道。根据其具体类型(是“窗户”还是“大门”),这些通道有的会让非授权用户侵入各种配置不当的系统。当然我们也可以利用防火墙防止TCP SYN “半开扫描”(half-open scanning)、FIN扫描、第三方扫描(“代理”或“肉鸡”扫描)等等。

综上所述,你可能以为我要部署一台防火墙在Web服务器前面,当然了,不过不要急,我们还要对数据库进行防护呢?这就是内网重新调整成为两个区域:一个是办公区域,将文件服务器和客户端放在里面,另一个是数据区,将两台数据库放在防火墙的后面,如下图所示:

当外部攻击穿过外层防护机制进入应用服务区后,进一步的侵入受到应用层和核心层防护机制的制约。由于外层防护机制已经检测到入侵,并及时通知了管理员,当黑客再次试图进入应用区时,管理员可以监控到黑客的行为,收集相关证据,并随时切断黑客的攻击路径,对于SQL服务器的保护机制是最完善的。

背对背防火墙(Back to Back Firewall )是一般大型企业所采用的架构,运用两段防火墙分隔出内部网络、DMZ区、外部网络。所分隔出的DMZ区专门放置对外提供服务的服务器,利用不同的网段与内部防火墙,将内部使用的服务器分隔开,大大降低对外服务器如Web、SMTP Relay服务器被攻破后,对内部网络产生的危害。

部署Web防火墙,在应用层做到深度检测

然而,传统的防火墙无法侦测很多应用层的攻击,如果一个攻击隐藏在合法的数据包中(HTTP访问),它仍然能通过防火墙到达应用服务器;同样,如果某个攻击进行了加密或编码该防火墙也不能检测。

针对传统防火墙的弊端,Web 应用防火墙逐渐在中小企业和Web服务托管环境中广泛应用,它包括两个关键功能:即对HTTP/HTTPS 协议的实时监测,HTTP往返流量都能够对其行为状态进行判断,在攻击到达Web 服务器之前进行阻断,防止恶意的请求或内置非法程序的请求访问目标应用。

另外,我建议赵明选择更先进的Web防火墙,例如携带网页防篡模块,这可以 通过内置自学习功能获取WEB 站点的页面信息,对整个站点进行“爬行”,爬行后根据设置的文件类型(如html、css、xml、jpeg、png、gif、pdf、word、flash、excel、zip 等类型)进行缓存,并生成唯一的数字水印,然后进入保护模式提供防篡改保护,当客户端请求页面与WAF 自学习保护的页面进行比较,如检测到网页被篡改,第一时间对管理员进行实时告警,对外仍显示篡改前的正常页面,用户可正常访问网站。当然,事后可对原始文件及篡改后的文件进行本地下载比较,查看篡改记录,这对于赵明来说,就是在现在的网站结构中安插一个24小时的哨兵。

提示:在配置Web防火墙时,配置的策略下包含了HTTP 协议合规性、SQL 注入阻断、跨站点脚本攻击防护、表单、ookie 篡改防护、DoS 攻击防护等,这是传统防火墙从来就没有涉及的领域。

添加设备修改网络结构

通过上述分析,我们需要对赵明的网站结构中添加三个设备,即:Web防火墙、数据泄漏产品和传统的内网高速防火墙。这三个产品并分别存放在:Web服务器前端,交换机后面的数据库区域(背对背防火墙,防止数据库直接暴露),以及文件服务器和内网客户端上部署数据泄漏产品。

我们选择了市面上占有率较高的产品作为实例:

◆华为Eudemon 300 千兆防火墙

◆明御Web 应用防火墙

◆Websense Content Protection Suite防数据泄露

顶(0)
踩(0)

您可能还会对下面的文章感兴趣:

最新评论