) Z, r& O. @+ s% M2 g$ M' B DNS安全问题的根源在于Berkeley Internet Domain (BIND)。BIND充斥着过去5年广泛报道的各种安全问题。VeriSign公司首席安全官Ken Silva说,如果您使用基于BIND的DNS服务器,那么请按照DNS管理的最佳惯例去做。# m9 N6 {% J. F
$ E! ]' R; j4 A" o9 k9 c1 e
& W, ]( x* P) S% ~$ [/ T, U( q2 V SANS首席研究官Johannes认为:“目前的DNS存在一些根本的问题,最主要的一点措施就是坚持不懈地修补DNS服务器,使它保持最新状态。”! A6 m, g' J) \
3 s: T8 a7 Z) H( c
5 }% c/ t$ E7 |* {8 \3 f/ B. s) }* \9 r3 D" U8 P. ?( ^& c0 O
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以及其他厂商的产品。7 I8 H* g3 w' ~
6 O- Z$ ?4 ~3 X2 o
; F& v' U, I. v
不管您使用哪种DNS,请遵循以下最佳惯例: ) F% _; v/ C2 T8 H" p+ C Q0 | X. w, L/ P
$ _; E6 l- y4 a( l 1.在不同的网络上运行分离的域名服务器来取得冗余性。 + I6 B0 `6 H* H( h, n$ Y" ` & b7 q$ C5 w$ o4 k ; u) R3 a% Q1 ]% d6 ]" j# z. D 2.将外部和内部域名服务器分开(物理上分开或运行BIND Views)并使用转发器(forwarders)。外部域名服务器应当接受来自几乎任何地址的查询,但是转发器则不接受。它们应当被配置为只接受来自内部地址的查询。关闭外部域名服务器上的递归功能(从根服务器开始向下定位DNS记录的过程)。这可以限制哪些DNS服务器与Internet联系。. g9 T! Z- R1 J- N) J+ V2 @' A
! u6 E) T" V& _3 Z9 I2 p6 ]/ M; |. `* {
3. 可能时,限制动态DNS更新。 . O9 K" X8 D" v7 ?$ H8 _4 B% z- G 9 O9 _3 o, n( `6 N/ D. S# f! _1 U! j& u/ [8 z, g
4. 将区域传送仅限制在授权的设备上。% `1 F* W" T" R9 C0 [
' H8 X2 x: A! Z, F8 `& B; b) h
! u. i9 @6 C( z+ P" A
5. 利用事务签名对区域传送和区域更新进行数字签名。; [" B3 B. n7 S% e
0 w- n% w; `; j D* X " |% o o8 S" S5 ? y. F+ ] 6. 隐藏运行在服务器上的BIND版本。 3 q5 S% a! ]& f: P1 ^0 b5 ?! f+ M! X. I' W0 h8 B
* U* m2 [% D1 J6 \4 h" U
7. 删除运行在DNS服务器上的不必要服务,如FTP、telnet和HTTP。 x7 r/ H J( z D& F, j . u9 x6 Z8 K% T7 ?/ d3 f: }6 Z: D# r' b4 K& w; ]% | _
8. 在网络外围和DNS服务器上使用防火墙服务。将访问限制在那些DNS功能需要的端口/服务上。 , K j, P6 k7 L/ ~* O! Z0 M9 N$ W4 z " k: z, `4 K" |; y+ }$ u5 j* a. T8 B# M O* p5 [" Y* A 让注册商承担责任 / f# z% R' R0 R4 L" n1 w; d- l0 L- _5 \. H
域名劫持的问题从组织上着手解决也是重要的一环。不久前,有黑客诈骗客户服务代表修改了Hushmail的主域名服务器的IP地址。对于此时,Hushmail公司的CTO Brian Smith一直忿忿不已,黑客那么容易就欺骗了其域名注册商的客户服务代表,这的确令人恼火。 : h1 Z" U9 u5 e$ _/ K- [( o# _* Y: c9 y, @3 L6 s# E$ i. J$ a
6 @3 S. N2 X6 j" s. N+ S6 s
Smith说:“这件事对于我们来说真正糟透了。我希望看到注册商制定和公布更好的安全政策。但是,我找不出一家注册商这样做,自这件事发生后,我一直在寻找这样的注册商。”. L& }# C6 k6 q( l
2 O* ?3 H4 X9 E3 ]% m' Q
4 l5 X0 v. Z) o& p( k9 F! L 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以及其他厂商的产品。) v* H3 T# C! w) d4 s8 E
( P, |& ]$ b% a
+ W; [9 x6 T% K/ b7 A. k
不管您使用哪种DNS,请遵循以下最佳惯例:0 c2 V6 Z0 B/ y) U. @