无论你是Linux的普通桌面用户还是管理多个服务器的系统管理员,你都面临着同样的问题:日益增加的各种威胁。Linux是一个开放式系统,可以在网络上找到许多现成的程序和工具,这既方便了用户,也方便了黑客,因为他们也能很容易地找到程序和工具来潜入Linux系统,或者盗取Linux系统上的重要信息。不过,只要我们仔细地设定Linux的各种系统功能,并且加上必要的安全措施,就能让黑客们无机可乘。

  一般来说,对Linux系统的安全设定包括取消不必要的服务、限制远程存取、隐藏重要资料、修补安全漏洞、采用安全工具以及经常性的安全检查等。本文教你十种提高Linux系统安全性的招数。虽然招数不大,但招招奏效,你不妨一试。

  1.部署防火墙

  这听起来像一条最“明显”的建议(就像使用健壮密码一样),但令人惊奇地是,很少有人真正去设置防火墙。即使你使用的路由器可能内置了防火墙,但是在Linux系统中部署一个软件防火墙是一件非常轻松的事情,你能够从中受益匪浅。

  图形防火墙,例如最近比较流行的Firestarter,非常适合定义口转发和监测活动规则。

  2.禁用不必要的网络

  般来说,除了http、smtp、telnet和ftp之外,其他服务都应该取消,诸如简单文件传输协议tftp、网络邮件存储及接收所用的imap/ipop传输协议、寻找和搜索资料用的gopher以及用于时间同步的daytime和time等。

  还有一些报告系统状态的服务,如finger、efinger、systat和netstat等,虽然对系统查错和寻找用户非常有用,但也给黑客提供了方便之门。例如,黑客可以利用finger服务查找用户的电话、使用目录以及其他重要信息。因此,很多Linux系统将这些服务全部取消或部分取消,以增强系统的安全性。

  3.使用更加安全的传输替代方式

  SSH是安全套接层的简称,它是可以安全地用来取代rlogin、rsh和rcp等公用程序的一套程序组。SSH采用公开密钥技术对网络上两台主机之间的通信信息加密,并且用其密钥充当身份验证的工具。

  由于SSH将网络上的信息加密,因此它可以用来安全地登录到远程主机上,并且在两台主机之间安全地传送信息。实际上,SSH不仅可以保障Linux主机之间的安全通信,Windows用户也可以通过SSH安全地连接到Linux服务器上。

  4.取消非root访问

  开始你可能对此感觉有些不方便,但你应确保正常用户不能访问系统工具---即使fsck和ifconfig等几乎“无害”的功能。达到这一效果的最好方法是使用sudo,Sudo程序允许一般用户经过组态设定后,以用户自己的密码再登录一次,取得超级用户的权限,但只能执行有限的几个指令。例如,应用sudo后,可以让管理磁带备份的管理人员每天按时登录到系统中,取得超级用户权限去执行文档备份工作,但却没有特权去作其他只有超级用户才能作的工作。Sudo不但限制了用户的权限,而且还将每次使用sudo所执行的指令记录下来,

  不管该指令的执行是成功还是失败。

  5.经常查看和拷贝日志

  网络管理人员要经常提高警惕,随时注意各种可疑状况,并且按时检查各种系统日志文件,包括一般信息日志、网络连接日志、文件传输日志以及用户登录日志等。在检查这些日志时,要注意是否有不合常理的时间记载。黑客往往会对日志进行修改已掩盖自己的痕迹,所以你要在一个非常规的地方保存一个日志的副本。最好能将日志单独房子一个远程服务器上。

  6.使用口令老化(password aging)

  口令老化一种增强的系统口令生命期认证机制,虽然它会一定程序的削弱用户使用的便利性,但是它能够确保用户的口令定期更换,这是一种非常好的安全措施。因此,如果一个帐户受到了黑客的攻击并且没有被发现,但是在下一个密码更改周期,他就不能再访问该帐号了。

  7.对root登录进行严格限制

  利用“root”身份登录不是一个好主意。安全的做法是你以普通用户的身份登录,然后利用su或sudo取得超级用户的权限,然后进行相应的工作。

  8.物理保护

  虽然大多数的攻击是依靠网络实施的,而黑客取得物理访问你的计算机的机会也非常渺茫,但这并不意味你无需设防。

  给引导程序加上密码保护,确保在你离开电脑时它总是处于锁定状态。并且你应该完全肯定没有人可以从外部设备启动你的服务器。

  9.安装最新的安全更新

  所有流行的Linux发行版除了定期发布更新外,只要遇到安全漏洞,研发人员也会很快发布相应得更新和补丁,你要做的就是经常关注有没有安全更新和补丁包发布,并及时安装。

  10.留意打开的文件

  很多Linux发行版都包含一些非常使用的小工具,lsof就是其中一个。Lsof能列出当前系统打开的所有文件。在linux环境下,任何事物都以文件的形式存在,通过文件不仅仅可以访问常规数据,还可以访问网络连接和硬件。通过lsof工具能够查看哪些进程正在使用哪些端口,它的进程ID以及是谁在运行它。如果你从中发现了一些异常,那么你肯定值得仔细检查一番。

文章如转载,请注明转载自:http://www.5iadmin.com/post/381.html