Apache 2.2 “ByteRange” Lücke schließen

seit kurzem sind diverse Scripte im Internet zugänglich die einen Apache 2.2 Webserver zum Absturz bringen können. Grund für den Absturz ist offenbar das wahlweise selektieren verschiedener Teile (partial Content 206) einer html / php -Seite oder eines Bildes. Diese Funktion ist zum Beispiel für Download-Manager sinnvoll die an einem abgebrochenen Download erneut anknüpfen möchten. Abhilfe schafft man, in dem  eine Rewrite Regel in der Webserver Konfiguration aktiviert wird. Nebenbei deaktivieren wir das Tracen auf den Webserver gleich mit, welches eigentlich nur für Entwickler bzw. Testsysteme zum debuggen der Webanwendung aktiviert werden sollte.

RewriteEngine On

RewriteCond %{REQUEST_METHOD} ^TRACE

RewriteCond %{REQUEST_METHOD} ^(HEAD|GET) [NC]

RewriteCond %{HTTP:Range} ([0-9]*-[0-9]*)(\s*,\s*[0-9]*-[0-9]*)+ [OR]

RewriteCond %{HTTP:Request-Range} ([0-9]*-[0-9]*)(\s*,\s*[0-9]*-[0-9]*)+

RewriteRule .* – [F]

exteneded logging for mod_rewrite

heute mal wieder nach langer Pause ein Post  Icon Cool in exteneded logging for mod_rewrite von mir… diesmal zum Thema Rewrite. Mod Rewrite ist ein Apache Module welches Serverseitig URLs umschreibt oder sogar als Error Handler behilflich sein kann…beovr wir loslegen schauen wir erst einmal ob das Modul bereits installiert ist. Dazu schauen wir in den Ordner /etc/apache2/mods-available/

ls -la /etc/apache2/mods-available/

ist es nicht vorhanden muß es durch die Paketverwaltung nachinstalliert werden. In der Regel sollte jedoch bei jeder Standardinstallation das Modul mit installiert sein. 
Ist das Modul rewrite.load vorhanden aktivieren wir es durch die Verlinkung ins Verzeichnis  /etc/apache2/mods-enabled/

sudo a2enmod rewrite

Nun ist das Modul grundsätzlich durch den Apache Webserver nutzbar. Zur Aktivierung sind jedoch noch weitere Schritte  notwendig.

In der Site Konfiguration, die in der Regel im Verzeichnis /etc/apache2/sites-available/ liegt, können wir nun das mod_rewrite Modul aktivieren.

... RewrieEngine On

##umschreiben des Querystring in eine Verzeichnisstruktur

RewriteCond %{THE_REQUEST} ^GET\s/+index\.php [NC]

RewriteCond %{QUERY_STRING} (^|&|\?)id=(.*)(&|$) [NC]

RewriteRule . /%2? [R=301,L,NC] RewriteCond %{REQUEST_FILENAME} !-f

RewriteRule ^(.+)$ index.php?id=$1 [L]

RewriteLog "/var/logs/apache/rewrite.log"

RewriteLogLevel 9

</VirtualHost>

Durch die Directive RewriteLog gibt man an wo das Log gespeichert werden soll. In dem Verzeichnis welches hier angegeben wird muß der User mit dem dem der Apache Webserver läuft berechtigt sein.

Der Wert RewriteLogLevel stellt den Dubug Wert ein. 9 ist der an dieser Stelle höchst mögliche Wert der einzustellen geht.

 

weiterführende Links:

http://httpd.apache.org/docs-2.0/mod/mod_rewrite.html#rewritelog 

Firefox Cisco-ASDM und ssl_error_no_cypher_overlap

Asdm in Firefox Cisco-ASDM und ssl_error_no_cypher_overlapNach dem ich mein Ubuntu System neu installiert hatte, konnte ich nicht mehr mit SSL auf meine Cisco ASA zugreifen. Grund dafür ist das der Verschlüsselungs-Algorithmus nicht mehr zur Verfügung steht (ssl_error_no_cypher_overlap). Nach langem Googeln fand ich dann in einem Forum eine Lösung. Bei dieser Lösung soll der Algorithmus 3des-sha1 des-sha1 auf der ASA aktiviert werden. Hierzu ist jedoch eine Lizenz notwendig. Wenn man nun jedoch ein wenig an den Firefox Einstellungen dreht und den Standard Algorithmus für den Zugriff auf die Cisco-ASA im Firefox aktiviert, lässt sich der Zugriff auch ohne Lizenz Erweiterung bewerkstelligen. hierzu öffnet man die Einstellungen des Firefox über die Adresszeile about:config und ändert den Wert von security.ssl3.rsa_des-sha von false auf true

 

security.ssl3.rsa_des-sha true