Apache Webserver Directory Listing (Verzeichnisauflistung) deaktivieren / aktivieren

apache logo

Wenn das Directory Listing im Apache Webserver aktiviert ist, stellt das ein hohes Sicherheitsrisiko dar und sollte deswegen deaktiviert werden.

Directory Listing ist eine Webserver Funktion, um im Browser bequem den Inhalt eines Ordners auflisten zu lassen ohne dafür ein entsprechendes Skript zu verwenden. Bei lokal installierten Webservern mag diese Funktion ganz praktisch erscheinen. (siehe Screenshot).

Aber man sollte sich doch Gedanken über die Verwendung der Funktion im Live Betrieb machen. Potentiellen Angreifern wird durch die Auflistung und Ausgabe der Dateien ihre Arbeit erleichtert. In der Standard Apache Konfiguration ist die Verzeichnisauflistung aktiviert und kann folgendermaßen deaktiviert werden:

Apache directory Listing in der VirtualHost Konfiguration deaktivieren:

› Artikel Weiterlesen

Dienstag, 30. April 2013 Apache, Linux, WebServer 5 Kommentare Author: Patrick Schoyswohl

HowTo: Ubuntu 13.04 (Raring Ringtail) Installation und Upgrade von 12.10 – Desktop + Screenshots

Ubuntu-Logo

Step-By-Step Installationsanleitung mit Screenshots für Ubuntu 13.04 Raring Ringtail in der Desktop Version.

Am 25. April 2013 wurde die neue Version von Ubuntu 13.04 Raring Ringtail veröffentlich. Ich zeige in diesem Tutorial Schritt für Schritt wie das neue Ubuntu Desktop Betriebsystem auf einem Computer installiert werden kann.

Ubuntu 13.04 downloaden und auf ein Medium schreiben

Hier direkte Ubuntu 13.04 Raring Ringtail Downloadlinks:
Download Direktlink 32bit Version
Download Direktlink 64bit Version
Download Direktlink für Mac Version

Hier findet Ihr die aktuellen Ubuntu Versionen + Downloads und eine hier Anleitung um euer Ubuntu in ein Kubtuntu, Xubuntu, Lubuntu oder Edubuntu zu verwandeln.

Das heruntergeladene iso Image anschließend mounten, auf CD/DVD brennen oder einen bootbaren USB Stick erstellen.

› Artikel Weiterlesen

Freitag, 26. April 2013 Linux, Ubuntu 7 Kommentare Author: Patrick Schoyswohl

Debian 7 Wheezy Erscheinungsdatum am 5. Mai, Hurra!!! :)

Das Debian Team hat bekannt gegeben, dass am 4. – 5. Mai Wochenende Debian Wheezy final released wird. Wir freuen uns drauf!

Mein kleiner Wheezy steht schon am Schreibtisch und wartet sehnsüchtig auf den finalen Release:

Wheezy kann natürlich schon verwendet werden und ist super stabil. Wir haben es bereits produktiv im Einsatz. Hier die Upgradeanleitung von Debian Squeeze zu Wheezy.

Update 05.05.2013: Release und die Neuerungen von Debian 7 Wheezy.

Debian Wheezy Downloadlinks verfügbar

(Quelle: bits from Debian)

Donnerstag, 25. April 2013 Debian, Linux 9 Kommentare Author: Patrick Schoyswohl

HowTo: Node.js Installation unter Debian Squeeze / wheezy + Ubuntu

Node.js Logo

Step-by-Step Anleitung wie Node.js unter Debian Squeeze / Wheezy oder Ubuntu / Linux Mint installiert wird.

Da die Node.js in den Debian Repositories nur in der unstable (Sid) Version vorhanden sind, und unter Ubuntu bzw. Linux Mint nicht immer in der aktuellsten Version zur Verfügung stehen, ist es auf Linux Webservern der beste und sicherste Weg Node.js selbst zu kompilieren. Es sind nur sehr wenige Schritte dafür notwendig:

Abhängigkeiten installieren:

Folgende Pakete sind für die Installation notwendig und können bequem via apt-get installiert werden:

apt-get update
apt-get install g++ curl libssl-dev
Der Download der Node.js Sourcen kann über git (Option1) oder direkt über die Webseite (Option2) realisiert werden

Option1: Download der Node.js Sourcen via git:

Es gibt die Möglichkeit, die node.js Sourcen direkt via git auszuchecken, oder direkt die tar.gz Datei von der Webseite downzuloaden. Bei git hat man den Vorteil auch aktuelle pre Releases zu testen, und die meisten Anwender und Admins haben ohnehin Git in Verwendung. Wer kein git verwenden möchte kann bei der nächsten Überschrift weiterlesen (Download via tar Package).

apt-get install git-core
 cd /usr/src
 git clone https://github.com/joyent/node.git
 cd node

