时间 痕迹

多用广州话~向上兼容普通话~~~ 身为一个处于二十七世纪人口密度国度的青年,想讲乜,就讲乜。

姓名:
位置: 广州, China

喜欢四处跑

星期一, 十月 16, 2006

天使,恶魔

  呢个世界需要恶魔,就如同需要天使一样,因为恶魔会做天使唔做的事情,而天使也都会做恶魔吴做的事情,世界因而完整。
  
  圣父,圣子,圣灵与撒旦同在   阿门

摘录某朋友的一句话:
  你常常说很希望有一天能长出翅膀在天上自由自在地飞翔,我以为长着翅膀的你如同天使一样美丽……原来,有翅膀的不止是天使,还有魔鬼。

星期三, 九月 27, 2006

BPDU GUARD 与 局域网环路防止

================
Author: phanx
================
  最近写一个方案.正好有关这个,于是旧事重提.记得我还在川大网管中心的时候,曾经遇到过这样的一个故障.拓扑图如下:



  












  L3 Switch 为 某园区的核心交换机, L2 Switch 为某宿舍楼的主交换机,L2 Switch 1 - N 为该宿舍楼的楼层交换机. Switch 为某楼层交换机L2 Switch N 下连的某寝室的小交换机.
  当该寝室的A同学不小心将一根长网线的两头都接到了Switch上,由于这种家用小交换机是MDI/MDI-X自适应的,所以直通线也可以将这个小交换机的两个接口连通了. 这样的后果就是,当小交换机收到一个广播数据包(例如ARP请求),它就开始对它的接受这个包的源端口以外的端口进行洪泛。这时候,被回环的端口1和2就会收到来自对方的广播包,就会产生二次洪泛,在二此洪泛的时候,由于源端口是1和2,所以同时也
会对这个广播包原来的端口也进行洪泛, 相应也会产生三次洪泛,四次洪泛等等。这样,上联的交换机就会收到来自这台小交换机大量的数据包,造成严重的拥塞以及资源消耗。对于这台小交换机未建立CAM表的时候,单播包也会产生同样的结果。记得当时这个小小的环路,影响到了该园区的核心交换机,后果是很严重的.所以当时开玩笑说,在川大,当黑客太简单了.拿根网线,两头往交换机上一插,网络就得瘫痪半天.
  当时觉得和生成树(STP)协议有关, Huawei的交换机采用的是RSTP协议,并且默认不启用,所以认为开启生成树协议应该可以解决这个问题,但是开启生成树后同样还是遇到了这种问题, 就归于Huawei VRP的BUG了.
  其实这不是VRP的BUG, 仅仅靠默认的STP并不能解决这种自回环的环路问题,我们还需要STP的一个扩展功能, BPDU GUARD(BPDU 防护).
  Huawei叫做BPDU Protection (BPDU 保护) 呵呵,换汤不换药啦.
  BPDU GUARD的功能是当这个端口收到任何的BPDU就马上设为Error-Disabled状态.我们知道,当交换机STP功能启用的时候,默认所有端口都会参与STP,并发送和接受BPDU. 当BPDU GUARD开启后,在正常情况下,一个下联寝室的端口是不会收到任何BPDU的,因为PC和小交换机都不支持STP,所以不会收发BPDU. 当这个端口下如果有自回环的环路,那么它发出去的BPDU在小交换机上回环后就会被自己接收到,这个时候BPDU GUARD就会把它立刻设为Error-Disabled状态,这个端口就相当于被关闭了,不会转发任何数据,也就切断了环路,保护了整个网络.
  Cisco的交换机上的配置方法是:
Switch(config)# interface FastEthernet0/1
Switch(config-if)# spanning-tree bpduguard enable

  或者
Switch(config-if)# spanning-tree bpdu-guard enable
(根据IOS版本不同,有的是bpduguard,有的是bpdu-guard)

  对于Huawei交换机上配饰稍有不同. Huawei交换机默认没有启用生成树协议.
(Huawei用的是RSTP),所以首先要在系统视图下启用STP
[Quidway] stp enable

  然后Huawei的BPDU Protection和Cisco不一样,Cisco是既可在全局下配置,也可在单独的端口下配置, Huawei则是只能在系统视图(即全局模式)下.因为Huawei是在系统视图下启用 BPDU Guard后,会在所有的边缘口(Edge Port)下生效. 边缘口的意思是这个接口只用于连接主机(PC),不用于连接其它交换机(当然,小交换机不算真正的交换机,因为小交换机不支持STP.)默认所有的端口都是非边缘口. 所以需要将连接寝室的那些端口设为边缘口,然后在系统视图下启用BPDU Protection.
