加强 Linux 桌面安全

GNU/Linux 桌面安全简介

尽管 GNU/Linux® 拥有比 Windows® 安全得多的操作系统的声誉,但您仍需要保护 Linux 桌面。本文将详细介绍如何安装反病毒软件,创建备份和还原计划,以及使用防火墙,帮助您加强 Linux 桌面对大多数攻击的防御,并防止对您的计算机的未授权访问。

Jeffrey Orloff, IT/安全主管, SafeWave, LLC

Jeffrey Orloff 是 SafeWave, LLC 的 IT 和安全主管。他还是 School District of Palm Beach County 的 Department of Alternative Education/DJJ 的技术协调员。



2014 年 5 月 05 日

简介

对计算机的恶意攻击与日俱增。尽管编写的用于攻击 GNU/Linux 系统的病毒比 Windows 系统少得多,但 GNU/Linux 病毒确实存在。此外,可感染运行 Linux 的计算机的其他类型的恶意软件的数量(以及纯攻击数量)也在不断增长。最近 Wirenet.1 攻击了运行 Linux 和 Mac OS X 的计算机。该恶意软件盗窃了存储在计算机上的 Internet 浏览器、电子邮件客户端和即时消息工具中的密码和其他信息。

关于安全性的流言是如何流传的

在恶意攻击者的焦点是恶作剧时,Windows 系统是主要的目标,因为该系统容易使用,而且许多无经验的用户都购买它们。一些攻击的动机是为 Microsoft 带来负面形象,Microsoft 被认为是不支持开源社区的公司。这些攻击在计算领域中助长了 Windows 安全性很脆弱的流言。

独立于平台的环境(比如 OpenOffice.org、Perl 和 Firefox)也未能幸免于难。举例而言,我们在运行 Windows、Mac OS X 和 Linux 的机器上都发现了 Dropper.MsPMs — 一个恶意的 Java 归档 (JAR) 文件。

一些恶意的包是专为 GNU/Linux 编写的。rootkit 是一个允许攻击者获得计算机上的 root(管理员)帐户访问权限的工具集合,它是和特洛伊密码一样的恶意软件系列中的一部分。这些恶意软件包具有不同的名称,比如 tOrn 和 ARK。


防御恶意软件

许多因素决定了系统的安全程度,但最重要的是系统的配置方式。本文将介绍 GNU/Linux 桌面的配置。通过执行一些步骤来正确配置您的计算机系统,从而保障计算机的安全。首先从反病毒保护开始。

安装反病毒保护软件:ClamAV

ClamAV 是一个开源 (GPL) 反病毒引擎,其设计目标是检测特洛伊木马、病毒、恶意软件和其他恶意威胁。安装它时,您可以指定希望手动运行该程序,还是通过将它连接到后台进程让它持续运行。对于桌面,以后台进程形式运行该程序最为理想,因为在这种状况下您仍然可以选择执行手动扫描。

要将 ClamAV 安装为持续运行的后台进程,可执行以下步骤:

  1. 打开计算机并登录。
  2. 在菜单栏中,单击 Applications > Accessories > Terminal
  3. 在启动终端后,输入以下命令:
    sudo apt-get install clamav-daemon
  4. 在系统提示您时,输入您的密码。

    这么做会安装一个名为 clamav-freshclam 的包,它是 ClamAV 应用程序的更新程序包。

  5. 您现在会看到一条消息,提醒您安装该软件时需要使用多大的磁盘空间。在提示符上输入 Y 来开始安装。

    安装流程只需两分钟的时间。完成安装后,您将看到一个警报,指出您的病毒数据库是 x 天以前的,您应该使用以下的一系列步骤来更新它。

  6. 在提示符下,运行命令 sudo freshclam

运行 freshclam 会将病毒定义更新为最新版本。保持定义最新非常重要,因为这是 ClamAV 识别恶意软件的方式。

病毒定义 是恶意软件程序所独有的代码模式。反病毒扫描器将您文件的内容与病毒定义数据库中的代码模式进行比较。如果找到匹配值,该程序会提醒您计算机上有一个受感染的文件,并阻止该文件中的代码执行。

如果恶意软件的某个特定部分的定义未在您的病毒定义数据库中,那么反病毒扫描器无法知道它就是恶意代码,因此会让它继续运行,并承受执行它所带来的损害。定期更新您的定义,以提供最全面的保护。

