DNS漏洞解析
最近炒的比较火的一个漏洞是 DNS 协议本身发现的一个严重问题(CERT VU#800113)。国内媒体对此的报道多数都语焉不详,因此我想有必要说说这个漏洞到底是怎么回事。
共690篇文章。
最近炒的比较火的一个漏洞是 DNS 协议本身发现的一个严重问题(CERT VU#800113)。国内媒体对此的报道多数都语焉不详,因此我想有必要说说这个漏洞到底是怎么回事。
之前一直比较公开的一个秘密是,Google Toolbar实际上是可以在 FreeBSD 上运行的(注意不是通过 Linux ABI 支持)。不过 Firefox 3 发布之后,以前通过 Linux Firefox 安装 toolbar 这条路被堵住了,因此只好寻求新的解决途径。
今天伟大的 A core 说起我blog上面一个很严肃的问题,tag cloud似乎只是罗列了字母序的关键词,一看果然如此,还不完整,也许是 MT 系统要惩罚一下我最近的懒惰了?
说说最近的事情,流水帐。
一件折腾了很长时间的事是,公司的 filer 终于在 6 月 25 日那天寿终正寝。了却了一件心事,以后就准备一直用server去代替了,据说 NetApp 原来和我们公司是在一个院里起家的,不管是不是真的吧,这台 filer 也算是见证了相当长一段时间的历史,到最后连 EBay 上面都买不到它用的硬盘了。
总而言之,值得纪念的一天(顺手把UDP mount都改成TCP mount了)。
Hans Reiser的案子判了,15年,在最后关头他供出了埋老婆的地方,奇怪的美国法律,为什么这样可以从一级谋杀改判为二级谋杀?从新闻报道看,这个家伙很倒霉,被一个人差点骗走了公司,并且把老婆也抢了,然而杀人……之前以为美国警察逻辑混乱,现在看来,老婆失踪立刻把老公控制起来还是对的,十之八九跟那家伙有关。不过真是很可惜,ReiserFS恐怕从此走向死亡了,一个相当有成就,而且有了两个娃的技术专家,最后居然因为杀人而锒铛入狱,真是一件非常可惜的事情。现在人都怎么了?
John Birrell正式引入了DTrace支持,感谢 Cisco 公司的大力支持!
[delphij@charlie] ~> uname -a
FreeBSD charlie.delphij.net 8.0-CURRENT FreeBSD 8.0-CURRENT #33: Sun May 25 18:05:10 PDT 2008 delphij@charlie.delphij.net:/download/obj/data/src/sys/CHARLIE amd64
[delphij@charlie] ~> dtrace -V
dtrace: Sun D 1.6.1
今天和 lwhsu 去 julian 老大家参加了一次小型的聚会,见到了很多传说中的人物,包括 alc(VM Guru)、bmah(re@)、rwatson(大家都认识的我就不说了)、sam(4.2BSD时代的总boss、现在在搞802.11),以及 Peter Losher (Internet背后的运营者)等。
有人给我写信说我的blog快要长草了。随便写点吧。
今天是五一RSS认知日,A董发来了一个有意思的活动,我也贴一下:
http://rssday.org/ 当时的题图是 http://rssday.org/banners/rssday125.gif。 2021年1月31日发现该网站已在历史的漩涡中消失了。
2008硬盘磨损年!
我相信很多人都遇到过硬盘卡壳、掉链子的情况。当然,这篇文档的主旨不是告诉你怎么样可以绕过那些老爷子写的课本上说的金科玉律──重要的数据都应该有备份──如果你的数据最终丢失了,那么我的问题是:你的备份呢?
但是,即使你有经常备份的习惯,有些数据还是会难免出现一些没有及时备份而导致丢失的情况。我的观点是,没有备份计划的数据都不是重要数据,不要等到数据丢失了再去后悔,但是我们显然应该采取各种各样的手段来阻止没有及时备份的那一小部分数据的丢失。
硬盘
大家一起默念:它很便宜!它会坏掉!
是的,实战经验会告诉你,它很便宜!它也会坏掉!不管这个硬盘是来自什么厂商,也不管它是SATA、SCSI、SAS或者是传统的ATA接口,它出现故障只是时间早晚的问题。
为了解决这个问题,人们提出了廉价磁盘冗余阵列(RAID)的概念。例如,使用两块相同容量的磁盘组成 RAID-1 (MIRROR) 阵列,可以在其中任意一块出现问题时,从另一块中取出数据。而如果有至少3块硬盘,便可以组成 RAID-5 (注:还有其他RAID级别可以用3块硬盘组成冗余结构),只损失 1/n 的容量(n为硬盘数量)来得到带冗余的存储,使得存储可靠性得以提高。
除了改善可靠性之外,RAID还可以用来改善读写性能。例如用多块硬盘组成 RAID-0 阵列,可以将读写性能提高 n 倍,等等。我们并不讨论这些RAID级别。
不幸会发生
和很多人已经想到的一样──不要高兴的太早……
带数据冗余的 RAID 的一个基本假设是,磁盘是不骗人的,它有两种状态:好、坏,并且,主机(或RAID控制器)能够可靠地识别这种状态。
很不幸,这句话只对了一半。一块磁盘要么是好的、要么是坏的(这里,“坏的"的定义是读写时会发生任何错误),但是主机未必能够识别这种状态。
更为严重的是,有些时候主机甚至连读出来的数据是否是正确的这件事都不知道!当你发现自己的程序在其它机器上都很正常,但是在某台机器上总是神秘的崩溃的时候,你就要看看是不是那台机器的内存或者其他存储器出现问题了。
2008硬盘磨损年,你需要这个工具,是的,即使你有备份,只要那备份不是实时的,你还是会需要这个工具。
recoverdisk(1)是FreeBSD 7.0新引入基本系统(/sbin!)的磁盘复制工具,这个工具对于修复硬盘、光盘、存在坏盘上的文件等各种情形都能非常有效地进行迅速修复:它首先尝试以1MB的块尺寸读取和写入数据,随后是64K和512字节(1扇区),遇到错误时会自动跳过,从而最大限度地从损坏的磁盘上恢复数据(如果是用 dd(1) 来恢复数据,通常在遇到坏区时会丢掉整个block,而recoverdisk则是先跳过,然后回过头来用较小的块尺寸重新读取直到失败,而此时主要的数据都已经恢复了)。
今天讲个故事,这个故事是什么呢?
《列子·说符》
人有亡斧者,疑其邻之子。视其行步,窃斧也;颜色,窃斧也;言语,窃斧也;动作态度,无为而不窃斧也。俄而抇其谷而得其斧,他日复见其邻人之子,动作态度,无似窃斧者。
我很小的时候,大人给我讲过这个故事,这个故事告诉我们,想要知道一件事情的真相,那么,无论任何事情,你都不要去预设一个结果,然后让这个结果去影响你的调查研究、情绪或者什么。
这个并不是每个人都能做到,甚至,其实能做到的人,真的很少,而且,他们的下场未必怎么样,伽利略的名字上了罗马教廷的黑名单,布鲁诺被活活烧死,到今天也是一样,当你说关于某明星的不好的时候,立马就会有fans蹦出来跟你拼命,因为人们不愿意相信那些与他们观念不太一致的东西。
今天才知道在 FreeBSD 邮件列表里面的那个 Oliver Fromme 就是 HD-COPY 的那个家伙,预计他将会 takeover FreeBSD 的 loader 部分。HD-COPY是DOS时代我非常喜欢的工具之一。