如何在 Ubuntu 16.04 上使用 Tripwire IDS 监控和检测修改的文件如何在 Ubuntu 16.04 上使用 Tripwire IDS 监控和检测修改的文件如何在 Ubuntu 16.04 上使用 Tripwire IDS 监控和检测修改的文件如何在 Ubuntu 16.04 上使用 Tripwire IDS 监控和检测修改的文件
  • 文章
  • 正则表达式
    • 工具
  • 登录
找到的结果: {phrase} (显示: {results_count} 共: {results_count_total})
显示: {results_count} 共: {results_count_total}

加载更多搜索结果...

搜索范围
模糊匹配
搜索标题
搜索内容
发表 admin at 2025年2月28日
类别
  • 未分类
标签

如何在 Ubuntu 16.04 上使用 Tripwire IDS 监控和检测修改的文件

在此页

  1. 我们将做什么
  2. 先决条件
  3. 第 1 步 - 安装 Tripwire
  4. 第 2 步 - 为 Ubuntu 系统配置 Tripwire 策略
  5. 第 3 步 - 检查系统文件的完整性
  6. 第 4 步 - 向 Tripwire 添加新规则
  7. 第 5 步 - 设置 Tripwire 通知和 cron
  8. 参考资料

Tripwire 是一个免费的开源入侵检测系统 (IDS)。它是一种安全工具,用于监视和警告系统上的文件更改。 Tripwire 是一个强大的 IDS,可以保护您的系统免受不必要的更改。您可以监控您的系统文件,包括网站文件。因此,当正在监视的任何文件中有任何不需要的文件更改时,tripwire 将检查您的系统并提醒您(如果该设置已到位)。

在本教程中,我们将向您展示如何在 Ubuntu 16.04 上安装和配置 Tripwire Host Based IDS。我们还将向您展示如何配置 tripwire 以监视和检测系统上的修改文件。

我们将要做什么

  1. 安装 Tripwire
  2. 为 Ubuntu 系统配置 Tripwire 策略
  3. 验证 Tripwire 配置
  4. 将新规则集添加到 Tripwire 政策
  5. 设置 Tripwire 通知和 cron

先决条件

  • Ubuntu 16.04 服务器
  • 根权限

第 1 步 - 安装 Tripwire

第一步是将 tripwire 安装到系统中。该工具在官方 Ubuntu 存储库中可用 - 只需更新您的 Ubuntu 存储库并使用以下命令安装 Tripwire。

sudo apt update
sudo apt install -y tripwire

安装期间,系统会询问您有关 Postfix SMTP 配置的信息。选择 Internet 站点并单击确定以继续安装。

对于邮件系统名称,保留默认值(如下所示),然后选择确定继续。

接下来,系统会询问您有关 Tripwire 配置的信息。

为 Tripwire 创建新的站点密钥 - 选择 Yes 并按 Enter 键继续。

现在对于 local-key,选择 Yes 并再次按 Enter。

对于 Rebuild Tripwire Configuration 选项,选择 Yes。

与 Rebuild Tripwire Policy 选项相同 - 选择 Yes。

现在系统将提示您输入站点密钥密码。键入密码并选择“确定”。

重复站点密钥密码。

然后对于本地密钥密码,键入密码并选择确定。

重复本地密钥密码。

至此,Ubuntu 16.04 上的 tripwire 安装已经完成。

第 2 步 - 为 Ubuntu 系统配置 Tripwire 策略

在这一步中,我们将为我们的 Ubuntu 系统配置 Tripwire。所有与 Tripwire 相关的配置都位于 /etc/tripwire 目录中。

Tripwire 安装完成后,我们需要初始化数据库系统。为它运行以下命令。

sudo tripwire --init

系统将询问您的本地密钥密码 - 输入您的本地密钥密码并按 Enter 键。

您可能会收到错误 No such directory ,如下所示。

要解决此错误,我们需要编辑 Tripwire 配置文件并重新生成配置。

在编辑 Tripwire 配置之前,我们需要检查哪个目录不存在,您可以使用以下命令执行此操作。

sudo sh -c "tripwire --check | grep Filename > no-directory.txt"

现在您可以通过以下方式查看所有不存在的目录和文件。

cat no-directory.txt

接下来,转到 Tripwire 配置目录并编辑配置文件 twpol.txt。

cd /etc/tripwire/
vim twpol.txt

