Zum Inhalt springen

Rkhunter: Unterschied zwischen den Versionen

Aus Foxwiki
 
(20 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 2: Zeile 2:


== Beschreibung ==
== Beschreibung ==
rkhunter ist ein Shell-Skript, das verschiedene Überprüfungen auf dem lokalen System durchführt, um bekannte Rootkits und Malware zu erkennen.
[[rkhunter]] ist ein Shell-Skript, das Überprüfungen auf dem lokalen System durchführt
* Es überprüft auch, ob Befehle oder die Systemstartdateien verändert wurden, und führt verschiedene Überprüfungen der Netzwerkschnittstellen durch, einschließlich der Überprüfung auf lauschende Anwendungen.
* um bekannte Rootkits und Malware zu erkennen
* Es überprüft auch, ob Befehle oder die Systemstartdateien verändert wurden, und führt verschiedene Überprüfungen der Netzwerkschnittstellen durch, einschließlich der Überprüfung auf lauschende Anwendungen


rkhunter wurde so generisch wie möglich geschrieben und sollte daher auf den meisten Linux- und UNIX-Systemen laufen.
rkhunter wurde so generisch wie möglich geschrieben und sollte daher auf den meisten Linux- und UNIX-Systemen laufen
* Es wird mit einigen Support-Skripten geliefert, falls bestimmte Befehle im System fehlen sollten, von denen einige Perl-Skripte sind.
* Es wird mit einigen Support-Skripten geliefert, falls bestimmte Befehle im System fehlen sollten, von denen einige Perl-Skripte sind
* rkhunter benötigt bestimmte Befehle, um ausgeführt werden zu können.
* rkhunter benötigt bestimmte Befehle, um ausgeführt werden zu können
* Darüber hinaus erfordern einige Tests bestimmte Befehle, aber wenn diese nicht vorhanden sind, wird der Test übersprungen.
* Darüber hinaus erfordern einige Tests bestimmte Befehle, aber wenn diese nicht vorhanden sind, wird der Test übersprungen
 
* rkhunter muss unter einer Bourne-artigen Shell ausgeführt werden, in der Regel bash oder ksh.
* rkhunter muss unter einer Bourne-artigen Shell ausgeführt werden, in der Regel bash oder ksh
* rkhunter kann als Cron-Job oder über die Befehlszeile ausgeführt werden.
* rkhunter kann als Cron-Job oder über die Befehlszeile ausgeführt werden


; LIZENZ
; LIZENZ
RootKit Hunter ist unter der [[GPL]] lizenziert
RootKit Hunter ist unter der [[GPL]] lizenziert
* Copyright Michael Boelen
* Copyright Michael Boelen
* Einzelheiten zur GPL-Lizenzierung finden Sie in der Datei LICENSE.
* Einzelheiten zur GPL-Lizenzierung finden Sie in der Datei LICENSE


== Installation ==
== Installation ==
Zeile 22: Zeile 23:
sudo apt install rkhunter
sudo apt install rkhunter
</syntaxhighlight>
</syntaxhighlight>
== Anwendung ==
<syntaxhighlight lang="bash" highlight="1" line copy>
</syntaxhighlight>


== Aufruf ==
== Aufruf ==
<syntaxhighlight lang="bash" highlight="1">
<syntaxhighlight lang="bash" highlight="1">
  rkhunter {--check | --unlock | --update | --versioncheck | --propupd [{filename | directory | package name},...] | --list [tests | {lang | languages} | rootkits | perl | propfiles] | --config-check | --version | --help} [options]
  rkhunter [options]
</syntaxhighlight>
</syntaxhighlight>


Zeile 33: Zeile 39:
! Unix !! GNU !! Parameter !! Beschreibung
! Unix !! GNU !! Parameter !! Beschreibung
|-
|-
| || || ||  
| || || ||
|-
|-
|}
|}


=== Befehlsoptionen ===
Wenn keine Befehlsoption angegeben wird, wird --help angenommen
* rkhunter gibt einen Exit-Code ungleich Null zurück, wenn ein Fehler oder eine Warnung auftritt


