Eindringlingsalarm bei Linux

Angst vor Hacker? - So schützt man sein Linux

Hackereinbruch im System - gar nicht schön. Dabei ist es eigentlich relativ einfach, zumindest eine gewisse Grundsicherheit zu erreichen. Nur wenige Punkte sind dabei zu beachten. Solche Maßnahmen machen ein System zwar nicht völlig sicher, aber viele Script-Kiddies kann man doch leicht vor der Tür stehen lassen. Der folgende Beitrag zeigt, wie man sich vor Einbrüchen schützt und auf was man achten sollte, um es den Gegenspielern nicht allzu leicht zu machen. Von Oliver Müller

Zeitgesteuert
Die crontab ist ein Segen für den Sysadmin. Über sie lassen sich Shell-Kommandos zeitgesteuert starten und so viele Routinearbeiten automatisieren. Die Ausgaben der über crontab gestarteten Befehle werden dabei als Mail an den Benutzer weitergeleitet. Sinnvoll ist es daher, dass die Programme nur bei Problemen oder Fehlern Ausgaben liefern. Bei Unix-Derivaten ist dies jedoch im Allgemeinen die Regel, so dass in diesem Punkt der "Unix-Werkzeugkasten" perfekt zusammenspielt.

Die crontab bearbeiten Sie über den Befehl
crontab -e
Sollte Ihnen "crontab -e" wider Erwarten mit einer Fehlermeldung in der Art von /usr/bin/vi nicht gefunden aufwarten, liegt bei Ihrem System der vi in einem anderen Verzeichnis. Dieses Problem beheben Sie durch den Befehl ln -s `which vi` /usr/bin/vi.

Jetzt öffnet sich der vi, in dem Sie die crontab bearbeiten können. Wenn Sie die Taste [i] drücken, können Sie die neuen Zeilen eingeben. Danach drücken Sie nacheinander die Tasten [ESC] und [:]. Geben Sie jetzt das Kommando wq ein und bestätigen Sie mit [Enter]. Daraufhin wird die neue crontab gespeichert. In der Know-how-Basis finden Sie einen Artikel, der sich ausführlich mit vi beschäftigt.

Die Zeilen von crontab sind in einen Zeitabschnitt und ein Kommando gegliedert. Der Zeitabschnitt, mit dem jede crontab-Zeile beginnt, besteht aus fünf Teilen. Diese geben von rechts nach links

  • die Minuten (erlaubter Wert von 0 bis 59),
  • die Stunden (0 bis 23),
  • den Tag (1 bis 31),
  • den Monat (1 bis 12) und
  • den Wochentag (0 bis 7, wobei für Sonntag 0 oder 7 verwendet werden kann)
an. Jede dieser Angaben besteht entweder aus einem exakten Wert, einem Wertebereich oder einem Platzhalter [*]. Sowie ein Platzhalter angegeben wird, heißt das, dass das Kommando für jeden Wert ausgeführt wird. So wird das Kommando jede Minute ausgeführt, wenn im betreffenden Feld ein [*] steht.

Der Shell-Befehl wird eingegeben wie auf der Kommandozeile. Wollen Sie mehrere Kommandos durch eine crontab-Zeile ausführen, trennen Sie diese durch Strichpunkte.

Angenommen, Sie wollen ein Kommando (zum Beispiel audit) immer 10 Minuten nach einer vollen Stunde ausführen, dann geben Sie folgendes an:
10 * * * *     audit
Ein Kommando (meinBackup), das Sie um 0:00 Uhr jeden Freitag ausführen wollen, würde durch crontab wie folgt realisiert:
0 0 * * 5     meinBackup
Die folgende Zeile startet den Befehl ntp-timeset jede Nacht zwischen 2:00 Uhr und 4:00 Uhr immer zur vollen Stunde (also dreimal pro Nacht):
0 2-4 * * * ntp-timeset
0 * * * * ls -l `find / -perm +4000` | diff ~/sbits.base -
0 * * * *     ls -lRa --full-time /etc | diff ~/etc.base -


Datei gelöscht und trotzdem beschreibbar.

Artikel kommentieren