«

»

Aug 25

Artikel drucken

Apache Patch für ISPConfig Sites

wie kürzlich bekannt wurde, gibt es ein großes Loch im Apache Server aller couleur. Es betrifft alle Apache 1.3 Versionen, und alle Apache 2.0 Releases!

[Update: es gibt sogar eine offizielle Stellungnahme von Apache]

Mittels eines einfachen, nur wenige Zeilen langen Perl-Skriptes ist es möglich einen Webserver zum Systemabsturz zu bekommen. Erst läuft der RAM voll, kurz darauf steht die Kiste komplett, nur noch ein Reset reanimiert das System.

Der Schaden, den ein Einzelner damit anrichten kann, ist riesig, entsprechend dringend ist die Behebung am eigenen Webserver!

Abhilfe

Da es bis dato noch kein Update von Apache gibt, hier nur die offizielle Tipps: http://article.gmane.org/gmane.comp.apache.announce/58

Problemlos ist die Variante mit mod_rewrite, da das Modul meist schon aktiv ist.

ISPConfig

Wer, wie wir, Webserver mit ISPConfig verwaltet, steht vor einem kleinen Problem, das eigentlich nur mit Fleißarbeit zu lösen ist. Die Änderungen in der Config müssen für jeden vhost in der Apache Config separat angelegt werden. ISPConfig schreibt diese aber selbst, sodaß bei der kleinsten Änderung in ISPConfig die Anpassungen in den Config-Dateien überschrieben werden.

Abhilfe schafft hier nur ein spezieller Patch in der jeweiligen .htaccess-Datei jeder Website. Bei einigen zig- oder gar hunderten von Sites ist das kaum zu schaffen.

Wir haben ein kleines Bash-Skript gebastelt geschrieben, welches hier zum Download steht, und in das Verzeichnis /var/www zu kopieren ist.

ggf. die Variablen in den ersten Zeilen anpassen:

sudo vi /var/www/patchscript.sh

anschließend das ganze ausführbar machen:

sudo chmod +x /var/www/patchscript.sh

und ausführen:

sudo ./patchscript.sh

Fertig!

hier das komplette Skript in der Version 1:

#!/bin/sh
#vars
patch='
<IfModule mod_header.c>
# Apache zero-day Exploit removal script v1
# (c) 2011 Samuel Orsenne - diegelernten.de
        # Drop the Range header when more than 5 ranges.
        # CVE-2011-3192
        SetEnvIf Range (,.*?){5,} bad-range=1
        RequestHeader unset Range env=bad-range# end of patch
<IfModule>
'
 
#this is the name of the subdirs where the vhosts are located
# in a ispconfig3-config, it would be web
subdir=web
 
# please don't change anything below this line
##############################################
clear
echo ---------------------------------------------
echo \#  Apache zero-day Exploit removal script v1 \#
echo \# \(c\) 2011 Samuel Orsenne - diegelernten.de \#
echo ---------------------------------------------
echo
echo "current directory: "${PWD}
echo "will look for .htaccess files in subdirs called '$subdir'"
echo
while true; do
read -p "start patching all subfolders? " yn
case $yn in
        [Yy]* ) weiter=1; break;;
        [Nn]* ) echo  ; echo exiting...; echo   ; exit;;
        * ) echo "please answer yes or no";;
esac
done
echo
echo Scanning for .htaccess in subdirs
for file in `find .|grep -i \/$subdir'$'`; do
#echo $file
datei=htaccess
datei=$file/.$datei
if [ -f $datei ]; then
echo "[FOUND] file $datei exists, adding patch below."
else
echo "[NOT FOUND] creating $datei from template"
fi
echo "$patch" >> $datei
done
echo done.
PinExt Apache Patch für ISPConfig Sites

Permanentlink zu diesem Beitrag: http://blog.diegelernten.de/2011/08/25/apache-patch-fur-ispconfig-sites/

Hinterlasse eine Antwort

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind markiert *

Connect with Facebook