Damit wir mit der stable Version und nicht mit einer Pre Entwickler Version arbeiten können, sollte zuvor die Version auf Stable umgestellt werden. (Aktuellste Stable Version kann auf http://nodejs.org/ nachgelesen werden)

git checkout v0.10.24

Option2: Download von Node.js via tar Package

Wer kein git verwenden möchte, kann auch das stable tar Package downloaden:

wget http://nodejs.org/dist/node-latest.tar.gz
 tar -xzvf node-latest.tar.gz
 cd node-v0.10.24

Installation von Node.js unter Debian und Ubuntu / Linux Mint

Der Kompilierungsvorgang kann unter Umständen einige Zeit in Anspruch nehmen, also geduldig bleiben ;)

./configure
 make
 make install

Installierte Node.js Version ausgeben:

node -v

Ausgabe Stand 21.01.2014:

v0.10.24
Dienstag, 23. April 2013 Linux, WebServer 13 Kommentare Author: Patrick Schoyswohl

QuickTipp: /bin/tar: Removing leading `/’ from member names

terminal-icon

Die Warnung “/bin/tar: Removing leading `/’ from member names” kommt wohl den meisten Linux Usern ziemlich bekannt vor. Doch was bedeutet diese Warnung eigentlich und warum wird sie ständig angezeigt? Ganz einfach erklärt:

Der Befehl wird für unser Beispiel wie folgt eingesetzt um das Verzeichnis /etc in das Archiv etc.tar.gz zu packen und zu komprimieren:

tar -czf etc.tar.gz /etc

Ausgabe:

tar: Removing leading `/' from member names

Die Meldung hat absolut seine Richtigkeit und ist durchaus sinnvoll, denn der tar Befehl entfernt den ersten / (trailing Slash), der zu sichernden Dateien und Verzeichnisse und “relativiert” somit den Pfad (etc/)…

Wenn das nicht passiert, dann würde beim Entpacken des Archivs sämtliche vorhandene Dateien, im Beispiel unter /etc, durch neuere Dateien aus dem Archiv überschrieben werden.

Absolute Pfade im tar Befehl verwenden und Warnung entfernen

Damit die Warnung verschwindet können auch absolute Pfade verwendet werden. Hierzu wird der Flag “P” (–absolute-names) gesetzt. Dieser teilt dem tar Befehl mit, dass absolute Pfade verwendet werden sollen und der trailing Slash erhalten bleibt (/etc).

tar -czPf etc.tar.gz /etc

Die Warnung verschwindet.

Entpacken des Archivs mit absoluten Pfaden

Wenn das Archiv nun ganz normal entpackt wird, wird ebenfalls der trailing Slash entfernt. (Doppelte Absicherung vom tar Befehl, also keine Sorge)

tar -xzf etc.tar.gz /etc

Ausgabe:

tar: Removing leading `/' from member names

Wird das Archiv allerdings mit dem Flag -P entpackt, so wird der absolute Pfad verwendet und /etc wird komplett überschrieben.

tar -xzPf etc.tar.gz /etc
Donnerstag, 18. April 2013 Linux 1 Kommentar Author: Patrick Schoyswohl

Movies as Code – Filme als Code dargestellt

Ziemlich Coole Webseite, wer sie noch nicht kennt: moviesascode.net

Filme werden als Codeschnipsel dargestellt. Hier ein paar Ausschnitte:

Dienstag, 16. April 2013 Allgemein 1 Kommentar Author: Patrick Schoyswohl

HowTo: Browser Caching im Apache Webserver aktivieren + htaccess mit mod_expires oder mod_headers

apache logo

Browser Caching ist eine einfache Methode um den Traffic einer Webseite zu reduzieren und somit die Performance zu erhöhen. Zudem dauert die Einrichtung im Apache Webserver maximal fünf Minuten und sollte bei allen gängigen Webhosting Paketen unterstützt werden.

Performance Test via Google Page Speed Insights

Auf Google Pages Speed Insights, kann man seine Website auf Geschwindigkeit (Performance) überprüfen lassen und erhält zudem eine detailierte Auswertung und sehr ernst gemeinte Verbesserungsvorschläge. Eine Überprüfung von www.sysadminslife.com sieht zB. (ohne aktiviertem Browser Cache) wie folgt aus:

Google sagt: “Browser-Caching nutzen” – Leverage Browser Caching

“Die Aktualität der folgenden Cache-fähigen Ressourcen ist nur von kurzer Dauer. Legen Sie fest, dass folgende Ressourcen künftig mindestens einmal pro Woche ablaufen”

Jeder moderne Webbrowser (Chrome, Firefox, Internet Explorer, etc) hat einen eingebauten Cache, was bedeutet: dass Dateien zwischengespeichert und nicht bei jedem Aufruf neu heruntergeladen werden müssen. Darunter fallen in der Regel Dateitypen wie Bilder, Stylesheets, Javascripts, etc.. Der Browsercache funktioniert allerdings nur dann vernünftig, wenn auch am Webserver entsprechende Regeln bzw. ein Ablaufdatum für die einzelnen Dateitypen festgelegt wird.

