流氓软件和木马在各种防火墙和杀毒软件的“打压”之下已经开始逐步向内核“退缩”,传统的依靠查看本地打开的端口与进程的关系的方法检查非法网络访问已经不再适用,个人防火墙已经成为装机必备的软件。目前主流的个人防火墙软件都是构建在Windows内核之上的,但是Windows的内核驱动是分层的,防火墙工作在哪一层实际上就决定了防火墙的性能,工作在TDI层的防火墙是无论如何也不能知道NDIS层的数据收发情况的,因为TDI驱动层在内核中是高于NDIS驱动层的。过去的木马(上个世纪九十年代以前)都是构建在Windows应用层上的普通程序,工作在TDI层的防火墙可以轻易地觉察并阻断它们非法的网络访问,但是对付缩进内核的木马和流氓软件,单纯的依靠TDI层拦截已经显得力不从心。内核木马的特点是不依赖句柄,不绑定端口(NDIS)
),可以工作在TDI层,甚至在NDIS层,所以,真正可靠的防火墙应该在NDIS层建立防线。
虽然真正可靠的防火墙应该工作在NDIS层,但是,个人防火墙和用于服务器的防火墙毕竟还是有一些不同之处,工作在服务器端的防火墙只需要根据协议、地址和端口判断是转发还是丢弃就行了,高级一点还可以分析包内容,根据预设的专家系统判断是正常的数据包还是非法攻击数据包,这样的防火墙还可以用硬件实现。但是个人防火墙的特别之处就是需要与用户交互,用户数据多是基于IP协议的,并且用户并不关心协议的细节(掌握这些对大多数用户来说有点难度),所以个人防火墙除了通过IP层的协议进行过滤之外,更主要的手段是根据用户的意愿允许还是阻止某个进程(程序)访问网络,在这个粒度上用户比较容易理解和控制。从这一点上讲,工作在TDI层的防火墙的优势就是能够在网络访问发生的时候追踪到发起访问的进程名称,从而给用户一个提示,而工作在NDIS层的防火墙则不容易做到这一点。因为发送数据时上层驱动将数据包提交到NDIS的发送队列中后就返回了,当数据包被真正投递的时候已经无从确定是哪个程序(进程)发送的了,对于收到的数据包需要根据端口号判断是哪个程序的,但是在NDIS层并不知道端口号和进程的对应关系,所以无论数据发送还是接收都无法有效地确定是属于哪个进程的数据。如果不能确定哪个进程访问网络,只是根据地址、端口和协议进行过滤对(大多数)用户来说是很不友好的,所以最好的个人防火墙(不一定是最安全的)应该是TDI+NDIS双保险:TDI层根据进程级访问过滤,NDIS层根据地址、端口和协议过滤。
前几天,一个朋友要我给他推荐一款比较好的防火墙软件,说实话,我也不知道哪个好,因为我没有比较过。没有调查就没有发言权,随便应付也不是本人的风格,加上本人最近正在验证一个在内核构建TCP/IP协议绕过防火墙的概念的可行性,需要对当前主流防火墙的能力有所了解,所以就把当前比较流行的防火墙都弄来研究了一下,没想到真是大开眼界,不看不知道,一看吓一跳。先上网搜了一下个人防火墙,没想到有这么多种,没时间全搞一遍,只能对用的最多的几个下手了,它们是“天网防火墙个人版”,“金山网镖”,“瑞星个人防火墙”,“卡巴斯基”,“冰盾”和“风云防火墙”,有几个防火墙软件不仅提供网络防火墙功能,还提供诸如文件访问控制,进程创建保护等功能,不过本文只是比较它们的网络防范功能。
首先是天网防火墙,这可是本人上学的时候最喜欢的防火墙了,简单好用。这次使用的是天网防火墙个人版(Trial_Release_v30_Build1213),结果却令人失望,天网是一个单纯的TDI防火墙。下图天网启动后的设备驱动加载情况:
图 1 天网防火墙设备驱动加载情况
工作在TDI层的防火墙有两种方式,一种是做成过滤驱动挂接到支持TCP/IP协议的设备上,简单地讲,就是发送给TCP/IP协议驱动的请求会先发送给它过滤,另一种是使用Hook的方式直接HookTCP/IP协议的驱动分派函数,相比较而言,第一种比较容易bypass,驱动层的木马或流氓软件通过设备直接找到TCP/IP的驱动发送请求,就可以避开Attach在其上的过滤驱动,从上图看,天网的驱动是一个Filter驱动,除了直接向TCP/IP的驱动发送请求可以避开天网之外,还有一种方法可以让它完全失效,就是直接摘除挂接的Filter驱动,看看下面的代码:
void ByPassAttachDevice(PDEVICE_OBJECT DeviceObject)
{
PDEVICE_OBJECT CurDevObj = DeviceObject;
while(CurDevObj != NULL )
{
CurDevObj->AttachedDevice = NULL;
CurDevObj = CurDevObj->NextDevice;
}
}
运行在驱动层的木马只要对设备驱动运行一下ByPassAttachDevice()函数就可以让天网和所有使用这种技术的防火墙形同虚设。口说无评,本人专门写了一个驱动来验证,首先在天网的设置中禁止IE访问网络,此时IE的网络访问会被禁止:
图 2 天网防火墙组织IE访问网络
然后用驱动加载测试工具加载本人编写的驱动程序(文后附有加载工具和驱动程序,以及使用说明,可以用来测试一下你用的防火墙是否安全),假设这是一个运行在内核的木马或流氓软件:
图 3 加载Bypass驱动程序
运行后天网就失效了,看看IE可以访问网络了,不仅IE,所有被禁止的程序都可以访问网络了:
图 4 天网防火墙失效了
结论,就不说了,真的很失望。
下面看看金山网镖,这个是我的朋友很喜欢用的,一直说它好用,本次比较用的是金山安全套件2008中附带的金山网镖,先看看它的驱动加载情况:
图 5 金山网镖驱动加载情况
这也是一个TDI Filter,没有在NDIS层做工作,使用前面的工具可以轻松bypass,不说了,下一个。
接下来是瑞星个人防火墙,使用的版本是瑞星个人防火墙2008。瑞星的驱动在TDI层使用了不容易bypass的TDI hook,除此之外,在NDIS层也使用了Hook,先看看TDI层的情况:
图 6 瑞星驱动的TDI Hook情况
再看看在NDIS层的Hook情况:
图 7 瑞星驱动的NDIS Hook情况
从驱动上看瑞星防火墙要比前两个强很多,本人曾试着手工恢复被hook的函数,虽然恢复后不再d出“某某程序要访问网络”的提示,但是实际上还是不能访问网络,不知为何,有兴趣的朋友可以研究一下。
再来看看卡巴斯基,这次使用的是卡巴斯基的互联网安全套装60个人版,从驱动上看卡巴斯基采用的是用TDI Filter驱动+NDIS Hook:
图 8 卡达斯基的驱动加载情况
但是可能卡巴斯基的NDIS Hook只是用来分析可以的数据才使用的,也或者是为实现其它功能设置的Hook,总之,使用本文的程序可以bypass卡巴斯基的防火墙功能。
再看看冰盾防火墙,冰盾是一个服务器防火墙,这次使用的是冰盾81 Build60214,从驱动加载情况看,冰盾使用了一个NDIS中间层驱动,没有Hook,也没有处理TDI层的事务,毕竟它不是个人防火墙,没必要处理TDI层的事情(这只是本人的看法的)。工作在NDIS层的好处是可以探测工作在TDI层的rootkit木马,但是对于个人计算机用户来说,冰盾的设计不太好用(或者说比较难理解,相对于其它几种防火墙软件),另外,中间层驱动还容易被Hook,rootkit木马可以Hook它的处理函数,比如指向一个空函数,就可以瘫痪中间层驱动。
最后一个是风云防火墙,这个是从网上搜到的,以前没听说过,使用的版本是V126 正式版。这个软件除了防火墙功能之外,还有很多附加功能,比如文件访问监控,注册表访问监控等等,不过其网络防火墙这块使用的策略和卡巴斯基一样,可以被本文的工具bypass
从分析的结果来看,这几款防火墙软件对于应用程序的访问控制都是没有问题的,但是对于同样工作在内核级别上的木马和流氓软件则问题很多,只有瑞星防火墙结果好一点,其它的几款防火墙软件都挺令人失望,特别是天网防火墙。最后需要强调一点的是即使是瑞星这样使用TDI Hook + NDISHook的方式也不一定就是安全的,因为在应用程序级别上进行网络访问控制还是粒度太粗,如果使用rootkit工具将木马注入到防火墙允许访问网络的程序的进程中,就可以在防火墙眼皮底下堂而皇之地访问网络了,比如IE的一些BHO插件就是这么干得。
驱动加载测试工具以及bypass驱动下载
附录: 驱动加载测试工具以及bypass驱动的使用方法
首先将hook_testsys复制到windows的系统驱动程序目录中(如果是windowsxp的系统,这个目录可能是c:\windows\system32\drivers),然后运行drv_testexe,在驱动文件位置中填入驱动文件hook_testsys的完整路径名,在驱动名称中填入驱动名称,这个比较重要,因为后面的启动、停止和卸载驱动都需要这个驱动名称,不过不一定是“hook_test”,显示名称随便填写就行了。输入完成后首先点击“安装驱动”按钮安装驱动,如果没有错误再点击“启动驱动”按钮启动这个驱动程序,然后就可以测试你的防火墙软件了。测试的方法很简单,就是运行一个访问网络的程序,如果防火墙有效,会提示是否阻止程序访问网络,如果防火墙失效,则没有任何提示,卸载驱动先点击“停止驱动”按钮,然后点击“卸载驱动”按钮就可以了。
orbit 发表于CSDN 2008-04-02 20:46:10防火墙是什么,它有那些功能
所谓“防火墙”,是指一种将内部网和公众访问网(Internet)分开的方法,实际上是一种隔离技术。防火墙是在两个网络通讯时执行的一种访问控制尺度,它能允许你“同意”的人和数据进入你的网络,同时将你“不同意”的人和数据拒之门外,最大限度地阻止网络中的黑客来访问你的网络,防止他们更改、拷贝、毁坏你的重要信息。
防火墙主要有硬件防火墙和软件防火墙。硬件防火墙由路由器构成。软件防火墙则由各类软件实现。通常应用防火墙的目的有以下几方面:限制他人进入内部网络;过滤掉不安全的服务和非法用户;防止入侵者接近你的防御设施;限定人们访问特殊站点;为监视局域网安全提供方便。
安全规则就是对计算机所使用局域网、互联网的内制协议设置,从而达到系统的最佳安全状态。 在个人防火墙软件中的安全规则方式可分为两种:一种是定义好的安全规则,就是把安全规则定义成几种方案,一般分为低、中、高三种。这样不懂网络协议的用户,就可以根据自己的需要灵活的设置不同的安全方案。还有一种用户可以自定义安全规则,也就是说,在非常了解网络协议的情况下,你就可以根据自已所需的安全状态,单独设置某个协议。
个人防火墙软件所涉及到的主要以下协议有:
ICMP消息类型、包的进入接口和出接口如果有匹配并且规则允许该数据包;
TCP:传输控制协议;
IP:网际协议,它负责把数据从合式的地方,以及用合式的方法传输;
UDP:用户数据报文协议,UDP和TCP协议封装在IP数据包里;
NETBUEI:网络基本输入/输出系统;
IPX/SPX:以太网所用的协议;
这些协议有它们不同的用处,具体的使用根据用户的需要来设置。
---------------------------------------------------------------
一个防火墙在一个被认为是安全和可信的内部网络和一个被认为是不
那么安全和可信的外部网络(通常是Internet)之间提供一个封锁工具。
在使用防火墙的决定背后, 潜藏着这样的推理: 假如没有防火墙, 一个网
络就暴露在不那么安全的Internet诸协议和设施面前, 面临来自
Internet其他主机的探测和攻击的危险。在一个没有防火墙的环境里,
网络的安全性只能体现为每一个主机的功能, 在某种意义上, 所有主机必
须通力合作, 才能达到较高程度的安全性。网络越大, 这种较高程度的安
全性越难管理。随着安全性问题上的失误和缺陷越来越普遍, 对网络的入
侵不仅来自高超的攻击手段, 也有可能来自配置上的低级错误或不合适的
口令选择。因此, 防火墙的作用是防止不希望的、未授权的通信进出被保
护的网络, 迫使单位强化自己的网络安全政策。 一个防火墙系统通常由
屏蔽路由器和代理服务器组成。屏蔽路由器是一个多端口的IP路由器, 它
通过对每一个到来的IP包依据一组规则进行检查来判断是否对之进行转
发。屏蔽路由器从包头取得信息, 例如协议号、收发报文的IP地址和端口
号, 连接标志以至另外一些IP选项, 对IP包进行过滤。 代理服务器是
防火墙系统中的一个服务器进程, 它能够代替网络用户完成特定的TCP/IP
功能。一个代理服务器本质上是一个应用层的网关, 一个为特定网络应用
而连接两个网络的网关。用户就一项TCP/IP应用, 比如Telnet或者ftp,
同代理服务器打交道, 代理服务器要求用户提供其要访问的远程主机名。
当用户答复并提供了正确的用户身份及认证信息后, 代理服务器连通远程
主机, 为两个通信点充当中继。整个过程可以对用户完全透明。用户提供
的用户身份及认证信息可用于用户级的认证。最简单的情况是: 它只由用
户标识和口令构成。但是, 如果防火墙是通过Internet可访问的, 我们
推荐使用更强的认证机制,比如一次性口令或挑战-回应式系统。 屏蔽路
由器的优点是简单和低(硬件)成本。其缺点关系到正确建立包过滤规则比
较困难、屏蔽路由器的管理成本、还有用户级身份认证的缺乏。路由器生
产商们正在着手解决这些问题。特别值得注意的是, 它们正在开发编辑包
过滤规则的图形用户界面。他们也在制订标准的用户级身份认证协议, 来
提供远程身份认证拨入用户服务(REDIUS)。 代理服务器的优点是用户级
的身份认证、日志记录和帐号管理。其缺点关系到这样一个事实: 要想提
供全面的安全保证, 就要对每一项服务都建立对应的应用层网关。这个事
实严重地限制了新应用的采纳。最近, 一个名叫SOCKS的包罗万象的代理
服务器问世了。SOCKS主要由一个运行在防火墙系统上的代理服务器软件
包和一个链接到各种网络应用程序的库函数包组成。这样的结构有利于新
应用的挂接。 屏蔽路由器和代理服务器通常组合在一起构成混合系统,
其中屏蔽路由器主要用来防止IP欺骗攻击。目前最广泛采用的配置是
Dual-homed防火墙, 被屏蔽主机型防火墙, 以及被屏蔽子网型防火墙。
尽管防火墙已经在Internet业界得到了广泛的应用, 关于防火墙的话
题仍然十分敏感。防火墙的拥护者们把防火墙看成是一种重要的新型安全
措施, 因为它把诸多安全功能集中到一点上, 大大简化了安装、配置和管
理的手续。许多公司把防火墙当做自己单位驻Internet的大使馆, 当做
关于其项目、产品、服务等公共信息的仓库。从美国生产厂家的观点来
看, 防火墙技术是很有意义的, 因为它不用加密, 因而在出口上不受限
制。但是, 目前提供的大多数防火墙产品确实支持这种或那种的IP层加密
功能, 从而在这方面受到美国出口政策的控制。防火墙的另一个特色是它
不限于TCP/IP协议, 从而不只适用于Internet。 确实, 类似的技术完全
可以用在任何分组交换网络当中, 例如X25或ATM都可以。防火墙的批评
者们一般关注的是防火墙的使用不便之处, 例如: 需要多次登录及其他不
受约束的机制, 影响Internet的使用甚至影响Internet的生存。他们声
称: 防火墙给人制造一种虚假的安全感, 导致在防火墙内部放松安全警
惕。 他们也注意到, 许多攻击是内部犯罪, 这是任何基于隔离的防范
措施都无能为力的。同样, 防火墙也不能解决进入防火墙的数据带来的所
有安全问题。如果用户抓来一个程序在本地运行, 那个程序很可能就包含
一段恶意的代码, 或泄露敏感信息, 或对之进行破坏。随着Java、
JavaScript和Active X控件及其相应浏览器的大量持续推广, 这一问题
变得更加突出和尖锐。防火墙的另一个缺点是很少有防火墙制造商推出简
便易用的 \"监狱看守 \"型的防火墙, 大多数的产品还停留在需要网络管
理员手工建立的水平上。当然, 这一方面马上会出现重大的变化。 尽管
存在这些争议, 防火墙的拥护者和批评者都承认, 防火墙不能替代墙内的
谨慎的安全措施。防火墙在当今Internet世界中的存在是有生命力的。它
是一些对高级别的安全性有迫切要求的机构出于实用的原因建造起来的,
因此, 它不是解决所有网络安全问题的万能药方, 而只是网络安全政策和
策略中的一个组成部分。利用组策略里的IP安全设置可以达到楼主的要求
为了说明,我告诉一下我的设置
我的电脑IP 1921680100
路由器 ip 19216801
我通过如何阻止 我和路由器之间的相互PING来演示 *** 作过程
首先
打开组策略
进入计算机配置里面的安全设置,点里面的IP安全策略
创建新的IP策略 下一步
随便输入名称 我就用 "阻止" 然后点 下一步
激活默认响应规则打勾 下一步
验证方法选第一个 V5协议
可能会有个警告,直接确定就好了
编辑属性打勾 完成
回到原来的界面,点新建的名称 "阻止"
他会出来个属性窗口
点击添加
下一步
不指定隧道
下一步
所有网络连结
下一步
V5协议
下一步
这时候应该是个安全规则向导界面
点添加
出来IP筛选列表
点添加
下一步
源地址用我的IP地址
下一步
目标IP地址 用一个特定的IP地址,然后输入你想阻止的IP地址
我这里用19216801
下一步
协议,针对你的游戏服务器用的通讯协议,自己选择,一般都是TCP
我这里使用ICMP
下一步
编辑属性打勾
下一步
出来筛选器属性
镜像一定要打勾,这样就能屏蔽远程IP了
然后点确定
回到了IP筛选器列表,点确定
点你刚刚建立的IP筛选器,如果上面没有命名,那么她的名字应该是
新的IP筛选器列表,点上圈圈下一步,进入筛选器 *** 作
点阻止,下一步
完成
新规则属性
不用搞,只要点确定然后点关闭
现在回到原来的组策略界面
右键点我们刚刚建立的 名称为阻止 ,选择指配
这时候,它的策略已指配 变成 是了
我这边现在PING 19216801 已经显示
C:\Documents and Settings\Administrator>ping 19216801
Pinging 19216801 with 32 bytes of data:
Destination host unreachable
Destination host unreachable
Destination host unreachable
Destination host unreachable
Ping statistics for 19216801:
Packets: Sent = 4, Received = 0, Lost = 4 (100% loss),
然后我们试试右键点击 阻止,选择 不指配
C:\Documents and Settings\Administrator>ping 19216801
Pinging 19216801 with 32 bytes of data:
Reply from 19216801: bytes=32 time=1ms TTL=127
Reply from 19216801: bytes=32 time=1ms TTL=127
Reply from 19216801: bytes=32 time=2ms TTL=127
Reply from 19216801: bytes=32 time=1ms TTL=127
Ping statistics for 19216801:
Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
Minimum = 1ms, Maximum = 2ms, Average = 1ms
很明显,策略已经成功达到我们要的效果了
打的我好累
恩,再次提醒,上面中的那个镜像一定要选择
不然就是我不能PING通路由器
路由器能PNG通我了
镜像的作用是双向禁止
按照上面的 *** 作,我想楼主应该能达到自己要求的效果了
不过如果对方是动态IP,以上 *** 作就没什么用了
大多用户在选购云服务器的时候首先考虑的就是阿里云服务器,不仅是因为阿里云服务器是国内知名度最高的云服务器品牌,还有一个重要原因就是阿里云服务器有一定的安全性保障吧。阿里云服务器本身自带一些安全防护措施。
1、免费开通云盾,提供网络安全、服务器安全等基础防护
DDoS 基础防护 :
提供最高 5G 的 DDoS 防护能力,可防御 SYN flood、UDP flood、ICMP flood、ACK flood 常规 DDoS 攻击。
2、服务器安全功能: 安骑士
包含暴力破解密码拦截、木马查杀、异地登录提醒、高危漏洞修复的防入侵功能
免费提供云监控,并支持多种实时预警
3、站点监控:
提供对 >"ToDesk未知错误12202"通常是由于网络连接问题导致的。12202错误代码表示无法连接到ToDesk服务器,这可能是由于网络故障、防火墙配置或代理设置等原因造成的。
以下是一些可能的解决方法:
1 检查网络连接。首先确认您的网络连接是否正常,尝试访问其他网站检查网络是否畅通。
2 检查防火墙配置。如果您使用了防火墙软件,请确保ToDesk程序被允许通过防火墙连接到Internet。
3 检查代理配置。如果您使用了代理服务器,请检查代理服务器的地址和端口号是否正确,并且在ToDesk中设置了正确的代理设置。
4 重启ToDesk客户端,尝试重新登录。
如果上述解决方法无效,请尝试卸载并重新安装ToDesk客户端。如果问题仍然存在,请联系ToDesk官方客服或技术支持团队获取帮助。
1 服务器 *** 作系统虽然有高安全级的防火墙,但是如果没有杀毒软件容易造成服务器中毒造成服务器瘫痪
2建议不要安装带防火墙的杀毒软件,这会影响服务器的工作,影响其他客服端对服务器的访问。开Windows的防火墙就可以了。
3如果是个人用户安装这个版本更应该安装杀毒软件,因为经常进行网络访问一定要保证电脑的安全。
4 推荐的杀毒软件,ESET NOD32反病毒服务器版,官方网站有下载。专门针对服务器版本推出的杀毒软件。其占用资源少,让电脑运行更流畅。更安全。VB100排名世界第一,绝对首选。
5 如果你需要杀毒软件序列号,请给我留言,我发给你。对于服务器版的杀毒软件,我还是建议你用ESET NOD32,因为他的服务器版本是具有针对性,这样一一对应我相信你也应该清楚怎么选择。
6 红颜相随知道团队长期免费为你提供服务,为你承诺只要是电脑的问题,我们都尽力为您解决。
7 希望我的回答你会满意。祝你愉快。
希望我的回答对你有帮助,很高兴能够为你解答问题。
该回答经过几次补充完善,希望能够解决你的问题。
8 有什么疑问随时百度hi我,立刻为你解答。如果是普通电脑的防火墙是在控制面板当中。
防火墙分为软件和硬件,软件的很多。系统自带的,花钱买的软件,甚至是免费的软件。
硬件的防火墙是为了防止网络攻击,一般是与服务器、路由器、交换机链接在一起。可以自己看看。
有些服务器自带有些不带symanec client firewall企业版默认的安全系数为高,很多带安全询问的数据报都不能正常通过。我用的是英文版,我的办法是,点选项,然后一个一个改变其参数,然后试一下各个功能是否能够正常使用。如果还不行(譬如gmail的信件),就直接关掉防火墙(symannec的防火墙开关非常方便),如果有重要资料,可以考虑用双微机!它支持两百多个参数,每个开关都有不同效果,而且支持双微机,设置非常麻烦!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)