如何在DigitalOceanVPS上安装Aide
介绍
系统管理员负责安装和配置软件以支持网站,包括在 DigitalOcean VPS 上运行的网站。 不幸的是,一旦您的网站在互联网上可用,一个或多个恶意黑客可能会花费大量时间和精力试图在您的系统中找到一些漏洞,以便获得未经授权的访问并进行可能会占用您系统的更改完全下降。 在极端情况下,这些人实际上可能会尝试使用您的网站来攻击其他系统,从而使您不得不解释您的 IP 是如何被追溯为对另一个可能更安全的系统的攻击源的。
好消息是您可以使用行业最佳实践来保护您的 VPS,包括建立软件配置基线,以确保您可以检测和跟踪对您的 droplet 的所有更改。 用于监视 Unix 或 Linux 系统更改的最流行的工具之一被称为高级入侵检测环境 (AIDE),最初由 Rami Lehti 和 Pablo Virolainen 于 1999 年编写。 本文将通过描述如何有效地安装、配置和使用 Aide 来帮助您入门。
创建安全的可信基础
Unix 和 Linux 服务器,包括 DigitalOcean VPS,为安装、配置和运行支持互联网上可用网站的软件提供了一个强大的平台。 IEEE 828 配置管理标准和 itSMF ITIL v3 框架等行业标准为如何记录和维护稳定的操作系统和应用程序基线提供了备受推崇的行业指南,这对于确保这些系统的安全和可靠至关重要。
金融业监管局 (Finra)、货币监理署 (OCC) 和联邦储备系统 (Fed) 等联邦监管机构要求包括大型银行、贸易公司和交易所在内的金融服务公司实施这些最佳实践。 作为系统管理员,您可以使用这些相同的程序来保护您的 DigitalOcean VPS,并使用 DevOps 最佳实践创建一个安全可信的应用程序库。 当我创建一个新的 Linux 或 Unix VPS 时,我总是从安装 Aide 或 Tripwire 之类的工具开始。
第 1 步 - 使用 yum 安装 Aide
第一步是运行如图1.0所示的命令yum install aide
,检查依赖关系,验证是否可以安装助手。
[root@myserver ~]# yum install aide
您需要输入才能继续安装。
Is this ok [y/N]: y
第 2 步 - 运行助手帮助并验证助手版本
安装完成后,您应该运行 aide --help 屏幕并验证 aide 的版本,如下所示
[root@myserver ~]# aide --help
接下来,您应该验证您正在运行的助手版本。 记下我们将在本技术说明末尾讨论的 /etc/aide.conf 的位置。 [root@myserver ~]# aide -v
Aide 0.13.1 Compiled with the following options: WITH_MMAP WITH_POSIX_ACL WITH_SELINUX WITH_XATTR WITH_LSTAT64 WITH_READDIR64 WITH_GCRYPT WITH_AUDIT CONFIG_FILE "/etc/aide.conf"
现在我们已经验证了 Aide 已安装,我们将创建我们的第一个助手数据库。
第 3 步 - 初始化急救数据库
如图所示,通过发出命令“aide init”来初始化第一个助手数据库。
[root@myserver ~]# aide --init
验证是否已创建新的助手数据库
[root@myserver ~]# cd /var/lib/aide [root@myserver aide]# ls -lt total 1488 -rw------- 1 root root 1520639 Dec 8 16:57 aide.db.new.gz
初始助手数据库 (aide.db.new.gz) 必须重命名 (aide.db.gz) 才能使助手成功工作。
第 4 步 - 使用 unix mv 命令重命名 aide 数据库,以便可以使用它
[root@myserver aide]# mv /var/lib/aide/aide.db.new.gz /var/lib/aide/aide.db.gz [root@myserver aide]# ls -lt total 1488 -rw------- 1 root root 1520639 Dec 8 16:57 aide.db.gz
接下来我们将运行辅助检查以证明没有发生任何更改。
第 5 步 - 运行第一个助手 --check 而不做任何更改
[root@myserver aide]# aide --check
接下来,我们将在 /usr/sbin 目录中创建一个文件,以测试该助手是否可以检测并报告更改。
第 6 步 - 创建一个新文件作为测试
接下来我们使用 unix touch 命令创建一个新文件,然后我们可以使用它来测试助手并验证助手检查是否检测到新创建的文件。
[root@myserver aide]# touch /usr/sbin/mytestfile.txt
第 7 步 - 运行辅助检查以检测新文件
[root@myserver 助手]# 助手 --check
一旦我们审查了助手检查检测到的更改,我们可能不希望助手再次报告它们,因为这些报告可能会很长。 实用的方法是查看更改,然后更新助手数据库,以便在下次运行助手检查时不会再次报告它们。
第 8 步 - 创建更新的助手数据库以忽略以前的更改
接下来,您将创建一个更新的助手数据库,该数据库将忽略所有先前所做的(和审查的)更改。
[root@myserver aide]# aide --update
新的助手数据库名为 aide.db.new.gz,如下图 11 所示。
[root@myserver aide]# ls -lt total 2976 -rw------- 1 root root 1520708 Dec 8 17:13 aide.db.new.gz -rw------- 1 root root 1520639 Dec 8 16:57 aide.db.gz
下一步是再次重命名 aide 数据库,以便我们使用新版本的 aide 数据库来仅报告从此时起发生的更改。
第 9 步 - 使用更新的助手数据库
保存旧的助手数据库通常是一个好主意,方法是用如图 12 所示的日期重命名它,以便您可以追溯任何更改(如有必要)。 最终,可以归档和删除旧版本的辅助数据库。 您还需要使用 unix mv 命令重命名新创建的助手数据库,以便以后可以使用它。
`[root@myserver aide]# mv aide.db.gz aide.db.gz-Dec082013` `[root@myserver aide]# mv aide.db.new.gz aide.db.gz`
虽然这些程序很简单,但它们可能会变得乏味且耗时。 必须编写脚本来更新数据库并运行助手检查报告以自动报告更改。
步骤 10。 使用 cron 和 sendmail 实现自动化
我通常会创建一个 crontab 条目来每天运行 aide --check
报告,该报告可以方便地显示在我的手持设备上。 这使得使用助手来监控你的文件系统变得更加容易和实用。
`06 01 * * 0-6 /var/log/aide/chkaide.sh`
这是一个简单的脚本示例,可以从 crontab 运行以自动化 aide check
并通过电子邮件发送报告的最后 20 行,这通常足以作为每日摘要的信息。
[root@myserver ~]# cat /var/log/aide/chaide.sh #! /bin/sh #chkaide.sh - Bob Aiello MYDATE`date +%Y-%m-%d` MYFILENAME"Aide-"$MYDATE.txt /bin/echo "Aide check !! `date`" > /tmp/$MYFILENAME /usr/sbin/aide --check > /tmp/myAide.txt /bin/cat /tmp/myAide.txt|/bin/grep -v failed >> /tmp/$MYFILENAME /bin/echo "**************************************" >> /tmp/$MYFILENAME /usr/bin/tail -20 /tmp/myAide.txt >> /tmp/$MYFILENAME /bin/echo "****************DONE******************" >> /tmp/$MYFILENAME /bin/mail -s"$MYFILENAME `date`" bob.aiello@ieee.org < /tmp/$MYFILENAME
最后的步骤
您还可以修改 /etc/aide.conf 以配置高级设置,例如包括或排除特定目录。 由于自动安装的 /etc/aide.conf 版本具有最常见的设置,因此 SysAdmins 修改此文件相对不常见。
概括
使用 DigitalOcean VPS 创建安全可靠的网站需要全面的信息安全方法,包括跟踪系统和应用程序基线的更改。 使用 Aide 是很好的第一步,它将帮助您了解对系统所做的更改,并识别由于恶意意图或人为错误而发生的未经授权的更改。 在以后的文章中,我们将描述您可以采取的其他步骤来创建安全的可信基础。 安装助手并每天使用它将帮助您开始管理您的 DigitalOcean VPS!
其他资源
[助手] (http://aide.sourceforge.net/)