wordpress themes | total verfriemelt

Total Verfriemelt

am Rande des Wahnsinns

Posts Tagged ‘ Lighttpd ’

Eins habe ich in meiner Ausbildung gelernt… Mach nie ein Update ohne Backups. Es hat sich auch diesmal ausgezahlt. Das Archlinux auf dem der Lighty dieses Blogs bis gestern Morgen lief, hat ein Update nicht wirklich vertragen und bootete prompt in eine Kernel Panic. Fehlersuche war mir zu blöd und ich habe einfach eins meiner CentOS Webserver Templates genommen und die Datensicherung wieder eingespielt. Hier bin ich also wieder… Sollten Probleme auftauchen, bitte einfach hier in die Kommentare posten.

Seit Tagen schon stören mich die Spammer, die als Referer eine eindeutig nicht- jugendfreie Domain hinterlassen. Bisher hat Akismet zwar alles schön säuberlich rausgefiltert aber trotzdem stört es mich, dass sie bis ins Backend durchkommen. Da der Blog hier auf einem Lighttpd läuft, habe ich mich mal nach einer Möglichkeit umgeschaut, die bösen Buben schon vor dem Kommentieren abzuweisen.

Folgender kleiner Einzeiler in der vhost Konfiguration schickt jeden Referer der eins der Schlagwörter beinhaltet, auf ein 403 Forbidden.

$HTTP["referer"] =~ "fuck|viagra|cialis|sperm|ass" { url.access-deny = ( "" ) }

Und tschüss…

Testen kann man das übrigens ganz schön mit dem RefControl AddOn für den Firefox.

Bei Caschy gerade drüber gestolpert und bei Filzo gibt es den technischen Hintergrund.

Die beste Möglichkeit, sich gegen diverse Attacken zu sichern, ist den /wp-admin/ Ordner komplett per .htaccess (Apache) oder mod_auth (Lighttpd) zu sichern.

Da mein Blog auf einem Lighttpd läuft, hier mal ein kurzer Überblick welche Schritte notwendig sind, um Angreifern das Leben etwas scherer zu machen. Die VHosts habe ich seperat in eine extra Config verlegt um bessere Übersicht zu erhalten. Sollten sich diese bei euch in der lighttpd.conf befinden, dann die Einträge dort einfügen.

In der lighttpd.conf muss erst einmal das Modul mod_auth aktiviert werden:

server.modules              = (

[...]

"mod_auth",

[...]

In der entsprechenden Sektion für die VHosts folgende Einträge machen um eine einfache Plain Authentifizierung einzufügen:

auth.backend = "plain"
auth.debug = 2
auth.backend.plain.userfile = "/etc/lighttpd/.lighttpdpasswd"
auth.require = ( "/wp-admin/" =>
(
"method" => "basic",
"realm" => ">Follow the white rabbit",
"require"=> "user=ichbinadmin"
)
)

}

Die Datei /etc/lighttpd/.lighttpdpasswd mit Inhalt füllen, die Rechte anpassen und den Webserver einmal durchstarten.

[root@yoda ~]# vim /etc/lighttpd/.lighttpdpasswd

benutzername:passwort #Benutzername wie bei “require”=> “user= angegeben
[root@yoda ~]# /etc/rc.d/lighttpd restart
:: Stopping lighttpd daemon [DONE]
:: Starting lighttpd daemon [DONE]
[root@yoda ~]#

Ruft man nun http://euerblog/wp-admin/ auf, sollte eine zusätzliche Passwortabfrage das WordPress Backend schützen.

Safari

Dies ist aber nur die simpelste Art ein Verzeichnis zu schützen. Für weitere Mod-Auth Methoden schaut euch den Wiki Eintrag an.

So langsam aber sicher sind alle Webserver unter meiner Fuchtel auf Archlinux migriert und haben das auf RHEL basierende CentOS abgelöst. Ich hab vor etwa einem Jahr den ersten Webserver umgestellt und bisher nur gute Erfahrungen gemacht. Die Perfomance der Arch Webserver ist im Vergleich zu den CentOS doch deutlich gestiegen. Das bekommt man mit CentOS doch auch hin werden sicher einige denken. Klar bekommt man das hin, keine Frage, jedoch nur mit erheblichen Mehraufwand. Eine frische Archlinux Installation ist frei von Software die nicht zum Betrieb des Systems benötigt wird. Selbst bei der Minimalinstallation von CentOS muss man erst Dienste deaktivieren die nicht benötigt werden. Somit spart man ne Menge kostbarer Zeit. Die Installation des Grundsystems für dieses Tutorial hat vom Einlegen der “virtuellen” Cd bis zum abschließenden Reboot und Login keine 10 Minuten gedauert.

Der Webserver Lighttpd ist eine wirklich gute Alternative zu Apache. Große Webseiten wie z.B. Teilbereiche von Myspace, imageshack.us und auch der ehemalige Torrent Tracker The Pirate Bay setzen bzw. setzten auf Lighttpd.

[More]

Remote-Logging bedeutet das ein Host die Syslog Meldungen von anderen Maschinen empfangen und speichern kann, die Syslog Meldungen können je nach Bedarf in Dateien oder wie in diesem Fall in eine Datenbank geschrieben werden.

Die wichtigsten Vorteile wenn man einen so genannten Loghost einsetzt liegen eigentlich auf der Hand. Wenn ein Angreifer sich in ein System gehackt hat, wird er normalerweise die Logfiles manipulieren und seine Arbeit auf dem Host verschleiern. Setzt man einen Loghost ein, steht der Angreifer erst mal blöd da. Der nächste wichtige Grund ist wohl das man alle Logs an zentraler sammelt und alles in einem Blick erfassen kann.

Ich habe bei uns im Unternehmen solch einen Loghost implementiert und dabei auf MySQL und PHPLogCon gesetzt um die Logs sauber verwalten zu können. Aufgebaut habe ich das Ganze wieder einmal CentOS 5.2 mit einer Minimalinstallation. Die nötigen Pakete lassen sich danach schnell mit yum nachinstallieren:

yum install lighttpd-fastcgi mysql mysql-server mysql-devel php-cli php-mysql rsyslog-mysql

[More]

Heute habe ich erstmal alle Webserver von Apache auf Lighty umgestellt. Wieso und weshalb? Weil ich es kann… O.o

Nein… wir haben schon seit längerem einen Webserver auf Lighty Basis alleine um mal zu gucken wie er sich verhält. Als Yrr mir heute im ICQ schrieb das er gerade die Webserver seiner Firma auf Lighty umstellt, hats mich ebenfalls gepackt.

Da der Webserver vorher schon unter Apache2 lief brauchte ich natürlich PHP/MYSQL etc. pp. nicht installieren.

ein

yum install lighttpd lighttpd-fastcgi

reichte aus.

[More]