启动 ClamAV

ClamTk:您的反病毒应用程序的 GUI

如果不喜欢从终端工作,那么可以选择为 ClamAV 安装一个名为 ClamTk 的 GUI。这个 GUI 可以使用 Ubuntu 中的 Add/Remove Applications 工具轻松安装。完成安装之后,单击 Applications > System Tools > Virus Scanner 运行它。

在更新病毒定义后,就可以启动 ClamAV 了。要对您的主文件夹运行手动扫描,可以转到终端提示符并输入 clamscan。完成 clamscan 命令后,您会看到一个关于扫描了多少目录和文件以及找到了有多少受感染文件的报告。

要以后台进程形式运行 ClamAV,可以转到终端提示符并输入 clamdscanclamdscan 命令创建了一个名为 ClamAV 的用户。然后,您可以将此用户添加到拥有您想要扫描的文件的组中。

通过 rkhunter 防御 rootkit

GNU/Linux 用户面对的最危险的恶意软件或许是 rootkit。Rootkit Hunter (rkhunter) 和 chkrootkit 程序会在桌面上扫描可疑的文件,攻击者可能安装这些文件来获取您计算机的控制权。

要安装 rkhunter(查找并删除 rootkit 的最优秀程序之一),可执行以下步骤:

  1. 要导航回终端,可单击 Applications > Accessories > Terminal
  2. 在终端 shell 中,输入以下命令:
    sudo aptitude install rkhunter
  3. 在收到一条告诉您该软件需要使用多少空间的消息后,输入 Y 开始安装。

rkhunter 安装后,您可运行它来检查桌面中的攻击破坏。转到终端提示符并输入 sudo rkhunter --check

如果 rkhunter 正确运行,您会看到一个在旁边包含词汇 OKWarning 的目录列表。启动后,rkhunter 会执行多种类型的扫描。一次扫描完成后,按下 Enter 键开始下一次扫描。扫描类型包括:

  • 目录
  • 桌面上的攻击破坏
  • 常用于后门访问的端口
  • 启动文件、组和帐户、系统配置文件和文件系统
  • 应用程序

所有扫描都完成后,rkhunter 将为您提供一份报告,并使用结果创建一个日志文件。

和 ClamAV 一样,您需要定期更新 rkhunter,以便它可以检测最新的漏洞和攻击破坏:

  1. 从终端输入 sudo rkhunter --update
  2. 在系统提示您时输入您的密码。

使用 Tiger 扫描您的系统

在安全性方面,建立基准是您可做的最重要的事情之一。从这里,您可以确定是否有任何内容被篡改,因为篡改会修改基准内容。如果安装一个 Office 办公套件,您也会修改基准,但您已经能批准进行此添加。如果在您的机器上安装了一个恶意软件,对基准的检查也会发现这个恶意软件。

大多数人都不了解如何手动创建其计算机配置的基准。但是,一个名为 Tiger 的程序会审核计算机系统,查看是否修改了任何内容。如果内容被修改,该软件会提供一个错误代码。

要将 Tiger 安装在 Ubuntu 桌面上,请先打开终端。从这里运行以下命令:

 sudo aptitude -y install tiger

该命令将 Tiger 软件放在您的机器上。现在,您需要运行它。

在终端仍处于打开状态的情况下,运行 sudo tiger 来创建一个安全问题报告,将该报告保存到 /var/log/tiger 中。该文件的名称常常包含计算机的主机名,后跟日期和时间,例如 security.report.hostname.121220-8:46。该文件的名称会在报告完成时提供给您。

要查看报告,可运行 sudo gedit 并包含 /var/log/tiger 和文件名。使用此示例,该命令为:

 sudo gedit /var/log/tiger/security.report.hostname.121220-8:46

该报告随后会提供它找到的问题的错误代码。您可以在线查找每个错误代码的含义(参见 参考资料)。


使用防火墙

您应采取的下一个预防性步骤是使用内置于操作系统中的防火墙。在默认情况下,Ubuntu 会在每个发行版上运行 iptables 作为防火墙。在安装防火墙之后,该防火墙的默认设置会允许所有传入和传出的流量。要有效地使用防火墙,您需要创建规则来锁定桌面。

