防篡改,Tripwire的快速安装与简洁使用

防篡改Tripwire

一、安装

1.准备(centos7的yum不带tripwire)

wget https://mirrors.ustc.edu.cn/epel/7/x86_64/Packages/e/epel-release-7-14.noarch.rpm
rpm -ivh epel-release-7-14.noarch.rpm
yum -y install tripwire

另一个方法

    cd /etc/yum.repos.d/mv CentOS-Base.repo CentOS-Base.repo.bakwget http://mirrors.aliyun.com/repo/Centos-7.repomv Centos-7.repo  CentOS-Base.repoyum clean allyum makecacheyum install tripwire  --enablerepo=epel 

2.安装

yum -y install tripwire

3.设置密钥

tripwire-setup-keyfiles

设置网站密钥和本地密钥
网站密钥:对配置和策略文件加密(可共享到其他机器)
本地密钥:对本地数据存储加密
密钥放在/etc/tripwire下

4.配置文件说明

安装完后有两个配置文件在/etc/tripwire
twcfg.txt:软件配置
twpol.txt:策略配置
twcfg.txt如下:

[root@node-251 tripwire_test]# cat /etc/tripwire/twcfg.txt
ROOT                   =/usr/sbin
POLFILE                =/etc/tripwire/tw.pol
DBFILE                 =/var/lib/tripwire/$(HOSTNAME).twd
REPORTFILE             =/var/lib/tripwire/report/$(HOSTNAME)-$(DATE).twr
SITEKEYFILE            =/etc/tripwire/site.key
LOCALKEYFILE           =/etc/tripwire/$(HOSTNAME)-local.key
EDITOR                 =/bin/vi
LATEPROMPTING          =false
LOOSEDIRECTORYCHECKING =true
MAILNOVIOLATIONS       =true
EMAILREPORTLEVEL       =3
REPORTLEVEL            =4
MAILMETHOD             =SENDMAIL
SYSLOGREPORTING        =false
MAILPROGRAM            =/usr/sbin/sendmail -oi -t

twpol.txt如下

# Rule for Security Control
(rulename = "Security Control",规则名severity = $(SIG_HI)监测等级
)
{/etc/group                           -> $(SEC_CRIT) ;# 监测目录和监测什么/etc/security                        -> $(SEC_CRIT) ;
}
监测参数说明如下
@@section FS
SEC_CRIT      = $(IgnoreNone)-SHa ;  # 无法更改的关键文件,Critical files that cannot change
SEC_SUID      = $(IgnoreNone)-SHa ;  # 设置了SUID或SGID标志的二进制文件,Binaries with the SUID or SGID flags set
SEC_BIN       = $(ReadOnly) ;        # 不应更改的二进制文件,Binaries that should not change
SEC_CONFIG    = $(Dynamic) ;         # 配置不经常更改但经常访问的文件,Config files that are changed infrequently but accessed often
SEC_LOG       = $(Growing) ;         # 文件不断增长,但不应更改所有权,Files that grow, but that should never change ownership
SEC_INVARIANT = +tpug ;              # 不应更改权限或所有权的目录,Directories that should never change permission or ownership
SIG_LOW       = 33 ;                 # 安全影响最小的非关键文件,Non-critical files that are of minimal security impact
SIG_MED       = 66 ;                 # 具有重大安全影响的非关键文件,Non-critical files that are of significant security impact
SIG_HI        = 100 ;                # 作为重要漏洞点的关键文件,Critical files that are significant points of vulnerability监测参数中参数的说明如下A number of variables are predefined by Tripwire and may not be changed.  These variables represent different ways that filescan change, and can be used on the right side of rules to design a policy file quickly.
Tripwire预定义了许多变量,这些变量可能不会更改。这些变量表示文件
可以更改,并且可以在规则的右侧使用,以便快速设计策略文件。ReadOnly       ReadOnly is good for files that are widely available but are intended to be read-only.ReadOnly适用于广泛可用但只读的文件。Value: +pinugtsdbmCM‐rlacSHDynamic        Dynamic is good for monitoring user directories and files that tend to be dynamic in behavior.Dynamic有利于监视用户目录和文件,这些目录和文件的行为往往是动态的。Value: +pinugtd‐srlbamcCMSHGrowing        The Growing variable is intended for files that should only get larger.Growing变量适用于只会变得更大的文件。Value: +pinugtdl‐srbamcCMSHDevice         Device is good for devices or other files that Tripwire should not attempt to open.设备适用于Tripwire不应尝试打开的设备或其他文件。Value: +pugsdr‐intlbamcCMSHIgnoreAll      IgnoreAll tracks a file's presence or absence, but doesn't check any other properties.IgnoreAll跟踪文件的存在或不存在,但不检查任何其他属性。Value: ‐pinugtsdrlbamcCMSHIgnoreNone     IgnoreNone turns on all properties and provides a convenient starting point for defining your own propertyIgnoreNone打开所有属性,并为定义自己的属性提供了一个方便的起点masks.  (For example, mymask = $(IgnoreNone) -ar;)Value: +pinugtsdrbamcCMSH‐l

