曹江华访谈实录:Linux服务器安全策略详解

【51CTO.com独家特稿】随着Linux应用升温,企业对Linux服务器安全更加关注,为了让广大网友对Linux服务器的安全策略有更加直观和全面的认识,我们邀请到著名Linux专家曹江华做客51CTO.com,解答大家关于Linux服务器安全策略方面的问题。

曹江华简介:毕业于工科大学机电一体化专业,从事CAD设计。后从事小型数据库的应用。1999年开始从事构建网络、管理维护、数据库管理工作。1999年后开始接触LINUX,将工作中的经验总结后:在51CTO、计算机世界、IBM开发者、中国计算机报、IT168、>、上先后发表计算机Linux网络构建维护和安全的文章300多篇,290万字,已出版Linux服务器安全策略详解》,《Linux服务器安全策略详解》(第二版),《Red Hat Enterprise Linux 5.0服务器构建与故障排除》,《Linux系统最佳实践工具:命令行技术四本堪称Linux系统管理员日常工具书的热销图书,目前关注开放系统和网络安全。

话题一:《Linux服务器安全策略详解》 第二版与第一版有哪些区别?

曹江华: Linux服务器不管在全球还是在中国的大概比例就是20%到30%的比例,因为不同单位,统计不一样。图书是学习一个重要的途径,但是中文图书在2007年之前没有我们自己的原创的书。那么实际上这样的书有三本。有一个Linux黑客防范,是2000年出版的,基本还是很少,是基于的2.2内核;Linux黑客大曝光是相对比较好的书,但是偏早的一些出版年限。截至2007年我写这本书之前,全球包括所有语言出版Linux书是25本,其中英文版是19左右,还有其他法文,俄罗斯文,大家能拿到这个书能够看懂的人也不多。当初跟电子出版社准备自己写一本关于Linux的书,毕竟是我第一次单独完成的书,以前也出过一些书是跟别人合作的。第一版写的时候广大读者还是给予了一定关注,但是从2007年到08年的年底,在出第二版以前也接收到一些反馈,有的读者说你没有写的数据库安全,还有应用不多的服务器不能没有必要写了,第二版我增加了一些内容,又删除了一些内容,为了保证书的厚度,不至于书太厚,书太厚成本会比较贵,第二版首先讲两大开源数据库。有的读者会说还有其他的,像其他的像甲骨文数据库也可以在Linux跑为什么没有写,这些数据库其他的三个基本还是属于商业数据库,因为商业数据库获取安全策略还是找厂商比较合适,开源数据库更基于系统感觉员自己做的。所以主要讲的是开源的部分,还有关于Linux无线网络的安全策略,在第二版里面有,还有一个就是Linux内核安全审计,以及SELinux这个在国内也是没有书专门介绍,只是51CTO.COM上有一个作者翻译了一本,在第一版我用了20%篇幅介绍了Linux命令,现在已经有我就删除了,第二本书大概删除内容有25%,第二和第一大概有50%的差距,还有读者会关注到集群,储存也没有介绍。那么如果感兴趣可以看《网管员必读 故障排除》那本书。如果说都加到一本书,书会非常厚,实际上这个书的价格已经不便宜了,我这里只是作者,定价还是在出版社。

主持人:曹江华老师不仅向我们介绍了两版图书的区别,也介绍了Linux现状不容乐观,在新书中针对不同服务器有非常详细的介绍,请曹江华老师介绍一下,我们针对不同服务器在安全策略方面应该做哪些准备。

曹江华:Linux首先你要看擅长就是在单一领域,单一基础领域服务器,像DNS,基本上全世界都是BIND,它应用主要Apache服务器,防火墙,文件服务器,这个是它擅长的领域,Linux现在不擅长一些什么,就是一些交叉应用还是不擅长,它擅长是高性能计算,比如说计算机密集应用,数据分析,建模还有一些数据库,我感觉你把Linux拿过来做服务器,在它身上不要集成过多的应用。因为这个东西比如说从安全策略说,FTP就不能太高,方便大家存储一些东西。还有不同服务器安全策略,Linux毕竟跟UINX转变过来,我的安全尽量做单一的应用,不要把所有的鸡蛋都放在一个篮子里面。