您可以通过终端配置 iptables 来编写防火墙规则,也可以使用一个称为 Gufw 的 GUI,基于 Ubuntu 随带的 Uncomplicated Firewall (UFW) 程序来编写防火墙规则。

打开终端并运行以下命令来安装 Gufw:

 sudo apt-get install gufw

完成安装后,您可以从 System > Administration > Firewall 访问它。打开并启用 Gufw,默认情况下它处于禁用状态。在标题 Actual Status 下,单击 Enabled 复选框来打开它。这么做会将所有传入流量都设置为 Deny。然后单击 Add,依据您想要 UFW 如何处理某些类型的流量,基于 4 个可用选项来创建规则:

  • Allow。系统允许从一个端口进入的流量。
  • Deny。系统拒绝进入一个端口的流量。
  • Reject。系统拒绝进入一个端口的流量,并传达其流量被拒绝的连接系统的请求。
  • Limit。如果某个 IP 地址尝试在过去 30 秒内发起 6 个或更多的连接,系统会拒绝这些连接。

单击 Add 时,会出现一个包含 3 个选项卡的窗口:PreconfiguredSimpleAdvancedPreconfigured 选项卡是创建规则的最轻松方式,因为您可以从一个下拉列表中选择您希望允许或拒绝的流量

使用 Simple 选项卡,您可以告诉 UFW 您希望允许还是拒绝某些流量,然后选择协议/服务和端口号。

您可以使用 Advanced 选项卡进一步调优规则。


备份和还原桌面文件

保护 GNU/Linux 桌面的另一个步骤涉及到建立一个备份和恢复流程。

在过去,您需要在大多数 Linux 发行版中安装备份和恢复软件。但是,拥有一个合理的灾难恢复解决方案的需求已促使许多发行版在安装中包含备份和恢复软件。Ubuntu 依赖于 Duplicity,该程序使用了 rsync。为了让事情变得更简单,Ubuntu 随带了 Deja Dup,这是 Duplicity 的图形前端。

要开始使用 Deja Dup,可单击齿轮图标中的 System Settings。在 System Settings 窗口中,单击 Backup

在打开自动备份之前,单击 Storage 设置备份位置。您可以使用 Ubuntu One(一个云存储选项),通过 FTP 将您的备份发送到另一个服务器,保存到本地文件夹,或者设置一个自定义位置。确定备份文件的最佳位置后,单击 Folders 选择想要备份的内容。这里有两个选项:Folders to back upFolders to ignore。可从每一栏添加或删除任何文件夹。

现在,单击 Schedule,告诉 Deja Dup 运行备份的频率和它们的保留时间。您可以选择每日、每周、双周或每月备份一次,这些备份可存储至少一周到至少一年,甚至是永久存储。

现在,返回到 Overview 并将 Automatic backups 滑动到 On。这就是该软件的全部操作。如果需要还原文件,可单击 Restore,Deja Dup 会询问您希望从何处、哪个日期还原,以及您希望将文件还原到哪个位置。通过时常还原文件来确保您的备份正常工作,这是一个不错的想法。


安装更新

许多对计算机的攻击,都是在恶意的攻击者在操作系统软件或另一个软件中找到漏洞时发起的。安全专家会查找这些漏洞,创建软件补丁和更新来修补它们。

请保持您的软件最新。大部分操作系统都有一个内置的功能来通知您更新何时可用,许多 GNU/Linux 发行版都包含这种类型的功能。单击桌面菜单栏上的齿轮图标,然后单击 Software Up to Date 启动 Update Manager。Update Manager 通常会在更新可用时自行打开。

在 Update Manager 窗口中,您可以单击 Install Updates。您也可以单击 Settings 来选择更新频率和想要更新的软件。只要 Important security updates 复选框已被选中并且 When there are security updates 选项被设置为 Download and install automatically,默认选项就应该足够用了。


通过密码保护引导加载程序

使用 GNU/Linux 时,您可以引导计算机来更改 root 密码,无需输入一个密码。这种方法被称为单用户模式。要通过密码保护此功能,您有两个引导加载程序选项:GRUB 和 LILO。如果使用 GRUB,那么您可以加密密码,让信息更加安全。LILO 的用户没有此选项。如果使用 GRUB,那么请执行以下步骤:

  1. 启动终端。
  2. 在提示符下输入 grub
  3. 为了确保不会将要创建的密码存储为明文,可输入 md5crypt
  4. 在提示符下,输入您想用于单用户模式的密码。然后您会获得一个加密的密码版本。不要关闭这个终端窗口 — 后续步骤中需要使用这个加密的密码。

