科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航



ZDNet>服务器频道>ZD评测>安装Linux应该做好十项准备

安装Linux应该做好十项准备

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

无论你选择的是哪个Linux版本,在让你的操作系统能够投入日常使用之前,你至少需要做一下十件事。

来源: 2006年01月13日

关键字:Linux Linux

1.安装最新的补丁
目前有超过200个不同的Linux版本,你需要针对你的版本安装补丁程序。在相关版本的维护网站上(比如Debian;Redhat;Lindows)寻找你所 需要的补丁。其他的一些资源,包括Freshmeat、Ibiblio和Linuxberg也提供升级。一些系统使用package managers(包管理器),比如rpm (Red Hat的package manager)或者deb (Debian Package Manager),其他一些系统需要更多的工作。这些链接可以提供软件升级以及相当清 晰的安装指导。在升级前一定要认真阅读这些文件,因为其中会说明升级所需要的条件。

2.创建并配置用户帐户
即使你是这个系统中唯一的用户,你仍然需要创建一个用户帐户供日常使用。根用户,或者是超级用户仅仅在十分需要的时候才会使用。这种 做法提高了系统安全性,并且降低了偶尔系统被感染,导致整个系统不稳定。
绝大部分的Linux版本都有一个管理工具,你可以使用它来创建并配置用户帐户。这是最好的方法,因为降低了排字或者其他错误造成问题的几 率。如果你有多个用户,首先配置默认帐户可以简化创建帐户的工作。
你应该要求所有的用户都要使用安全密码,至少包含8个字符,并包含各类字符。不要用单词作为密码,因为这种做法降低了潜在黑客攻击的难 度。选择遮蔽密码,系统就不会以明码的方式保存密码。任何daemon或者不需要shell访问的服务帐户都应该被调整,你应该使用chsh命令来修 改它在/bin/false中的shell分配。这可以防止黑客使用默认系统帐户登录机器。

你应该确保除了根用户之外,没有任何其他用户使用零ID,你应该通过不允许.rhost or /etc/host.equiv文件的方式,禁止不使用密码进行远 程登录。

3.保护根用户访问
保护根用户,也就是超级用户,通常是你能够采取的、最重要的系统防护手段。在确认你有另一个帐户可以登录系统之后,最好是禁用根用户 登录功能。这样,你可以使用标准用户登录,当你需要根用户的管理能力时,可以通过su命令暂时的使用它。在很多版本中,通过编 辑/etc/security文件,可以禁止直接通过根用户登录系统,所以在每行的开始都有#。你可以采取以下步骤:
  • 确保没有安装远程登录服务器,这样远程登录就不可用。
  • 通过编辑/etc/ssh/sshd_config文件禁止损失登录。例如,在Red Hat系统中你应该修改DenyUsers行来阅读DenyUsers根。
  • 将根用户搜索路径限定在那些实现管理功能需要使用的目录上。检查根用户的.cshrc, .login和.profile文件来确认当前的目录(.)不是搜 索路径的一部分。
  • 确保文件保护是由根用户创建的。把根用户的umask设置为077(仅允许根用户进行读、写和执行操作)或者设置成022(其他用户可以读、 执行,但是不能修改)。

    4.保护物理接入
    在Setup中,设置一个BIOS密码,并设置你的系统只从硬盘启动。这将阻止攻击者在获得物理接入后,通过加载一个启动盘,就能够重新启动系 统,从而非常容易地获得根用户身份进行登录。当然他们仍然可以清除CMOS等方法达到目的,但是这样的可能性就小得多。

    5.清除并且/或者禁用不必要的系统服务
    图形模式的命令ls –l /etc/rc.d/rc3.d/S* 或者ls –l /etc/rc.d/rc5.d/S*将显示出启动脚本。你可以仅仅挑选出必要的服务,并使用 chkconfig命令,在启动过程中停止某项服务。例如:/sbin/chkconfig –levels 2345 off
    其中是不应该运行的服务,2345指的是命令应用的run-levels(运行层):
    一些版本可能会要求从/etc/xinetdor /etc/xinetd.conf中清除服务。在/etc/xinetd.confcan服务列表中的服务,可以通过在加载行开始添加 #符号的方式禁用。

  • 6.控制网络接入
    绝大部分的版本中都自动包含了TCP wrappers,它能够基于IP地址和主机名控制服务。编辑/etc/hosts.allow,设置为read ALL: LOCAL,允许 本地登录。编辑edit /etc/hosts.deny,设置为read ALL: ALL,拒绝远程连接。如果你需要使用某些远程连接,就应该列出所使用的特殊端口 。
    IPTABLES规定允许数据包从哪些端口访问系统。在一些版本中,包括RedHat,会自动地根据系统安装过程中所需要的服务来进行配置。请仔细 参考你的版本的文件,确保这一重要的“防火墙”被打开了。
    如果你必须使用FTP,就必须尽可能的保障安全。在配置FTP时可以参看CERT Tech Tips。

    7.配置审查和系统文件
    日志文件是你解决任何问题的最重要的工具。Syslog是控制Linux日志文件的后台程序,/etc/syslog.conf是它的配置文件。所有的日志文件都 应该归属于根用户。
    新一代的日志后台管理程序,具有更强大的功能,因此让管理工作变得更加简单。在FreshmeatSyslog-ng可以察看它的功能。
    Logwatch 或者Swatch都很有名,尝试使用它们来自动监视日志文件,并且对可能出现的问题发出警告。

    8.设置文件安全
    只有根用户才能够访问CRON。否则,任何能够访问系统的人都能够策划一次、在任何时候发动的破坏活动。/etc/fstab, /etc/passwd, /etc/group, /etc/shadow应该属于根用户。这些文件的读写校验许可是644,只有/etc/shadow不同,它是400。

    9.为灾难恢复做好准备
    为你新配置的系统创建一个boot disk。绝大部分的版本中都包含一个名为Mkbootdisk的功能,该功能可以非常容易地完成这一工作。
    你应该制订计划,定期对重要数据进行备份。你可以使用下面的命令来为特定目录列表创建一个tarball:
    tar -cvf archive-name.tar dir1 dir2 dir3...
    archive_name.tar是你所创建的tarball名dir1, dir2等等是拷贝的目录。
    如果想创建更复杂备份,你可以在“HowTo”中找到相关指导,完成完美安装之后为系统制作镜像,可以获得很强的容错能力。

    10.系统维护计划
    加入一些邮件列表,它们会通知你所使用的Linux版本的升级。版本维护者通常有一个邮件列表,以便在有新的稳定版本或者重大补丁发布的时 候通知用户。

    一些站点会提醒你目前潜在的安全问题,主要包括:

  • LinuxSecurity
  • SANS
  • CERT
  • Linux Today
  • Security Focus
    查看本文的国际来源(责任编辑:王叶
  • 邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅ZDNet技术邮件将是您的最佳途径之一。