This file is indexed.

/usr/share/doc/samhain/manual.html/file-content-store.html is in samhain 3.1.0-5ubuntu1.

This file is owned by root:root, with mode 0o644.

The actual contents of the file can be viewed below.

  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN""http://www.w3.org/TR/html4/loose.dtd">
<HTML
><HEAD
><TITLE
>Storing the full content of a file (aka: WHAT has changed?)</TITLE
><META
NAME="GENERATOR"
CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
REL="HOME"
TITLE="The Samhain Host Integrity Monitoring System"
HREF="index.html"><LINK
REL="UP"
TITLE="Configuring samhain, the host integrity monitor"
HREF="file-monitor.html"><LINK
REL="PREVIOUS"
TITLE="Performance tuning"
HREF="performance-tuning.html"><LINK
REL="NEXT"
TITLE="Inotify support on Linux (instantaneous reports, no I/O load)"
HREF="finotify.html"><LINK
REL="STYLESHEET"
TYPE="text/css"
HREF="./docbook.css"></HEAD
><BODY
CLASS="SECT1"
BGCOLOR="#FFFFFF"
TEXT="#000000"
LINK="#0000FF"
VLINK="#840084"
ALINK="#0000FF"
><!--#if expr="! ($HTTP_USER_AGENT = /MSIE/)"--><!--#include virtual="/resources/ssi/header.html"--><!--#endif --><DIV
CLASS="NAVHEADER"
><TABLE
SUMMARY="Header navigation table"
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
><TR
><TH
COLSPAN="3"
ALIGN="center"
>The Samhain Host Integrity Monitoring System</TH
></TR
><TR
><TD
WIDTH="10%"
ALIGN="left"
VALIGN="bottom"
><A
HREF="performance-tuning.html"
ACCESSKEY="P"
>Prev</A
></TD
><TD
WIDTH="80%"
ALIGN="center"
VALIGN="bottom"
>Chapter 5. Configuring <SPAN
CLASS="APPLICATION"
>samhain</SPAN
>, the host integrity monitor</TD
><TD
WIDTH="10%"
ALIGN="right"
VALIGN="bottom"
><A
HREF="finotify.html"
ACCESSKEY="N"
>Next</A
></TD
></TR
></TABLE
><HR
ALIGN="LEFT"
WIDTH="100%"></DIV
><DIV
CLASS="SECT1"
><H1
CLASS="SECT1"
><A
NAME="FILE-CONTENT-STORE"
>5.20. Storing the full content of a file (aka: WHAT has changed?)</A
></H1
><DIV
CLASS="NOTE"
><P
></P
><TABLE
CLASS="NOTE"
WIDTH="100%"
BORDER="0"
><TR
><TD
WIDTH="25"
ALIGN="CENTER"
VALIGN="TOP"
><IMG
SRC="./stylesheet-images/note.gif"
HSPACE="5"
ALT="Note"></TD
><TH
ALIGN="LEFT"
VALIGN="MIDDLE"
><B
>Consider using a revision control system</B
></TH
></TR
><TR
><TD
>&nbsp;</TD
><TD
ALIGN="LEFT"
VALIGN="TOP"
><P
>  One of the most frequently requested features is the ability to
  determine <SPAN
CLASS="emphasis"
><I
CLASS="EMPHASIS"
>what</I
></SPAN
> has changed in a file. This
  is not really within the scope of a 
  <SPAN
CLASS="emphasis"
><I
CLASS="EMPHASIS"
>file integrity checker</I
></SPAN
>;
  rather it would be the task of a <SPAN
CLASS="emphasis"
><I
CLASS="EMPHASIS"
>revision control system</I
></SPAN
>
  like <SPAN
CLASS="APPLICATION"
>SVN (subversion)</SPAN
> or 
  <SPAN
CLASS="APPLICATION"
>CVS</SPAN
>.
  </P
><P
>  While samhain, as of version 2.4.4, supports storing the full content
  of files in the baseline database, this feature is limited to 
  <SPAN
CLASS="emphasis"
><I
CLASS="EMPHASIS"
>small</I
></SPAN
>
  files (smaller than 9200 bytes after zlib compression). If you really think
  you need this feature, it is recommended to evaluate whether a
  <SPAN
CLASS="emphasis"
><I
CLASS="EMPHASIS"
>revision control system</I
></SPAN
> does not fit your needs better.
  </P