Ist eine entsprechende “expire” Regel aktiviert, so wird dem Browser vom Webserver mitgeteilt, dass zB. das Bild background.jpg für 7 Tage gecached werden kann. Der Browser muss das Bild somit nicht bei jedem Seitenaufruf neu laden, sondern behält es in seinem Zwischenspeicher. Das spart somit Traffic und dadurch auch Ladezeit.

Browser Caching aktivieren – htaccess mit mod_expires

Damit man das Browser Caching nun auf dem eigenen Root Server aktivieren kann, wird zuvor das Modul “mod_expires” aktiviert, falls es noch nicht aktiviert ist. Ein managed Webhosting Paket sollte das Modul eigentlich zur Verfügung stellen. Unter den gängigsten Linux Distributionen wird mod_expires folgendermaßen auf der Commandline aktiviert. Ein Neustart des Apache Prozess ist anschließend erforderlich:

a2enmod expires
/etc/init.d/apache2 restart

Anschließend wird in die bestehende .htaccess Datei (falls vorhanden) oder in eine neue .htaccess Datei folgender Inhalt eingefügt. Der Teil kann auch direkt in die globale Apache Konfiguration oder in die Vhost Konfiguration geschrieben werden. Die If Anweisung schützt dabei den Apache Prozess, sodass angeführte “Expire Regeln” nur zum Einsatz kommen, wenn auch das Modul mod_expires aktiviert ist:

<IfModule mod_expires.c>
  ExpiresActive On
  ExpiresByType image/gif "access plus 7 days"
  ExpiresByType image/ico "access plus 7 days"
  ExpiresByType image/jpeg "access plus 7 days"
  ExpiresByType image/jpg "access plus 7 days"
  ExpiresByType image/png "access plus 7 days"
  ExpiresByType text/css "access plus 7 days"
  ExpiresByType text/javascript "access plus 7 days"
  ExpiresByType application/x-javascript "access plus 7 days"
  ExpiresByType application/javascript "access plus 7 days"
</IfModule>

“ExpiresByType” spricht den MIME Type an und setzt via “access plus 7 days” den Cache Wert auf 7 Tage. Die entsprechenden Dateien bleiben also bis zu 7 Tage im Browser Cache erhalten. Hier kann natürlich auch ein höherer oder für gewisse MIME Types (css, xml, js, ..) auch ein niedrigerer Wert eingestellt werden. Je nach Anwendungsgebiet kann hier variiert werden. Mit 7 Tage haben wir allerdings gute Erfahrungen gemacht.

Alternative: Browser Caching mit mod_headers

Als Alternative zur Methode mit dem Modul mod_expires gibt es noch eine Variante mit dem Modul mod_headers. Hier können die Dateitypen direkt über die Dateiendungen angesprochen werden und nicht via MIME-Types:

a2enmod headers
/etc/init.d/apache2 restart

Nachdem das Modul aktiviert wurde, kann folgender Teil wieder direkt in die .htaccess Datei oder in die Apache Konfiguration eingetragen werden.

<IfModule mod_headers.c>
<FilesMatch "\.(gif|ico|jpeg|jpe|png|css|js)$">
Header set Cache-Control "max-age=604800, public"
</FilesMatch>
</IfModule>

Header set Cache-Control setzt den Wert für max-age auf 604800 Sekunden (7 Tage). Dem Browser wird somit mitgeteilt, dass die gespeicherten Dateien für 7 Tage aktuell sind und nicht erneut vom Server geladen werden müssen. Wenn man für andere Dateitypen noch verschiedene Ablaufdaten festlagen möchte, dann kann einfach eine weitere Zeile (<FilesMatch …. </FilesMatch>) eingefügt werden.

Auswirkung und Fazit

Sobald die htaccess Datei gespeichert wird, ist das Browser Caching aktiv. Eine Aktualisierung des Google Page Speed Insights sollte dabei sofort eine Score Verbesserung anzeigen:

Der Score nur durch die Aktivierung des Browser Caching von 87 auf 90 gestiegen. Das mag auf den ersten Blick nicht viel erscheinen, bringt aber tatsächlich ein wenig Geschwindigkeit und sollte daher auch genutzt werden. Warum Potential verschenken, wenn es so einfach umgesetzt werden kann? ;)

Weitere Verbesserungsmöglichkeiten bietet die gzip Komprimierung einer Website und die Verwendung eines OPcache für PHP.

Mittwoch, 10. April 2013 Apache, Linux, WebServer 3 Kommentare Author: Patrick Schoyswohl
Hosting-Lösungen (VPS, Dedicated Server, Webspace und Colocation) von Contabo

Subscribe to our mailing list

* indicates required Email Adresse *
Werbung schalten

*=Affiliatelink

Blogverzeichnis - Blog Verzeichnis bloggerei.de