Das Blog von Benni und Jonas
  • Subdomains und Apache

    Geschrieben am 4. Februar 2010 benni 5 Kommentare

      Subdomains sind eine tolle Sache. Damit kann man z.B. verschiedene Webseiten parallel mit einer Domain betreiben, oder spezielle Installationen über Subdomains organisieren. Wir haben etwa eine Subdomain für das Besucherstatistikprogramm Piwik eingerichtet.

      Man kann Apache so konfigurieren, dass es selbstständig den Subdomains Ordner zuweist, sie sozusagen als Wurzelverzeichnis verwendet werden sollen. Stichwort hierzu ist “Virtual Host”, Diese Dateien müssen unter beliebigen Namen im Ordner /etc/apache2/sites-available/ gespeichert werden. Standardmäßig befindet sich bereits eine Datei namens default in diesem Ordner, die als Vorbild für neue Dateien genutzt werden kann.

      Eine neue Subdomain richtet man nun ein, indem man eine weitere Datei in diesem Ordner ablegt, der Name ist dabei egal. Der Inhalt hingegen ist nicht egal. Ich werde nun den minimalen Inhalt zeigen, den eine Konfigurationsdatei beeinhalten muss:
      <VirtualHost *>
      ServerName sub.beispiel.de
      DocumentRoot /var/www/ordnername/
      </VirtualHost>

      Dabei gibt ServerName an, welche Domain hier beschrieben wird, im Beispiel beschreibt es die Seite sub.beispiel.de. Mit DocumentRoot wird angegeben, welcher Ordner als Wurzelverzeichnis genommen werden soll.
      Weiterlesen »

    • Directory listing unter Apache verhindern

      Geschrieben am 27. Januar 2010 benni 6 Kommentare

        Wie ich nicht ohne Stolz schon oft verkündet habe, sind wir gerade dabei, auf einen vServer umzuziehen. Bevor wir diesen aber für die Allgemeinheit über dieses Blog zugänglich machen, richten wir ihn natürlich erst ein.

        Unter anderem gibts bei Apache viel zu entdecken (und zu zerstören), weswegen ich Experimente nur langsam ausprobiere. Eines der Experimente war heute: Das Directory listing zu verhindern. Bei vielen Servern sieht man nämlich oft deren Inhalt, wenn man einen beliebigen Pfad zu einem vorhandenen Ordner eingibt. Das kann insofern gefährlich werden, als dass es Suchmaschinen so einfacher fällt, den Server mit allen Daten zu scannen, als auch dass andere über Befehle wie wget alle Dateien herunterladen und damit unnötigen Traffic erzeugen (ja, sowas kommt vor). Ganz abgesehen davon, dass es Kriminellen geradezu in die Hände spielt.

        In Foren kursiert oft die „Holzhammermethode“, dass man einfach in jeden Ordner eine leere index.html legt. Dass dies kein sinnvoller Weg ist, ist wohl offensichtlich ;-)

        Um diese „Lücke“ in der Sicherheit tatsächlich zu schließen, kann man unter Apache dieses Listing einfach deaktivieren. Notwendig sind dazu folgende Befehle:

        sudo a2dismod autoindex
        sudo /etc/init.d/apache2 restart

        Danach ist es nicht mehr möglich, über http den Ordnerinhalt auszulesen, selbst wenn in einer .htaccess für den Ordner ein +Indexes angegeben ist.

        Wiederbeleben kann man den autoindex mit diesen Befehlen:

        sudo a2enmod autoindex
        sudo /etc/init.d/apache2 restart