. x4 v- M5 S& b0 y" f+ e3 J 3 ?6 c4 s9 l0 L/ H 专家们说,缓存投毒和域名劫持问题早已经引起了相关机构的重视,而且,随着在线品牌的不断增多,营业额的不断增大,这一问题也更加突出,人们有理由担心,骗子不久将利用这种黑客技术欺骗大量用户,从而获取珍贵的个人信息,引起在线市场的混乱。/ T) u. w! \3 _ D5 P4 P( G3 Y
5 r+ r# S. H4 J w) U
b1 ?" i& y/ ^# l+ n 虽然,域名劫持在技术上和组织上解决起来十分复杂。但是在目前情况下,我们还是可以采取一些措施,来保护企业的DNS服务器和域名不被域名骗子所操纵。 # s7 s& V8 u6 T* s' ]5 w V. t8 B7 A A
: o3 n) U" ?" y1 t0 s u/ ?
n8 R1 |! I" T9 p4 j7 d破解困境) Y2 O5 Q8 U) {9 v: v; G 6 I4 p% r. G3 A) ^0 _
! ]* J$ [3 b0 W1 \* J# X4 B DNS安全问题的根源在于Berkeley Internet Domain (BIND)。BIND充斥着过去5年广泛报道的各种安全问题。VeriSign公司首席安全官Ken Silva说,如果您使用基于BIND的DNS服务器,那么请按照DNS管理的最佳惯例去做。 # @/ E9 @2 T) s 1 U1 w2 s5 G j; z5 J4 [" h/ y, F! W/ a9 M
SANS首席研究官Johannes认为:“目前的DNS存在一些根本的问题,最主要的一点措施就是坚持不懈地修补DNS服务器,使它保持最新状态。”' q6 E8 L" \. u
" v5 X/ z' J& T% _: V
- h( e( D m& W; r6 W$ f- ^) q
: H. {+ e1 m, m& R9 r4 \ Nominum公司首席科学家、DNS协议原作者Paul Mockapetris说,升级到BIND 9.2.5或实现DNSSec,将消除缓存投毒的风险。不过,如果没有来自BlueCat Networks、Cisco、F5 Networks、Lucent和Nortel等厂商的DNS管理设备中提供的接口,完成这类迁移非常困难和耗费时间。一些公司,如Hushmail,选择了用开放源代码TinyDNS代替BIND。替代DNS的软件选择包括来自Microsoft、PowerDNS、JH Software以及其他厂商的产品。$ T/ v2 P. d! ]2 E
% u' J/ e0 A( }! D2 u
( n: ` T+ I O* K5 B$ W! E, ]
不管您使用哪种DNS,请遵循以下最佳惯例:) j, y# E4 _# a+ w2 ?. g
# `0 R$ t8 E7 f. D4 H" E* u, [
% q, x) }2 g4 M! v 1.在不同的网络上运行分离的域名服务器来取得冗余性。4 {7 P5 [. l1 `" s# F2 e- j* p
) U8 f- X4 b: L# m# r, O% I7 k
, [' b& D3 y& \# }% v9 W9 t V) H4 [
2.将外部和内部域名服务器分开(物理上分开或运行BIND Views)并使用转发器(forwarders)。外部域名服务器应当接受来自几乎任何地址的查询,但是转发器则不接受。它们应当被配置为只接受来自内部地址的查询。关闭外部域名服务器上的递归功能(从根服务器开始向下定位DNS记录的过程)。这可以限制哪些DNS服务器与Internet联系。# d! G- I' n$ Z3 B" P* h
( D/ W- {3 J. ? r$ B7 O
0 p1 ?# y1 T8 H# J) w. {; a" o 3. 可能时,限制动态DNS更新。 ! `$ E. \1 O5 G) i1 o/ r6 M2 `/ y; ~: D6 K4 \: h8 u
8 w' e& c: c0 C( M" s
4. 将区域传送仅限制在授权的设备上。 9 X$ ^ a; y \( W. y% i# X9 n- J( s- W2 S
6 W; t5 W1 \3 d) [/ }
5. 利用事务签名对区域传送和区域更新进行数字签名。& o- u3 A& g p/ S, K0 T. a
/ w( m1 K9 A& n2 T
6 u9 a9 Q5 c1 l$ D! t
6. 隐藏运行在服务器上的BIND版本。6 W; |! q" Y: J7 T6 H/ T
$ {, i3 @8 `8 ~9 S
0 ^7 l6 A% g; F( c 7. 删除运行在DNS服务器上的不必要服务,如FTP、telnet和HTTP。 % {2 q6 G/ Q9 F m! N % L! h% V! `4 X$ W- X7 J0 l2 V6 v* v" f( R' f- \
8. 在网络外围和DNS服务器上使用防火墙服务。将访问限制在那些DNS功能需要的端口/服务上。2 S8 u) `1 K$ u0 c3 s A
( Z, h5 h0 t4 N% u4 R' g
9 Z, O" Q# f7 T) c 让注册商承担责任 ; G* A- x/ \& d' W$ L: E: o% X9 y4 e! n
域名劫持的问题从组织上着手解决也是重要的一环。不久前,有黑客诈骗客户服务代表修改了Hushmail的主域名服务器的IP地址。对于此时,Hushmail公司的CTO Brian Smith一直忿忿不已,黑客那么容易就欺骗了其域名注册商的客户服务代表,这的确令人恼火。 * \& d* a( Z$ b6 g( G, G, [( J! ^. ?+ A
8 p7 W+ S" Y- S0 I9 W/ v: j0 U
Smith说:“这件事对于我们来说真正糟透了。我希望看到注册商制定和公布更好的安全政策。但是,我找不出一家注册商这样做,自这件事发生后,我一直在寻找这样的注册商。”- o0 N* j9 @* P4 e0 r* D; d
! ?$ e: b1 v" r; y, u \, |+ P1 N5 [# |* a Nominum公司首席科学家、DNS协议原作者Paul Mockapetris说,升级到BIND 9.2.5或实现DNSSec,将消除缓存投毒的风险。不过,如果没有来自BlueCat Networks、Cisco、F5 Networks、Lucent和Nortel等厂商的DNS管理设备中提供的接口,完成这类迁移非常困难和耗费时间。一些公司,如Hushmail,选择了用开放源代码TinyDNS代替BIND。替代DNS的软件选择包括来自Microsoft、PowerDNS、JH Software以及其他厂商的产品。 3 N B' i3 L0 x6 _2 Q2 [2 Y, K) b$ R- `' w$ Z/ k, P( O# i! j/ Q
6 y4 |9 Z$ ~6 T1 p2 Y. _* u 不管您使用哪种DNS,请遵循以下最佳惯例:- {6 ^1 c7 W& j0 w3 M' i) B
% K; k5 ~& h3 S( O2 s1 M, S3 y4 }
; \8 h( p- A( h* _) `
1.在不同的网络上运行分离的域名服务器来取得冗余性。 / F, s, L; s W" H! T3 V/ L 0 I1 I! p" X' t8 l! w & @8 O) X7 T+ R2 z3 {1 B) f7 {$ q 2.将外部和内部域名服务器分开(物理上分开或运行BIND Views)并使用转发器(forwarders)。外部域名服务器应当接受来自几乎任何地址的查询,但是转发器则不接受。它们应当被配置为只接受来自内部地址的查询。关闭外部域名服务器上的递归功能(从根服务器开始向下定位DNS记录的过程)。这可以限制哪些DNS服务器与Internet联系。7 y; _+ B: ^7 D" R" T5 ?
( K1 Z0 v, R3 s$ C1 p, G
* H. Z# y9 J# i8 r
9 n2 @) w0 ^& B `3 W 2 T! ?3 f9 d0 q; h# H0 M. `! a 3. 可能时,限制动态DNS更新。 P: W9 d% l4 b . H2 q8 S B7 O& W) ]8 G + D& H2 K& P+ C- p8 B 4. 将区域传送仅限制在授权的设备上。 6 Z$ R3 g& O' d2 K- ^4 ]2 Q! e2 } ) }" r' @( F3 g: j8 ]7 q c6 |& J" ]7 _2 F7 U" \/ |
5. 利用事务签名对区域传送和区域更新进行数字签名。) t( w! ^7 l# |# @
1 u) b+ p2 a. L5 Z. H+ ~+ w0 a* @ ) C5 \' m2 Z, C4 x6 P( U9 B( n 6. 隐藏运行在服务器上的BIND版本。 3 {7 p- @& d; H7 D T! t3 n! ~" q0 A/ o; H: T+ T* ~