二、使用

1.初始化

tripwire --init

第一次执行init一般都会报错,那是因为策略配置中的一些文件并不存在,所以我们需要执行一个脚本

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

把报错目录放入txt,再执行脚本进行注释

touch init.sh
vim init.sh

写入以下内容:

#!/bin/bash
for f in $(grep "Filename:" no-directory.txt | cut -f2 -d:); do
sed -i "s|\($f\) |#\\1|g" /etc/tripwire/twpol.txt
done

执行这个脚本:

bash init.sh

处理完报错目录后,需要重新加密配置文件

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

再初始化数据库。其实就是对本地文件进行快照

tripwire --init

2.测试

tripwire --check

3.监测项目

在twpol.txt中加入配置即可,以下为示例说明

# Rule for Security Control
(rulename = "Security Control",#规则名severity = $(SIG_HI)#监测等级
)
{/etc/group                           -> $(SEC_CRIT) ;#监测目录和监测什么/etc/security                        -> $(SEC_CRIT) ;
}

4.电子邮件通知
测试邮箱是否接收信息

tripwire --test --email xxxx@163.com

在twpol.txt文件策略中加入以下示例

# Ruleset for lnmp
(rulename = "lnmp Data", severity= $(SIG_HI),emailto = xxxx@163.com){/mnt/www        -> $(SEC_CRIT);}

重新加密策略文件和初始化数据库

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

检查系统并发送邮件

tripwire --check --email-report

测试没问题便设置定时任务

cd ~/
crontab -e -u root
0 0 * * * tripwire --check --email-report
重启下定时任务
systemctl restart crond

如果以上方法不起作用,可以用另一个方法:使用sh文件

touch check.sh
vim check.sh#!/bin/bash
export PATH="/usr/sbin:$PATH"
tripwire --check --email-reportcrontab -e
0 0 * * * bash /root/check.sh
每天十二点执行
*/2表示每2执行一次
systemctl restart crond

三、常用命令

初始化数据库

tripwire –-init

测试

tripwire –-check

加密配置文件

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

更新数据库

tripwire --update

检查系统并发送邮件

tripwire --check --email-report

测试邮箱是否可用

tripwire --test --email xxxx@163.com

查看报告

twprint -m r --twrfile xxx

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/183377.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

面向对象的四大特性:封装、抽象、继承、多态

封装(Encapsulation) 封装也叫作信息隐藏或者数据访问保护。类通过暴露有限的访问接口,授权外部仅能通过类提供的方式来访问内部信息或者数据。它需要编程语言提供权限访问控制语法来支持,例如 Java 中的 private、protected、pu…

Linux基础项目开发1:量产工具——输入系统(三)

前言: 前面我们已经实现了显示系统,现在我们来实现输入系统,与显示系统类似,下面让我们一起来对输入系统进行学习搭建吧 目录 一、数据结构抽象 1. 数据本身 2. 设备本身: 3. input_manager.h 二、触摸屏编程 to…

Mysq8l在Centos上安装后忘记root密码如何重新设置

场景 Mysql8在Windows上离线安装时忘记root密码: Mysql8在Windows上离线安装时忘记root密码-CSDN博客 如果是在Windows上忘记密码可以参考上面。 如果在Centos中安装mysql可以参考下面。 CentOS7中安装Mysql8并配置远程连接和修改密码等: CentOS7中…

BEVFormer【人工智能】

BEVFormer 是一篇今年中稿 ECCV 2022 的论文,其中提出了一种纯视觉(camera)感知任务的算法模型,用于实现3D目标检测和地图分割任务。该算法通过提取环视相机(Bird’s Eye View Camera)采集到的图像特征&…

阿里云Windows server2016 安装Docker

阿里云Windows server2016 安装Docker 1 软件环境介绍2 下载更新2.1 windowsR 输入sconfig2.2 下载最新版的安装包,安装并重启2.3 下载并安装更新2.4 以管理员方式运行powershell2.5 将Tls修改成二级2.6 安装NuGet服务2.7 安装docker模块2.7 安装 docker包 32.8 查看…

Reactor模式

