本文章部分内容参考 www.centospub.com   
大家好,昨天我们安装完tripwire以后,今天我们来讲讲它的使用。一个工具,如果只会安装,不会使用,那么,这个工具就失去了它的意义。好了,废话不多说,接着我们昨天的讲。
1、学习tripwire的配置文件
先拷贝man文件,这样我们就可以通过man来查看配置帮助信息。
[root@station253 man4]# cp /var/ftp/pub/tripwire-2.4.1.2-x86-bin/man/man4/tw* /usr/share/man/man4/
[root@station253 man4]# cp /var/ftp/pub/tripwire-2.4.1.2-x86-bin/man/man5/tw*  /usr/share/man/man5/
[root@station253 man4]# cp /var/ftp/pub/tripwire-2.4.1.2-x86-bin/man/man8/tw*  /usr/share/man/man8/
现在我们可以通过
[root@station253 man4]# man twconfig 4
[root@station253 man4]# man twpolicy
来查看相关帮助信息。
[root@station253 tripwire]# vim /etc/tripwire/twcfg.txt
编译文本配置文件twcfg.txt。
ROOT          =/usr/sbin
POLFILE       =/etc/tripwire/tw.pol
DBFILE        =/usr/lib/tripwire/$(HOSTNAME).twd
REPORTFILE    =/usr/lib/tripwire/report/$(HOSTNAME)-$(DATE).twr
SITEKEYFILE   =/etc/tripwire/site.key
LOCALKEYFILE  =/etc/tripwire/station253.linux.com-local.key
EDITOR        =/bin/vi
LATEPROMPTING =false
LOOSEDIRECTORYCHECKING =trun   <-这行改成trun,不检测所有目录的文件完整性,应为我们系统中有些临时文件是随时都在改变的,如果这样监控,每次检测都会收到EMail,毫无意义。
MAILNOVIOLATIONS =true
EMAILREPORTLEVEL =3
REPORTLEVEL   =4          <-改变检测的报告等级,增加报告的重要性。
MAILMETHOD    =SENDMAIL
SYSLOGREPORTING =false
MAILPROGRAM   =/usr/sbin/sendmail -oi -t
其他配置选项的定义都可以再man中找到,我的E文也差,就不在此乱翻译了。
修改以后保存退出。
为了安全,我把明文的配置文件加密。使用如下命令
[root@station253 man4]# twadmin --create-cfgfile -S /etc/tripwire/site.key  /etc/tripwire/twcfg.txt
Please enter your site passphrase:
Wrote configuration file: /usr/local/etc/tw.cfg
其中输入的密码是安装时候你设置的密码。
如果你想把加密的配置文件转换成明文的配置文件使用如下命令
[root@station253 man4]# twadmin --print-cfgfile
由于程序运行读取的是加密后的配置文件,所以可以防止hack修改我们的配置文件。
2、policy文件的修改。
[root@station253 man4]# vim /etc/tripwire/twpol.txt
这个是默认的策略文件,大家可以先看看这个文件什么样子。
如果对文件里面的配置选项有疑问,可以使用
man twplicy
来查看相关的配置说明。
下面我们使用一个GPL得工具,自动修改twpol.txt文件,让它适合我们系统的配合情况。
####################################################################
[root@station253 tripwire]# cat twpolmake.pl
#!/usr/bin/perl
# Tripwire Policy File customize tool
# ----------------------------------------------------------------
# Copyright (C) 2003 Hiroaki Izumi
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License
# as published by the Free Software Foundation; either version 2
# of the License, or (at your option) any later version.
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
# ----------------------------------------------------------------
# Usage:
# perl twpolmake.pl {Pol file}
# ----------------------------------------------------------------
#
$POLFILE=$ARGV[0];
open(POL,"$POLFILE") or die "open error: $POLFILE" ;
my($myhost,$thost) ;
my($sharp,$tpath,$cond) ;
my($INRULE) = 0 ;
while (<POL>) {
chomp;
if (($thost) = /^HOSTNAME\s*=\s*(.*)\s*;/) {
$myhost = `hostname` ; chomp($myhost) ;
if ($thost ne $myhost) {
$_="HOSTNAME=\"$myhost\";" ;
}
}
elsif ( /^{/ ) {
$INRULE=1 ;
}
elsif ( /^}/ ) {
$INRULE=0 ;
}
elsif ($INRULE == 1 and ($sharp,$tpath,$cond) = /^(\s*\#?\s*)(\/\S+)\b(\s+->\s+.+)$/) {
$ret = ($sharp =~ s/\#//g) ;
if ($tpath eq '/sbin/e2fsadm' ) {
$cond =~ s/;\s+(tune2fs.*)$/; \#$1/ ;
}
if (! -s $tpath) {
$_ = "$sharp#$tpath$cond" if ($ret == 0) ;
}
else {
$_ = "$sharp$tpath$cond" ;
}
}
print "$_\n" ;
}
close(POL) ;
##################################################################
简历这个脚本后,我们来运行它。

[root@station253 tripwire]# perl /etc/tripwire/twpolmake.pl /etc/tripwire/twpol.txt > /etc/tripwire/twpol.txt.out
删除旧的配置文件,把新配置文件改名字。
[root@station253 tripwire]# rm -f twpol.txt
[root@station253 tripwire]# mv twpol.txt.out  twpol.txt
由于数据库的内容肯定是在不断变化的,所以我们要把它放在我们监控的范围外面。
编译twpol.txt
$(TWREPORT)    -> $(SEC_CONFIG) (recurse=0) ;  ← 找到这一行,在这一行的下一行添加语句(113行前后)
!$(TWDB)/$(HOSTNAME).twd ;  ← 添加这一句(不对数据库进行监测)
 
好了,策略文件配置完成,下面建立加密的策略文件。
[root@station253 tripwire]# twadmin  --create-polfile -S /etc/tripwire/site.key  /etc/tripwire/twpol.txt
Please enter your site passphrase:
Wrote policy file: /etc/tripwire/tw.pol
 
配置基本完成了,现在我们要用Tripwire为我们工作了。一般tripwire工作分为三步
 
1建立数据库
[root@station253 ~]# tripwire  --init
Please enter your local passphrase:
比较费时,耐心等待会吧。
[root@station253 ~]# tripwire  --init
Please enter your local passphrase:
Parsing policy file: /etc/tripwire/tw.pol
Generating the database...
*** Processing Unix File System ***
The object: "/misc" is on a different file system...ignoring.
The object: "/net" is on a different file system...ignoring.
The object: "/selinux" is on a different file system...ignoring.
The object: "/sys" is on a different file system...ignoring.
The object: "/var/lib/nfs/rpc_pipefs" is on a different file system...ignoring.
Wrote database file: /usr/lib/tripwire/station253.linux.com.twd
The database was successfully generated.
成功创建了。
2、完成性检查
[root@station253 report]# tripwire --check -r "/usr/lib/tripwire/report/station253.linux.com-20090827.twr" | logger -t tripwire
3、把加密的日志转换成明文查看。
twprint -m r -c /etc/tripwire/tw.cfg  -r "/usr/lib/tripwire/report/station253.linux.com-20090827.twr" -L   /etc/tripwire/station253.linux.com-local.key  > tripwire-repot
下面我们可以通过查看tripwire-repot,就可以看见系统那些文件被改过了。
为了让tripwire自动化提供服务器,发现文件改变的时候给管理发送邮件,所有有了下面的脚本。
###################################################################
#!/bin/bash
PATH=/usr/kerberos/sbin:/usr/kerberos/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin
SITEPASS=123321 # Site Key Passphrase.. .......Site Keyfile...
LOCALPASS=123321 # Local Key Passphrase.. .......Local Keyfile...
REPORTFILE=/usr/lib/tripwire/report/`hostname`-`date +%Y%m%d`.twr
# Run the Tripwire
tripwire --check -r "$REPORTFILE"| logger -t tripwire
# Mail the Tripwire Report to root
cd /etc/tripwire
REPORTPRINT=`mktemp`
twprint -m r -c tw.cfg -r "$REPORTFILE" -L `hostname`-local.key -t 4 > $REPORTPRINT
if [ -z "$(grep 'Total violations found: 0' $REPORTPRINT)" ]; then
cat $REPORTPRINT | mail -s "Tripwire(R) Integrity Check Report in `hostname`" root
fi
rm -f $REPORTPRINT
# Update the Policy File
cd /etc/tripwire
twadmin --print-polfile > twpol.txt
perl twpolmake.pl twpol.txt > twpol.txt.out
twadmin --create-polfile -S site.key -Q $SITEPASS twpol.txt.out | logger -t tripwire
rm -f twpol.*
# update the Database
rm -f /usr/lib/tripwire/`hostname`.twd
tripwire --init -P $LOCALPASS | logger -t tripwire
################################################################
基本会自动检测数据库和现在系统状态的不同的地方。
然后发现不同的话,会mail通知制定用户,我们这里是root。
然后会跟新policy file和数据库,一般policy file都可以不用每次更新,这个大家根据自己的实际情况来修改脚本。
最后每天用计划任务来运行这个脚本,就完成了对系统的自动监控。
不过最好还是手动检测系统,应为这样密码就暴露在hack的面前,而且hack也可以通过截取Email来修改邮件内容等方式欺骗admin。所以最好还是手动检测,
最后就是删除明文的配置文件.txt结尾的,和程序的安装文件,这样可以提高程序安全度。
Tripwire的教程基本到这里。谢谢。tripwire这个名字真的好难记。郁闷

转载于:https://blog.51cto.com/linuxguest/200665

Centos5.3下构建数据完整性监测系统Tripwire(2.使用技巧和安全处理)相关推荐

  1. 数据完整性系统服务器l,Centos5.3下构建数据完整性监测系统Tripwire(2.使用技巧和安全处理)...

    大家好,昨天我们安装完tripwire以后,今天我们来讲讲它的使用.一个工具,如果只会安装,不会使用,那么,这个工具就失去了它的意义.好了,废话不多说,接着我们昨天的讲. 1.学习tripwire的配 ...

  2. 边缘计算网关下山体滑坡监测系统解决方案

    山体滑坡是指山体斜坡上某一部分岩土在重力(包括岩土本身重力及地下水的动静压力)作用下,沿着一定的软弱结构面(带)产生剪切位移而整体地向斜坡下方移动的作用和现象. 南方夏季雨水较多,因此在一些山地地区极 ...

  3. 如何构建一个高效的企业舆情监测系统?

    随着互联网的快速发展,企业需要对自身在网络上的形象和声誉进行全方位的监控和管理,以保证企业的长期稳定发展.构建一个高效的企业舆情监测系统已经成为了当下企业发展的必要手段.本文将通过国内具体案例分析,阐 ...

  4. 基于大数据的公共建筑能耗监测系统的应用探究

    摘要:为了解决当前公共建筑能耗居高不下的突出问题,借助当前信息化技术手段,围绕公共建筑能耗监测系统中的大数据应用,从监测系统的总设计框架入手,分别就物联网中数据采集器设计方式.数据传输技术.数据库部署 ...

  5. 舆情监测系统工作流程大致是怎样的?

    随着中国互联网的快速发展,越来越多的人将互联网作为获取信息的首选渠道,舆情监测已成为政府.企业的重要工作内容. 舆情监控可以整合互联网信息采集技术及信息智能处理技术,通过对互联网海量信息自动抓取.自动 ...

  6. 5G遥测终端城市排水管网监测系统

    5G遥测终端城市排水管网监测系统 计讯物联城市排水管监测系统实时监测.全面监管.无人值守.远程控制.排水管网是城市排水防涝的重要途径,如何对分布在城市各地的排水管网进行高效管理成为一个急需解决的问题. ...

  7. 从数据到智慧,TOOM舆情监测系统让你的决策更加精准!

    当今社会信息化程度日益提高,网络平台已成为人们获取最新信息的主要途径,无论是个体还是组织.政府还是企业,都需要通过各种手段及时了解社会舆情,把握市场动态,调整经营策略.而舆情监测系统无疑是这些手段中最 ...

  8. 桥梁在线监测系统详解

         一.系统概述 桥梁安全监测系统基于物联网.大数据技术,结合各种传感器构建桥梁监测系统.监测桥梁运营阶段各监测指标参数数值.变化趋势,通过合理的计算和分析对桥梁工作状态进行评估和预报,以确保桥 ...

  9. 在RHEL5下构建基于系统用户的Postfix邮件系统

    在Linuxt服务中构建Postfix邮件服务器,在客户端可以通过Outlook Express.Web界面来收发邮件,我们需要先配置一下Apache.MYsql.PHP平台,另外还少不了DNS的支持 ...

最新文章

  1. mysql负载均衡与同步_MySql数据库从同步负载均衡实时备份
  2. #define与typedef的区别!
  3. OpenGL 绘图移动
  4. go 公众号 关注 监听_开言英语公众号关注
  5. 程序代码初学者_初学者:如何使用热键在Windows中启动任何程序
  6. java串口发送16进制数据_MFC串口通信发送16进制数据的方法
  7. [你必须知道的.NET]第十回:品味类型---值类型与引用类型(下)-应用征途
  8. python笔记小白入门_Python 笔记:全网最详细最小白的Class类和实例详解
  9. ZBrush软件特性之Color调控板
  10. jQuery模拟页面加载进度条
  11. 我的管理实践---《人件》读后感
  12. ViewStub 简介
  13. nginx配置错误页面
  14. 说课稿模板计算机,计算机系统的组成说课稿1模板.doc
  15. h5制作导出html,H5制作工具Hype的导出功能详解
  16. 我今天人品大爆发啊,赚了299美元
  17. 外卖红包领取公众号简单搭建
  18. 大脑的四个黄金记忆时间段
  19. c#跳出循环break与continue
  20. android 动态渐变,Android 动态修改渐变 GradientDrawable

热门文章

  1. 微信小程序开发笔记⑤——事件、音频(音乐)组件、movable-area组件和cover-view组件
  2. scp命令的使用方法
  3. 前端大神博客收集大全
  4. win10本地安装及连接oracle 19c数据库
  5. 创业公司的市场如何做?
  6. 初创业需要做哪些工作?
  7. 聚焦丨看泛建材巨头如何实现数字化改造,推动企业业务增长
  8. 解决Pycharm专业版卡顿、运行内存不足,修改配置最大内存常见问题。
  9. 2轮平衡小车算法分析
  10. HTML5期末大作业:鲜花网页设计——美丽鲜花6页(代码质量好) 学生DW网页设计作业源码 web课程设计网页规划与设计