防扫描防溢出防窃密

2008/12/21 来源:www.arpun.com 作者:小白

如何在局域网中保护自我, 不仅仅是管理员也是大家要掌握技术。 怎么做?笔者认为首先要从防开始。   一、防扫描, 让攻击者晕头转向  几乎所有的入侵都是从扫描开始的, 攻击者首先判断目标主机是否存在, 进而探测其开放的端口和存在的漏洞, 然后根据扫描结果采取相应的攻击手段实施攻击。 因此, 防扫描是安全防护的第一步。 防扫描做得好, 就会让恶意攻击失去了目标。   1、工具和原理  (1).扫描工具  攻击者采用的扫描手段是很多的, 可以使用Ping、网络邻居、SuperScan、NMAP、NC、S扫描器等工具对目标计算机进行扫描。 其中SuperScan的扫描速度非常快, 而NMAP的扫描非常的专业, 不但误报很少, 而且还可以扫描到很多的信息, 包括系统漏洞、共享密码、开启服务等等。   (2).防范原理  要针对这些扫描进行防范, 首先要禁止ICMP的回应, 当对方进行扫描的时候, 由于无法得到ICMP的回应, 扫描器会误认为主机不存在, 从而达到保护自己的目的。 另外, 利用蜜罐技术进行扫描欺骗也是不错的方法。   2、防范措施  (1).关闭端口  关闭闲置和有潜在危险的端口。 这个方法比较被动, 它的本质是将除了用户需要用到的正常计算机端口之外的其他端口都关闭掉。 因为就黑客而言, 所有的端口都可能成为攻击的目标。 可以说, 计算机的所有对外通讯的端口都存在潜在的危险, 而一些系统必要的通讯端口, 如访问网页需要的HTTP(80端口);QQ(4000端口)等不能被关闭。   在Windows版本的服务器系统中要关闭掉一些闲置端口是比较方便的, 可以采用“定向关闭指定服务的端口”(黑名单)和“只开放允许端口的方式”(白名单)进行设置。 计算机的一些网络服务会有系统分配默认的端口, 将一些闲置的服务关闭掉, 其对应的端口也会被关闭了。   进入“控制面板”→“管理工具”→“服务”项内, 关闭掉计算机的一些没有使用的服务(如FTP服务、DNS服务、IIS Admin服务等等), 它们对应的端口也被停用了。 至于“只开放允许端口的方式”, 可以利用系统的“TCP/IP筛选”功能实现, 设置的时候, “只允许”系统的一些基本网络通讯需要的端口即可。     图1  (2).屏蔽端口  检查各端口, 有端口扫描的症状时, 立即屏蔽该端口。 这种预防端口扫描的方式通过用户自己手工是不可能完成的, 或者说完成起来相当困难, 需要借助软件。 这些软件就是我们常用的网络防火墙。   防火墙的工作原理是:首先检查每个到达你的电脑的数据包, 在这个包被你机上运行的任何软件看到之前, 防火墙有完全的否决权, 可以禁止你的电脑接收Internet上的任何东西。 当第一个请求建立连接的包被你的电脑回应后, 一个“TCP/IP端口”被打开;端口扫描时, 对方计算机不断和本地计算机建立连接, 并逐渐打开各个服务所对应的“TCP/IP端口”及闲置端口。 防火墙经过自带的拦截规则判断, 就能够知道对方是否正进行端口扫描, 并拦截掉对方发送过来的所有扫描需要的数据包。   现在市面上几乎所有网络防火墙都能够抵御端口扫描, 在默认安装后, 应该检查一些防火墙所拦截的端口扫描规则是否被选中, 否则它会放行端口扫描, 而只是在日志中留下信息而已。  3、防范工具   (1).系统防火墙  现在很多的防火墙都有禁止ICMP的设置, 而Windows XP SP2自带的防火墙也包括该功能。 启用这项功能的设置非常简单:执行“控制面板”→“Windows防火墙”, 点击“高级”选项卡, 选择系统中已经建立的Internet连接方式(宽带连接), 点击旁边的“设置”按钮打开“高级设置”窗口, 点击“ICMP”选项卡, 确认没有勾选“允许传入的回显请求”, 最后点击“确定”即可。     图2  另外, 通过其他专业的防火墙软件不但可以拦截来自局域网的各种扫描入侵, 从软件的日志中, 我们还可以查看到数据包的来源和入侵方式等。   (2).第三方防火墙  在企业局域网中部署第三方的防火墙, 这些防火墙都自带了一些默认的“规则”, 可以非常方便地应用或者取消应用这些规则。 当然也可以根据具体需要创建相应的防火墙规则, 这样可以比较有效地阻止攻击者的恶意扫描。   比如以天网防火墙为例:首先运行天网防火墙, 点击操作界面中的“IP规则管理”按钮, 弹出“自定义IP规则”窗口, 去掉“允许局域网的机器用ping命令探测”选项, 最后点击“保存规则”按钮进行保存即可。 例如创建一条防止Ineternet中的主机ping的规则, 可以点击“增加规则”按钮, 输入如图的相关参数就创建成功, 然后勾选并保存该规则就可以防止网络中的主机恶意扫描局域网了。     图3(3).蜜罐技术   蜜罐工具很多, 其原理大同小异, 它会虚拟一台有“缺陷”的服务器, 等着恶意攻击者上钩。 在黑客看来被扫描的主机似乎打开了相应的端口, 但是却无法实施工具, 从而保护了真正的服务器, 这也可以说是比较另类的防扫描手法。   例如, Defnet HoneyPot“蜜罐”虚拟系统, 通过Defnet HoneyPot虚拟出来的系统和真正的系统看起来没有什么两样, 但它是为恶意攻击者布置的陷阱。 只不过, 这个陷阱欺骗恶意攻击者, 能够记录他都执行了那些命令, 进行了哪些操作, 使用了哪些恶意攻击工具。 通过陷阱的记录, 可以了解攻击者的习惯, 掌握足够的攻击证据, 甚至反击攻击者。 利用该工具部署一个蜜罐系统非常简单, 打开软件, 输入相应的参数即可。 然后它会随机启动, 如果有恶意的扫描它都会记录下来如图。     图4  现在的黑客工具非常普及其操作也越来越傻瓜化, 入侵门槛比较低。 一个具有初、中级电脑水平的攻击者利用扫描器随意扫描, 就能够完成一次入侵。 做好防扫描措施, 就能够在很大程度上杜绝来自这些一般入侵者的骚扰, 而这也是网络入侵的大多数。 二、防溢出, 让攻击者无功而返   溢出是操作系统、应用软件永远的痛!在骇客频频攻击、系统漏洞层出不穷的今天, 任何人都不能保证操作系统系统、应用程序不被溢出。 既然溢出似乎是必然的, 而且利用溢出攻击的门槛比较低, 利用工具有一定电脑基础的人都可以完成一次溢出。 这样看来, 我们的系统就处于随时被溢出的危险中, 所以防溢出也是我们必须要做的工作。   1、全面出击, 严防死守  (1).必须打齐补丁  尽最大的可能性将系统的漏洞补丁都打完;Microsoft Windows Server系列的服务器系统可以将自动更新服务打开, 然后让服务器在指定的某个时间段内自动连接到Microsoft Update网站进行补丁的更新。 如果服务器为了安全起见禁止了对公网外部的连接的话, 可以用Microsoft WSUS服务在内网进行升级。   (2).服务最小化  最少的服务等于最大的安全, 停掉一切不需要的系统服务以及应用程序, 最大限度地降底服务器的被攻击系数。 比如前阵子的NDS溢出, 就导致很多服务器挂掉了。 其实如果WEB类服务器根本没有用到DNS服务时, 大可以把DNS服务停掉, 这样DNS溢出就对你们的服务器不构成任何威胁了。     图5  (3).端口过滤  启动TCP/IP端口的过滤, 仅打开服务器常用的TCP如21、80、25、110、3389等端口;如果安全要求级别高一点可以将UDP端口关闭, 当然如果这样之后缺陷就是如在服务器上连外部就不方便连接了, 这里建议大家用IPSec来封UDP。 在协议筛选中只允许TCP协议、UDP协议 以及RDP协议等必需用协议即可;其它无用均不开放。  (4).系统防火墙   启用IPSec策略, 为服务器的连接进行安全认证, 给服务器加上双保险。 封掉一些危险的端口, 诸如:135 145 139 445 以及UDP对外连接之类、以及对通读进行加密与只与有信任关系的IP或者网络进行通讯等等。 通过IPSec禁止UDP或者不常用TCP端口的对外访问就可以非常有效地防反弹类木马。   (5).系统命令防御  删除、移动、更名或者用访问控制表列Access Control Lists (ACLs)控制关键系统文件、命令及文件夹:攻击者通常在溢出得到shell后, 来用诸如net.exe、net1.exe、ipconfig.exe、user.exe、query.exe、 regedit.exe、regsvr32.exe 来达到进一步控制服务器的目的。 如:加账号、克隆管理员了等等。 我们可以将这些命令程序删除或者改名。   访问控制表列ACLS控制找到%windir%system32下找到cmd.exe、cmd32.exe、net.exe、net1.exe、ipconfig.exe、tftp.exe、ftp.exe、user.exe、reg.exe、regedit.exe、regedt32.exe、regsvr32.exe这些黑客常用的文件, 在“属性”→“安全”中对他们进行访问的ACLs用户进行定义, 诸如只给administrator有权访问, 如果需要防范一些溢出攻击、以及溢出成功后对这些文件的非法利用;那么我们只需要将system用户在ACLs中进行拒绝访问即可。     如果你觉得在GUI下面太麻烦的话, 你也可以用系统命令的CACLS.EXE来对这些.exe文件的Acls进行编辑与修改, 或者说将他写成一个.bat批处理 文件来执行以及对这些命令进行修改。 对磁盘如C、D、E、F等进行安全的ACLS设置从整体安全上考虑的话也是很有必要的, 另外特别要对Windows、WinntSystem、Document and Setting等文件夹。 (6).组策略配置   想禁用“cmd.exe”, 执行“开始→运行”输入gpedit.msc打开组策略, 选择“用户配置→管理模板→系统”, 把“阻止访问命令提示符”设为“启用”。 同样的可以通过组策略禁止其它比较危险的应用程序。     图7  (7).服务降级  对一些以System权限运行的系统服务进行降级处理。 比如:将Serv-U、Imail、IIS、Php、Mssql、Mysql等一系列以 System权限运行的服务或者应用程序换成其它administrators成员甚至users权限运行, 这样就会安全得多了。 但前提是需要对这些基本运行状态、调用API等相关情况较为了解。   其实, 关于防止如Overflow溢出类攻击的办法除了用上述的几点以外, 还有很多种办法:比如通过注册表进行建立相应的键值, 进行设置;写防护过滤程序用DLL方式加载windows到相关的SHell以及动态链接程序之中这类。 当然自己写代码来进行验证加密就需要有相关深厚的Win32编程基础了, 以及对Shellcode较有研究。   三、防窃密, 让恶意用户无可奈何   在资源比较紧缺的企事业单位中多人共用一台电脑是非常普遍的, 或者在某些企业中有那么一些公共电脑供大家使用。 既然多人使用, 存储在这些电脑上的公共资料以及个人资料就没有什么安全性可言, 极易造成信息的泄密, 因此如何安全部署这些公用电脑是摆在管理员面前的一个必须要解决的问题。   1、操作系统很重要  管理员要实施对这些公共电脑的权限控制, 就必须得考虑采用什么操作系统。 由于Server版系统的安全性远远高于个人版系统, 一般在这样的电脑上安装Windows Server 2003或者Windows Server 2008这样的系统。 另外, 要设置用户权限系统分区格式必须是NTFS格式。   2、严密部署  (1).每个用户各归其所  管理员制定安全策略, 为每个用户在公共电脑上建立私人文件夹仅供个人使用, 另外建一个共享文件夹让大家使用。 具体步骤是:  在文件公共电脑上建立NTFS分区, 然后为每个用户创建一个账号, 再创建一个组包含所有的用户。 为每个用户创建一个共享文件夹, 在设置共享权限的时候去掉Everyone组, 将对应的个人用户账号添加进来, 然后根据需要设置权限。 为所有的人创建一个共享文件夹, 再在设置共享权限的时候去掉Everyone组, 将第一步中创建的包含所有用户的组添加进来如图1, 然后根据需要设置权限即可。   (2).防止恶意删除  公共文件夹里的内容是只许大家看的, 但有些恶意用户会删除其中的文件, 因此还要做好防删除措施。 操作如下:   右键点击公共文件夹“属性→安全→高级”, 取消“允许父项的继承权限传播到到该对象和所有子对象”选项, 在弹出的菜单中选择“删除”操作, 点击“确定”。 添加需要设置的帐号, 只赋予该帐号“遍历文件夹/运行文件 ”、“列出文件夹/读取数据 ”、“读取属性 ”、“读取扩展属性 ”、“创建文件/写入数据 ”看到的文章源自活动目录、“创建文件夹/附加数据 ”、“写入属性 ”、“写入扩展属性”的权限。 拒绝该帐号“删除子文件夹及文件”和“删除”权限。 选中“用在此显示的可以应用到子对象的项目代替所有子对象的权限项目”, 点击“确定”。     图10  关于局域网中公共电脑的安全部署因为具体的安全要求、应用需求等不同会有所不同, 上面的两个策略是最常见的。 在实际应用中, 关键是制定安全策略, 然后利用技术去实现。   总结:防扫描、防溢出、防窃密这是局域网安全安防的重点, 但不是全部。 另外, 安全防护不仅仅是技术, 还是意识。 只有大家提高自身的安全意识, 然后利用相应的技术才能最大程度地保证网络安全。

网友评论
评论(...
全部评论