== Vorwort ==
Diese Anleitung ist für fortgeschrittene Linuxbenutzer gedacht. Ich werde keinerlei Grundlagen erklären und auch nicht auf jede Einzelheit eingehen. Manche Befehle können in neueren Versionen abweichen, z. Bsp, Downloadlinks. Diese sollten dann bei Bedarf durch die neueren ersetzt werden. Dabei würde ich mich freuen, wenn man die Links dann auch direkt im Artikel abändern würde.
== SSH ==
Für die Kommunikation zwischen dem Server und dem Administrator kommt der SSH-Dienst zum Einsatz. Normalerweise sollte dieser schon auf dem Server installiert sein. Falls nicht, kann dies mit
nachträglich gemacht werden.
Die SSH-Konfiguration sollte so angepasst werden, dass sich der Benutzer root nicht mehr direkt per SSH anmelden kann. Dazu wird die Zeile
in
geändert. Dies hat den Vorteil, dass die meisten Login-Versuche fremder schon fehlschlagen und man für das erfolgreiche ***Kompremettieren*** mindestens zwei Passwörter braucht, das des normalen Benutzers und dass von root. Andererseits underbindet es die Faulheit des Administrators, wenn dieser nur eine kleine Aufgabe zu erledigen hat, welche auch un unpreveligierter Benutzer ausführen kann.
Weiterhin sollte der SSH-Daemon gegen Bruteforce-Attacken gesichert werden. Dies lässt sich einfach mit dem Programm denyhosts bewerkstelligen. Es sperrt einfach die IP-Adresse des PCs der sich mehrmals erfolglos versucht anzumelden.
Installiert wird denyhosts mit
Danach sollte die Konfigurationsdatei von denyhosts, welche unter /etc liegt, bearbeitet werden.
Zuerst wird die Frist definiert, nach der die Einträge wieder gelöscht werden sollen. Dazu verändern wir die Zeile
in
Damit werden Einträge, die älter als fünf Tage sind gelöscht. Dann sollte noch die Zeile mit dem Inhalt
überprüft werden. Hier wird die Anzahl der Versuche definiert, die man hat, bevor denyhosts die IP auf die Sperrliste setzt.
== Apache ==
Jetzt wird der Webserver. hier Apache2, mit PHP und MySql installiert. Dazu gibt man in der Shell folgendes ein:
Damit wird ein solides Grundsystem installiert, welches den meisten Anforderungen erst einmal ausreichen sollten.
Für die komfortable Administration bzw. Konfiguration des MySQL-Datenbanksystems wird PHPMyAdmin mit dem Befehl
installiert.
Jetzt wird PHPMyAdmin entsprechend abgesichert, so dass niemand mehr das übertragene Passwort entschlüsseln kann. Dazu muss man ein SSL-Zertifikat erstellen. Für den privaten Gebrauch sollte es ausreichen, wenn man das Zertifikat selbst signiert. Dadurch wird zwar z. Bsp. der Firefox eine entsprechende Warnung anzeigen, wenn wir auf die Seite gehen möchten, diese kann jedoch getrost ignoriert werden.
Wer sein Zertifikat für andere glaubwürdiger machen möchte, kann auf CaCert als kostenlose Certificate Authority nehmen, jedoch werden die Warnungen erst nach dem Import des Rootzertifikates von CaCert verschwinden. Alternativ kann man natürlich auch ein Zertifikat von Thawte oder VeriSign für mehrere Hundert Euro im Jahr nehmen.
Das Zertifikat wird mit
erzeugt und gleichzeitig unterschrieben.
Genaueres kann man in /usr/share/doc/apache2.2-common/README\Debian.gz nachlesen.
Diese Anleitung ist für fortgeschrittene Linuxbenutzer gedacht. Ich werde keinerlei Grundlagen erklären und auch nicht auf jede Einzelheit eingehen. Manche Befehle können in neueren Versionen abweichen, z. Bsp, Downloadlinks. Diese sollten dann bei Bedarf durch die neueren ersetzt werden. Dabei würde ich mich freuen, wenn man die Links dann auch direkt im Artikel abändern würde.
== SSH ==
Für die Kommunikation zwischen dem Server und dem Administrator kommt der SSH-Dienst zum Einsatz. Normalerweise sollte dieser schon auf dem Server installiert sein. Falls nicht, kann dies mit
nachträglich gemacht werden.
Die SSH-Konfiguration sollte so angepasst werden, dass sich der Benutzer root nicht mehr direkt per SSH anmelden kann. Dazu wird die Zeile
in
geändert. Dies hat den Vorteil, dass die meisten Login-Versuche fremder schon fehlschlagen und man für das erfolgreiche ***Kompremettieren*** mindestens zwei Passwörter braucht, das des normalen Benutzers und dass von root. Andererseits underbindet es die Faulheit des Administrators, wenn dieser nur eine kleine Aufgabe zu erledigen hat, welche auch un unpreveligierter Benutzer ausführen kann.
Weiterhin sollte der SSH-Daemon gegen Bruteforce-Attacken gesichert werden. Dies lässt sich einfach mit dem Programm denyhosts bewerkstelligen. Es sperrt einfach die IP-Adresse des PCs der sich mehrmals erfolglos versucht anzumelden.
Installiert wird denyhosts mit
Danach sollte die Konfigurationsdatei von denyhosts, welche unter /etc liegt, bearbeitet werden.
Zuerst wird die Frist definiert, nach der die Einträge wieder gelöscht werden sollen. Dazu verändern wir die Zeile
in
Damit werden Einträge, die älter als fünf Tage sind gelöscht. Dann sollte noch die Zeile mit dem Inhalt
überprüft werden. Hier wird die Anzahl der Versuche definiert, die man hat, bevor denyhosts die IP auf die Sperrliste setzt.
== Apache ==
Jetzt wird der Webserver. hier Apache2, mit PHP und MySql installiert. Dazu gibt man in der Shell folgendes ein:
Damit wird ein solides Grundsystem installiert, welches den meisten Anforderungen erst einmal ausreichen sollten.
Für die komfortable Administration bzw. Konfiguration des MySQL-Datenbanksystems wird PHPMyAdmin mit dem Befehl
installiert.
Jetzt wird PHPMyAdmin entsprechend abgesichert, so dass niemand mehr das übertragene Passwort entschlüsseln kann. Dazu muss man ein SSL-Zertifikat erstellen. Für den privaten Gebrauch sollte es ausreichen, wenn man das Zertifikat selbst signiert. Dadurch wird zwar z. Bsp. der Firefox eine entsprechende Warnung anzeigen, wenn wir auf die Seite gehen möchten, diese kann jedoch getrost ignoriert werden.
Wer sein Zertifikat für andere glaubwürdiger machen möchte, kann auf CaCert als kostenlose Certificate Authority nehmen, jedoch werden die Warnungen erst nach dem Import des Rootzertifikates von CaCert verschwinden. Alternativ kann man natürlich auch ein Zertifikat von Thawte oder VeriSign für mehrere Hundert Euro im Jahr nehmen.
Das Zertifikat wird mit
erzeugt und gleichzeitig unterschrieben.
Genaueres kann man in /usr/share/doc/apache2.2-common/README\Debian.gz nachlesen.
8.920 mal gelesen