在 Boot Scripts 规则上,如下注释该行。

(
  rulename = "Boot Scripts",
  severity = $(SIG_HI)
)
{
        /etc/init.d             -> $(SEC_BIN) ;
        #/etc/rc.boot           -> $(SEC_BIN) ;
        /etc/rcS.d              -> $(SEC_BIN) ;

在 System Boot Changes 规则上,注释如下。

(
  rulename = "System boot changes",
  severity = $(SIG_HI)
)
{
        #/var/lock               -> $(SEC_CONFIG) ;
        #/var/run                -> $(SEC_CONFIG) ; # daemon PIDs
        /var/log                -> $(SEC_CONFIG) ;

在根配置文件规则上,进行以下更改。

(
  rulename = "Root config files",
  severity = 100
)
{
        /root                           -> $(SEC_CRIT) ; # Catch all additions to /root
        #/root/mail                     -> $(SEC_CONFIG) ;
        #/root/Mail                     -> $(SEC_CONFIG) ;
        #/root/.xsession-errors         -> $(SEC_CONFIG) ;
        #/root/.xauth                   -> $(SEC_CONFIG) ;
        #/root/.tcshrc                  -> $(SEC_CONFIG) ;
        #/root/.sawfish                 -> $(SEC_CONFIG) ;
        #/root/.pinerc                  -> $(SEC_CONFIG) ;
        #/root/.mc                      -> $(SEC_CONFIG) ;
        #/root/.gnome_private           -> $(SEC_CONFIG) ;
        #/root/.gnome-desktop           -> $(SEC_CONFIG) ;
        #/root/.gnome                   -> $(SEC_CONFIG) ;
        #/root/.esd_auth                        -> $(SEC_CONFIG) ;
        #/root/.elm                     -> $(SEC_CONFIG) ;
        #/root/.cshrc                   -> $(SEC_CONFIG) ;
        /root/.bashrc                   -> $(SEC_CONFIG) ;
        #/root/.bash_profile            -> $(SEC_CONFIG) ;
        #/root/.bash_logout             -> $(SEC_CONFIG) ;
        /root/.bash_history             -> $(SEC_CONFIG) ;
        #/root/.amandahosts             -> $(SEC_CONFIG) ;
        #/root/.addressbook.lu          -> $(SEC_CONFIG) ;
        #/root/.addressbook             -> $(SEC_CONFIG) ;
        #/root/.Xresources              -> $(SEC_CONFIG) ;
        #/root/.Xauthority              -> $(SEC_CONFIG) -i ; # Changes Inode number on login
        #/root/.ICEauthority                -> $(SEC_CONFIG) ;

在设备和内核信息规则中,更改如下行。

(
  rulename = "Devices & Kernel information",
  severity = $(SIG_HI),
)
{
        /dev            -> $(Device) ;
        /dev/pts        -> $(Device);
        /dev/shm        -> $(Device);
        /dev/hugepages  -> $(Device);
        /dev/mqueue     -> $(Device);
        #/proc          -> $(Device) ;
        /proc/devices           -> $(Device) ;
        /proc/net               -> $(Device) ;
        /proc/tty               -> $(Device) ;
        /proc/cpuinfo           -> $(Device) ;
        /proc/modules           -> $(Device) ;
        /proc/mounts            -> $(Device) ;
        /proc/dma               -> $(Device) ;
        /proc/filesystems       -> $(Device) ;
        /proc/interrupts        -> $(Device) ;
        /proc/ioports           -> $(Device) ;
        /proc/scsi              -> $(Device) ;
        /proc/kcore             -> $(Device) ;
        /proc/self              -> $(Device) ;
        /proc/kmsg              -> $(Device) ;
        /proc/stat              -> $(Device) ;
        /proc/loadavg           -> $(Device) ;
        /proc/uptime            -> $(Device) ;
        /proc/locks             -> $(Device) ;
        /proc/meminfo           -> $(Device) ;
        /proc/misc              -> $(Device) ;
}

就是这样。保存更改并退出编辑器。

编辑配置文件后,通过使用 twadmin 命令重新创建加密的策略文件来实施所有更改,如下所示。

sudo twadmin -m P /etc/tripwire/twpol.txt

输入站点密钥密码并按 Enter。

这样,将创建新的 Tripwire 策略。现在,重新初始化 Tripwire 数据库。

sudo tripwire --init

输入本地密钥密码并确保这次没有错误。

已为Ubuntu系统配置Tripwire Policy

第 3 步 - 检查系统文件的完整性

已安装 Tripwire,并且已更新并重新初始化 tripwire 策略。在此步骤中,我们将使用 Tripwire 手动检查系统。

使用以下命令验证所有系统文件。

sudo tripwire --check

你应该在结果/输出中得到 No Violation and No Error。

接下来,在根目录中添加一个新文件,然后再次使用 Tripwire 检查系统。

cd ~/
touch hakase-labs.txt
sudo tripwire --check

在输出中,添加文件和修改文件所在的目录应该显示为违规。

请参阅下面的结果。

第 4 步 - 将新规则添加到 Tripwire

在此步骤中,我们要向配置中添加一个新的 Tripwire 规则。要创建新的 tripwire 策略,我们需要定义规则名称、严重性和文件类型。在此步骤中,我们将尝试添加名为 WordPress Data 的新规则,严重性为 High/SIG_HI,并且该目录中的所有文件都是关键的,不能更改。

进入tripwire配置目录,编辑配置文件twpol.txt。

cd /etc/tripwire/
vim twpol.txt

转到行尾并粘贴下面的 Tripwire 规则示例。

# Ruleset for WordPress
(
  rulename = "Wordpress Ruleset",
  severity= $(SIG_HI)
)
{
        /var/www        -> $(SEC_CRIT);
}

保存并退出。

现在重新生成 tripwire 配置文件。

sudo twadmin -m P /etc/tripwire/twpol.txt

输入您的站点密钥密码。

并重新初始化 Tripwire 数据库。

sudo tripwire --init

输入您的本地密钥密码。

如果这些配置都完成了,我们可以尝试新建一个文件或者修改/var/www/目录下的文件。

进入/var/www/目录,新建一个文件,修改索引文件。

cd /var/www/
touch hakase-labs.txt
echo "<h1> Hakase-labs Tutorial</h1>" > html/index.nginx-debian.html

使用下面的 tripwire 命令检查系统。

sudo tripwire --check

您将收到有关安全级别为 100 的系统违规的通知,如下所示。

添加了新的 Tripwire 规则。

第 5 步 - 设置 Tripwire 通知和 cron

在此步骤中,我们将为特定的 Tripwire 规则集策略配置通知,并配置用于自动系统检查的 cron。

对于电子邮件通知,Tripwire 在配置中提供了一个函数 emailto。 Tripwire 使用 Postfix 进行电子邮件通知,并且会在工具安装期间自动安装。

在配置电子邮件通知之前,请使用以下命令测试 Tripwire 通知。

tripwire --test --email 

并确保您有一封来自服务器的电子邮件,如下所示。

现在转到 /etc/tripwire 目录并编辑 twpol.txt 配置。

cd /etc/tripwire/
vim twpol.txt

在 WordPress 数据规则中添加新行,如下所示。

# Rules for Web-app
(
  rulename = "Wordpress Rule",
  severity = $(SIG_HI),
  emailto =
)

就是这样。保存并退出。

接下来,重新生成配置并重新初始化 Tripwire 数据库。

sudo twadmin -m P /etc/tripwire/twpol.txt
sudo tripwire --init

键入站点密钥密码以重新生成配置,键入本地密钥密码以重新初始化。

现在,在 /var/www/ 目录中再次创建一个新文件,并使用 Tripwire 手动检查系统并通过电子邮件发送报告。

sudo tripwire --check --email-report

您应该会在收件箱中收到一封电子邮件报告。

继续,对于 cron 配置,我们只需要定义 tripwire 命令运行的时间。我们将每天配置 Tripwire 系统检查。

使用下面的 crontab 命令创建新的 cron。

sudo crontab -e -u root

并在下面粘贴 cron 配置。

0 0 * * * tripwire --check --email-report

保存并退出,然后重新加载 cron。

systemctl restart cron

现在系统将每天执行检查并向您的电子邮件发送违反 WordPress 规则的通知。

已在Ubuntu 16.04上安装配置Tripwire IDS,对系统所有文件和目录进行监控。您可以按照步骤 4 中的说明添加自己的规则集。

参考

    <李>
  • https://www-uxsup.csx.cam.ac.uk/

©2015-2025 艾丽卡 support@alaica.com