如何让您的Linux操作系统更加安全:
众所周知,就安全性而言,Linux相对于Windows具有更多的优势。但是,不管选择哪一种Linux发行版本,在安装完成以后都应该进行一些必要的配置,来增强它的安全性。下面就通过几个步骤来安装一个安全的Linux操作系统。
安装和配置一个防火墙
一个配置适当的防火墙不仅是系统有效应对外部攻击的第一道防线,也是最重要的一道防线。在新系统第一次连接上Internet之前,防火墙就应该被安装并且配置好。
把防火墙配置成拒绝接收所有数据包,然后再打开允许接收的数据包,将有利于系统的安全。防火墙的具体设置方法请参见iptables使用方法。
升级所有已经安装的软件包
一个标准的Linux发行版通常会带有超过1000个以上的软件包。时刻保持所安装的所有软件处于最新状态是非常重要的。很显然,这是一个耗费时间的工作,幸运的是现在已经有很多工具可以自动完成这一工作。其中两个最常用的工具是APT(Advanced Package Tool)和Yum(Yellowdog Updater,Modified)。
有些发行版可能会提供自己的升级工具,可以充分利用它们来实现软件的更新。比如,缺省情况下Red Hat和Fedora使用的是up2date;Debian使用的则是APT。
如果想安装一个自己的软件升级工具,那么笔者推荐使用APT。在任何一个搜索引擎中输入所使用发行版的名字和APT,都可以快速找到APT的RPM安装包和所需要的软件仓库位置。
一旦安装好APT,并且设置好软件仓库以后(一般在/etc/apt/sources.list或与之类似的文件中设置),就可以使用以下两个命令来进行软件的更新。以root用户运行:
#apt-get update #apt-get upgrade |
第一个命令将从指定的软件仓库下载最新的软件包信息,第二个命令将使用这些信息下载和安装系统中已经存在的软件的更新版本(如果有可用更新的话)。管理员应该定期执行命令以确保系统总是处于最新状态。
此外,从Internet下载单个文件或软件包的时候,总是使用MD5SUM来进行检查。MD5SUM可以对从网上下载的软件进行检查,以确保下载的不是被植入木马的版本。
最后,使用者还应该订阅发行版的安全邮件列表。这些邮件列表可以在出现更新软件包,或者对某些软件漏洞进行修正时及时通知使用者。
禁止所有不需要的服务
一个新安装的Linux系统在默认配置情况下,启动时会同时启动很多服务和后台程序。比如有的发行版会启动HTTP(Web服务器)、POP3/IMAP(电子邮件)监控程序、数据库服务器等。而对于大多数用户来说,这些服务实际上是不需要的,并且这些服务会成为攻击者潜在的攻击目标。所以,为了安全起见,应该查看这些服务列表,然后禁止所有不需要的服务。
在Red Hat系统中,用于配置服务器的命令行工具名为chkconfig。要列出所有已经安装的服务,可以执行以下命令:
#chkconfig -list
这时将会显示类似以下形式的内容:
iptables 0:off 1:off 2:on 3:on 4:on 5:on 6:off sshd 0:off 1:off 2:on 3:on 4:on 5:on 6:off ... ..................... squid 0:off 1:off 2:off 3:off 4:off 5:off 6:off xinetd based services: rsync:off ... ... sgi_fam: on |
在上面的列表中,0至6的数字表示系统的运行级别。
例如,为了让squid服务可以在2、3、4、5运行级别下运行,应该执行以下命令:
#chkconfig --level 2345 squid on |
如果要在3和5运行级别上关闭sshd服务,则应该执行以下命令:
#chkconfig --level 35 sshd off |
使用chkconfig命令设置的服务会在下次启动时生效,而不会对当前运行的服务有任何影响。如果要对当前的服务进行设置,在Red Hat中可以使用以下命令:
# service service_name start # service service_name stop # service service_name restart # service service_name status |
上述命令中的service_name和chkconfig --list命令中所列的名字一致。
在禁止了所有不需要的服务后,可以运行netstat --l来查看是否已经达到效果。对于仍然需要运行的服务而言,一定要确保有正确配置的防火墙。更改不需要的SUID/SGID
SUID(Set User ID)或SGID(Set Group ID)程序可以让普通用户以超过自己权限的形式执行它。一个常见的例子是passwd,它的访问权限如下:
-r-s--x--x 1 root root 18992 Jun 6 2003 /usr/bin/passwd |
#find / \( -perm -4000 -o -perm -2000 \) |
#rpm -q --whatprovides /usr/sbin/kppp |
#rpm -e package-name |
相关视频
相关阅读 Linux测试网速命令是什么 Linux命令行测试网速教程和Win8一模一样!超华丽Linux仿Win8主题下载XP停止服务我用它 和XP一模一样的Linux系统详细体验Linux启动菜单修改教程教你一招:解决linux下arp攻击的方法gcov-dump原理分析_Linux平台代码覆盖率测试Linux配置DHCP服务器实例:linux配置教程Linux与微软的战争 依旧硝烟弥漫
热门文章 Cygwin安装教程(图文)CentOS安装教程(CentOLinux系统安装Vmware图
最新文章
Linux测试网速命令是什Cygwin安装教程(图文)
CentOS安装教程(CentOS 6.4图文安装)Linux系统安装Vmware图文教程Stingray Traffic Manager配置教程ubuntu u盘安装图解
人气排行 Linux系统安装Vmware图文教程Cygwin安装教程(图文)命令行Makefile和make命令讲解教程关于linux vim命令 总结CentOS安装教程(CentOS 6.4图文安装)用vnc实现windows远程连接linux桌面 vnc安装Linux系统下应用软件安装教程教你手工卸载ubuntu下的vmware系列软件
查看所有0条评论>>