Login
Newsletter
Werbung

Mo, 22. Januar 2001, 00:00

Firewall - Teil 4

6.4.2 Logcheck

Auch Logcheck ist ein Programm aus dem Abacus-Sicherheitsprojekt.9

Logcheck überprüft die Systemlogs auf ungewöhnliche Aktivitäten. Es durchsucht die verschiedenen Logdateien unter dem Verzeichnis /var/log und informiert den Systemadministrator per Mail, wenn verdächtige Einträge gefunden wurden.

Logcheck bedient sich dazu mehrerer Konfigurationsdateien, die Schlüsselwörter enthalten. Dadurch unterscheidet Logcheck, was als harmloser Eintrag gilt und ignoriert werden kann, und welche Einträge auf einen Angriff oder einen verdächtigen Vorgang hinweisen und gemeldet werden müssen.

Logcheck besteht aus den folgenden Dateien:10

  • Logcheck.sh

Dies ist das eigentliche Programm. Es kontrolliert die Logdateien mit einfachen grep-Kommandos auf die in den Konfigurationsdateien enthaltenen Schlüsselbegriffe.11 Das Programm wird in regelmäßigen Abständen von cron ausgeführt.12

  • Logtail

Logtail merkt sich die zuletzt erreichten Positionen innerhalb der Logdateien. Dadurch wird vermieden, daß bereits überprüfte, ältere Einträge der Logs erneut untersucht werden. Sollte Logtail gelöscht werden, wird Logcheck sämtliche überwachte Dateien nochmals von Beginn an überprüfen.

  • Logcheck.hacking

Diese Datei enthält Schlüsselbegriffe, die mit ziemlicher Sicherheit auf Angriffe auf das System hindeuten. Standardmäßig ist z.B. folgende Zeile enthalten:

tftpd.*: refused connect from .*

Hier wurde versucht, mit TFTP, Trivial File Transfer Protocol, auf den Computer zuzugreifen. Der Name von TFTP ist Programm: Es handelt sich um einen sehr unsicheren Netzwerkdienst. Ein blinder Versuch, mit diesem auf die Firewall zu verbinden, kann als eindeutiger Angriff gerechnet werden.13

Wird in den zu überprüfenden Logs eines dieser Schlüsselworte gefunden, erhält der Administrator eine Mail mit dem Header "ACTIVE SYSTEM ATTACK". Die Mail enthält die von Logcheck beanstandeten Logeinträge.

Logcheck.hacking sollten nur dann eigene Schlüsselbegriffe hinzugefügt werden, wenn bekannt ist, wie sich ein Angriff in den Logfiles niederschlägt. So führt z.B. ein Jolt Angriff14 zu folgendem Logeintrag:

kernel: Oversized packet received from <IP Adresse>

Ein kleiner Auszug aus logcheck.hacking:

LOGIN root REFUSED
rlogind.*: Connection from .* on illegal port
rshd.*: Connection from .* on illegal port
sendmail.*: user .* attempted to run daemon
uucico.*: refused connect from .*
tftpd.*: refused connect from .*
login.*: .*LOGIN FAILURE.* FROM .*root
login.*: .*LOGIN FAILURE.* FROM .*guest
login.*: .*LOGIN FAILURE.* FROM .*bin
login.*: .*LOGIN FAILURE.* FROM .*uucp
login.*: .*LOGIN FAILURE.* FROM .*adm
login.*: .*LOGIN FAILURE.* FROM .*bbs
login.*: .*LOGIN FAILURE.* FROM .*games
login.*: .*LOGIN FAILURE.* FROM .*sync
login.*: .*LOGIN FAILURE.* FROM .*oracle
login.*: .*LOGIN FAILURE.* FROM .*sybase
kernel: Oversized packet received from attackalert

  • Logcheck.violation

In dieser Datei stehen Schlüsselbegriffe, die auf ungewöhnliche, nicht gern gesehene Vorgänge hinweisen, z.B. eine mißlungene Anmeldung eines Benutzers am System.

Ein Auszug aus logcheck.violations:

LOGIN FAILURE
LOGIN REFUSED
PERMITTED
REFUSED
RETR group
RETR passwd
RETR pwd.db
ROOT LOGIN
SITE EXEC
VRFY
"WIZ"
admin
alias database
debug
denied
deny
deny host
expn
failed

Logeinträge, die mit Schlüsselbegriffen dieser Datei übereinstimmen, werden mit dem Header "Security Violation" an den Administrator gesandt.

  • Logcheck.violations.ignored

Die hier enthaltenen Wörter heben eine Alarmmeldung durch die Begriffe in logcheck.violations wieder auf.

Es ist beispielsweise möglich, daß in einem Logeintrag der Suchbegriff "refused" gefunden wurde. Logcheck meldet dem Administrator den Vorfall als Security Violation. Beim nährern Betrachten der Mail und der Logs stellt sich nun heraus, daß der Eintrag vollkommen harmlos ist, obwohl er das Wort "refused" enthält. Durch Eintrag dieses Logabschnitts in die Datei logcheck.violations.ignore wird das System angewiesen, entsprechende Logeinträge zukünftig nicht mehr als bedrohliche Vorfälle zu melden. Auf andere Einträge mit dem Inhalt "refused" hat es keine Auswirkungen.

  • Logcheck.ignore

Dies ist das Sammelbecken für alle unbedenklichen Logeinträge, die nicht gemeldet werden sollen.

Auszug aus der Datei:

authsrv.*AUTHENTICATE
cron.*CMD
cron.*RELOAD
cron.*STARTUP
ftp-gw.*: exit host
ftp-gw.*: permit host
ftpd.*ANONYMOUS FTP LOGIN
ftpd.*FTP LOGIN FROM
ftpd.*retrieved
ftpd.*stored
http-gw.*: exit host
http-gw.*: permit host
mail.local
named.*Lame delegation
named.*Response from
named.*answer queries
named.*points to a Cname
named.*reloading

Logcheck-Installation:

Die Installation von Logcheck gestaltet sich einfach. Die wichtigen Daten sollten in ein eigenes Verzeichnis kopiert werden, z.B. /usr/local/logcheck. Ein neuer Eintrag in /etc/crontab startet das Programm zu den eingestellten Zeiten.

00,15,30,45 * * * * /usr/local/logcheck/logcheck.sh

Logcheck wird alle 15 Minuten durch den cron-Daemon ausgeführt.

Kommentare (Insgesamt: 0 )
Pro-Linux
Pro-Linux @Facebook
Neue Nachrichten
Werbung