主持人:对Apache加固有什么建议?

曹江华:还是从最简单,是Apache配置文件,要理解HTTP,理解这个文件。说到Apache有什么可以加固方法很多,第二种就是说selinux现在也可以保护Apache,还有其他一些模块可以防蠕虫,这些模块都可以编译进去。专门在Apache英文版手册也几十个针对不同攻击的模块,尽量自己安排,我这个系统经常受到蠕虫我就把这个编进去,如果有人经常对我捣乱我就把这个模块编进去。 介绍Apache安全的书很多,上面提到的那本英文Linux安全书,将近1/3的是介绍Apache。刚才讲了不同服务器对安全策略是不一样,在局域网把这三个服务器集成在一起是比较好,三个服务器安全性能要求不高,放在一起,把低风险放在一起,不要说这服务器又有高风险又有低风险,这个管理员就很难管理。上面只是有一些建议,但是从根本上防止安全还是说第一条就是DNS是BIND服务器,就是你必须要对配制文件,首先第一DNS服务配制文件一定要完整,不是说我DNS可以运转就可以了,一定要配制没有任何错误,要完整。配制服务器不是说这个可以运转就完了,一定要建立一个完整的DNS服务器,DNS服务器所有配置文件一定要保持正确,不是其中一个要正确,是所有文件要正确,没有错误,这个东西黑客攻击就不容易,要尽量做到没有漏洞。虽然说红帽对DNS提供了一个界面,我推荐大家不要用,其实要配置对、配置完了,是比较安全的。还有一个DNS出现故障要尽快排除,有故障的DNS服务是很容易的攻击的。

主持人: 是DNS做成集群吗?

曹江华: 是负载均衡,日常维护DNS服务器,书里面讲得很详细了,以下就是一些技术参数,有一些版本号,控制区域传输,要关注DNS日志 系统管理员要经常看日志,有的人根本不管。 然后就是负载均衡,防火墙都是所要有的。

主持人:Linux安全出现问题一般会出现在哪些方面,比如说桌面,服务您可以说一些例子。

曹江华:出现安全问题很多了,每个人可能都是不一样的,但是我觉得常见的问题是说很多人习惯不好,从Windows带过来一些习惯,比如说从服务项目上,越方便越好,把所有服务打开。但是Linux服务器上不一样,你要根据自己的系统做什么,开始服务。有的人图方便,安装软件什么都装,装得大而全,Linux要小而精,对于初学者对于二进制代码可能比较麻烦,这个你要找一个平衡点,你要选择安全就要牺牲一些应用性。

主持人:我们说一下数据库,现在有两大数据库一个是MYSQL和PostgreSQL。能请曹老师介绍一下这些数据库的安全防范吗?

曹江华: MYSQL在开源数据库可以说是老大了,它自己经过很多沧桑。MYSQL数据库的安全,大家第一步就是基本安装怎么使用,主要MYSQL首先还是了解MYSQL体系结构,是数据库里面表是怎么样,但是MYSQL有一个跨平台性,可以在Windows下面跑,Linux也可以。我主要讲在Linux下面的,首先第一个除了正常使用的话,就是MYSQL第一个是用户管理,然后MYSQL有日志,对日志也是一个很重要,要关注日志,然后MYSQL服务器备份和恢复也是非常重要,牵扯到数据库要到说到备份。

主持人:做成阵列来备份好一点吗?

