Zum Inhalt wechseln

Als Gast hast du nur eingeschränkten Zugriff!


Anmelden 

Benutzerkonto erstellen

Du bist nicht angemeldet und hast somit nur einen sehr eingeschränkten Zugriff auf die Features unserer Community.
Um vollen Zugriff zu erlangen musst du dir einen Account erstellen. Der Vorgang sollte nicht länger als 1 Minute dauern.

  • Antworte auf Themen oder erstelle deine eigenen.
  • Schalte dir alle Downloads mit Highspeed & ohne Wartezeit frei.
  • Erhalte Zugriff auf alle Bereiche und entdecke interessante Inhalte.
  • Tausche dich mich anderen Usern in der Shoutbox oder via PN aus.
 

   

Foto

[Anleitung] Webserver auf Linuxbasis einrichten u. absichern

- - - - -

  • Bitte melde dich an um zu Antworten
Keine Antworten in diesem Thema

#1
B1nary

B1nary

    Samurai

  • Elite Member
  • Likes
    489
  • 506 Beiträge
  • 346 Bedankt

Wichtige Vorbemerkung

 

Dieses Tutorial beschreibt nicht, wie ihr euren VPS / Root (im folgenden der Einfachheit wegen nur VPS genannt) im Allgemeinen absichert (SSH Key Login, Fail2Ban, Port-Whitelisting, etc.), sondern ausschließlich den installierten Webserver!

Vorbereitungen

 

Verbindet euch mit SSH auf euren VPS und aktualisiert zuerst die Paketquellen

 

     apt-get update

 

Da ich in diesem Tutorial mit dem Editor nano arbeite, solltet ihr diesen auch installieren, falls nicht schon vorhanden. Wer mit vi etc. arbeiten möchte, kann das natürlich gerne tun und kann folgenden Schritt überspringen

 

     apt-get install nano

 

Webserver-Software installieren

 

Nun installieren wir zuerst die Webserver-Software. Ich empfehle an dieser Stelle hier den Apache HTTP Server aufgrund der Stabilität, Geschwindigkeit und der Vielzahl an mitgelieferten / unterstützten Modulen

 

     apt-get install apache2

 

Bevor wir fortfahren können, müssen wir einen Blick auf das Rechte-Management werfen. Der öffentliche Ordner des Apache Webservers ist /var/www. Hier werden auch später Dateien für die Website abgelegt. Um dort nun alle neu erstellten (= hochgeladenen) Dateien der Verzeichnisgruppe zuzuordnen, ändern wir wie folgt die Rechte

 

     chmod g+s /var/www

 

Außerdem werden so alle ausführbaren Dateien als Benutzer der Verzeichnisgruppe ausgeführt und nicht als "externer" Benutzer.

 

Das Verzeichnis muss nun noch les-, schreib- und ausführbar gemacht werden. Hierzu setzen wir die Zugriffsrechte des Verzeichnisses auf rwxrwxr-x. Das bedeutet, dass nur der Besitzer und die Gruppe des Verzeichnisses lesen, schreiben und Dateien ausführen dürfen, alle anderen dürfen nur lesen und ausführen. Wir nutzen bei der Rechtevergabe numerische Werte

 

     chmod 775 /var/www

 

Zuletzt ändern wir noch den Eigentümer-Benutzer und / -gruppe. Der Benutzer www-data mit der gleichnamigen Gruppe wird damit als Besitzer des Verzeichnisses /var/www mit allen Unterordnern und Dateien (rekursive Anwendung) festgelegt

 

     chown --recursive www-data:www-data /var/www

 

Ruft nun euren VPS über den Browser auf (Eingabe der IP-Adresse). Ihr solltet nun folgende Ausgabe sehen

 

workstbqkw.png

 

PHP installieren

 

Der Webserver ist jetzt betriebsbereit, also können wir uns nun an die Einrichtung bzw. Konfiguration machen. Zuerst installieren dir PHP der Version 5 und das dazu passende Apache-Modul

 

     apt-get install php5 libapache2-mod-php5

 

Datenbankverwaltung installieren

 

Als Datenbankverwaltungssystem nutze ich hier MySQL. Im Folgenden installieren wir den MySQL-Server, den MySQL-Client, das zugehörige MySQL-Paket für PHP und natürlich wieder das entsprechende Apache-Modul

 

     apt-get install mysql-server mysql-client php5-mysql libapache2-mod-auth-mysql

 

Wir werden während der Installation aufgefordert, ein Passwort für den MySQL-Administrator zu vergeben

bildschirmfoto2015-06n9q07.png

Danach solltet ihr den VPS einmal neustarten, damit wirklich alle Änderungen und Aktualisierungen aktiv werden

 

     reboot

 

phpMyAdmin installieren

 

Nun installieren wir phpMyAdmin, eine Webanwendung zur Administration von MySQL-Datenbanken

 

     apt-get install phpmyadmin

 

