• Home
  • History
  • Annotate
Name Date Size #Lines LOC

..03-May-2022-

contrib/H03-May-2022-9239

i18n/H19-Feb-2018-4,8434,368

signatures/H29-Nov-2017-3721

ACKNOWLEDGMENTSH A D29-Nov-20171.5 KiB4637

CHANGELOGH A D19-Feb-2018104.2 KiB2,2242,010

FAQH A D19-Feb-201825.9 KiB637456

LICENSEH A D29-Nov-201717.6 KiB342281

READMEH A D19-Feb-201833.1 KiB719549

backdoorports.datH A D29-Nov-20171 KiB3230

check_modules.plH A D03-May-20221.9 KiB9938

filehashsha.plH A D03-May-2022695 3924

mirrors.datH A D29-Nov-201797 43

programs_bad.datH A D29-Nov-20173.5 KiB1110

readlink.shH A D29-Nov-20173.2 KiB16658

rkhunterH A D03-May-2022562.6 KiB21,65513,084

rkhunter.8H A D29-Nov-201719.6 KiB452373

rkhunter.confH A D03-May-202247.7 KiB1,34218

rkhunter.specH A D24-Feb-20186.3 KiB210150

stat.plH A D03-May-20223 KiB10758

suspscan.datH A D29-Nov-20171.9 KiB32

README