曹江华:不是,通过服务器可以备份到别人的机器上。还有一些MYSQL自己的实时的备份。这个备份一是外部备份,这个备份不像以前操作命令。这个只是做备份,效率会非常高,越是功能单一是性能高,也不会出现一些错误,越简单的东西可靠性越高,跟汽车一样,汽车零件非常多,出毛病的可能性非常大,自行车就那么几个零件就不容易出问题。第二就是你必须要了解作为MYSQL管理员,前面了解MYSQL各种版本有哪些漏洞。我总结一下,从发布到现在所有的漏洞要检查,对应的版本,因为每个人用的版本是不一样的。这个不能说大家都用最新的的版本。

主持人: 现在有人说MYSQL5.1没有5.0的安全,您怎么看。

曹江华:这个我觉得不一定说到具体某一个版本,实际上管理员要了解,特别是管理多个数据库,我们已经总结过,有43个MYSQL重要的安全漏洞。从发布时间,从02到09年3月3日为止,从3.23到现在5.131。可以说比较大会对MYSQL产生漏洞,我都已经做了一个总结,我会告诉你,它的漏洞是风险等级高还是低,还有评分。你可以对应你自己的到底有哪个漏洞,包括这个漏洞怎么补,在这个书里面也讲了一些。我讲43个是对大家危害比较大,总数的话应该是在200多个,还有不少小的漏洞。下一步部分就是MYSQL要对它进行安全审计,刚才讲到漏洞你作为MYSQL感觉员要经常了解MYSQL的安全信息,还有最主要现在最新出了一个版本,这个是MYSQL一个软件,就是一个软件,可以你发现MYSQL漏洞,在这个软件会告诉你哪些表被改动了。

主持人:有一些重要操作改管理员密码一定会显示出来。

曹江华: 对,如果是你改没有问题,如果不是可以查防火墙,如果是你自己改就无所谓。我感觉PostgreSQL的安全性能比MYSQL好一点,因为这个数据库设计比MYSQL好,前一部分日常操作要保持正确,备份这个跟MYSQL是一样的。还有关注一下PostgreSQL虽然也有一定漏洞,可能在主流数据库是最少,相对于所有数据库,如果说这个数据库是你自己研发根本没有人知道,在市面上跑的主流数据库,第二就是说访问控制要注意,主要是通过安全链接,认证,还有保护服务器在书里面讲得很详细了。

主持人:到现在发现多少漏洞?

曹江华: 56个,有一个截止日期,最近几个月有没有新的,大家可以再查一查,如果是管理安全可以对COE不陌生,这是一个全球的公共漏洞库,里面有各种数据,包括WEB服务系,自己可以看一下。

主持人: 我们关注一下SELinux和Linux的内核安全审计的作用

曹江华: SELinux很多国内用户可能觉得比较麻烦,很多在故障排除第一步先说把这个关掉。selinux就是美国国家安全局的一个项目,具体我感觉就是selinux实际上把安全策略进行了一些分解。它的对于MAC控制访问更彻底,普通Linux跟selinux控制访问也有些不同。我主要还是讲selinux配置过程中,应该说比较麻烦的,原因就是说打开以后,WEB服务器就不正常,这个没有办法,安全性和应用性就是这种矛盾的,只能寻找一定的安全中间点。如果说你用selinux保护WEB服务器是比较适合,比如说用局域网服务器。我以前说的不同服务器的保护等级不一样的,最好不要所有服务器都设定一个安全等级。但是对WEB服务器,要放到互联网上,WEB服务器一般都是放在互联网这个时候一定要selinux,比如说自己局域网可以考虑有一些时候可以不用。
曹江华 在RHEL 4.0里面,它的操作比较简单,在RHEL 5里面有进入了selinux故障排除器,就是说装了XLinux某一个访问不正常,可以通过一个工具找到原因,在哪堵住了,但是在RHEL 4.0就没有了,要评经验判断, RHEL 5就正式了这个问题,你要大家用selinux以后,大家都跑不了,RHEL 5就提供了这样一个工具,告诉你故障在哪,它会告诉你在哪,方便你排除故障。

主持人:有一个网友问关于vsftp搭建ftp的问题。