Ein Installationsassistent führt uns wieder durch die Konfiguration. Zuerst müssen wir einen Wevserver auswählen. Da wir Apache2 installiert haben, setzen wir dort natürlich auch den Haken (Leertaste) und bestätigen mit <Ok> (Tab und Enter)

bildschirmfoto2015-0698o49.png

Danach müssen wir phpMyAdmin mit dem MySQL-Server konfigurieren und wählen dazu in der Aufforderung <Yes>. Nun werden wir aufgefordert, das MySQL-Administratorpasswort einzugeben, welche wir zuvor festgelegt haben

bildschirmfoto2015-0633qlq.png

Nun vergeben wir ein Passwort, um uns später in die phpMyAdmin-Webanwendung einloggen zu können. Wählt hier ein starkes Passwort, um Bruteforce-Angriffe zu erschweren

bildschirmfoto2015-06umpla.png

Die Konfiguration ist abgeschlossen. Damit PHP nun auch die MySQL-Erweiterung zuverlässig lädt, tragen wir diese noch in die Konfigurationsdatei php.ini ein. Öffnet die Datei

 

     nano /etc/php5/apache2/php.ini

 

und trag gleich in die zweite Zeile nach [PHP] folgenden Wert ein

 

     extension=mysql.so

 

Speichert die Datei (Ctrl + O) und schließt sie wieder (Ctrl + X). Damit die Änderungen wirksam werden, starten wir einmal den Webserver-Service neu

 

     service apache2 restart

 

Wann immer ihr Änderungen am Webserver betreffend Apache2 vornehmt, reicht ein Neustart des entsprechenden Services. Ihr müsst nicht immer den kompletten VPS rebooten. phpMyAdmin ist nun erreichbar unter

Please Login HERE or Register HERE to see this link!

 

phpMyAdmin Adresspfad ändern

 

Um es Angreifern zu erschweren, eure phpMyAdmin Webanwendung zu finden, solltet ihr den Adresspfad ändern. Das bedeutet, phpMyAdmin ist nicht mehr unter /phpmyadmin zu erreichen (der Standardpfad) sondern unter einem durch euch zugewiesenen individuellen Pfad. Öffnet hierzu die Konfigurationsdatei von phpmyadmin

 

     nano /etc/phpmyadmin/apache.conf

 

Gleich in der zweiten Zeile seht ihr den standardmäßigen Aliad-Pfad

 

     Alias /phpmyadmin /usr/share/phpmyadmin

 

Ändert nun hier /phpmyadmin zu einem anderen Wert um, je ausgefallener, desto besser. Vergesst aber nicht den führenden Slash und achtet darauf, dass das Leerzeichen zwischen eurem Wert und dem phpMyAdmin-Verzeichnis bleibt. Speichert die Datei und startet den Apache-Service neu. phpMyAdmin ist nun unter dem durch euch zugewiesenen Pfad erreichbar.

 

phpMyAdmin Zugangsschutz verstärken

 

Wir sind uns einig, dass in der Datenbank wohl die sensiblesten Daten der Website liegen. Sollte also ein Angreifer den phpMyAdmin-Zugang geknackt oder irgendwie bypassed haben, fallen ihm all diese Daten in die Hände. Ich empfehle daher, den Zugangsschutz durch eine weitere Authentifizierung zu erhöhen.

 

Und zwar richten wir uns eine HTTP-Auth Anmeldebestätigung ein. Wer das nicht möchte, kann diesen Schritt überspringen. Wie gesagt, ich empfehle es dringend! Die HTTP-Auth benötigt .htaccess, daher müssen wir das phpMyAdmin-Verzeichnis dahingehend vorbereiten. Wir öffnen wieder die Konfigurationsdatei

 

     nano /etc/phpmyadmin/apache.conf

 

und fügen dem Bereich <Directory /usr/share/phpmyadmin> die Anweisung AllowOverride All hinzu

bildschirmfoto2015-06f3ox2.png

Nun müssen wir die Authentifizierung anlegen. Dazu erstellen wir eine .htaccess-Datei im phpMyAdmin-Verzeichnis

 

     nano /usr/share/phpmyadmin/.htaccess

 

und tragen folgende Zeilen ein

 

     AuthType Basic
     AuthName "Zugang verweigert, bitte anmelden!"
     AuthUserFile /etc/phpmyadmin/.htpasswd
     Require valid-user

 

Die Zeile AuthType Basic beschreibt Methode der Authentifizierung. Basic ist die HTTP-Variante. Den Wert für AuthName könnt ihr natürlich entsprechend anpassen, er erscheint dann in der Anmeldeaufforderung. Die Zeile AuthUserFile /etc/phpmyadmin/.htpasswd definiert den Pfad zur Passwortdatei, auch hier könnt ihr Änderungen vornehmen (den Pfad ändern). Require valid-user legt fest, dass sich nur Benutzer, welche auch in der Passwortdatei stehen, anmelden können.

