Jan 26
TLS ist ein Zertifikat, die für vielen Bereichen Verwendung finden kann. Z.b. für verschlüsselte Webseiten oder für den verschlüsselten Email Verkehr.
Hier wird ein Zertifikat erstellt und selbst signiert. Da wir diesen später in Dovecot + Postfix einfügen, sind wir hier im der Pfadstruktur von Postfix.
Wo Ihr dieses Zertifikat erzeugt ist aber prinzipell egal.
Befehl für Shell/Batch:
|
mkdir /etc/postfix/tls
cd /etc/postfix/tls
|
Nun erzeugen wir einen privaten RSA Key. In einer 2048Bit Länge
Befehl für Shell/Batch:
|
openssl genrsa -out mail.key 2048
|
Als nächstes erzeugen wir eine sogannte CSR-Datei (Certificate Signing Request [engl.])
Wichtig hier ist bei der Abfrage bei: Common Name das hier hier eure korrekte Domain eintragt. z.b. webspace-for-you.de oder wenn es über eine Subdomain läuft: pop3s.webspace-for-you.de
Abhängig davon, was Ihr (eure Kunden) als Posteingangsserver / Postausgangsserver eintragen müssen.
Die Passwort-Abfrage lassen wir einfach leer. (Enter)
Befehl für Shell/Batch:
|
openssl req -new -key mail.key -out mail.csr
|
Zitat:
|
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter ‚.‘, the field will be left blank.
—–
Country Name (2 letter code) [AU]:DE
State or Province Name (full name) [Some-State]:Brandenburg
Locality Name (eg, city) []:Lübben
Organization Name (eg, company) [Internet Widgits Pty Ltd]:webspace-for-you Team
Organizational Unit Name (eg, section) []:webspace-for-you Team
Common Name (eg, YOUR name) []:webspace-for-you.de
Email Address []:info@DEINE_EMAIL_ADDY.de
Please enter the following ‚extra‘ attributes
to be sent with your certificate request
A challenge password []:
An optional company name []:
|
So wie es oben beschrieben worden ist, gilt es immer. Also immer wenn Ihr ein SSL Zertifikat erstellen wollt.
Dieses Zertifikat muß aber noch signiert werden. Hier gibt es 2 Möglichkeiten:
* von ein Trust-Center z.b. PSW(kommerziell, aber ohne Fehlermeldung)
* wir selbst (Kostenfrei, aber Browser und Email-Client werden einmalig einen Fehler anzeigen)
Wir erzeugen nun einen kostenfreies lizensiertes Zertifikat, mit einer Laufzeit (Gültigkeit) von 10 Jahren.
Befehl für Shell/Batch:
|
openssl x509 -req -days 3650 -in mail.csr -out mail.cert -signkey mail.key
|
Aug 05
Normalerweise wird ein PHP Code mit <?PHP eingeleitet.
Wer alte Scripte oder schlecht programmiert hat, der verwendet <?
Dies ist aber seit der PHP5 Version nicht mehr vorgesehen, da es kein sauberes Programieren ist.
Wir empfehlen, alle Script dahingehen zu ändern, das <? mit <PHP ersetzt wird.
Werd dies aber nicht machen möchte hat noch eine alternative Möglichkeit, die alte Einstellung in PHP wieder zu aktivieren.
Das Zauberwort heißt short_open_tags und findet sich in der php.ini
In SUSE liegt diese in folgenden 2 Pfaden
Befehl für Shell/Batch:
|
/etc/php5/cli/php.ini
/etc/php5/apache2/php.ini
|
Je nachdem, wie PHP bei euch läuft, müßt Ihr die php.ini entsprechend bearbeiten.
Befehl für Shell/Batch:
|
vi /etc/php5/apache2/php.ini
|
Normalerweise so um die Zeile 131 zu finden. (OpenSuse 10.3)
Dies ändert man nun auf
Zitat:
Und den Apachen danach nicht vergessen zu restarten.
Jun 26
Damit der Apache2 Dienst auf den Port 443 lauschen kann, muß dieser „geöffnet“ werden.
Dies tun wir indem wir in der listen.conf das # Zeichen löschen.
Befehl für Shell/Batch:
|
vi /etc/apache2/listen.conf
|
Zitat:
Mrz 24
Befehl für Shell/Batch:
|
cd /etc/apache2
mkdir ssl
cd ssl
|
Befehl für Shell/Batch:
|
openssl req -new -nodes -keyout www_DEINE_DOMAIN_de.key -out www_DEINE_DOMAIN_de.csr -newkey rsa:2048
|
Das ganze sieht wie folgt aus. Bei der Abfrage von [Common Name] müßen Sie die Domain Adresse eingeben, die Sie mit https einrichten wollen. Bei der Frage eines Passwortes => das leer lassen (einfach Enter drücken)
Befehl für Shell/Batch:
|
openssl req -new -nodes -keyout www_webspace-for-you_de.key -out www_webspace-for-you_de.csr -newkey rsa:2048
|
Zitat:
|
Generating a 2048 bit RSA private key
………………………………………………………………………….+++
………………………………….+++
writing new private key to ‚www_webspace-for-you_de.key‘
—–
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter ‚.‘, the field will be left blank.
—–
Country Name (2 letter code) [AU]:DE
State or Province Name (full name) [Some-State]:Brandenburg
Locality Name (eg, city) []:Lübben
Organization Name (eg, company) [Internet Widgits Pty Ltd]:webspace-for-you Team
Organizational Unit Name (eg, section) []:webspace-for-you Team
Common Name (eg, YOUR name) []:webspace-for-you.de
Email Address []:info@DEINE_EMAIL_ADDY.de
Please enter the following ‚extra‘ attributes
to be sent with your certificate request
A challenge password []: <ENTER>
An optional company name []: <ENTER>
|
Mrz 16
Man bearbeite die Datei:
Befehl für Shell/Batch:
|
vi /etc/sysconfig/apache2
|
und sucht dort nach Apache_Modules.
Dort fügt man rewrite mit ein und startet den apachen neu.
Zitat:
|
APACHE_MODULES=“actions alias auth_basic authn_file authz_host authz_groupfile authz_default authz_user authn_dbm autoindex cgi dir env expires include log_config mime negotiation setenvif ssl suexec userdir php5 rewrite“
|
Mrz 15
Standard sind 2 MB pro Datei/Bild an erlaubten Upload bei PHP (man möge mich korrigieren, sollte es anders sein sollte)
Um diesen zu beheben, editiert man die php.ini
Befehl für Shell/Batch:
|
vi /etc/php5/apache2/php.ini
|
Dort sucht man nun nach upload_max_filesize und setzt nun seinen gewünschten neuen Wert.
Zitat:
|
; Maximum allowed size for uploaded files.
upload_max_filesize = 5M
|
Danach den apachen neu starten.
Mrz 13
Um Kontrolle darüber zu haben, wie viel Last der Apache wegnimmt bzw. generell zu sehen, was gerade läuft, müßen wir status_module / ExtendedStatus aktivieren.
Befehl für Shell/Batch:
|
vi /etc/apache2/httpd.conf
|
Dort (irgendwo) folgendes eintragen:
Zitat:
|
LoadModule status_module /usr/lib64/apache2/mod_status.so
ExtendedStatus On
SetHandler server-status
Order deny,allow
Deny from all
Allow from all
|
Apachen neustarten:
Befehl für Shell/Batch:
|
/etc/init.d/apache restart
|
Wie Ihr (hoffentlich) gesehen habt, ist das der Eintrag für ein 64-Bit Suse System. (Zeile 1 = lib64)
Falls eure mod_status.so wo anders liegt, dann einfach den Pfad ändern.
Befehl für Shell/Batch:
|
find . / -name mod_status.so
|
Das ganze läßt sich dann wie folgt von der Browseroberfläche aufrufen:
Zitat:
|
http://www.EURE-DOMAIN.de/server-status oder
http://IP-ADDY/server-status
|
Wer nicht möchte, das man diese Datei so öffendlich aufrufen kann, der sollte den Pfad ändern (/server_status).
Am sichersten wäre es allerdings eine Passwortabfrage zu generieren.