曹江华: 第一就是说VSFTP服务器还是第一项,要保证配制文件要正确,如果配制文件不正确,不允许匿名访问,你给配成可以就不安全了,第二要分析安装对服务器分析日志文件,第三还有一个一定要加入磁盘内容,不能让磁盘滥用,还有一个现在有好几个FTP服务器是通过密码和口令访问,现在存在很多对它暴力破解的问题,现在有一些工具,这个软件可以防御这个,像银行一样,插到一个银行卡,银行不会允许你老拆,这个软件是非常小,它的作用在30秒内连续拆了9次,就把IP封掉了,这个就是不正常。

主持人:是不是做成虚拟用户更安全一些。

曹江华 :根据不同用户,哪些用户有多大磁盘配制也是不一样。还有一点要注意客户端,客户端安全,你一定要正确客户端工具访问这个工具。 在Linux用客户端一个是命令行,还有一个叫GSSTP在Linux用,在Windows下用就非常多了,这个是跟 Red hot里面都有这个,提供了很多安全特新,比如说支持SSL加密,在命令行下没有人管你,你不用一个正确的,用一个普通客户端访问就不行,所以说客户端往往不注意,好像我的服务器配制非常安全,但是客户端没有使用安全,这两端都是安全,但是中间不是。

主持人:能介绍一下关于Linux应急响应方面的问题吗?

曹江华: 首先要说明,我有一个观点就是安全永远是相对的,不安全是绝对,就是说服务器配制再安全也有失手的,这个时候要说怎么把服务器恢复起来,做这么多加固还是有人给我攻陷了,这个跟哲学道理是一样的人死是绝对的,总是要死,安全也是一个道理,安全是相对的,不安全是绝对的。
曹江华 安全响应,主要是碰到问题怎么办,一定要做好事先做好一个预案,Windows下面也有一个类似,比如说说机器突然起不来了怎么办,一般是恢复一下,还有做备份,在Linux下面,道理是一样的,一旦服务器失手,崩溃以后怎么办,日常要做好这些工作,在书中专门有一章很细节的方法,讲了40、50种备份方法。

主持人:是不是根文件先备份?

曹江华: 不是,你认为有用的文件都要备份,但是备份方法各有不同,根据你自己的要求。然后要说在应急相应有一个步骤。一旦受到网络攻击第一步做什么?

主持人: 断网。

曹江华: 对,第二是你要通知适当的部门,第三就是说把以前创建的备份复本在敌人攻击以前必须备份,下一步要分析数据库,你要知道攻击口子在哪。

主持人: 有一个网友问如何最快速度知道哪里被攻破了。

曹江华: 对Linux防御也要分级,国家也有一个风险等级,一定要分级,不同分析工具,可以分析出你是哪个部分被攻击了,比如说说DNS服务器,如果没有配正确,攻陷了,你从DNS日志里面可以看到,WEB服务器也可以看到,你哪些端口是打开,通过基本命令可以看出来,你也可以安装一些修盘器。我最常用就是LOF这个命令,第一看端口,第二是看哪个文件被打开。然后,第三部分如果发现哪里MYSQL攻破了恢复系统要把措施的地方补上,最后如果说一旦发生比较大攻击事件,一定要掌握电脑辨析学。有一种观点服务器攻击的时候,为了收集证据宁可要先保存一下,向网络安全警察报警要有证据,这个就是电脑的辨析学的功能。

主持人: 一般有哪些工具?

曹江华: 使用电脑辨析工具有一些商业的,有开源的,就是取证工具,有开源的,有商业的工具。这些一般都是一些计算机安全专业公司提供的。第三要把数据保存下来。第四如果的对你的商业造成比较大的影响你就要提交取证,这个时候需要有一个你说出来这个数字是要有一定的必须一般采集数据工具,一般是请第三方做评估你受损,不能说我受损我说我受损一个亿,必须要有第三方。比如说前些天影音风暴就起诉黑客赔偿多少,就是请第三方做。

