17.09.2011

Linux: Logdateien als normaler Benutzer lesen

Jedesmal ein su oder sudo voranzusetzen, weil man /var/log/messages lesen oder verfolgen will kann nervig sein, zu dem braucht man das root-passwort, vor allem muss man es st├Ąndig eintippen:

~> sudo tail -fn200 /var/log/messages
Passwort:

Das nervt!

Dem kann man zwar abhelfen, in dem man jedermann Leserechte gibt, aber dies ist auch nicht gerade "ideal" - oft wird man das aus Gr├╝nden der Sicherheit nicht wollen.

Und es geht auch besser: Hier die Schritt-f├╝r Schritt-Anleitung:

1. Installieren Sie das Paket "facl". Ob das installiert ist kann man mit setfacl --help feststellen. Das Programm wird gefunden? Dann ist die Installation bereits erfolgt.

2. ├ťberpr├╝fen Sie, ob die Option "acl" in /etc/fstab f├╝r das Mounten der Partition gesetzt ist. Wenn nicht tragen Sie das nach. Das sieht zum Beispiel so aus:
/dev/disk/by-id/ata[...]-part5 / ext4 acl,user_xattr,noatime 1 1

3. Danach k├Ânnen Sie mittels
~# mount -o remount /

die Partition mit dem neuen Parameter laden. Nat├╝rlich kann man auch neu booten (aber dann h├Ątte man auch gleich ein rebootfreundliches Win.... installieren k├Ânnen :)

4. Setzen Sie jetzt einmalig das Leserecht f├╝r den Benutzer:
~# fsetacl -m BENUTZERNAME:r /var/log/messages

Erhalten Sie keine Fehlermeldung, so k├Ânnen Sie davon ausgehen, dass dies funktioniert hat. Sind Sie dennoch unsicher, so probieren Sie:
~# fgetacl /var/log/messages

Sieht die Ausgabe so aus:
# file: var/log/messages
# owner: root
# group: root
user::rw-
user:BENUTZERNAME:r--
group::r--
mask::r--
other::---

... dann ist alles bestens.

5. Das gen├╝gt aber noch nicht,

denn das Systemprogramm logrotate legt die Datei mit einer gewissen Regelm├Ą├čigkeit neu an - und Sie wollen den Vorgang doch nicht mit einer, von der Konfiguration Ihres Linux abh├Ąngigen H├Ąufigkeit wiederholen.

Logrotate kann Ihnen aber auch helfen.

Und ich lasse mir gerne von meinem Computer bei Problemen helfen, die ich ohne ihn nicht h├Ątte: Auf meinen System (OpenSuSE-Desktop) ├Âffne ich mit root-Rechten die Datei /etc/logrotate.d/syslog mit einem geeigneten Editor:

~# vi /etc/logrotate.d/syslog

und suche folgenden Abschnitt, erg├Ąnze den um die fett ausgegebene Zeile:
/var/log/warn /var/log/messages [...] {
compress
dateext
maxage 365
rotate 99
missingok
notifempty
size +4096k
create 640 root root
sharedscripts
postrotate
/etc/init.d/syslog reload > /dev/null
/usr/bin/setfacl -m BENUTZERNAME:r /var/log/messages
endscript
}

Fertig! Nat├╝rlich kann ich das f├╝r beliebige Logfiles wiederholen. Weitere Hilfe gibt es mit ~> info setfacl, ~> info getfacl (oder in meinem Aufsatz "Benutzerrechte: Access-Control-Lists (ACL) unter_Linux" - PDF) oder mit ~>info logrotate.

11.09.2011

Honeypot blockt Angreifer

Vor einigen Tagen habe ich einen Honeypot fertiggstellt, der Angreifer schon bei der Vorbereitung eines Angriffs auf meine Webserver feststellt und blockiert.

Hier das Ergebnis der letzten Nacht:

(Uhrzeit, Angriffsersuch, IP-Adresse)

04:42 /admin/banner_manager.php/login.php - 174.128.240.2
04:50 /admin/categories.php/login.php?cPath=&action=new_product_preview - 174.142.75.174
04:50 /admin/categories.php/login.php?cPath=&action=new_product_preview - 75.126.154.162
04:53 /admin/categories.php/login.php?cPath=&action=new_product_preview - 85.158.181.47
04:53 /admin/categories.php/login.php?cPath=&action=new_product_preview - 189.113.5.131
04:54 /admin/categories.php/login.php?cPath=&action=new_product_preview - 74.222.6.111
04:59 /admin/categories.php/login.php?cPath=&action=new_product_preview - 85.36.63.35
05:26 /admin/categories.php/login.php?cPath=&action=new_product_preview - 88.12.17.111
06:45 /admin/banner_manager.php/login.php - 89.249.68.71
07:34 /admin/file_manager.php/login.php - 62.173.138.142

Nette Versuche! Beim n├Ąchsten Test auf eine Angriffsm├Âglichkeit gab es f├╝r diese Besucher eine Umleitung zu einer Webseite des BKA ├╝ber die Bek├Ąmpfung von Internetkriminalit├Ąt. (Etwas) Humor habe ich n├Ąmlich auch noch.