=== BEFEHLSOPTIONEN ===
{| class="wikitable sortable options big gnu"
Wenn keine Befehlsoption angegeben wird, wird --help angenommen. rkhunter gibt einen Exit-Code ungleich Null zurück, wenn ein Fehler oder eine Warnung auftritt.
 
{| class="wikitable sortable options big"
|-
|-
! Option !! Beschreibung
! Unix !! GNU !! Parameter !! Beschreibung
|-
|-
| -c, --check || Diese Befehlsoption weist rkhunter an, verschiedene Überprüfungen auf dem lokalen System durchzuführen. Das Ergebnis jedes Tests wird auf stdout angezeigt. Wenn
| -c || --check || || Diese Befehlsoption weist rkhunter an, verschiedene Überprüfungen auf dem lokalen System durchzuführen
etwas Verdächtiges gefunden wird, wird eine Warnung angezeigt. Eine Protokolldatei der Tests und der Ergebnisse wird automatisch erstellt.
* Das Ergebnis jedes Tests wird auf stdout angezeigt
 
* Wenn etwas Verdächtiges gefunden wird, wird eine Warnung angezeigt
Es wird empfohlen, diese Befehlsoption regelmäßig auszuführen, um sicherzustellen, dass das System nicht kompromittiert wurde.
* Eine Protokolldatei der Tests und der Ergebnisse wird automatisch erstellt
* Es wird empfohlen, diese Befehlsoption regelmäßig auszuführen, um sicherzustellen, dass das System nicht kompromittiert wurde
|-
|-
| --unlock || Diese Befehlsoption entsperrt (entfernt) einfach die Sperrdatei. Wenn diese Option allein verwendet wird, wird keine Protokolldatei erstellt.
| || --unlock || || Diese Befehlsoption entsperrt (entfernt) einfach die Sperrdatei
* Wenn diese Option allein verwendet wird, wird keine Protokolldatei erstellt
|-
|-
| --update || Diese Befehlsoption veranlasst rkhunter zu überprüfen, ob es eine neuere Version einer seiner Textdatendateien gibt. Ein Befehlszeilen-Webbrowser, zum
| || --update || || Diese Befehlsoption veranlasst rkhunter zu überprüfen, ob es eine neuere Version einer seiner Textdatendateien gibt
Beispiel wget oder linux, muss auf dem System vorhanden sein, wenn diese Option verwendet wird.
* Ein Befehlszeilen-Webbrowser, zum Beispiel wget oder linux, muss auf dem System vorhanden sein, wenn diese Option verwendet wird
 
* Es wird empfohlen, diese Befehlsoption regelmäßig auszuführen, um sicherzustellen, dass die Datendateien auf dem neuesten Stand sind
Es wird empfohlen, diese Befehlsoption regelmäßig auszuführen, um sicherzustellen, dass die Datendateien auf dem neuesten Stand sind.
* Wenn diese Option über cron verwendet wird, wird empfohlen, auch die Option --nocolors zu verwenden
 
* Ein Exit-Code von Null für diese Befehlsoption bedeutet, dass keine Updates verfügbar waren
Wenn diese Option über cron verwendet wird, wird empfohlen, auch die Option --nocolors zu verwenden.
* Ein Exit-Code von eins bedeutet, dass ein Download-Fehler aufgetreten ist, und ein Code von zwei bedeutet, dass kein Fehler aufgetreten ist, aber Updates verfügbar waren und installiert wurden
 
Ein Exit-Code von Null für diese Befehlsoption bedeutet, dass keine Updates verfügbar waren. Ein Exit-Code von eins bedeutet, dass ein Download-Fehler aufgetreten ist,
und ein Code von zwei bedeutet, dass kein Fehler aufgetreten ist, aber Updates verfügbar waren und installiert wurden.
|-
|-
| --propupd [{Dateiname | Verzeichnis | Paketname},...] || Eine der Überprüfungen, die rkhunter durchführt, ist der Vergleich verschiedener aktueller Dateieigenschaften verschiedener Befehle mit denen, die zuvor
| || --propupd [<nowiki>filename | directory | package name},...</nowiki>] || || Eine der Überprüfungen, die rkhunter durchführt, ist der Vergleich verschiedener aktueller Dateieigenschaften verschiedener Befehle mit denen, die zuvor gespeichert wurden
gespeichert wurden. Diese Befehlsoption bewirkt, dass rkhunter seine Datendatei mit gespeicherten Werten mit den aktuellen Werten aktualisiert.
* Diese Befehlsoption bewirkt, dass rkhunter seine Datendatei mit gespeicherten Werten mit den aktuellen Werten aktualisiert
 
* Wenn die Option „filename“ verwendet wird, muss es sich entweder um einen vollständigen Pfadnamen oder um einen einfachen Dateinamen (z.&nbsp;*B.&nbsp;[[awk]]) handeln
Wenn die Option „filename“ verwendet wird, muss es sich entweder um einen vollständigen Pfadnamen oder um einen einfachen Dateinamen (z. B. „awk“) handeln. Bei Verwendung wird nur der
* Bei Verwendung wird nur der Eintrag in der Dateieigenschaftsdatenbank für diese Datei aktualisiert
Eintrag in der Dateieigenschaftsdatenbank für diese Datei aktualisiert. Wenn die Option directory verwendet wird, werden nur die in der Datenbank
* Wenn die Option directory verwendet wird, werden nur die in der Datenbank aufgeführten Dateien aktualisiert, die sich in dem angegebenen Verzeichnis befinden
aufgeführten Dateien aktualisiert, die sich in dem angegebenen Verzeichnis befinden. Wenn die Option package name verwendet wird, werden ebenfalls nur die Dateien in der
* Wenn die Option package name verwendet wird, werden ebenfalls nur die Dateien in der
Datenbank aktualisiert, die Teil des angegebenen Pakets sind. Der Paketname muss der Basisteil des Namens sein, Versionsnummern
Datenbank aktualisiert, die Teil des angegebenen Pakets sind
sollten nicht enthalten sein – zum Beispiel „coreutils”. Paketnamen werden natürlich nur dann in der Dateieigenschaftsdatenbank gespeichert, wenn ein Paketmanager
* Der Paketname muss der Basisteil des Namens sein, Versionsnummern sollten nicht enthalten sein – zum Beispiel „coreutils”
verwendet wird. Wenn ein Paketname mit einem Dateinamen übereinstimmt – beispielsweise könnte „file” sich auf den Befehl „file” oder auf das RPM
* Paketnamen werden natürlich nur dann in der Dateieigenschaftsdatenbank gespeichert, wenn ein Paketmanager
-Paket „file” (das den Befehl „file” enthält) beziehen –, wird der Paketname verwendet. Wenn keine bestimmte Option angegeben wird, wird die gesamte Datenbank
verwendet wird
aktualisiert.
* Wenn ein Paketname mit einem Dateinamen übereinstimmt – beispielsweise könnte „file” sich auf den Befehl „file” oder auf das RPM
-Paket „file” (das den Befehl „file” enthält) beziehen –, wird der Paketname verwendet
* Wenn keine bestimmte Option angegeben wird, wird die gesamte Datenbank aktualisiert


WARNUNG: Es liegt in der Verantwortung des Benutzers, sicherzustellen, dass die Dateien auf dem System echt sind und aus einer zuverlässigen Quelle stammen. rkhunter kann nur
WARNUNG: Es liegt in der Verantwortung des Benutzers, sicherzustellen, dass die Dateien auf dem System echt sind und aus einer zuverlässigen Quelle stammen
melden, ob sich eine Datei geändert hat, aber nicht, was die Änderung verursacht hat. Wenn sich also eine Datei geändert hat und die Befehlsoption --propupd verwendet wird,
* rkhunter kann nur melden, ob sich eine Datei geändert hat, aber nicht, was die Änderung verursacht hat
geht rkhunter davon aus, dass die Datei echt ist.
* Wenn sich also eine Datei geändert hat und die Befehlsoption --propupd verwendet wird, geht rkhunter davon aus, dass die Datei echt ist
|-
|-
| --versioncheck || Diese Befehlsoption veranlasst rkhunter zu überprüfen, ob eine neuere Version des Programms verfügbar ist. Bei Verwendung dieser Option muss ein Befehlszeilen-Webbrowser auf dem
| || --versioncheck || || Diese Befehlsoption veranlasst rkhunter zu überprüfen, ob eine neuere Version des Programms verfügbar ist
System vorhanden sein.
* Bei Verwendung dieser Option muss ein Befehlszeilen-Webbrowser auf dem System vorhanden sein
 
* Wenn diese Option über cron verwendet wird, wird empfohlen, auch die Option --nocolors zu verwenden
Wenn diese Option über cron verwendet wird, wird empfohlen, auch die Option --nocolors zu verwenden.
* Ein Exit-Code von Null für diese Befehlsoption bedeutet, dass keine neue Version verfügbar war
 
* Ein Exit-Code von eins bedeutet, dass beim Herunterladen der neuesten Versionsnummer ein Fehler aufgetreten ist , und ein Code von zwei bedeutet, dass kein Fehler aufgetreten ist, aber eine neue Version verfügbar ist
Ein Exit-Code von Null für diese Befehlsoption bedeutet, dass keine neue Version verfügbar war. Ein Exit-Code von eins bedeutet, dass beim Herunterladen der neuesten Versionsnummer ein Fehler aufgetreten ist
, und ein Code von zwei bedeutet, dass kein Fehler aufgetreten ist, aber eine neue Version verfügbar ist.
|-
|-
| --list [tests | {lang | languages} | rootkits | perl | propfiles] || Diese Befehlsoption listet einige der unterstützten Funktionen des Programms auf und beendet dann die Ausführung. Die Option tests listet die derzeit
| || -list <nowiki>[tests | {lang | languages} | rootkits | perl | propfiles]</nowiki> || || Diese Befehlsoption listet einige der unterstützten Funktionen des Programms auf und beendet dann die Ausführung
verfügbaren Testnamen auf (weitere Informationen zu den Testnamen finden Sie in der README-Datei). Die Option languages listet die derzeit verfügbaren Sprachen auf,
* Die Option tests listet die derzeit verfügbaren Testnamen auf (weitere Informationen zu den Testnamen finden Sie in der README-Datei)
und die Option rootkits listet die Rootkits auf, nach denen rkhunter sucht. Die Option perl listet den Installationsstatus des Befehls perl
* Die Option languages listet die derzeit verfügbaren Sprachen auf, und die Option rootkits listet die Rootkits auf, nach denen rkhunter sucht
und der Perl-Module auf, die von einigen der Tests verwendet werden können. Beachten Sie, dass die Installation dieser Module nicht erforderlich ist. Wenn rkhunter
* Die Option perl listet den Installationsstatus des Befehls perl und der Perl-Module auf, die von einigen der Tests verwendet werden können
jedoch gezwungen ist, Perl zur Ausführung eines Tests zu verwenden, muss das Modul vorhanden sein. Die Option propfiles listet die Dateinamen auf, die zur
* Beachten Sie, dass die Installation dieser Module nicht erforderlich ist
Erstellung der Dateieigenschaftsdatenbank verwendet werden. Wenn keine bestimmte Option angegeben wird, werden alle Listen mit Ausnahme der Dateieigenschaftsdatenbank
* Wenn rkhunter jedoch gezwungen ist, Perl zur Ausführung eines Tests zu verwenden, muss das Modul vorhanden sein
angezeigt.
* Die Option propfiles listet die Dateinamen auf, die zur Erstellung der Dateieigenschaftsdatenbank verwendet werden
* Wenn keine bestimmte Option angegeben wird, werden alle Listen mit Ausnahme der Dateieigenschaftsdatenbank angezeigt
|-
|-
| -C, --config-check || Diese Befehlsoption bewirkt, dass rkhunter seine Konfigurationsdatei(en) überprüft und dann beendet wird. Das Programm führt seine normalen Konfigurationsprüfungen
| -C || --config-check || || Diese Befehlsoption bewirkt, dass rkhunter seine Konfigurationsdatei(en) überprüft und dann beendet wird
durch, wie sie durch die Optionen enable und disable in der Befehlszeile und in den Konfigurationsdateien festgelegt sind. Das heißt, es werden nur die Konfigurationsoptionen
* Das Programm führt seine normalen Konfigurationsprüfungen durch, wie sie durch die Optionen enable und disable in der Befehlszeile und in den Konfigurationsdateien festgelegt sind
für Tests überprüft, die normalerweise ausgeführt würden. Um alle konfigurierten Optionen zu überprüfen, verwenden Sie die Optionen --enable all --disable
* Das heißt, es werden nur die Konfigurationsoptionen für Tests überprüft, die normalerweise ausgeführt würden
none in der Befehlszeile. Zusätzlich überprüft das Programm, ob es nicht erkannte Konfigurationsoptionen gibt. Wenn
* Um alle konfigurierten Optionen zu überprüfen, verwenden Sie die Optionen --enable all --disable none in der Befehlszeile
Konfigurationsprobleme gefunden werden, werden diese angezeigt und der Rückgabecode wird auf 1 gesetzt.
* Zusätzlich überprüft das Programm, ob es nicht erkannte Konfigurationsoptionen gibt
 
* Wenn Konfigurationsprobleme gefunden werden, werden diese angezeigt und der Rückgabecode wird auf 1 gesetzt
Es wird empfohlen, diese Option immer dann zu verwenden, wenn die Konfigurationsdatei(en) geändert wurden.
* Es wird empfohlen, diese Option immer dann zu verwenden, wenn die Konfigurationsdatei(en) geändert wurden
|-
|-
| -V, --version || Diese Befehlsoption bewirkt, dass rkhunter seine Versionsnummer anzeigt und dann beendet wird.
| -V || --version || || Diese Befehlsoption bewirkt, dass rkhunter seine Versionsnummer anzeigt und dann beendet wird
|-
|-
| -h, --help || Diese Befehlsoption zeigt das Hilfemenü an und beendet dann das Programm.
| -h || --help || || Diese Befehlsoption zeigt das Hilfemenü an und beendet dann das Programm
|}
|}
=== OPTIONS ===
'''rkhunter''' uses a configuration file, named    ''rkhunter.conf'', for many of its configuration options. It can also use    a local configuration file, named ''rkhunter.conf.local'', and a    directory named ''rkhunter.d'' if it is present. Both the local    configuration file, and the local directory, must be in the same directory    as the main configuration file. The installer does not create the local file    or directory, but one, or both, can be created by the user if required. If a    directory is used, then within the directory any file ending in ''.conf''    will be treated as a local configuration file.
Some options can also be specified on the command-line, and these    will override the equivalent configuration file options. The configuration    file options are well documented within the main configuration file itself.    The following are the command-line options. The defaults mentioned here are    the program defaults, unless explicitly stated as the configuration file    default.
; '''--appendlog'''
: By default a new log file will be created when '''rkhunter''' runs, and      the previous log file will be renamed by having ''.old'' appended to      its name. This option tells '''rkhunter''' to append to the existing log      file. If the log file does not exist, then it will be created.
; '''--bindir    <directory>...'''
: This option modifies which directories '''rkhunter''' looks in to find      the various commands it requires (that is, its PATH). The default is the      root PATH, and an internal list of some common command directories. By      default a specified directory will be appended to the default list.      However, if the directory name begins with the '+' character, then it will      be prepended to the list (that is, it will be put at the start of the      list).
; '''--cs2,    --color-set2'''
: By default '''rkhunter''' will display its test results in color. The      colors used are green for successful tests, red for failed tests      (warnings), and yellow for skipped tests. These colors are visible when a      black background is used, but are difficult to see on a white background.      This option tells '''rkhunter''' to use a different color set which is      more suited to a white background.
; '''--configfile    <file>'''
: The installation process will automatically tell '''rkhunter''' where its      configuration file is located. However, if necessary, this option can be      used to specify a different pathname. If a local configuration file, or directory, is to be used,        then it must reside in the same directory as the configuration file        specified by this option.
; '''--cronjob'''
: This is similar to the '''--check''' command option, but it disables      several of the interactive options. When this option is used      '''--check''', '''--nocolors''' and '''--skip-keypress''' are assumed.      By default no output is sent to stdout, so the      '''--report-warnings-only''' option may be useful with this option.
; '''--dbdir    <directory>'''
: The installation process will automatically configure where the data files      are stored for '''rkhunter'''. However, if necessary, this option can be      used to specify a different directory. The directory can be read-only,      after installation, provided that neither of the '''--update''' or      '''--propupd''' options are specified, and that the '''--versioncheck'''      option is not specified if ROTATE_MIRRORS is set to 1 in the configuration      file.
; '''--debug'''
: This is a special option mainly for the developers. It produces no output      on stdout. Regular logging will continue as per default or as specified by      the '''--logfile''' option, and the debug output will be in a randomly      generated filename which starts with ''/tmp/rkhunter-debug''.
; '''--disable    <test>[,<test>...]'''
: This option tells '''rkhunter''' not to run the specified tests. Read the      README file for more information about test names. By default no tests are      disabled.
; '''--display-logfile'''
: This option will cause the logfile to be displayed on the screen once      '''rkhunter''' has finished.
; '''--enable    <test>[,<test>...]'''
: This option tells '''rkhunter''' to only run the specified tests. If only      one test name, other than ''all'', is given, then the      '''--skip-keypress''' option is assumed. Read the README file for more      information about test names. By default all tests are enabled. All the      test names are listed below under TESTS.
; '''--hash {MD5 | SHA1 | SHA224    | SHA256 | SHA384 | SHA512 |'''
: '''NONE | <command>}'''    Both the file properties check and the '''--propupd''' command option will      use a hash function to determine a files current hash value. This option      tells '''rkhunter''' which hash function to use. The ''MD5'' and      ''SHA'' options will look for the relevant command, and, if not found,      a perl support script will then be used to see if a perl module supporting      the function has been installed. Alternatively, a specific ''command''      may be specified. A value of ''NONE'' can be used to indicate that the      hash values should not be obtained or used as part of the file properties      check. The default is ''SHA256''.  Systems using prelinking must use either MD5, SHA1 or      NONE.
; '''--lang, --language    <language>'''
: This option specifies which language to use for the displayed tests and      results. The currently supported languages can be seen by the      '''--list''' command option. The default is ''en'' (English). If a      message to be displayed cannot be found in the language file, then the      English version will be used. As such, the English language file must      always be present. The '''--update''' command option will update the      language files when new versions are available.
; '''-l, --logfile    [file]'''
: By default '''rkhunter''' will write out a log file. The default location      of the file is ''/var/log/rkhunter.log''. However, this location can be      changed by using this option. If ''/dev/null'' is specified as the log      file, then no log file will be written. If no specific ''file'' is      given, then the default will be used. By default '''rkhunter''' will      create a new log file each time it is run. Any previously existing logfile      is moved out of the way, and has ''.old'' appended to it.
; '''--noappend-log'''
: This option reverts '''rkhunter''' to its default behaviour of creating a      new log file rather than appending to it.
; '''--nocf'''
: This option is only valid when the command-line '''--disable''' option is      used. When the '''--disable''' option is used, by default, the      configuration file option to disable tests is also used to determine which      tests to run. If only the '''--disable''' option is to be used to      determine which tests to run, then '''--nocf''' must be given.
; '''--nocolors'''
: This option causes the result of each test to not be displayed in a      specific color. The default color, usually the reverse of the background      color, will be used (typically this is just black and white).
; '''--nolog'''
: This option tells '''rkhunter''' not to write anything to a log file.
; '''--nomow,    --no-mail-on-warning'''
: The configuration file has an option which will cause a simple email      message to be sent to a user should '''rkhunter''' detect any warnings      during system checks. This command-line option overrides the configuration      file option, and prevents an email message from being sent. The      configuration file default is not to email a message.
; '''--ns,    --nosummary'''
: When the '''--check''' command option is used, by default a short summary      of results is displayed at the end. This option prevents the summary from      being displayed.
; '''--novl,    --no-verbose-logging'''
: During some tests '''rkhunter''' will log a lot of information. Use of      this option reduces the amount of logging, and so can improve the      performance of '''rkhunter'''. However, the log file will contain less      information should any warnings occur. By default verbose logging is      enabled.
; '''--pkgmgr {RPM | DPKG |    BSD | BSDng | SOLARIS | NONE}'''
: This option is used during the file properties check or when the      '''--propupd''' command option is given. It tells '''rkhunter''' that      the current file property values should be obtained from the relevant      package manager. See the README file for more details of this option. The      default is ''NONE'', which means not to use a package manager.
; '''-q, --quiet'''
: This option tells '''rkhunter''' not to display any output. It can be      useful when only the exit code is going to be checked. Other options may      be used with this one, to force only specific items to be displayed.
; '''--rwo,    --report-warnings-only'''
: This option causes only warning messages to be displayed. This can be      useful when '''rkhunter''' is run via cron. Other options may be used to      force other items of information to be displayed.
; '''--sk,    --skip-keypress'''
: When the '''--check''' command option is used, after certain sections of      tests, the user will be prompted to press the ''return'' key in order      to continue. This option disables that feature, and '''rkhunter''' will      run until all the tests have completed. If this option has not been given, and the user is prompted to        press the ''return'' key, a single '''s''<nowiki/>' character, in upper- or        lowercase, may be given followed by the ''return'' key.        '''rkhunter''' will then continue the tests without prompting the user        again (as if this option had been given).
; '''--summary'''
: This option will cause the summary of test results to be displayed. This      is the default.
; '''--syslog    [facility.priority]'''
: When the '''--check''' command option is used, this option will cause the      start and finish times to be logged to syslog. The default is not to log      anything to syslog, but if the option is used, then the default level is      ''authpriv.notice''.
; '''--tmpdir    <directory>'''
: The installation process will automatically configure where temporary      files are to be created. However, if necessary, this option can be used to      specify a different directory. The directory must not be a symbolic link,      and must be secure (root access only).
; '''--vl,    --verbose-logging'''
: This option tells '''rkhunter''' that when it runs some tests, it should      log as much information as possible. This can be useful when trying to      diagnose why a warning has occurred, but it obviously also takes more      time. The default is to use verbose logging.
; '''-x, --autox'''
: When this option is used, '''rkhunter''' will try and detect if the X      Window system is in use. If it is in use, then the second color set will      automatically be used (see the '''--color-set2''' option). This allows      '''rkhunter''' to be run on, for example, a server console (where X is      not present, so the default color set should be used), and on a users      terminal (where X is in use, so the second color set should be used). In      both cases '''rkhunter''' will use the correct color set. The      configuration file default is to try and detect X.
; '''-X, --no-autox'''
: This option prevents '''rkhunter''' from automatically detecting if the X      Window system is being used. See the '''--autox''' option.


=== Parameter ===
=== Parameter ===
Zeile 182: Zeile 122:
| 0 || Erfolg
| 0 || Erfolg
|-
|-
| >0 || Fehler
| >0 || Fehler
|}
|}
== Anwendung ==
<syntaxhighlight lang="bash" highlight="1" line copy>
</syntaxhighlight>
=== Problembehebung ===


== Konfiguration ==
== Konfiguration ==
Zeile 197: Zeile 131:
! Datei !! Beschreibung
! Datei !! Beschreibung
|-
|-
| /etc/rkhunter.conf ||  
| /etc/rkhunter.conf ||
|-
|-
| /var/log/rkhunter.log ||  
| /var/log/rkhunter.log ||
|}
|}


Zeile 218: Zeile 152:


=== Dokumentation ===
=== Dokumentation ===
; Man-Page  
; Man-Page
# [https://manpages.debian.org/stable/rkhunter/rkhunter.8.en.html rkhunter(8)]
# [https://manpages.debian.org/stable/rkhunter/rkhunter.8.en.html rkhunter(8)]
<!--
<!--
; Info-Pages  
; Info-Pages
-->
-->



Aktuelle Version vom 24. Oktober 2025, 10:46 Uhr

rkhunter - RootKit Hunter

Beschreibung

rkhunter ist ein Shell-Skript, das Überprüfungen auf dem lokalen System durchführt

  • um bekannte Rootkits und Malware zu erkennen
  • Es überprüft auch, ob Befehle oder die Systemstartdateien verändert wurden, und führt verschiedene Überprüfungen der Netzwerkschnittstellen durch, einschließlich der Überprüfung auf lauschende Anwendungen

rkhunter wurde so generisch wie möglich geschrieben und sollte daher auf den meisten Linux- und UNIX-Systemen laufen

  • Es wird mit einigen Support-Skripten geliefert, falls bestimmte Befehle im System fehlen sollten, von denen einige Perl-Skripte sind
  • rkhunter benötigt bestimmte Befehle, um ausgeführt werden zu können
  • Darüber hinaus erfordern einige Tests bestimmte Befehle, aber wenn diese nicht vorhanden sind, wird der Test übersprungen
  • rkhunter muss unter einer Bourne-artigen Shell ausgeführt werden, in der Regel bash oder ksh
  • rkhunter kann als Cron-Job oder über die Befehlszeile ausgeführt werden
LIZENZ

RootKit Hunter ist unter der GPL lizenziert

  • Copyright Michael Boelen
  • Einzelheiten zur GPL-Lizenzierung finden Sie in der Datei LICENSE

Installation

sudo apt install rkhunter

Anwendung


Aufruf

 rkhunter [options]

Optionen

Unix GNU Parameter Beschreibung

Befehlsoptionen

Wenn keine Befehlsoption angegeben wird, wird --help angenommen

  • rkhunter gibt einen Exit-Code ungleich Null zurück, wenn ein Fehler oder eine Warnung auftritt
Unix GNU Parameter Beschreibung
-c --check Diese Befehlsoption weist rkhunter an, verschiedene Überprüfungen auf dem lokalen System durchzuführen
  • Das Ergebnis jedes Tests wird auf stdout angezeigt
  • Wenn etwas Verdächtiges gefunden wird, wird eine Warnung angezeigt
  • Eine Protokolldatei der Tests und der Ergebnisse wird automatisch erstellt
  • Es wird empfohlen, diese Befehlsoption regelmäßig auszuführen, um sicherzustellen, dass das System nicht kompromittiert wurde
--unlock Diese Befehlsoption entsperrt (entfernt) einfach die Sperrdatei
  • Wenn diese Option allein verwendet wird, wird keine Protokolldatei erstellt
--update Diese Befehlsoption veranlasst rkhunter zu überprüfen, ob es eine neuere Version einer seiner Textdatendateien gibt
  • Ein Befehlszeilen-Webbrowser, zum Beispiel wget oder linux, muss auf dem System vorhanden sein, wenn diese Option verwendet wird
  • Es wird empfohlen, diese Befehlsoption regelmäßig auszuführen, um sicherzustellen, dass die Datendateien auf dem neuesten Stand sind
  • Wenn diese Option über cron verwendet wird, wird empfohlen, auch die Option --nocolors zu verwenden
  • Ein Exit-Code von Null für diese Befehlsoption bedeutet, dass keine Updates verfügbar waren
  • Ein Exit-Code von eins bedeutet, dass ein Download-Fehler aufgetreten ist, und ein Code von zwei bedeutet, dass kein Fehler aufgetreten ist, aber Updates verfügbar waren und installiert wurden
--propupd [filename | directory | package name},...] Eine der Überprüfungen, die rkhunter durchführt, ist der Vergleich verschiedener aktueller Dateieigenschaften verschiedener Befehle mit denen, die zuvor gespeichert wurden
  • Diese Befehlsoption bewirkt, dass rkhunter seine Datendatei mit gespeicherten Werten mit den aktuellen Werten aktualisiert
  • Wenn die Option „filename“ verwendet wird, muss es sich entweder um einen vollständigen Pfadnamen oder um einen einfachen Dateinamen (z. *B. awk) handeln
  • Bei Verwendung wird nur der Eintrag in der Dateieigenschaftsdatenbank für diese Datei aktualisiert
  • Wenn die Option directory verwendet wird, werden nur die in der Datenbank aufgeführten Dateien aktualisiert, die sich in dem angegebenen Verzeichnis befinden
  • Wenn die Option package name verwendet wird, werden ebenfalls nur die Dateien in der

Datenbank aktualisiert, die Teil des angegebenen Pakets sind

  • Der Paketname muss der Basisteil des Namens sein, Versionsnummern sollten nicht enthalten sein – zum Beispiel „coreutils”
  • Paketnamen werden natürlich nur dann in der Dateieigenschaftsdatenbank gespeichert, wenn ein Paketmanager

verwendet wird

  • Wenn ein Paketname mit einem Dateinamen übereinstimmt – beispielsweise könnte „file” sich auf den Befehl „file” oder auf das RPM

-Paket „file” (das den Befehl „file” enthält) beziehen –, wird der Paketname verwendet

  • Wenn keine bestimmte Option angegeben wird, wird die gesamte Datenbank aktualisiert

WARNUNG: Es liegt in der Verantwortung des Benutzers, sicherzustellen, dass die Dateien auf dem System echt sind und aus einer zuverlässigen Quelle stammen

  • rkhunter kann nur melden, ob sich eine Datei geändert hat, aber nicht, was die Änderung verursacht hat
  • Wenn sich also eine Datei geändert hat und die Befehlsoption --propupd verwendet wird, geht rkhunter davon aus, dass die Datei echt ist
--versioncheck Diese Befehlsoption veranlasst rkhunter zu überprüfen, ob eine neuere Version des Programms verfügbar ist
  • Bei Verwendung dieser Option muss ein Befehlszeilen-Webbrowser auf dem System vorhanden sein
  • Wenn diese Option über cron verwendet wird, wird empfohlen, auch die Option --nocolors zu verwenden
  • Ein Exit-Code von Null für diese Befehlsoption bedeutet, dass keine neue Version verfügbar war
  • Ein Exit-Code von eins bedeutet, dass beim Herunterladen der neuesten Versionsnummer ein Fehler aufgetreten ist , und ein Code von zwei bedeutet, dass kein Fehler aufgetreten ist, aber eine neue Version verfügbar ist
-list [tests | {lang | languages} | rootkits | perl | propfiles] Diese Befehlsoption listet einige der unterstützten Funktionen des Programms auf und beendet dann die Ausführung
  • Die Option tests listet die derzeit verfügbaren Testnamen auf (weitere Informationen zu den Testnamen finden Sie in der README-Datei)
  • Die Option languages listet die derzeit verfügbaren Sprachen auf, und die Option rootkits listet die Rootkits auf, nach denen rkhunter sucht
  • Die Option perl listet den Installationsstatus des Befehls perl und der Perl-Module auf, die von einigen der Tests verwendet werden können
  • Beachten Sie, dass die Installation dieser Module nicht erforderlich ist
  • Wenn rkhunter jedoch gezwungen ist, Perl zur Ausführung eines Tests zu verwenden, muss das Modul vorhanden sein
  • Die Option propfiles listet die Dateinamen auf, die zur Erstellung der Dateieigenschaftsdatenbank verwendet werden
  • Wenn keine bestimmte Option angegeben wird, werden alle Listen mit Ausnahme der Dateieigenschaftsdatenbank angezeigt
-C --config-check Diese Befehlsoption bewirkt, dass rkhunter seine Konfigurationsdatei(en) überprüft und dann beendet wird
  • Das Programm führt seine normalen Konfigurationsprüfungen durch, wie sie durch die Optionen enable und disable in der Befehlszeile und in den Konfigurationsdateien festgelegt sind
  • Das heißt, es werden nur die Konfigurationsoptionen für Tests überprüft, die normalerweise ausgeführt würden
  • Um alle konfigurierten Optionen zu überprüfen, verwenden Sie die Optionen --enable all --disable none in der Befehlszeile
  • Zusätzlich überprüft das Programm, ob es nicht erkannte Konfigurationsoptionen gibt
  • Wenn Konfigurationsprobleme gefunden werden, werden diese angezeigt und der Rückgabecode wird auf 1 gesetzt
  • Es wird empfohlen, diese Option immer dann zu verwenden, wenn die Konfigurationsdatei(en) geändert wurden
-V --version Diese Befehlsoption bewirkt, dass rkhunter seine Versionsnummer anzeigt und dann beendet wird
-h --help Diese Befehlsoption zeigt das Hilfemenü an und beendet dann das Programm

Parameter

Umgebungsvariablen

Exit-Status

Wert Beschreibung
0 Erfolg
>0 Fehler

Konfiguration

Dateien

Datei Beschreibung
/etc/rkhunter.conf
/var/log/rkhunter.log


Anhang

Siehe auch

  • See the CHANGELOG file for recent changes
  • The README file has information about installing rkhunter, as well as specific sections on test names and using package managers
  • The FAQ file should also answer some questions


Dokumentation

Man-Page
  1. rkhunter(8)

Links

Projekt

  1. https://rkhunter.sourceforge.net

Weblinks