主持人:有网友问,您对LLSF有什么看法。

曹江华: 是一个非常好的工具,但是对读者有一定要求,使用LLSF用户不相信任何一个发行版,就是自己做一个东西,实际上可以把这个系统做非常小,非常安全,我希望大家尽量多做一些这样的东西,就是说suse也好,都是一些发行版,真正要玩Linux是不应该的。

主持人:有一个网友问我是一个站长,有一个服务器,我们怎么做到相对好的安全性。

曹江华: 主要是提供下载,还是提供网络服务。如果是很小网站就是提供下载的东西,提供WEB服务PHP漏洞比较多,选择性能高一些的,安全漏洞比较多是PHP,装起来论坛非常快,非常简单,但是本身设计漏洞就非常大。所以我不推荐,大家最好用新出的。

主持人:还有一个网友问最新的RHEL 5.4的问题。

曹江华: RHEL 5.4 Beta版已经出了,主要是对虚拟化做了一个行为转型,我觉得这个转型是对的,为什么?因为KVM效力上要好,其他方面在数据储存文件系统也有一些改变,这个我还没有拿到,我只是看了一下官方文档。

主持人: 有一个网友问KVM体现在哪里。

曹江华:有具体的测试,大家可以在相关网站做的对比测试。安全性方面,KVM出现比较晚,安全性好一点。XEN好像限制比较多,受一些资源控制。对处理器,商业方面控制以后会越来越多,安全性能现在是思杰公司做。与XEN做对比,我感觉就是说KVM还是属于上升阶段。这个网络上有很多资料。最简单说KVM操作起来,命令相对简单。

主持人:建立一个虚拟机只需要一个命令。XEN对很多机器也不兼容。

曹江华:对。主要是英特尔方面比较讨厌,很多处理器把虚拟化功能关闭了,不是没有,我有一个同事处理器支持,笔记本出厂的时候把这个功能给关了。披露一下,是联想的。

主持人: 我也发现很多机器可以用XEN但是不能跑全虚拟。这个确实比较讨厌,半虚拟,而且不可以本地装。

曹江华: 对。KVM运行同样也是对CPU也是有限制,这两个是一样的。

主持人:还是有商业因素。下一个问题,有网友问,如何成为一个Linux安全高手。

曹江华: Linux要把用起来,第一说你是实践,这个可能大家都知道;第二尽量要把你用过的东西要写一下,除了我经常操作以外,一定要写下来,我以前就是操作,很多用完就忘了,写出来会好很多。第三对于Linux使用者来说,一定要学用其他操作系统,还有Solaris最好也要用一下,一定要从Linux小水库里面跳出来,最好多用一种Linux类操作系统,Linux本身也叫UINX类操作系统,包括BFD,Solaris有机会要用一用,不要有人说我就知道Red hat了,尽量多接触不同的操作系统,Linux类操作系统,对你以后对比他们之间差异,不要做特别专的东西,Windows可能没有办法,也要用,多用各种操作系统。你尽量还要做各种操作系统都要用一下。

主持人:网友问一个具体的问题:我们网站在三月份被人DDoS了,我们没有防火墙,这种情况怎么避免。

曹江华:我说的防火墙是硬件防火墙,我不知道这位朋友是不是单指Linux系统。一定程度上可以防范,刚才我讲DNS负载应用可以多装,做集群或者负载集群。具体方法,关于DNS的配置方面的具体操作,大家可以自己看一下,或者在网上找相关的问题。这个有局限,比如说防了这个IP地址,你断一下网,再上就换了。比ADSL对你进行攻击,我再换一个,但是你对静态IP是起作用。不要把所有的IP要限制访问带宽,做网络管理员,不让做什么。以前经常设,这个端口不让用,我用不同的端口,我觉得安全管理要人性化,不要发现人家要做什么,你就不让人家做怎么样,从技术手段要考虑到用户实用性,比如说对BT可以限制带宽。尽量不要限制用,因为用户会想别的办法,做安全管理要有一定弹性。