[Quidway-Ethernet0/2] stp edge-port enable
[Quidway] stp bpdu-protection
  建议对所有寝室的端口都这样做,这样就可以避免这个问题再发生了.这里再多说几句,其实当时想到的一个方法是做广播抑制. Huawei只支持针对广播的抑制,Cisco是风暴抑制,支持单播,组播和广播.但是当时做了以后发现完全没有效果,而且CPU还是100%.这次我在Cisco的3750上测试风暴抑制发现效果很好,我设定的是广播风暴超过20%开始抑制, 而且CPU在 6% - 7% 左右.

测试结果:
Switch#sh storm-control
Interface Filter State Upper Lower Current
--------- ------------- ----------- ----------- ----------
Fa1/0/1 Blocking 20.00% 20.00% 50.06%
Switch#sh storm-control
Interface Filter State Upper Lower Current
--------- ------------- ----------- ----------- ----------
Fa1/0/1 Blocking 20.00% 20.00% 49.99%
Switch#sh storm-control
Interface Filter State Upper Lower Current
--------- ------------- ----------- ----------- ----------
Fa1/0/1 Blocking 20.00% 20.00% 36.97%
Switch#sh storm-control
Interface Filter State Upper Lower Current
--------- ------------- ----------- ----------- ----------
Fa1/0/1 Forwarding 20.00% 20.00% 0.00%

Switch#sh proc cpu
CPU utilization for five seconds: 6%/0%; one minute: 7%; five minutes: 7%
PID Runtime(ms)Invoked uSecs 5Sec 1Min 5Min TTY Process
1 0 5 0 0.00% 0.00% 0.00% 0 Chunk Manager
2 0 2351 0 0.00% 0.00% 0.00% 0 Load Meter
3 0 11662 0 0.00% 0.00% 0.00% 0 MDFS LC Download
4 9042 1248 7245 0.00% 0.04% 0.05% 0 Check heaps
5 9 2 4500 0.00% 0.00% 0.00% 0 Pool Manager
6 0 2 0 0.00% 0.00% 0.00% 0 Timers
7 67689 23267 2909 0.00% 0.00% 0.10% 0 ARP Input
8 0 1 0 0.00% 0.00% 0.00% 0 AAA_SERVER_DEADT
9 0 2 0 0.00% 0.00% 0.00% 0 AAA high-capacit
10 0 1 0 0.00% 0.00% 0.00% 0 Policy Manager
11 17 4 4250 0.00% 0.00% 0.00% 0 Entity MIB API
12 0 1 0 0.00% 0.00% 0.00% 0 IFS Agent Manage
13 0 198 0 0.00% 0.00% 0.00% 0 IPC Dynamic Cach
14 0 1 0 0.00% 0.00% 0.00% 0 IPC Zone Manager
15 8 11751 0 0.00% 0.00% 0.00% 0 IPC Periodic Tim
16 0 11751 0 0.00% 0.00% 0.00% 0 IPC Deferred Por
17 0 1 0 0.00% 0.00% 0.00% 0 IPC Seat Manager
18 0 2943 0 0.00% 0.00% 0.00% 0 HC Counter Timer
19 0 1 0 0.00% 0.00% 0.00% 0 HRPC asic-stats
20 8 11752 0 0.00% 0.00% 0.00% 0 Dynamic ARP Insp
21 0 2 0 0.00% 0.00% 0.00% 0 XML Proxy Client

星期三, 九月 06, 2006

利用IP source guard 防止IP地址盗用

Author: phanxUpdated

  无论是802.1x还是基于web portal的身份认证,在校园网里面都是一件麻烦的事情.在不进行身份认证的情况下,解决IP地址盗用的问题的办法就是IP source guard
  要使用IP source guard的话有个前提,就是先要启用DHCP snooping. DHCP snooping是一种通过建立和维护一个DHCP绑定数据库来提供过滤不可信的DHCP消息的一种安全特性. 通过启用DHCP snooping通过保证DHCP的合法性. 就是说所有的DHCP OFFER都是由可信的DHCP Server发出的.而不是伪造的. 有了这个保证后就可以使用IP source guard来防止IP盗用了.
了解IP Source Guard
  IP source guard是一种在2层的,非路由口上的基于DHCP snooping绑定数据库和手工配置 IP源绑定来限制IP流量的安全特性.可以使用IP source guard来阻止盗用邻居IP而导致的流量攻击.
