扫一扫
分享文章到微信
扫一扫
关注官方公众号
至顶头条
这种感觉并不少见——许多新接触Linux的网络管理员都发现自己难以从简单点击配置的安全设置接口,转换到一个基于复杂难懂可编辑文本文件(且难以寻找)的安全接口。绝大 多数管理员都了解人为设置一些路障和陷阱以对付黑客的必要性,并保证你的企业数据安全;不过,在他们并不熟悉的Linux世界里,他们只是不太清楚他们应当做些什么,或者是 从哪里下手。
本文描述了一些管理员可以轻松做到的事情,从而令他们的Linux服务器变得更加安全,并可以显著降低他们所面对的风险。这个教程列出了7件事项,不过你可以在Linux的手册和 论坛上找到更多的有关资料。
1.保护root帐户
Linux系统上的root帐户(或superuser帐户)就像是一个音乐厅的后台通道——它能让你对任何事物做任何事情。基于这个原因,采取一些额外步骤来保护它也是值得的。从使用 passwd命令为它设置一个难于猜测的口令作为开始,定期修改口令,并严格限制企业之中仅有少数关键人知道该口令(理想状态是仅有两个人知道)。
下一步,通过编辑/etc/securetty,限制可以进行root登录的终端。要想避免因用户暂时离开而导致root终端被人所用,可以通过设置本地变量TMOUT,为root的登录设置一个非活 动的超时时间,并通过设置本地变量HISTFILESIZE为0,以保证root的命令行历史(可能含有敏感信息)被禁止。最后,执行一个策略,只使用该帐户来执行特定的管理任务,并阻 止用户以root作为默认登录。
小技巧:一旦你已经关闭了上述漏洞,下一步就是要求任何一个普通用户帐户必须设置一个口令,而且该口令不应当很容易被猜出来,比如用用户的生日,用户的名字,或是一个 词典中能查到的单词。
2.安装防火墙
一个防火墙让你可以对进出服务器的数据包进行过滤,确保只有那些符合预先制定好规则的数据才可以被允许正常出入。在Linux下有许多优秀的防火墙可用,而且防火墙的代码甚 至可以直接被编译到核心里。使用ipchains或iptables命令,以定义数据包的输入,输出以及转发规则作为开始,限定数据包如何进出网络。规则可以基于IP地址,网络接口,端 口,协议或者上述这些的组合;这些规则同时也定义了当遇到相符情况时,应当采取什么行动(接受,拒绝,转发)。一旦规则安装完毕,广泛测试一下防火墙,以确保没有任何 漏洞遗存其中。一个好的防火墙是你防范常见攻击(比如DDoS分散式拒绝服务攻击,DDoS是distributed denial of service的简称)的第一道防线。
3.为网络事务使用OpenSSH
在客户-服务器架构中,重要的一点就是保证通过网络传输数据的安全性。如果网络传输采取的是纯文本,很可能会被黑客“嗅探”到该数据包,从而获得敏感信息。你可以通过使 用类似OpenSSH这样的安全工具,从而为你的数据构建一条安全的加密“信道”,从而堵住这个漏洞。在这种情况下,加密你的链接可以让未授权用户试图读取往来于网络主机之间 的数据变得极为困难。
4.关闭不需要的服务
绝大多数的Linix系统安装完毕后,都开启了一系列的多种不同服务,比如FTP,telnet,UUCP,ntalk等等。在绝大多数情况下,这些服务很少用到,而保留这些服务为活动状态, 无异于打开你的窗户等着小偷进来。你可以通过在/etc/inetd.conf或/etc/xinetd.conf文件中把他们注释掉,然后重起inetd或xinetd daemon的方法禁止这些服务。另外,一些服 务(比如,数据库服务器)可能会在默认的启动进程中开启;你可以通过编辑/etc/rc.d/*目录层次禁止它们。许多有经验的管理员禁止所有的系统服务,仅保留SSH通讯端口开启 。
5.使用垃圾邮件和反病毒过滤器
垃圾邮件合并都会使你的用户很苦恼,并且有时候会导致严重的网络故障。Linux对病毒的抵抗能力令人惊讶,但是运行着Windows系统的客户机可就容易感染得多。因此,在你的 邮件服务器上安装一个反垃圾邮件和反病毒的过滤器是很好的一个主意,以便直接拔掉可疑邮件的“毒牙”,并降低造成系列传染的风险。
通过安装SpamAssassin,一个居于领先地位的开源工具,使用了不同技术的组合以确认和标记垃圾邮件;该程序同样也支持基于用户的白名单和更具精确性的灰名单。下一步,安 装Procmail,进行基于特定表达式的用户层过滤;这个工具允许在用户和系统级别上对收到的信件进行自动过滤。最后,安装Clam Anti-Virus,一个免费的反病毒工具,可以和 sendmail以及SpamAssassin相集成,并支持对邮件附件的读取扫描。
6.安装一个入侵检测系统
入侵检测系统(IDS,Intrusion detection systems)是早期预警系统,可以让你了解网络上发生了改变。这是一个识别(和证明)对系统的侵入企图的好方法,虽然其资源消耗 成本不断增加。有两种相当为人熟知的IDS你可以考虑尝试:tripwire,通过跟踪文件的签名来发现改动;以及snort,使用基于规则的指令来执行实时数据包分析,并搜索和鉴别 对你系统进行探测和入侵的企图。两者都可以生成Email警报(在其他行为之中),在你怀疑系统遭受入侵但还需要权威性证明的情况下非常有用。
7.执行正式的安全审核
说到保证网络安全,最后的这一步可能是最重要的一步。在先前的步骤中尽力竖起了你的防御系统。再做到这一步,可以让你立即获得对于系统牢固性的一个客观评价,并找出那 些应当修正的潜在漏洞。
在这个审核中,有很多工具可用于帮助你:你可以通过使用类似Crack和John the Ripper这样的口令破解器来试图攻击你的口令文件;你可以使用nmap或者netstat来查找开放的端 口;你可以使用tcpdump来对网络进行嗅探;并且你也可以试图对已经安装的程序(WEB服务器,防火墙,Samba)进行常见漏洞攻击,看看他们是否的确存在着薄弱之处。如果你的 确找到了通过这些防御措施的方法,可想而知别人也可以这么做;立刻采取措施封堵漏洞。
保护你的Linux系统是一个不断进行的工作,所以你不能仅仅因为做好了上面这些步骤就以为可以放松休息了。你应该去了解更多的安全技巧,并在第一时间监控和更新你的安全系 统。
(责任编辑:陈毅东)
如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。
现场直击|2021世界人工智能大会
直击5G创新地带,就在2021MWC上海
5G已至 转型当时——服务提供商如何把握转型的绝佳时机
寻找自己的Flag
华为开发者大会2020(Cloud)- 科技行者