source: postlfs/security/tripwire.xml@ 9287960

10.0 10.1 11.0 11.1 11.2 11.3 12.0 12.1 8.3 8.4 9.0 9.1 basic bdubbs/svn elogind kea ken/TL2024 ken/inkscape-core-mods ken/tuningfonts lazarus lxqt perl-modules plabs/newcss plabs/python-mods python3.11 qt5new rahul/power-profiles-daemon renodr/vulkan-addition trunk upgradedb xry111/intltool xry111/llvm18 xry111/soup3 xry111/test-20220226 xry111/xf86-video-removal
Last change on this file since 9287960 was f658183, checked in by Bruce Dubbs <bdubbs@…>, 6 years ago

Tag all of lxde and a few other packages.

git-svn-id: svn://svn.linuxfromscratch.org/BLFS/trunk/BOOK@19872 af4574ff-66df-0310-9fd7-8a98e5e911e0

  • Property mode set to 100644
File size: 14.1 KB
Line 
1<?xml version="1.0" encoding="ISO-8859-1"?>
2<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
3 "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
4 <!ENTITY % general-entities SYSTEM "../../general.ent">
5 %general-entities;
6
7 <!ENTITY tripwire-download-http "https://github.com/Tripwire/tripwire-open-source/releases/download/&tripwire-version;/tripwire-open-source-&tripwire-version;.tar.gz">
8 <!ENTITY tripwire-download-ftp " ">
9 <!ENTITY tripwire-md5sum "0bd68d1ab2684ab0e78ea3cc05d3a3a8">
10 <!ENTITY tripwire-size "980 KB">
11 <!ENTITY tripwire-buildsize "29 MB">
12 <!ENTITY tripwire-time "1.7 SBU (scripting install)">
13]>
14
15<sect1 id="tripwire" xreflabel="Tripwire-&tripwire-version;">
16 <?dbhtml filename="tripwire.html"?>
17
18 <sect1info>
19 <othername>$LastChangedBy$</othername>
20 <date>$Date$</date>
21 </sect1info>
22
23 <title>Tripwire-&tripwire-version;</title>
24
25 <indexterm zone="tripwire">
26 <primary sortas="a-Tripwire">Tripwire</primary>
27 </indexterm>
28
29 <sect2 role="package">
30 <title>Introduction to Tripwire</title>
31
32 <para>The <application>Tripwire</application> package contains programs
33 used to verify the integrity of the files on a given system.</para>
34
35 &lfs82_checked;
36
37 <bridgehead renderas="sect3">Package Information</bridgehead>
38 <itemizedlist spacing="compact">
39 <listitem>
40 <para>Download (HTTP): <ulink url="&tripwire-download-http;"/></para>
41 </listitem>
42 <listitem>
43 <para>Download (FTP): <ulink url="&tripwire-download-ftp;"/></para>
44 </listitem>
45 <listitem>
46 <para>Download MD5 sum: &tripwire-md5sum;</para>
47 </listitem>
48 <listitem>
49 <para>Download size: &tripwire-size;</para>
50 </listitem>
51 <listitem>
52 <para>Estimated disk space required: &tripwire-buildsize;</para>
53 </listitem>
54 <listitem>
55 <para>Estimated build time: &tripwire-time;</para>
56 </listitem>
57 </itemizedlist>
58<!--
59 <note>
60 <para>
61 The <application>tripwire</application> source tarball shown above
62 downloads with the correct name, tripwire-open-source-&tripwire-version;.tar.gz,
63 if using a browser such as Firefox. If you prefer to use a command line
64 program such as wget, you normally would obtain
65 &tripwire-version;.tar.gz. To obtain this package with the proper
66 filename, run:
67
68<screen><userinput>wget -c https://github.com/Tripwire/tripwire-open-source/archive/&tripwire-version;.tar.gz \
69 -O tripwire-open-source-&tripwire-version;.tar.gz</userinput></screen>.
70 </para>
71 </note>
72-->
73 <bridgehead renderas="sect3">Tripwire Dependencies</bridgehead>
74<!--
75 <bridgehead renderas="sect4">Recommended</bridgehead>
76 <para role="recommended"><xref linkend="openssl"/></para>
77-->
78
79 <bridgehead renderas="sect4">Optional</bridgehead>
80 <para role="optional">An <xref linkend="server-mail"/></para>
81
82 <para condition="html" role="usernotes">User Notes:
83 <ulink url="&blfs-wiki;/tripwire"/></para>
84
85 </sect2>
86
87 <sect2 role="installation">
88 <title>Installation of Tripwire</title>
89
90 <para>Compile <application>Tripwire</application> by running the following
91 commands:</para>
92
93<screen><userinput>sed -e 's|TWDB="${prefix}|TWDB="/var|' \
94 -e '/TWMAN/ s|${prefix}|/usr/share|' \
95 -e '/TWDOCS/s|${prefix}/doc/tripwire|/usr/share/doc/tripwire-&tripwire-version;|' \
96 -i installer/install.cfg &amp;&amp;
97
98find . -name Makefile.am | xargs \
99 sed -i 's/^[[:alpha:]_]*_HEADERS.*=/noinst_HEADERS =/' &amp;&amp;
100
101sed '/dist/d' -i man/man?/Makefile.am &amp;&amp;
102autoreconf -fi &amp;&amp;
103
104./configure --prefix=/usr --sysconfdir=/etc/tripwire &amp;&amp;
105make</userinput></screen>
106
107 <note><para>The default configuration is to use a local MTA. If
108 you don't have an MTA installed and have no wish to install
109 one, modify <filename>install/install.cfg</filename> to use an SMTP
110 server instead. Otherwise the install will fail.</para></note>
111
112 <para>This package does not come with a test suite.</para>
113
114 <para>Now, as the <systemitem class="username">root</systemitem> user:</para>
115
116<screen role="root"><userinput>make install &amp;&amp;
117cp -v policy/*.txt /usr/share/doc/tripwire-&tripwire-version;</userinput></screen>
118
119 <note>
120 <para>
121 During <command>make install</command>, several questions
122 are asked, including passwords. If you want to make a script, you have
123 to apply a <application>sed</application> before running
124 <command>make install</command>:
125 </para>
126
127<screen><userinput>sed -i -e 's@installer/install.sh@&amp; -n -s <replaceable>&lt;site-password&gt;</replaceable> -l <replaceable>&lt;local-password&gt;</replaceable>@' Makefile</userinput></screen>
128
129 <para>
130 Of course, you should do this with dummy passwords and change them
131 later.
132 </para>
133
134 <para>
135 Another issue when scripting is that the installer exits when the
136 standard input is not a terminal. You may disable this behavior
137 with the following sed:
138 </para>
139
140<screen><userinput>sed '/-t 0/,+3d' -i installer/install.sh</userinput></screen>
141
142 </note>
143
144 </sect2>
145
146 <sect2 role="commands">
147 <title>Command Explanations</title>
148
149 <para>
150 <command>sed ... installer/install.cfg</command>: This command tells
151 the package to install the program database and reports in
152 <filename class="directory">/var/lib/tripwire</filename> and sets the
153 proper location for man pages and documentation.
154 </para>
155
156 <para>
157 <command>find ...</command>, <command>sed ...</command>, and
158 <command>autoreconf -fi</command>: The build system is unusable as is, and
159 has to be modified for the build to succeed.
160 </para>
161
162 <para>
163 <command>make install</command>: This command creates the
164 <application>Tripwire</application> security keys as well as installing
165 the binaries. There are two keys: a site key and a local key which are
166 stored in <filename class="directory">/etc/tripwire/</filename>.
167 </para>
168
169 <para>
170 <command>cp -v policy/*.txt /usr/doc/tripwire-&tripwire-version;</command>:
171 This command installs the <application>tripwire</application> sample
172 policy files with the other <application>tripwire</application>
173 documentation.i
174 </para>
175
176 </sect2>
177
178 <sect2 role="configuration">
179 <title>Configuring Tripwire</title>
180
181 <sect3 id="tripwire-config">
182 <title>Config Files</title>
183
184 <para><filename>/etc/tripwire/*</filename></para>
185
186 <indexterm zone="tripwire tripwire-config">
187 <primary sortas="e-etc-tripwire">/etc/tripwire/*</primary>
188 </indexterm>
189
190 </sect3>
191
192 <sect3>
193 <title>Configuration Information</title>
194
195 <para><application>Tripwire</application> uses a policy file to
196 determine which files are integrity checked. The default policy
197 file (<filename>/etc/tripwire/twpol.txt</filename>) is for a
198 default installation and will need to be updated for your
199 system.</para>
200
201 <para>Policy files should be tailored to each individual distribution
202 and/or installation. Some example policy files can be found in <filename
203 class="directory">/usr/share/doc/tripwire/</filename>.</para>
204
205 <para>If desired, copy the policy file you'd like to try into <filename
206 class="directory">/etc/tripwire/</filename> instead of using the default
207 policy file, <filename>twpol.txt</filename>. It is, however, recommended
208 that you edit your policy file. Get ideas from the examples above and
209 read <filename>/usr/share/doc/tripwire/policyguide.txt</filename> for
210 additional information. <filename>twpol.txt</filename> is a good policy
211 file for learning about <application>Tripwire</application> as it will
212 note any changes to the file system and can even be used as an annoying
213 way of keeping track of changes for uninstallation of software.</para>
214
215 <para>After your policy file has been edited to your satisfaction you may
216 begin the configuration steps (perform as the <systemitem
217 class='username'>root</systemitem>) user:</para>
218
219<screen role="root"><userinput>twadmin --create-polfile --site-keyfile /etc/tripwire/site.key \
220 /etc/tripwire/twpol.txt &amp;&amp;
221tripwire --init</userinput></screen>
222
223 <para>Depending on your system and the contents of the policy file, the
224 initialization phase above can take a relatively long time.</para>
225
226 </sect3>
227
228 <sect3>
229 <title>Usage Information</title>
230
231 <para><application>Tripwire</application> will identify file changes in
232 the critical system files specified in the policy file. Using
233 <application>Tripwire</application> while making frequent changes to
234 these directories will flag all these changes. It is most useful after a
235 system has reached a configuration that the user considers stable.</para>
236
237 <para>To use <application>Tripwire</application> after creating a policy
238 file to run a report, use the following command:</para>
239
240<screen role="root"><userinput>tripwire --check &gt; /etc/tripwire/report.txt</userinput></screen>
241
242 <para>View the output to check the integrity of your files. An automatic
243 integrity report can be produced by using a cron facility to schedule the
244 runs.</para>
245
246 <para>Reports are stored in binary and, if desired, encrypted. View reports,
247 as the <systemitem class="username">root</systemitem> user, with:</para>
248
249<screen role="root"><userinput>twprint --print-report -r /var/lib/tripwire/report/<replaceable>&lt;report-name.twr&gt;</replaceable></userinput></screen>
250
251 <para>After you run an integrity check, you should examine the
252 report (or email) and then modify the <application>Tripwire</application>
253 database to reflect the changed files on your system. This is so that
254 <application>Tripwire</application> will not continually notify you that
255 files you intentionally changed are a security violation. To do this you
256 must first <command>ls -l /var/lib/tripwire/report/</command> and note
257 the name of the newest file which starts with your system name as
258 presented by the command <userinput>uname -n</userinput>
259 and ends in <filename>.twr</filename>. These files were created
260 during report creation and the most current one is needed to update the
261 <application>Tripwire</application> database of your system. As the
262 <systemitem class='username'>root</systemitem> user, type in the
263 following command making the appropriate report name:</para>
264
265<screen role="root"><userinput>tripwire --update --twrfile /var/lib/tripwire/report/<replaceable>&lt;report-name.twr&gt;</replaceable></userinput></screen>
266
267 <para>You will be placed into <application>Vim</application> with a copy
268 of the report in front of you. If all the changes were good, then just
269 type <command>:wq</command> and after entering your local key, the database
270 will be updated. If there are files which you still want to be warned
271 about, remove the 'x' before the filename in the report and type
272 <command>:wq</command>.</para>
273
274 <!-- 10-12-2013 bad URL and no good URL found
275 <para>A good summary of tripwire operations can be found at
276 <ulink url="http://va-holladays.no-ip.info:2200/tools/security-docs/tripwire-v1.0.pdf"/>.</para>
277 -->
278 </sect3>
279
280 <sect3>
281 <title>Changing the Policy File</title>
282
283 <para>If you are unhappy with your policy file and would like to modify
284 it or use a new one, modify the policy file and then execute the following
285 commands as the <systemitem class='username'>root</systemitem> user:</para>
286
287<screen role="root"><userinput>twadmin --create-polfile /etc/tripwire/twpol.txt &amp;&amp;
288tripwire --init</userinput></screen>
289
290 </sect3>
291
292 </sect2>
293
294 <sect2 role="content">
295 <title>Contents</title>
296
297 <segmentedlist>
298 <segtitle>Installed Programs</segtitle>
299 <segtitle>Installed Libraries</segtitle>
300 <segtitle>Installed Directories</segtitle>
301
302 <seglistitem>
303 <seg>siggen, tripwire, twadmin, and twprint</seg>
304 <seg>None</seg>
305 <seg>/etc/tripwire, /var/lib/tripwire,
306 and /usr/share/doc/tripwire-&tripwire-version;</seg>
307 </seglistitem>
308 </segmentedlist>
309
310 <variablelist>
311 <bridgehead renderas="sect3">Short Descriptions</bridgehead>
312 <?dbfo list-presentation="list"?>
313 <?dbhtml list-presentation="table"?>
314
315 <varlistentry id="siggen">
316 <term><command>siggen</command></term>
317 <listitem>
318 <para>is a signature gathering utility that displays
319 the hash function values for the specified files.</para>
320 <indexterm zone="tripwire siggen">
321 <primary sortas="b-siggen">siggen</primary>
322 </indexterm>
323 </listitem>
324 </varlistentry>
325
326 <varlistentry id="tripwire-program">
327 <term><command>tripwire</command></term>
328 <listitem>
329 <para>is the main file integrity checking program.</para>
330 <indexterm zone="tripwire tripwire">
331 <primary sortas="b-tripwire">tripwire</primary>
332 </indexterm>
333 </listitem>
334 </varlistentry>
335
336 <varlistentry id="twadmin">
337 <term><command>twadmin</command></term>
338 <listitem>
339 <para>administrative and utility tool used to perform
340 certain administrative functions related to
341 <application>Tripwire</application> files and configuration
342 options.</para>
343 <indexterm zone="tripwire twadmin">
344 <primary sortas="b-twadmin">twadmin</primary>
345 </indexterm>
346 </listitem>
347 </varlistentry>
348
349 <varlistentry id="twprint">
350 <term><command>twprint</command></term>
351 <listitem>
352 <para>prints <application>Tripwire</application>
353 database and report files in clear text format.</para>
354 <indexterm zone="tripwire twprint">
355 <primary sortas="b-twprint">twprint</primary>
356 </indexterm>
357 </listitem>
358 </varlistentry>
359
360 </variablelist>
361
362 </sect2>
363
364</sect1>
Note: See TracBrowser for help on using the repository browser.