当DHCP snooping在一个非信任口启用的时候,就可以启用它上面的IP source guard了. 当IP source guard启用后,交换机将阻止非信任口上收到的除DHCP snooping允许的DHCP包以外的所有IP流量.一条端口访问控制列表将应用到这个端口上.这条端口访问控制列表仅允许在IP source绑定表中存在的源地址的IP流量,并阻止其他的流量.
  IP source绑定表绑定了从DHCP snooping或者手工配置(静态IPsource绑定)学来的源地址. 表中的每一项都有一个IP地址,并和一个MAC地址和一个VLAN号相关联.交换机仅在 IP source guard启用的时候使用IP source绑定表.
  IP source guard仅支持2层端口,包括acess和trunk口.可以配置IP source guard和源IP 地址过滤或者IP/MAC地址过滤共同工作.
  当IP source guard启用并使用这个选项的时候, IP流量会基于源IP地址进行过滤. 当源IP地址为符合DCHP snooping绑定数据库或者IP source绑定表中的条目的IP流量, 交换机才会进行转发.
当在一个接口上添加,改变或者删除DHCP snooping绑定或者静态IP source绑定的时候, 交换机将修改端口访问控制列表以使用更改后的IP source绑定,并重新在接口上应用这条端口访问控制列表.
  如果在没有启动IP source 绑定(通过DHCP snooping动态学习或者手工配置)的接口上启用 IP source guard,交换机将在这个接口上创建并应用一个端口访问控制列表来阻止所有的 IP流量.如果禁用IP source guard,那么交换机则会把这个端口访问控制列表从接口上移除.
  源IP和MAC地址过滤--Source IP and MAC Address Filtering
当IP source guard启用并使用这个选项的时候, IP流量会基于源IP和MAC地址进行过滤. 当源IP和MAC地址为符合IP source绑定表中的条目的IP流量,交换机才会进行转发.
  当带源IP和MAC地址的IP source guard启用时,交换机会过滤IP和非IP流量.如果一个IP 或者非IP数据包的源MAC地址符合一个有效的IP source绑定,那么交换机将转发这个数据包. 然后交换机将丢弃除DHCP包以外的其他所有类型的数据包. 交换机使用端口安全策略来过滤源MAC地址.如果一个接口上出现了不符合端口安全策略的情况,那么这个接口就有可能被shutdown.
  了解了IP source guard的用处,那么我们就可以在接入交换机上配置DHCP Snooping和 IP source guard. 这样就可以仅仅允许通过DHCP获得地址的机器可以通信.自己指定 IP地址的机器就无法通信了.
  不过,这个特性是要在 Cisco Catalyst 3550 EMI /3560 EMI /3750 EMI 系列以上的交换机才支持. 对于价格便宜的 Cisco Catalyst 2950 SI/EI 系列交换机只支持DHCP snooping

局域网对付网络执法官之类的ARP欺骗攻击的方法

Author: phanx

-------------------------------------------------------------------------------
   ARP欺骗攻击的原理是通过快速发送大量伪造的ARP请求或是应答包来修改机器的ARP缓存,达到欺骗的目的,要对付它,可以从两个方面入手,一是根本就不让这些包发出去,这是最好的了。二是减慢其发包的速度。我们知道,攻击包中的源MAC地址必定是一个伪造的MAC地址,一般情况下,交换机收到这样的包后就会进行地址学习,将其加入到MAC地址表中。
  通过配置端口安全,限制了每个端口上的最大MAC地址数目,比如限制为1。交换机一旦学习到某个MAC地址之后,在这个端口上就会停止学习新的地址,只到超时后才会学习新的MAC地址.而在超时的时间范围内,交换机会比较从这个端口收到的帧的源MAC地址和先将学习到的MAC地址,如果不匹配,这个端口将会被禁用,只到超时才会重新开户.这就极大的减慢了ARP攻击包的发送速度,当包的发送速度减慢后,也就达不到攻击的效果了。此外交换机一旦学到了新的MAC地址后,其原来的MAC地址也就丢掉了,攻击者自己就掉线。所以我认为,这种方法可以有效的阻止ARP攻击。
  另外一种解决方法就是限制ARP包的发送速度。将多余的ARP包丢弃掉。通过适当的调整参数。不会对正常的通信造成影响。
-------------------------------------------------------------------------------
  这个方法的确可以控制这样的ARP欺骗,但是,对于宿舍网这样的环境,MAC地址不可能为1,因为一个寝室不可能就一台电脑嘛. 假设允许的的MAC为2,那么网络执法官就可以正常的完成攻击. 因为只用伪造出一个MAC地址来进行IP冲突就行了

  第二种方法正是下面要讲的方法的其中一个功能.