Speichert die Datei und schließt diese.

 

Nun erstellen wir unsere Passwortdatei bzw. legen einen Benutzernamen und ein Passwort fest

 

     htpasswd -c /etc/phpmyadmin/.htpasswd Benutzername

 

Das Modul htpasswd erstellt eine neue Datei (-c) unter dem angegebenen Pfad (dieser muss mit dem in der .htaccess festgelegten Pfad übereinstimmen!) und legt ein Passwort für den angegebenen Benutzernamen fest. Gebt euer gewünschtes Passwort ein und bestätigt es mit Enter. Für jeden weiteren Benutzer könnt ihr den gleichen Befehl nutzen, entfernt aber die Flagge -c. Ansonsten überschreibt ihr jedes Mal die Datei und entfernt bisherige Benutzer.

 

Startet nun den Apache-Service neu und schaut euch das Ergebnis im Browser an, indem ihr euren Pfad zum phpMyAdmin-Verzeichnis in der Adresszeile aufruft.

 

mod_rewrite einrichten

 

mod_rewrite ist ein Apache-Modul zum Manipulieren der URL. So können beispielsweise Mammut-URLs schlanker gestaltet werden oder auch nichtssagende Links "sprechend" dargestellt werden. Letzteres freut insbesonders die Suchmaschinen. Aber auch einen gewissen Sicherheitsaspekt hat das Ganze, da Parameter verschleiert werden können. Allerdings werden dadurch keine Angriffsvektoren verhindert!

 

Ein Beispiel

 

     vollst. URL    domain.com/index.php?page=profile&userid=1337&lang=de&display=true
     mod_rewrite domain.com/de/1/profile/1337-b1nary/

 

Eine festgelegte Regel holt sich nun aus der mod_rewrited URL nach einem deklarierten Muster alle benötigten Informationen. Hierzu bitte an anderer Stelle mehr informieren, hier geht es nun lediglich um die Einrichtung. Das Modul können wir simpel mit dem Befehl

 

     a2enmod rewrite

 

starten (apache2 enable module rewrite). Leider war's das noch nicht ganz, wir müssen noch eine Änderung vornehmen. Wir bearbeiten zuerst die Datei, um das Modul mod_rewrite zu laden

 

     nano /etc/apache2/mods-enabled/rewrite.load

 

Wenn diese Datei noch nicht existiert (und dementsprechen neu angelegt wird und leer ist), fügt folgendes ein

 

     LoadModule rewrite_module /usr/lib/apache2/modules/mod_rewrite.so

 

Ist diese Zeile bereits vorhanden, könnt ihr die Datei wieder unverändert schließen. Wechselt nun in das Verzeichnis für die virtuellen Hosts unter Apache

 

     cd /etc/apache2/sites-available

 

und lasst euch via

 

     ls

 

den Verzeichnisinhalt ausgeben. Ihr solltet neben anderen Dateien die Datei default.conf oder 000-default.conf finden, je nachdem evtl. auch sogar ohne Dateiendung. Öffnet die entsprechende, bei euch vorkommende Datei und bearbeitet folgenden Teil

 

     <Directory /var/www/>
          Options Indexes FollowSymLinks MultiViews
          AllowOverride none
          Order allow,deny
          allow from all
     </Directory>

 

indem ihr die Zeile AllowOverride none auf AllowOverride all setzt. Danach startet ihr den Apache-Service neu, um das Modul mod_rewrite zu aktivieren.

 

Nach Abschluss der gesamten Konfiguration eures VPS als Webserver schadet es nicht, den VPS komplett einmal neuzustarten.

 


  • Mr_NiceGuy, SAR, Bypass und 6 anderen gefällt das



  Thema Forum Themenstarter Statistik Letzter Beitrag

Dieses Thema wurde von 60 Mitglied(ern) gelesen


    .dexter', 0*ptr, Alpha63, Alsuna, B1nary, BlackZetsu, Bot4ng, Bypass, casamonica, Ch!ller, cX., CyberFlash, desmond, FalkE, fAYe, Framerater, Franziskaner, g0rillaz, H2Olli, Imperial, J0cker, kiwitone, L33toe, len0, lion., lNobodyl, loken, lolorollo, MariRut, MDDD, Meikyo, most_uniQue, Mr_NiceGuy, nibble nibble, old_panther, Osed28, p0pc0rn, Ph@ntom, Pornotnthase, Psykoon303, R3s1stanc3, rastalani, ReBBeL, redcore, ref0rm, Revofire, SAR, smc2014, st0rm, Subnet, t33t86, Take1T, TeamSploit, Toolbase, ueEqlL, umarex, ValleX, weedneger77, xmmlegends, xtrx
Die besten Hacking Tools zum downloaden : Released, Leaked, Cracked. Größte deutschsprachige Hacker Sammlung.