1
2THE ROOTKIT HUNTER PROJECT
3==========================
4
5Copyright (c) 2003-2017, Michael Boelen
6See the LICENSE file for conditions of use and distribution.
7
8It is recommended that all users of RootKit Hunter (RKH) join the
9rkhunter-users mailing list. Subscribing to the list can be done via
10the RKH website at http://rkhunter.sourceforge.net
11
12A copy of the RKH FAQ is also available from the web site.
13
14
15ROOTKIT HUNTER REQUIREMENTS
16===========================
17
18Please note that RKH has some requirements:
19
201) Before RKH starts it will check that certain required commands
21   are present on the system. These are typical commands such as
22   'cat', 'sed', 'head', 'tail', etc. If a command is missing then
23   RKH will not run.
24
252) Some tests require commands such as stat, readlink, sha256 or
26   sha256sum. If these are not present, then RKH has perl scripts
27   which will automatically be used instead. However, this requires
28   perl, and certain modules, being present. If they are not, then
29   the tests will be skipped. Readlink is provided as a script
30   itself, and does not use perl. Other tests will use other
31   commands. If the relevant command is not found on the system,
32   then the test will be skipped.
33
343) A tool should be present with which to download file updates.
35   Currently wget, curl, (e)links, lynx and GET are supported. If your
36   system does not allow the possibility to install one of these
37   applications, but does run perl, you can use 'bget' available from
38   http://www.cpan.org/authors/id/E/EL/ELIJAH/. If you use another
39   generic method of updating RKH then please let us know. Additionally,
40   a non-standard command to be used for file downloads can be
41   configured in the RKH configuration file.
42
434) Some tests require single-purpose tools. RKH does not depend on
44   these, but it will use them if it finds them. They can enhance
45   RKH's detection capabilities.
46   The tools are:
47   - Skdet
48       Tests for SucKIT, Adore, Adore-NG, UNFshit, UNFkmem and
49       frontkey.
50       http://www.xs4all.nl/~dvgevers/
51   - Unhide and unhide-tcp (C versions)
52       Finds hidden ports and processes.
53       http://unhide.sourceforge.net
54   If the relevant tool is not found, then the test is skipped.
55
56
57ROOTKIT HUNTER INSTALLATION
58===========================
59
60Unpacking the tar file should produce a single directory called
61'rkhunter-<version>'. Where '<version>' is the version number of rkhunter
62being installed. For example, the rkhunter-1.4.0.tar.gz tar file will produce
63the 'rkhunter-1.4.0' directory when unpacked. Within this directory is the
64installation script called 'installer.sh'.
65
66To perform a default installation of RKH simply unpack the tarball and,
67as root, run the installation script:
68
69    tar zxf rkhunter-<version>.tar.gz
70    cd rkhunter-<version>
71    ./installer.sh --install
72
73Note: If some form of file permission error is shown, then check that the
74      'installer.sh' script is executable.
75
76RKH installation supports custom layouts. To show some examples
77run:
78
79    ./installer.sh --examples
80
81The installer also has a help option:
82
83    ./installer.sh --help
84
85The default installation process will install a configuration file,
86called 'rkhunter.conf', into the '/etc' directory or where
87you chose using the '--layout' switch. You can either edit the main
88configuration file itself, or create a 'local' configuration file
89for your own settings. This file, which must be called
90'rkhunter.conf.local', must reside in the same directory as the main
91configuration file. Alternatively, or in addition if wished, you can
92create a directory, named 'rkhunter.d', in the same directory as the
93main configuration file. Within 'rkhunter.d' you can then create
94further configuration files. The only restriction is that the file
95names end in '.conf'.
96
97You should edit the configuration file(s) according to your own
98system requirements.
99
100Note: If the installer detects an existing 'rkhunter.conf.local' file,
101or an 'rkhunter.d' directory, then these will be added to the main
102configuration file for monitoring by rkhunter. The installer will also
103add the 'rkhunter.conf' file itself to be monitored. By doing this, any
104changes to the rkhunter configuration file(s) will be detected.
105
106If the installer encounters an existing 'rkhunter.conf' file, it will
107not be overwritten. Instead the installer creates a new configuration
108file, but with a unique number as its suffix. Please inspect the new
109configuration file, and copy over any changes to the existing main
110configuration file or to your local configuration file(s).
111
112The main RKH script will be installed into the '/usr/local/bin'
113directory or where you chose using the '--layout' switch. Man pages will
114be installed into '/usr/local/share/man', and other documentation will
115be installed into the '/usr/local/share/doc' directory. RKH data files,
116language support, and a directory for temporary files will be
117installed into '/var/lib/rkhunter'. Finally, RKH support scripts will
118be installed into '/usr/local/lib/rkhunter/scripts', or, if using an
119x86_64 system, into '/usr/local/lib64/rkhunter/scripts'. All directories,
120except 'lib64', will be created where necessary.
121
122Before running RKH you will need to fill the file properties database by
123running the following command:
124
125    rkhunter --propupd
126
127Note that if you want to use the package management tools provided by
128your distribution you will need to select a package manager. In the case
129of using RPM your command would be:
130
131    rkhunter --propupd --pkgmgr RPM
132
133
134To run RKH, as root, simply enter the following command:
135
136    rkhunter --check
137
138
139By default, the log file '/var/log/rkhunter.log' will be created. It
140will contain the results of the checks made by RKH.
141
142To see what other options can be used with rkhunter, enter:
143
144    rkhunter --help
145
146or see the 'rkhunter' man page.
147
148
149NOTE: The first run of 'rkhunter' after installation may give some
150      warning messages. Please see the FAQ file and the rkhunter mailing
151      list archive posts for more details about this.
152
153
154STANDALONE INSTALLATION
155=======================
156
157It is possible to run RKH standalone, that is, with it all being
158installed into one directory.
159
160To do this unpack RKH as described above, and then install it using
161the following command:
162
163    ./installer.sh --layout custom . --install
164
165It is then necessary to change to the 'files' directory:
166
167    cd files
168
169Within the directory will be a copy of the 'rkhunter.conf' configuration
170file. You can modify this file according to your requirements if you
171wish.
172
173To run RKH, as root simply enter the following command:
174
175    ./rkhunter --propupd --check --sk
176
177
178TESTING RKHUNTER WITHOUT INSTALLING IT
179======================================
180
181It is perfectly understandable that new users may wish to try out rkhunter
182without having to fully install it. Similarly current users may want to
183test a new version of rkhunter, or a development version of it, without it
184affecting their current system or current installation of rkhunter. This is
185all perfectly possible, and quite easy, using a standalone installation.
186
187First, as the root user, it is suggested that a separate temporary directory
188is created, and then change to that directory. For example:
189
190       mkdir /tmp/rkh
191       cd /tmp/rkh
192
193It is now necessary to either copy or download a tarball of the version of
194rkhunter that you want to test. (Since you are reading this file, we assume
195you have already downloaded the relevant version.) For users wishing to try
196the latest development version, it is possible to download a tarball:
197
198       wget http://rkhunter.sourceforge.net/rkhunter-dev.tar.gz
199
200Next, it is necessary to extract the files from the tarball. The simplest
201way is to use the 'tar' command, such as:
202
203       tar xzf rkhunter-dev.tar.gz
204
205Obviously, for official releases, you will need to use the correct tarball
206name. For example:
207
208       tar xzf rkhunter-1.4.0.tar.gz
209
210For users of systems with alternative implementations of 'tar', for example
211Solaris users, you may need to break the extraction process into two steps
212(or use the 'gtar' command if you have it installed). For example:
213
214       gunzip rkhunter-dev.tar.gz
215       tar xf rkhunter-dev.tar
216
217The extraction process will create a sub-directory containing all the
218rkhunter files. The sub-directory name will contain the rkhunter version
219number, or, for development tarballs, it will simply be called 'rkhunter'.
220Change into this directory:
221
222       cd rkhunter-1.4.0         (for an official release tarball)
223   or  cd rkhunter               (for development tarballs)
224
225Now, we can run the installer program as described in the section above
226about standalone installations:
227
228       ./installer.sh --layout custom . --install
229
230Finally change to the 'files' sub-directory:
231
232       cd files
233
234Within here will be all the files that rkhunter requires. The configuration
235file, './rkhunter.conf', will already have been configured for a standalone
236installation. So there is no need to modify it unless you want to. Any
237files created by rkhunter will be within this directory. So, as mentioned
238above, it is perfectly possible to run a check using this installation
239without affecting any other installation of rkhunter that may exist on your
240system. To run a check use this command:
241
242       ./rkhunter --propupd --check --sk
243
244By default a log file (rkhunter.log) will be created, and that too will be
245within this directory.
246
247NOTE: If the rkhunter '--debug' option is used then this will, by default,
248create a file in the '/tmp' directory, and not within the current directory.
249
250Once you have finished testing rkhunter, simply delete the entire directory
251it was installed into:
252
253       cd /tmp
254       /bin/rm -rf rkh
255
256
257INSTALLATION INFORMATION FOR x86_64 SYSTEMS
258===========================================
259
260The installation of RKH is largely independent of the system architecture.
261However, RKH does have some support scripts and these need to be installed
262into the appropriate library directory. When performing a default
263installation, or using one of the known layout options (for example, '/usr'
264or '/usr/local'), then the relevant 'lib64' directory will be used only if
265it already exists. For a 'custom' layout, the 'lib64' directory will be used
266and created if necessary. Standalone installations do not use any special
267library directory at all. RPM installations will use the relevant 'lib64'
268directory only if the system architecture is detected as being 'x86_64'.
269
270
271REMOVING AN INSTALLATION
272========================
273
274RKH supports uninstallation. To do this unpack the installation
275tarball, and then run the installer with the --remove option. If RKH
276was installed using a default installation, then run:
277
278    tar zxf rkhunter-<version>.tar.gz
279    cd rkhunter-<version>
280    ./installer.sh --remove
281
282If you chose a different layout, for example '/usr', then run the
283installer using:
284
285    ./installer.sh --layout /usr --remove
286
287Note: the installer will not remove files that were installed using RPM
288(use the 'rpm' command to remove the package).
289
290For a standalone uninstallation, specified by using '--layout custom .',
291the installer will remove the whole installation directory (the 'files'
292sub-directory).
293
294During uninstallation, the installer will remove the initial configuration
295file (usually '/etc/rkhunter.conf'). However, any other files beginning with
296'rkhunter.conf' are not removed. Similarly, any 'rkhunter.d' directory is
297not removed. These may be removed manually if wished.
298
299When installing RKH, some directories may have been created. However,
300RKH is unaware of this when being uninstalled. As such, and especially
301when having used a custom installation, some directories may be
302emptied of files, but the directories themselves may remain. Again,
303these can be removed manually if wished.
304
305In order to see where RKH installed its files during installation, the
306'--show' option can be used. For example:
307
308    ./installer.sh --layout custom /opt --show
309
310
311USING TEST NAMES
312================
313
314Within RKH some of the tests have been given names. There are two types of
315test names - specific test names and grouped test names. A specific test name
316generally refers to one specific test within RKH. A grouped test name refers
317to a set, or group, of related tests. Within a group name there are usually
318one or more specific test names.
319
320To see the current list of test names use the 'rkhunter --list tests' command.
321The grouped names list will show the specific names that are within the group.
322
323So, for example, the file properties check has the grouped name of 'properties'.
324However, within that test the file hash value test is known as 'hashes'.
325Similarly, the file attributes check, which checks the file permissions, uid
326and gid values, and so on, is known as the 'attributes' test. Note that while
327it is possible to tell RKH to run the file properties check, but ignore the
328file hash value test, it is not possible to tell RKH to run the file attributes
329but to ignore the file permissions checks. RKH has no specific name for the
330file permissions test, and so it cannot be specifically enabled or disabled.
331
332RKH can be told to enable or disable one or more of the tests by using the
333'--enable' and '--disable' command-line options. Alternatively, the RKH
334configuration file options 'ENABLE_TESTS' and 'DISABLE_TESTS' can be used.
335By default, if the command-line '--disable' option is used, then the
336configuration file option 'DISABLE_TESTS' is also used to determine which tests
337to run. If only the command-line option is to be used to determine which tests
338to run, then the '--nocf' option must also be given. The program defaults, if
339no options are used at all, are to enable all tests and to disable no tests.
340For this purpose the enable options can use the special test name 'all', and
341the disable options can use the name 'none'. The enable options cannot use the
342name 'none', and the disable options cannot use the name 'all'. To specify
343more than one test name, specify them as a comma-separated list. For example:
344
345    rkhunter --enable 'rootkits,hashes'
346
347Note that in the above example no disabled test list was specified. As such, it
348will default to the value of the configuration file option (DISABLE_TESTS), or
349ultimately to the program default value of 'none'. The command-line options
350'--enable' and '--disable' may be used more than once on the command-line.
351
352The supplied RKH configuration file will have some tests already disabled.
353These are generally CPU and/or I/O intensive tests, or ones which may be prone
354to giving false-positive results. They can, of course, be enabled by editing
355the DISABLE_TESTS list. To run the tests from the command line, either use
356the '--enable' command-line option with the specified test name, or use
357either '--enable all' or '--disable none'.
358
359If either of the '--enable' or '--disable' command-line options is used, and
360the '--propupd' option is not given, then '--check' is assumed.
361
362If the '--enable' option is used and only one test name, other than 'all',
363is given, then the '--skip-keypress' option is assumed as well. So, for
364example, to run all the rootkit tests just use:
365
366    rkhunter --enable rootkits
367
368Similarly, to run all the tests except the rootkit tests, then use:
369
370    rkhunter --disable rootkits
371
372In this example RKH will assume the value of the configuration file option
373(ENABLE_TESTS) for the enabled test list, or ultimately the program default
374of 'all'. In the previous example, the value of DISABLED_TESTS or, ultimately,
375'none' will have been used for the disabled tests list.
376
377If a combination of enabled and disabled tests are specified, then RKH will
378disable a test if it is specified in the enable list. So, for example:
379
380    rkhunter --enable 'rootkits,deleted_files' --disable malware
381
382In this example the 'malware' test is disabled because it is part of the
383'rootkits' test. The fact that the 'deleted_files' test is specified to be
384run is ignored, because that is part of the 'malware' test. RKH will always
385look to see what tests to disable first. It will then run any enabled tests
386that are left.
387
388By default RKH will log what test names have been enabled and disabled.
389Additionally it will log each test name that it is about to execute. When
390initially run RKH may skip some tests due to missing commands or files. It is
391usually possible to omit these tests by including them in the DISABLE_TESTS
392list in the configuration file. The test name associated with these tests can
393be found by looking in the log file.
394
395It should be noted that not all the tests have been given names. As such some
396test names may execute more tests than expected. For example:
397
398    rkhunter --enable group_changes
399
400The 'group_changes' test name refers to the check to see if the /etc/group file
401has been modified. However, running the above command will also cause several
402tests on the /etc/passwd file to be executed. This is because those tests are
403part of the 'local_host' grouped test name, as is the 'group_changes' test,
404but those other tests have no specific names. As such, RKH will start the
405'local_host' tests, executing some of the /etc/passwd file tests and then the
406'group_changes' test, but ignoring any other tests within 'local_host' which
407do have specific names (for example, 'filesystem' and 'passwd_changes').
408
409
410USING PACKAGE MANAGERS
411======================
412
413The RKH file properties check, by default, performs a check of various current
414file properties against those that it has previously stored in the
415'rkhunter.dat' file. This way RKH can warn the user if a file has changed. The
416file properties include items such as the files hash value, file permissions,
417uid, gid, inode number and so on. The properties are obtained and stored in the
418rkhunter.dat file when RKH is run with the '--propupd' option.
419
420Typically the file properties are obtained using commands such as 'stat',
421'file', 'md5sum' and 'prelink'. However, it is also possible to specify that
422RKH should get whatever values it can by using a package manager. This can be
423done by using the '--pkgmgr' command-line option, or the 'PKGMGR' configuration
424file option. When the RPM package manager is specified, during the file
425properties check the results from the RPM verification command are used as the
426test results. For the other package managers, the values from the package
427manager database are compared against the current values for the files. By
428using a package manager, it is possible to avoid some false-positive reports
429that a file has changed when in fact it has been automatically updated by the
430system.
431
432The currently available package managers are 'RPM' for RedHat/RPM-based
433systems, 'DPKG' for Debian-based systems, 'BSD' (using the 'pkg_info' command)
434and 'BSDng' (using the 'pkg' command) for *BSD systems, and 'SOLARIS' for
435Solaris systems. It is also possible to specify 'NONE' to indicate not to use
436a package manager. The program default is 'NONE'.
437
438Any file which is not part of a package is treated as before, that is,
439the HASH_CMD configuration file option, or the '--hash' command-line
440option, will be used.
441
442It should be noted that all the package managers, except 'SOLARIS', provide
443a hash value for a file. However, the 'RPM' and 'SOLARIS' package managers
444can provide other file property values as well, such as the file permissions,
445uid, gid, modification time and so on. During the file properties check all
446of these values will be used, rather than the ones stored in the rkhunter.dat
447file. The Solaris package manager does store a 16-bit hash value, but this is
448not used by default. If it is wished to use the stored value, then the
449USE_SUNSUM configuration option must be enabled.
450
451It should also be noted that the 'DPKG', 'BSD' and 'BSDng' package manager
452options only provide a files hash value. As such, during the file properties
453check, all the other current file properties will be re-calculated as before,
454and compared against the values in the rkhunter.dat file. Hence, only the 'RPM'
455and 'SOLARIS' package managers offer any real benefits in using a package manager.
456
457NOTE: It is possible for a package manager database to become maliciously
458corrupted. To that extent the use of the package manager options with RKH
459does not provide any increase in security. However, it may result in less
460false-positive warnings of files which have changed. As always RKH can only
461report on changes, but not on what has caused the change.
462
463
464USING LOCAL MIRRORS
465===================
466
467When the '--update' or '--versioncheck' options are used, rkhunter uses
468a mirror site from the mirrors.dat file to obtain the required information.
469By default rkhunter will use any mirror listed in the file, and it will
470then rotate the list of mirrors. At the time of writing the supplied
471mirrors.dat file lists the Rootkit Hunter SourceForge site as a mirror.
472
473However, it is possible for users to define a local mirror if they wish to.
474This is done by simply editing the mirrors.dat file and inserting the
475mirror URL. The line should begin with the text 'local='. For example:
476
477    local=http://www.example.com/rkhunter_data
478
479The required rkhunter files must be placed in a location, of the users choice,
480which is accessible by the clients. So in the above example, the rkhunter
481data files would have been placed in the 'rkhunter_data' directory. The
482required files consist of the '.dat' files supplied with rkhunter, and which
483will have been installed in the database directory. For a default
484installation this would have been in '/var/lib/rkhunter/db'.
485
486Additionally, the mirror directory must have an 'i18n' sub-directory which
487contains all the current language translation files for the various versions
488of rkhunter. Each version is put into its own sub-directory. So, for example,
489there would be a '1.4.0' sub-directory, a '1.4.2' sub-directory and so on,
490all within the 'i18n' directory. Again, the database directory will already
491have had the 'i18n' sub-directory installed in to it, but it will only
492contain the language files for the current version of rkhunter. There are
493no version sub-directories installed by default. As such, the mirror will
494need to have the various version sub-directories created, and the relevant
495language files put in to them, for the versions of rkhunter that the mirror
496is required to support. If a client tries to access the language files for a
497version of rkhunter that is not supported by the mirror, then the download
498will fail. Depending on how the client is configured, another, possibly
499remote, mirror may be tried, or rkhunter will give a warning.
500
501Within each rkhunter version sub-directory of the 'i18n' directory, it is
502necessary to have a file called 'i18n.ver'. This file simply contains a list
503of the available language files, and their version numbers. For example:
504
505      cn:2009112801
506      en:2009112902
507
508So, as an example, the mirror file structure will need to look similar
509to this:
510
511                      rkhunter_data
512                            ||
513                            ||
514     ===============================================
515     ||               ||              ||          ||
516 mirrors.dat  rkhunter_latest.dat    i18n    suspscan.dat
517                                      ||
518                                      ||
519                  1.3.8 ============ 1.4.0 ============ 1.4.2
520                  / | \              / | \              / | \
521                 /  |  \            /  |  \            /  |  \
522               cn  en  i18n.ver   cn  en  i18n.ver   cn  en  i18n.ver
523
524
525Finally, if the '--versioncheck' option is to be supported with the local
526mirror, then the directory, 'rkhunter_data' in the above example, must
527contain a file called 'rkhunter_latest.dat'. This file must contain the
528current rkhunter version number (for example, '1.4.0') and no other text.
529
530It is possible to similarly define 'remote' mirrors, which begin with the
531text 'remote='. At present though there is no real difference between a
532local or remote mirror.
533
534The supplied mirror site(s) in the mirrors.dat file begin with the text
535'mirror=', and this should not be changed.
536
537In order to select whether all the mirrors or only the local or remote
538mirrors should be used, the rkhunter configuration file has an option in
539it called 'MIRRORS_MODE'. This option takes a numeric value, which by default
540is zero. The current values and meanings are:
541
542    0 - use any mirror (the default)
543    1 - use only local mirrors
544    2 - use only remote mirrors
545
546To further support local and remote mirrors there are two other configuration
547options available:
548
549The first is 'UPDATE_MIRRORS', which simply tells rkhunter whether the
550mirrors.dat file itself should be updated (i.e. overwritten) when the
551'--update' option is used. If local mirrors are listed in the file then you
552probably do not want the file automatically updated. The 'UPDATE_MIRRORS'
553option has a default value of one, indicating that the mirrors.dat file should
554be updated. Set this option to zero to disable this feature.
555
556The second option is 'ROTATE_MIRRORS'. This tells rkhunter whether it should
557rotate the list of mirrors whenever the '--update' or '--versioncheck' options
558are used. Again, with local mirrors you may want these accessed in a specific
559order, rather than rotated each time. The option has a default value of one
560indicating that the mirrors should be rotated. Set this option to zero to
561disable this feature.
562
563By default if a mirror fails for some reason, then rkhunter will use the next
564mirror, of the configured type, listed in the file. If there are no more
565mirrors left, then rkhunter will give a warning message.
566
567
568CREATING A NEW LANGUAGE FILE
569============================
570
571Creating a new language file to work with rkhunter is quite easy - the actual
572translating is the hard part! First, it is necessary to find out where the
573current language files are located. For a default installation this will be
574in the '/var/lib/rkhunter/db/i18n' directory. If this directory does not
575exist, then look in the rkhunter log file (usually located in /var/log) and
576there should be a line similar to 'Using... as the database directory'.
577Within that directory there should be the 'i18n' sub-directory. Once you
578have changed to that directory, you should then see the current language
579files. Next, take a copy of the 'en' language file and name it for your new
580language. We would suggest that you use something similar to the known
581ISO 639 language codes. For example, to create a generic French language
582file, then execute 'cp -p en fr'. Once you have done this, your new language
583file will be recognised by rkhunter. You can check this by using the command
584'rkhunter --list lang'. Note that if you use the 'rkhunter --update' command,
585the new language file will not be touched in any way. Also note that you must
586not remove the 'en' file, rkhunter will not work without it.
587
588The next part is to actually translate the messages. Each language file starts
589with a line containing the version number of that file. The actual messages
590start with a keyword, which must not be changed at all, followed by a colon
591(:), and then the actual message. It is the actual message which you need to
592translate. Some messages may contain variables such as '$1' or '$2'. Again,
593these must not be changed. Once you have translated the messages you can test
594them by using the command 'rkhunter --lang fr ...' - substituting 'fr' for
595whatever name you gave to your language file.
596
597If you want to have your new language translation made available as part of
598rkhunter, then please submit a feature request on the rkhunter SourceForge
599web site. However, please be aware that the language file is a fundamental
600part of rkhunter, and as such is continuously changing. You should endeavour
601to keep your translation up to date with the current version of rkhunter.
602
603
604ROOTKIT HUNTER GENERAL SUPPORT
605==============================
606
607If a problem is found with RKH, it is recommended that users initially
608try and resolve the problem themselves. This can be done by first
609checking the FAQ file, which is present in your installation if the
610distributed tarball is used as source. The FAQ will contain answers
611to many common problems. The latest version of the FAQ can always be
612found at RKH's project pages on SourceForge, in the 'Documentation'
613section.
614
615If the problem has occurred directly after upgrading RKH, then please
616check the CHANGELOG file. It will contain information about changes
617made since the previous version of RKH, and may indicate why you are
618now experiencing a problem.
619
620Users should also check the rkhunter-users mailing list archives
621(available on the web site). The problem will be investigated by the
622RKH development team, and, where appropriate, a solution posted on the
623mailing list. Hence the mailing list archives may well contain a
624solution to the problem.
625
626Additionally, users should check the RKH tracker system (available at
627http://sourceforge.net/tracker/?group_id=155034). It is quite
628possible that the problem has already been reported to us as a bug or
629support request. It is also possible that a fix for the problem has
630been provided in the tracker log.
631
632Depending upon the nature of the problem it may be worthwhile trying
633an Internet search (for example using google), to see if anyone else
634has experienced a similar problem.
635
636Finally, if you have still not found an answer to the problem, then
637mail it to the rkhunter-users mailing list. Please provide as much
638information as possible about the problem, but do not make the
639message excessively long! Information such as your operating system
640and version of RKH should always be included.
641
642Please be advised that while you are free to ask for advice in your
643favourite IRC channel, all-purpose forum or distribution mailing list,
644the demonstrated level of general and security knowledge and experience,
645and therefore the quality of responses, may vary (very much).
646
647If you are sure the problem is a bug, or want it considered as a
648support request, then please submit it directly into the tracker
649system.
650
651
652ROOTKIT HUNTER REPORTS SIGNS OF A POTENTIAL BREACH OF SECURITY
653==============================================================
654
655When you think you have a (potential) security problem it is advised to
656think and inform yourself thoroughly before you act. Please consider
657checking the FAQ, the rkhunter-users mailing list archives, your
658distribution documentation about security and security issues and the
659CERT Intruder Detection Checklist, formerly located at
660http://www.cert.org/tech_tips/intruder_detection_checklist.html, and
661archived at http://web.archive.org/web/20080109214340/\
662http://www.cert.org/tech_tips/intruder_detection_checklist.html.
663If you do not have the required knowledge and experience to deal with
664security issues then please ensure yourself that the people who respond
665do and have.
666
667- Logging in, killing processes, deleting files, powering down, rebooting
668  the machine, removing or installing software may signal the intruder and
669  may destroy vital information. If you need to communicate with people or
670  compile software then do use a different machine to work on.
671- If usage of the machine is governed by rules and regulations consider
672  alerting the designated security officer or team, systems or network
673  administrators or IT department before doing anything else.
674- In your initial email or post include as much information and make it
675  as detailed as possible. The more details you provide the more efficient
676  the troubleshooting or incident response process will be.
677- Do not be easily satisfied or mistake "don't worry" type of replies for
678  qualitatively good answers: read the FAQ, ask for specific steps to take
679  and commands to run so you can verify things yourself.
680- Please act timely and responsibly. (Potential) security problems should be
681  prioritized and acted on at the time of reporting, not days or weeks later.
682
683
684ROOTKIT HUNTER AS PART OF YOUR SECURITY STRATEGY
685================================================
686
687Rootkit Hunter is a host-based, passive, post-incident, path-based tool.
688
689- Host-based means it only diagnoses the host you run it on.
690- Passive means it has to be scheduled or run manually.
691- Post-incident means it can only be effective when a breach of security
692  is suspected, is in progress or has already occurred. Due to the nature of
693  software that hides processes and files it may be beneficial to run Rootkit
694  Hunter from a bootable medium if a breach of security is suspected and the
695  machine can be booted from a bootable medium.
696- Path-based means RKH will check for filenames. It does not include or use
697  heuristics or signatures like for instance an antivirus product could. Do
698  understand that the SCANROOTKITMODE configuration option and "suspscan"
699  functionality are just crude attempts to try and bridge that gap.
700
701
702Rootkit Hunter is best deployed as part of your security strategy.
703
704- Most breaches of security are preceded by reconnaissance. Regular system
705  and log file auditing provides the necessary "early warning" capabilities.
706- RKH does not replace, or absolve you from performing, proper host hardening.
707  Common administration errors that may result in a breach of security includes
708  failing to apply updates when they are released, misconfiguration, lack of
709  access restrictions and lack of auditing.
710  Please see your distribution documentation and search the 'net.
711- Do not rely on one tool or one class of tools. Consider installing same-
712  class tools like Chkrootkit or OSSEC-HIDS and consider overlap as a Good
713  Thing. Additionally it is suggested you install and use a separate filesystem
714  integrity scanner like Samhain, Aide, Integrit, Osiris (or even tripwire) to
715  provide you with a second opinion.
716- Like with all data used for verifying integrity it is recommended to
717  regularly save a copy of your RKH data files off-site.
718
719