></TD
></TR
></TABLE
></DIV
><P
>As of version 2.4.4, samhain can optionally store the full literal
content of regular files in the database, which allows to determine
<SPAN
CLASS="emphasis"
><I
CLASS="EMPHASIS"
>what</I
></SPAN
> has changed in a file.
This feature will only get compiled if the required zlib development 
environment is available on the host where <SPAN
CLASS="APPLICATION"
>samhain</SPAN
> 
is compiled (e.g. on Debian Linux, the package zlib1g-dev).
This feature is subject to the following restrictions:

<P
></P
><UL
><LI
><P
>        Only small files can be stored, where 'small' means less than 9200
	bytes after zlib compression (and less than 92000 bytes before 
	compression, i.e. files 10 times larger than the limit are assumed 
	to not compress below the limit).
  </P
></LI
><LI
><P
>        Only regular files can be stored; in particular, symlinks are not
	stored, since the <SPAN
CLASS="emphasis"
><I
CLASS="EMPHASIS"
>content</I
></SPAN
> of a symlink
	inode actually is the target path (which is stored literally).
	It is safe to enable this for a directory, in the sense that it is
	silently ignored for file types where it does not apply.
  </P
></LI
><LI
><P
>        The feature must be explicitely enabled in the runtime configuration
	file by adding the '+TXT' to the monitoring policy of a file 
	or directory.
  </P
></LI
></UL
></P
><P
>To enable this feature, modify a policy to include 'TXT', and place
the desired files under this policy (see example below).</P
><P
>In order to show the stored content of a file, use the following
command:
  <PRE
CLASS="SCREEN"
>  <SAMP
CLASS="PROMPT"
>sh$ </SAMP
><KBD
CLASS="USERINPUT"
>samhain --list-file <TT
CLASS="REPLACEABLE"
><I
>path</I
></TT
> -d <TT
CLASS="REPLACEABLE"
><I
>database_path</I
></TT
></KBD
>
  </PRE
></P
><DIV
CLASS="SECT2"
><H2
CLASS="SECT2"
><A
NAME="AEN3172"
>5.20.1. Example configuration</A
></H2
><PRE
CLASS="PROGRAMLISTING"
>&#13;  [Misc]
  #
  # UserN policies default to ReadOnly + ATM (access time). This
  # makes the default (intentionally ;-) more or less useless.
  #
  # Redefine to ReadOnly + TXT (store file content)
  #
  RedefUser0 = -ATM, +TXT

  [User0]
  #
  # Files for which we want to store the full content in the
  # baseline database.
  #
  file=/etc/passwd
  file=/etc/group

  </PRE
></DIV
><DIV
CLASS="SECT2"
><H2
CLASS="SECT2"
><A
NAME="AEN3175"
>5.20.2. Implementation details</A
></H2
><P
>  File contents are zlib compressed (RFC 1950), and the compressed data
  are base64 encoded. To avoid internal conflicts, 
  <SPAN
CLASS="APPLICATION"
>samhain</SPAN
> uses the letters '(', ')' and '?'
  instead of the letters '+', '/', and '=' used in standard base64 encoding.
  E.g. in PHP the following will decode the data:
  </P
><PRE
CLASS="PROGRAMLISTING"
>  $tmp1 = strtr($data, "()?", "+/=");
  $tmp2 = base64_decode($tmp1);
  $tmp3 = gzuncompress($tmp2);
  </PRE
></DIV
></DIV
><DIV
CLASS="NAVFOOTER"
><HR
ALIGN="LEFT"
WIDTH="100%"><TABLE
SUMMARY="Footer navigation table"
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
><A
HREF="performance-tuning.html"
ACCESSKEY="P"
>Prev</A
></TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
><A
HREF="index.html"
ACCESSKEY="H"
>Home</A
></TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
><A
HREF="finotify.html"
ACCESSKEY="N"
>Next</A
></TD
></TR
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
>Performance tuning</TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
><A
HREF="file-monitor.html"
ACCESSKEY="U"
>Up</A
></TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
>Inotify support on Linux (instantaneous reports, no I/O load)</TD
></TR
></TABLE
></DIV
><!--#if expr="! ($HTTP_USER_AGENT = /MSIE/)"--><!--#include virtual="/resources/ssi/footer.html"--><!--#endif --></BODY
></HTML
>