现在,您需要编辑 GRUB 配置文件。当然,首先要备份它:

  1. 输入以下命令:
    sudo cp /boot/grub/menu.lst /boot/grub/menu.lst-backup
  2. 在系统提示您时输入您的密码。
  3. 输入以下命令:
    gedit /boot/grub/menu.lst

    这会调出 GRUB 配置文件。

  4. 找到文件中显示为 password --md5 的一行,将现有的密码替换为您之前创建的加密密码。

    清单 1 显示了在密码更改时 GRUB 配置文件应该是什么样的:

    密码更改后的 GRUB 配置文件
     # Set a timeout, in SEC seconds before
    automatically booting the default entry # (normally the first entry
    defined). timeout 3 ## hiddenmenu # Hides the menu by default (press ESC
    to see the menu) hiddenmenu # Pretty colours #color cyan/blue while/blue
    ## password ['--md5'] passwd # If used in the first section of the menu
    file, disable all interactive editing # control (menu entry editor and
    command-line) and entries protected by the # command 'lock' # e.g.
    password topsecret # password --md5 $1$jLhUO/$aW78kHK1QfV3P2b2znUoe/ #
    password topsecret # # examples # # title Windows 95/98/NT/2000

不同于 GRUB,LILO 不允许使用加密的密码。如果使用 LILO 引导加载程序,那么可以执行以下步骤:

  1. 启动终端。
  2. 在提示符下输入 edit cat /etc/lilo.conf
  3. 编辑器打开时,搜索密码部分并在其中创建新密码。

结束语

本文介绍了一些可帮助您加强 GNU/Linux 桌面的安全的工具。即使您安装了所有可用的工具来保护计算机和其中存储的数据,也应该掌握这些工具的使用。

请设定一个时间表来检查 ClamAV 和 rkhunter 的更新。每周和在安装新软件时运行这些实用程序。为您的数据设置一个备份时间表,并关注计算机安全领域的最新趋势(这一点最为重要)。新的漏洞不断被发现。您需要与时俱进,采取适当的操作来保持计算机的安全。

参考资料

学习

获得产品和技术

  • 下载 Ubuntu Desktop Edition 以学习本文中的课程。
  • 从 Ubuntu wiki 进一步了解 UFW
  • 进一步了解 Tiger,安全审核和入侵检测工具。
  • 进一步了解 ClamAV,帮助保护您的计算机免遭恶意软件危害。
  • 进一步了解 Rootkit Hunter 如何帮助保护您的计算机。
  • 从 Ubuntu wiki 进一步了解 iptables
  • 进一步了解 DuplicityDeja Dup
  • 以最适合您的方式 评估 IBM 产品:下载产品试用版,在线试用产品或在云环境中使用产品。

讨论

  • 加入 developerWorks 中文社区。查看开发人员推动的博客、论坛、组和维基,并与其他 developerWorks 用户交流。

条评论

developerWorks: 登录

标有星(*)号的字段是必填字段。


需要一个 IBM ID?
忘记 IBM ID?


忘记密码?
更改您的密码

单击提交则表示您同意developerWorks 的条款和条件。 查看条款和条件

 


在您首次登录 developerWorks 时,会为您创建一份个人概要。您的个人概要中的信息(您的姓名、国家/地区,以及公司名称)是公开显示的,而且会随着您发布的任何内容一起显示,除非您选择隐藏您的公司名称。您可以随时更新您的 IBM 帐户。

所有提交的信息确保安全。

选择您的昵称



当您初次登录到 developerWorks 时,将会为您创建一份概要信息,您需要指定一个昵称。您的昵称将和您在 developerWorks 发布的内容显示在一起。

昵称长度在 3 至 31 个字符之间。 您的昵称在 developerWorks 社区中必须是唯一的,并且出于隐私保护的原因,不能是您的电子邮件地址。

标有星(*)号的字段是必填字段。

(昵称长度在 3 至 31 个字符之间)

单击提交则表示您同意developerWorks 的条款和条件。 查看条款和条件.

 


所有提交的信息确保安全。


static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=10
Zone=Linux
ArticleID=970399
ArticleTitle=加强 Linux 桌面安全
publish-date=05052014