主持人:还有一个问题,Linux在服务器领域比桌面领域有优势,那么Windows7和Windows 2008服务器版本怎么样?

曹江华: Windows 2008速度跟此前Windows比还是比较快,Windows7速度我感觉跟VSITA快一点,专门有一个内核的模式,这个就是说微软也认识到命令行生存能力非常强,我只用命令行效率是非常高。讲到这里,我想讲一点,我收到了一些读者对这本《Linux服务器安全策略》有一定意见。但事实上这本书不是针对对刚开始的初学者这些读者,这些读者要看可以看我写的另一本书,叫做《Linux命令行技术》,有一定基础再看《安全策略》;第二要看一下服务器构建,读一个书,买书要有一个过程,不能说上来就买一本编程的书上来。

主持人:安全是最高等级。

曹江华 :对,因为你服务还没有做起来,安全说不上,大家学习Linux从命令开始,不要觉得这个东西很好装,就装上,什么服务器就是在线,你学再熟练,如果你精通Linux就可以成为一个UINX高手,大家还是要关注命令行,既然做服务器,一定要回到命令行。

主持人:说到命令行,就要说一下关于SSH的安全问题。

曹江华 :SSH这个是用非常多的一个应用,特别是网络管理员最喜欢用的,为什么就是远程访问,要登陆不可能每次都到服务器本身,第一SSH必须要明白它能保护哪些,还有一些不能防范也要明白,不是安装了SSH就完了,一定是安全的了。有一些SSH是防范不了的。SSH现在面临一个很大的软件漏洞,这个也是一直被Windows笑话的,这个一定要知道,SSH面临一个最大的问题就是口令破解,这个SSH不能防范哪些,一旦系统侵入你根目录这个是防不了。 注意不要跟NFS一起跑,SSH提高服务器安全性还有一个相对好的办法,就是用SN运行模式,效率低一些,但是安全性好。SSH可以由两种模式。

主持人:请教曹老师,你觉得用密钥好还是口令好。

曹江华: 当然是密钥。还有一个就是说用SSH服务器,客户端一定要支持,跟STP一样,比如说你SSH服务器配制安全,但是访问工具不安全,大家平常还是用Windows多,我这个笔记本就访问你,你访问工具有重大漏洞,而且POTT有很多安全设置,如果POTT有很大技巧,如果那个使用技巧不好,没有正确使用客户端,如果客户端安全性不好,你服务器安全也不好。你访问信息它在中间就截获了。

主持人:除了SSH,曹老师还可以推荐一下控制图形界面管理工具吗?

曹江华:VNC是一个,VNC跟SSH结合起来,另外讲到VPN也是一个,总体就是说Linux的VPN有很多种,最多就是PPGP它的安全漏洞是最次的,现在用最多的就是OpenVPN。大家为什么用PPTP是配制最简单的。 Windows客户端是用PPGP,但是在Linux下面,我建议用VNC两个组合,不要把PPTP想得那么不堪一击,普通应用还是可以的。

主持人:网友请教Linux工程师经常用的工具,我们有哪些手段和策略加强Linux安全性?

曹江华 :最基本的:把不需要的服务关掉,比如说根本就没有NFS没有关,不要的关掉。其他对Linux要加固这个系统,一定要进行实时网络监控,第二就是保护一定要装IDS。这个是最基本,你要更安全要做分布式的,做成集群模式,IDS本身要安全,这个是串型的。

主持人:有网友问,网络中域管理模式是Windows AD还是Linux比较好?

曹江华: Windows和Linux没有什么可比性,但是如果谁学谁的话,一定是Windows学的人家,NT4.0是第一个引用了域的关系,不是说抄袭,应该是借鉴。从UNIX权限,这个学不到的,人家对他问题很大,在Windows2008年特别引用了命令行,是从UNIX借鉴了,这个是成功的。

相关推荐