这里就需要使用Cisco交换机提供的一个特性,叫做 ARP Inspection(ARP检查).

  先讲讲 ARP Inspection的原理:ARP检查可分为DHCP环境下的动态ARP检查和非DHCP环境下的动态ARP检查两种情况。ARP检查中,将交换机的端口分为两种口,可信任口(trust port)和非可信口(untrust port)
  交换机通过检查非信任端口的ARP请求和应答,在它转发ARP包或者更新本地ARP缓存之前先校验是否是合法的IP-MAC地址配对,并将非法的ARP包丢弃来确保ARP的安全性。
  DHCP 环境下的ARP检查通过一个交换机上存放的一个可信任数据库---DHCP侦听绑定数据库(DHCP snooping binding database)来校验ARP包的合法性。DHCP侦听绑定数据库是通过在VLAN中开启DHCP Snooping功能后交换机自动建立的。(phanx注: 关于DHCP Snooping,我在"采用IP source guard技术解决IP地址盗用的方法"一文中有讲到.)
  非DHCP环境下的动态ARP检查是根据用户配置的ARP访问控制列表(ACLs)来进行ARP包的合法性验证。
  宿舍网就是一个DHCP环境,那么我们就可以采用DHCP snooping + ARP Inspection 来防止网络执法官.
  启用ARP检查的配置很简单:
  Switch(config)# ip arp inspection vlan vlan-range
  对于连接三层交换机的口要配置一句 trust.
  Switch(config-if)# interface GigaEthernet0/0
  Switch(config)# ip arp inspection trust
  另外,限制ARP包速率用这条命令.
  ip arp inspection limit {rate pps [burst interval seconds] none}
  ARP Inspection还有一个好处就是对网关地址的保护.
-----------------------------------------------------------------------------
  通过把交换机的连接用户的端口设为untrust端口,并设置ARP ACLs,来阻止所有宣告自己为网关地址的MAC的ARP请求和应答,从而保护了正确的网关IP-MAC地址配对。
  对于交换机上联与交换机之间的端口需要设为trust端口允许真正的网关进行ARP请求和应答

星期五, 九月 01, 2006

养狗。。还是养雀啊你!

  唔知道几时开始兴养狗。自从我夜晚翻来,或者早上一早翻来,发觉D路上多佐D狗屎以后我就意识到多佐好多人养狗。我唔知道D人识唔识养狗,又或者系唔系爱狗之人。但?地比我的感觉就系无咩公德心。好简单,每次夜晚11点几翻来,梗见到D人放狗,等只狗周围all的。?完?就理都唔理,当晒条街系厕所禁。而呢D人大部分都系D退休的,50几岁的中年女人~~~不过当然唔系个个都系禁,都有D人系手挪住张旧报纸来放狗的,而呢D往往的年纪较大的人。我唔知道系唔系以前的年代翻学或者啊爸啊妈细细个的时候就会教你只狗系街方便完以后你要点做,而后来就无,唔同系因为教育的差异?总之我见到D60几70的人会帮D狗处理,而一D电晒发,懒In的50几岁的女人就只会好不知所谓禁昂高个头行走~~~
  近几日,系宿舍大院有人养佐只闹钟狗,一到8点几就嘈。当然8点几对于一般人来讲嘈都问题唔大的啦,但系对于我呢D成日要早上先有得训的人来讲,呢个系灾难性的噪音。今日我终于忍唔住,系?第唔知道几多次嘈醒我以后,我走佐去窗口对住大院大嗌:“养狗还是养雀啊你!嘈x住晒~~~!”
  呢D禁的人,应该比人捉住就要剪翻个呢D头!

星期日, 八月 27, 2006

通宵达旦

  似乎很多人都喜欢夜生活,因为夜可以放纵自己,同样我也很享受夜给我带来的感觉。但夜很容易使我“消化不良”。凌晨3点的我开始觉得睡意很浓了~~可没有办法,现在不适应一下,下星期进IE Lab可就受不了~~
  “唉,没有办法。”
  我享受夜,但是要我通宵达旦,还是,“受不了”。
  “唉,没有办法。为生活。”众IT从业员齐吼~~
  “稳食遮。”“我想架?”“犯法啊?”一个奇怪的逻辑,但这9个字却能解析世间不少奇怪之事。
  生存。

我中意猫,因为距地悠哉游哉的样令神都为之动容。

星期五, 八月 25, 2006

夜想,随笔

  坐在夜班车,车走在熟悉的路,我把头靠在凳背上,闭着眼努力地想令自己保持清醒地睡一下。但车太颠簸了,我还未能达到人车合一的境界(也许多过些日子就可以顺着车的抖动来入睡)。眼无意识地看着窗外划过的一个个画面,看着有人上车,下车,上车,然后下车。脑袋里不停地有一些东西在闪过,每当想弄清楚的时候,却好像发现都是些没有意义的东西。嗯,毕竟“意义”也是我们赋予它意义的。



  路本无所谓有,无所谓无,世界上本没有路,走得人多了,也便成了路。-----鲁迅