###
### Achtung, diese Anleitung ist veraltet. Bitte gehen Sie wie in
### http://www.pdadmin-forum.de/th…p?threadid=4241#post21673
### beschrieben vor.
###
Bei der Standardinstallation wird über Port 80 auf das Interface zugegriffen. Das daß nicht das Wahre ist sollte klar sein, so klar wie die Paßwörter übermittelt werden, im Klartext!!
Um hier Abhilfe zu schaffen und den Zugriff generell auf eine verschlüsselte Verbindung zu bringen, dazu dieses kleine HowTo.
Zuerst brauchen wir ein eigenes Certificate, ein sogenanntes „self-signed certificate“!
In der Konsole geben wir folgende Befehle ein:
openssl genrsa -out server.key 1024
openssl req -new -key server.key -out server.csr
openssl x509 -req -days 2000 -in server.csr -signkey server.key -out server.crt
Damit haben wir im Root- Verzeichnis zwei Certificate, den server.key und das server.csr.
Diese beiden Dateien kopieren wir z.B. in das Verzeichnis /var/www/cert/
Ich habe die Gültigkeit auf 2000 Tage gestellt, man will ja nicht jedes Jahr ein neues Certificate erstellen.
Das Certificate ist die Grundvoraussetzung für eine Verschlüsselung, die anderen Voraussetzungen stellen wir in der /etc/apache/httpd.conf ein
Zerst müsssen wir dem Indianer sagen das er nicht nur auf Port 80 lauscht sondern auch auf den Port 443!
In der httpd.conf (und natürlich auch in der httpd.conf-template) stellen wir folgendes ein:
Port 80
Listen 80
Listen 443
Mit diesem Eintrag hört der Indianer nun auch auf den Port 443 (der Port ist natürlich frei wählbar z.B. 444, 88 usw.)
Der nächste Eintrag behandelt den virtuellen Host! (Server IP natürlich richtig setzen)
<VirtualHost xxx.xxx.xxx.xxx:80>
DocumentRoot /var/www/
ServerName xxx.xxx.xxx.xxx
ServerAdmin admin@ihre-domain.de
</VirtualHost>
<VirtualHost xxx.xxx.xxx.xxx:443>
DocumentRoot /var/www/
ServerName xxx.xxx.xxx.xxx
ServerAdmin admin@ihre-domain.de
SSLEngine On
SSLCertificateFile /var/www/cert/deepsky.crt
SSLCertificateKeyFile /var/www/cert/deepsky.key
Alias /customer /opt/pdadmin/www/customer
Alias /administrator /opt/pdadmin/www/administrator
RewriteEngine On
RewriteRule /customer/sid/[a-z0-9]+/(.*) /opt/pdadmin/www/customer/$1
RewriteRule /administrator/sid/[a-z0-9]+/(.*) /opt/pdadmin/www/administrator/$1
Alias /phpmyadmin/ /var/www/phpmyadmin/
</VirtualHost>
Alles anzeigen
Im ersten VHost Eintrag werden die Rewrite ausdokumentiert oder gelöscht, wir wollen ja erreichen, dass unsere Kunden „gezwungen“ werden auf unserem Server nur mit einer verschlüsselter Verbindung auf das Interface zu zugreifen. Auch ist ab jetzt das PhPMyAdmin- Interface für unsere Kunden auch nur noch über SSL erreichbar. (Alias /phpmyadmin/ /var/www/phpmyadmin/) unter den zweiten VHost Eintrag.
Jetzt brauchen wir nur noch den Indianer mit „apachectl graceful“ neu zu starten und das PD-Admin Interface ist ab sofort nur noch über https://admin.ihre.domain.de/customer oder https://ihre-domain.de/customer/ (administrator) zu erreichen. Natürlich auch über https://xxx.xxx.xxx.xxx/administrator (customer) erreichbar. Auf Port 80, also den unverschlüsselten Port ist das Interface nicht mehr zu erreichen.
Soll das Interface unseres Server auch auf Port 80 erreichbar sein, so muß der erste Eintrag um...
------------------------------------------------------
Alias /customer /opt/pdadmin/www/customer
Alias /administrator /opt/pdadmin/www/administrator
RewriteEngine On
RewriteRule /customer/sid/[a-z0-9]+/(.*) /opt/pdadmin/www/customer/$1
RewriteRule /administrator/sid/[a-z0-9]+/(.*) /opt/pdadmin/www/administrator/$1
------------------------------------------------------
erweitert werden. Damit ist allerdings wieder das Interface über den unverschlüsselten Port 80 erreichbar und unsere Arbeit ist zum Absurdum geworden.
Anzumerken ist hier noch... alle Änderungen auch in der „httpd.conf-template“ durchführen... sonst ist beim Anlegen einer neuen Domain alles weg... was man auch sogleich im PD-Admin Interface erfährt (https -Verbindung wird unterbrochen).
Mit diesen kleinen Eintragen werden unsere Daten verschlüsselt übertragen und setzt die Sicherheit unseres Server ein Zacken höher.
Quellenangabe: Sicherer Server mit Linux (O´Reilly, ISBN 3-89721-139-4)
Sicherheits Kochbuch (o´Reilly, ISBN 3-89721-371-0)
Internet
-------------
Vielen Dank an dieser Stelle an BerndK der dieses HowTo erstellt hat.
mfg Tim