Reactor模式有点类似事件驱动模式。在事件驱动模式中,当有事件触发时,事件源会将事件分发到Handler(处理器),由Handler负责事件处理。Reactor模式中的反应器角色类似于事件驱动 模式中的事件分发器(Dispatc…

解析Top-K问题及堆排序算法

Top-K问题是在海量数据中找到最大或最小的K个元素,它在实际应用中非常常见,例如专业前10名、世界500强、富豪榜、游戏中前100的活跃玩家等。在面对大规模数据时,直接对数据进行排序可能效率低下,因为排序的时间复杂度通常为O(n lo…

lxd提权

lxd/lxc提权 漏洞介绍 lxd是一个root进程,它可以负责执行任意用户的lxd,unix套接字写入访问操作。而且在一些情况下,lxd不会调用它的用户权限进行检查和匹配 原理可以理解为用用户创建一个容器,再用容器挂载宿主机磁盘&#xf…

ZooKeeper的分布式锁---客户端命令行测试(实操课程)

本系列是zookeeper相关的实操课程,课程测试环环相扣,请按照顺序阅读测试来学习zookeeper。阅读本文之前,请先阅读----​​​​​​zookeeper 单机伪集群搭建简单记录(实操课程系列)。 阅读本文之前,请先阅读…

在macOS上使用Homebrew安装PHP的完整指南

安装最新版本的PHP 步骤1: 安装Homebrew 在安装最新版本的PHP之前,确保你的macOS系统上已经安装了Homebrew。如果尚未安装,打开终端并运行以下命令: /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install…

线性表——(2)线性表的顺序存储及其运算的实现

归纳编程学习的感悟, 记录奋斗路上的点滴, 希望能帮到一样刻苦的你! 如有不足欢迎指正! 共同学习交流! 🌎欢迎各位→点赞 👍 收藏⭐ 留言​📝 看到美好,感受美好&a…

GDPU 数据结构 天码行空12

文章目录 数据结构实验十二 图的遍历及应用一、【实验目的】二、【实验内容】三、实验源代码🍻 CPP🍻 C 数据结构实验十二 图的遍历及应用 一、【实验目的】 1、 理解图的存储结构与基本操作; 2、熟悉图的深度度优先遍历和广度优先遍历算法…

WEB渗透—反序列化(九)

Web渗透—反序列化 课程学习分享(课程非本人制作,仅提供学习分享) 靶场下载地址:GitHub - mcc0624/php_ser_Class: php反序列化靶场课程,基于课程制作的靶场 课程地址:PHP反序列化漏洞学习_哔哩哔_…

centos7内核升级(k8s基础篇)

1.查看系统内核版本信息 uname -r 2.升级内核 2.1更新yum源仓库 yum -y update更新完成后,启用 ELRepo 仓库并安装ELRepo仓库的yum源 ELRepo 仓库是基于社区的用于企业级 Linux 仓库,提供对 RedHat Enterprise (RHEL) 和 其他基于 RHEL的 Linux 发行…

Vue.set的实现原理

给对象和数组本身都增加了dep属性当给对象新增不存在的属性则触发对象依赖的watcher去更新当修改数组索引时,我们调用数组本身的splice去更新数组(数组的响应式原理就是重新了splice等方法,调用splice就会触发视图更新) 以下方法调…

mysql的外键

MySQL 中的外键是一种关系型数据库特性,用于在两个表之间建立关联。外键定义了一个表中的列(或多列)与另一个表中的数据的关系,通常是通过主键和外键之间的关联。在 Django 的模型中,外键通过 models.ForeignKey 字段来…

企业计算机服务器中了mallox勒索病毒如何解密,mallox勒索病毒文件恢复

随着网络技术的不断发展,网络安全威胁也在不断增加,勒索病毒攻击企业计算机服务器的事件时有发生,并且勒索病毒的加密形式也越来越复杂。近期,云天数据恢复中心陆续接到很多企业的求助,企业的计算机服务器遭到了mallox…

单片机----串行通信

目录 串行通信的两种方式 串行通信的传输模式 串行通信的错误校验 1.奇偶校验 2.代码和校验 3.循环冗余码校验 串行口结构 串行口控制寄存器SCON 特殊功能寄存器PCON 串行口的4种工作方式 方式0: (1)方式0的发送过程 &#xff0…

QString

目录 1 toInt() (1)qt_strtoll() (2) qstrtoll() (3)bytearrayToLongLong() (4)toIntegral_helper 1 toInt() 下面是toInt()函数的内部实现源码 QStri…

如何使用阿里云虚拟主机和域名设置网站?

本文档将向您展示如何使用阿里云虚拟主机来设置一个新网站,并完成一个域名。如果您按照此处的步骤操作,您将启动并运行一个新网站,可以使用您选择的名称在全球范围内访问,并托管在阿里云平台上。 本文档假设您已经拥有有效的阿里…