delphij's Chaos

选择chaos这个词是因为~~实在很难找到一个更合适的词来形容这儿了……

06 Jul 2005

对牛弹琴

最近在CU论坛的历险记。

讨论最开始是由有位大哥求助如何在FreeBSD中移去sendmail引发的。嗯,这将导致不幸,提醒一下。

接下来老大说sendmail是系统自带的,不像Solaris或Linux那样用包安装,但他要弄掉,弄得很干净。

呃……显然啊,FreeBSD不是一个组装的玩意,它提供了很多内建的东西,不过对于那些热爱自己DIY的人还是应该鼓励一下,于是回帖说用NO_SENDMAIL阻止构建,然后installworld之后删除没有碰过的文件。最后出于好意提醒了一句,「默认安装的留在那不会给你带来很大的损失,但删除可能会带来意想不到的后果。」

哥们急了,强调LINUX,SOLARIS上,他装完系统首先删除Sendmail,并且装Qmail(我小声说一句……安全漏洞一箩筐还能硬挺着7年不更新官方代码档的MTA,嘿嘿)。

可是接下来哥们说了一句话让我觉得颇不能忍:「你那个方法只是一时把sendmail制止住了,可没有去根,就像吸毒一样,复发可能性80%,所以必须把sendmail连根都给它砍了,也就是让它「绝后」。 」

什么什么?一时制止?都没有编译了,不碰的文件都删除了还说一时制止?

后面哥们又说了一句很让人喷饭的话,大意是说,产品服务器以系统容量最小,服务软件最少,端口最少为根本。据说,教他的老师这样讲,而且既然教了几千名学生那肯定很有道理。

这我就暴脾气……我琢磨着,端口最少,服务软件最少,可是你唯一开的那个服务也有漏洞不是一样完蛋吗?

接下来哥们又说了,sendmail漏洞一大堆,而且不大可能用sendmail做服务器……嗯,装机率第一的sendmail就这么「不大可能」了。

结果,热血青年delphij(之所以这么说是因为——继续看)还是没忍住,多说了几句:

第一,之前说的办法能彻底干掉sendmail,包括系统中的全部残余,哥们把我的办法当成跟sendmail_enable=“NONE"一样的套路。最后忍不住说了句,哥们要是没有足够的耐心去看别人的建议,就表提问好了,多嘴的delphij啊~~

第二,FreeBSD的sendmail默认没有打开任何对外端口,且鲜有suid的情形,要利用所谓服务的漏洞,首先得拿到root……那个什么什么,人家都拿到root了干吗开sendmail啊,直接种个nc或者帐号啥的不是挺快活?顺便多了句嘴说,很多人分不清楚mailwrapper和sendmail——且听下回分解呐!

第三,delphij再次多嘴地推荐了postfix,安全专家Wietse Venema大人的MTA程序。顺便指了指qmail的大把漏洞。

最后delphij再次婆婆妈妈地唠叨说,安全意识不是拿一根尺子去量出来的,不理解系统根本就不可能弄得安全。

我靠,捅了马蜂窝了,哥们明显很怒的样子……

哥们上来就说,不明白我在说什么(嗯?没说You are not expected to understand this咯)接着大谈我是否明白,我晕,不明白的话,我告诉你怎么删干什么?顺便说说各家MTA不是也和你的问题有关吗?

嗯,哥们最后十分友善地告诫说,「你有时间,多接触一下linux和solaris就知道如何清除了。」

啊……我用的Linux和Solaris的时间确实不长,老土到第一次装Linux居然用了40张软盘还到处鼓吹,Solaris更是上了大学以后才摸过,算上在公司的那些,总共经手也不超过100台机器,嗯,等等,其中好多被我替成了FreeBSD,因为搞不定Linux和Solaris的安全耶!汗呐,我又关公面前耍了一回大刀——露怯呀,拿着一点点LFS的烂经验和FreeBSD的Makefile在一个用R什么帽和So那个啥is的优秀包系统的大牛面前班门弄斧了,喂喂,delphij,你一个玩组装的家伙,跟这儿瞎起什么哄啊,人家要的是一个命令就能删掉呀!罪过罪过,我得好好学习Linux和Solaris,争取早日成为两个系统的高手!!

最后总算开始有人出面调停,说/usr/bin/newaliases,/usr/bin/mailq,/usr/sbin/sendmail要干掉,嗯~ mailwrapper的残渣余孽看来是没了。

还有人给了一个如何用更复杂的办法实现sendmail_enable=“NONE"的解决方案。

认真点认真点,看来你应该写一篇关于sendmail、mailwrapper到底都是什么的文章啦。

到底有几个人真的懂怎么删sendmail?我说的不对么?搞不懂……

李逵说的对,很多事情根本不该回帖,真是犯不上来的。