Let's Encrypt Apache Konfiguration (für Domains)

Locked
User avatar
codestatt
Posts: 13
Joined: Tue 2. Feb 2016, 21:28

Let's Encrypt Apache Konfiguration (für Domains)

Post by codestatt »

Hallo zusammen!

Weil ich grad mein Zertifikat erneuern musste, dacht ich mir ich poste einfach mal einen Teil meiner Config hier, damit andere User auch in den Genuss von Let's Encrypt Zertifikaten kommen.

Dies ist kein vollständiges Tutorial, nur ein Ausschnitt aus meiner <username>.conf aus /etc/apache2/keyhelp_vhosts/

Als Anleitung für die Let's Encrypt Installation bin ich entsprechend folgendem Tutorial vorgegangen: https://www.digitalocean.com/community/ ... untu-14-04

Der Teil aus meiner <username>.conf sieht nun wie folgt aus (bitte <domainnamen_einsetzen> durch den gewünschten Domainnamen ersetzen, mit dem das Let's Encrypt Zertifikat erstellt wurde):

Code: Select all

    SSLEngine On
    SSLCertificateFile /etc/letsencrypt/live/<domainnamen_einsetzen>/cert.pem
    SSLCertificateKeyFile /etc/letsencrypt/live/<domainnamen_einsetzen>/privkey.pem
    SSLCertificateChainFile /etc/letsencrypt/live/<domainnamen_einsetzen>/chain.pem

    SSLCipherSuite AES256+EECDH:AES256+EDH:AES128+EECDH:AES128+EDH
    SSLProtocol -ALL -SSLv3 +TLSv1 +TLSv1.1 +TLSv1.2

    SSLHonorCipherOrder on
    SSLStrictSNIVHostCheck Off
    SSLCompression off

    SSLOptions +FakeBasicAuth +ExportCertData +StrictRequire

    <IfModule mod_headers.c>
            Header always set Strict-Transport-Security "max-age=63072000; includeSubDomains"
            Header edit Set-Cookie ^(.*)$ $1;HttpOnly;Secure
            Header always set X-Frame-Options SAMEORIGIN
    </IfModule>
Dieser kleine Teil sollte euch dann auch ein A+ beim SSLLabs SSL Test bescheren.

Viel Spaß damit!

Gruß
Tom
User avatar
b0snaX
Posts: 261
Joined: Tue 26. Apr 2016, 20:18

Re: Let's Encrypt Apache Konfiguration (für Domains)

Post by b0snaX »

Hallo zusammen,

ich bin ebenfals der gleichen anleitung gefolgt auf dem link oben und bei SSL Labs steht auch ein A blos wenn ich meine domain aufrufe kommt die default page von Ubuntu und nicht die eigentliche Index seite von Keyhelp. Muss man da noch was gesondert einrichten ?

Danke schonmal im vorraus.
Schöne Grüße,
b0snaX

Code: Select all

if ($ahnung == 'keine' ) { use ( Handbuecher ) && ( Google | | Suche ) }
if ($antwort == 0 ) { post ( Frage ) }
Thomas Alva Edison wrote:Ich habe nicht versagt. Ich habe mit Erfolg zehntausend Wege entdeckt, die zu keinem Ergebnis führen.
User avatar
Alexander
Keyweb AG
Posts: 3810
Joined: Wed 20. Jan 2016, 02:23

Re: Let's Encrypt Apache Konfiguration (für Domains)

Post by Alexander »

Hallo,

wenn die Ubuntu default Seiten erscheinen, so sind diese sicherlich unbewusst aktiviert wurden. Prüfen Sie einmal, ob sich Dateien unter /etc/apache2/sites-enabled/ befinden und deaktivieren Sie die wahrscheinlich dort vorhandenen default Seiten mit

a2dissite 000-default.conf
a2dissite default-ssl.conf

Anschließend den Webserver neu laden mit

service apache2 reload
Mit freundlichen Grüßen / Best regards
Alexander Mahr

**************************************************************
Keyweb AG - Die Hosting Marke
Neuwerkstr. 45/46, 99084 Erfurt / Germany
http://www.keyweb.de - http://www.keyhelp.de
**************************************************************
User avatar
b0snaX
Posts: 261
Joined: Tue 26. Apr 2016, 20:18

Re: Let's Encrypt Apache Konfiguration (für Domains)

Post by b0snaX »

Hallo Alexander,

da ist nur eine Let's Encrypt verknüpfung. Muss ich den codeschnippsel von codestatt noch irgendwo einfügen oder ist es nur dann erforderlich wenn man Zertifikat verlängert ?
Schöne Grüße,
b0snaX

Code: Select all

if ($ahnung == 'keine' ) { use ( Handbuecher ) && ( Google | | Suche ) }
if ($antwort == 0 ) { post ( Frage ) }
Thomas Alva Edison wrote:Ich habe nicht versagt. Ich habe mit Erfolg zehntausend Wege entdeckt, die zu keinem Ergebnis führen.
User avatar
codestatt
Posts: 13
Joined: Tue 2. Feb 2016, 21:28

Re: Let's Encrypt Apache Konfiguration (für Domains)

Post by codestatt »

Also der Teil von mir muss in die vhost Config vom Apache, die zu deiner Domain gehört, welche du mit Let's Encrypt sichern möchtest.
Leider wird diese Config mit jeder Änderung in Keyhelp, die du an deiner Domain durchführst, überschrieben. Musst sie also jedes Mal erneut durchführen.
Wenn nur die Default Seite erscheint, gibts da ein anderes Problem.
User avatar
b0snaX
Posts: 261
Joined: Tue 26. Apr 2016, 20:18

Re: Let's Encrypt Apache Konfiguration (für Domains)

Post by b0snaX »

Hallo codestatt,

hab nun den fehler gefunden, der fehler war das ich die Anleitung komplett befolgt habe und damit den client in /opt/ installiert habe. In deinem code jedoch sucht er das zertifikat in /etc/ das wird die Ubuntu Default seite ausgelöst haben. Auch habe ich nicht den befehl certonly genutzt und der Client hat versucht automatisch de vhost zu finden, was natürlich gescheirtert ist.

Nun ich habe es folgendermaßen gemacht:

Code: Select all

apt-get update
apt-get install git
dann folgendes

Code: Select all

git clone https://github.com/letsencrypt/letsencrypt
cd letsencrypt
Anschließend mit:

Code: Select all

service apache2 stop
Den webserver abgeschaltet bevor ich das Zertifikat abgeholt habe mit:

Code: Select all

./letsencrypt-auto certonly -d meinedomain.tld -d www.meinedomain.tld
Dann habe ich mir den ordner /etc/letsencrypt runtergeladen und mit

Code: Select all

service apache2 start
Den webserver wieder gestartet.

In KeyHelp habe ich die 3 Datein privkey.pem , cert.pem und chain.pem unter SSLZertifikate >> SSL Zertifikat hinzufügen hochgeladen. Dann habe ich die betreffende Domain editiert und das neue Zertifikat ausgewählt, beide hacken gesetzt und gespeichert. Letztlich habe ich nur noch deinen Code mit meinem Domain Namen versehen und in /etc/apache2/keyhelp/vhots/benutzer.conf unter:

Code: Select all

# meinedomain.tld
<VirtualHost *:443>
    ServerName meinedomain.tld
Die ersten 3 Zeilen gelöscht und den editierten code eingefügt. Ich habe dann noch Letztlich den Server komplett neugestartet mit dem befehl:

Code: Select all

reboot
Ich weiss nicht ob dies nötig gewesen wäre aber schaden tut es auch nicht. Und abschliessend habe ich die verbindung getestet und bei SSL Labs auch ein Check durchgefür und wie du es sagtest ein A+ bekommt man dann.

Danke noch einmal an Dich und Alexander für die unterstützung, falls noch jemand damit ein problem haben sollte habe ich hier meine Vorgehensweise beschrieben.
Schöne Grüße,
b0snaX

Code: Select all

if ($ahnung == 'keine' ) { use ( Handbuecher ) && ( Google | | Suche ) }
if ($antwort == 0 ) { post ( Frage ) }
Thomas Alva Edison wrote:Ich habe nicht versagt. Ich habe mit Erfolg zehntausend Wege entdeckt, die zu keinem Ergebnis führen.
User avatar
Reseller4711
Posts: 210
Joined: Thu 5. May 2016, 17:50

Re: Let's Encrypt Apache Konfiguration (für Domains)

Post by Reseller4711 »

Danke für die Beschreibung. #läuft :D
User avatar
Martin
Posts: 984
Joined: Wed 20. Jan 2016, 00:43

Re: Let's Encrypt Apache Konfiguration (für Domains)

Post by Martin »

Hallo,

in folgendem Thema habe ich noch beschrieben, wie, als Workaround, eine automatische Aktualisierung mittels des Let's Encrypt Clients möglich wäre:

viewtopic.php?f=7&t=43#p305
Viele Grüße,
Martin
trollolol
Posts: 144
Joined: Wed 18. Sep 2019, 10:18
Location: Eisenach

Re: Let's Encrypt Apache Konfiguration (für Domains)

Post by trollolol »

codestatt wrote: Tue 26. Apr 2016, 22:36

Code: Select all

    SSLEngine On
    SSLCertificateFile /etc/letsencrypt/live/<domainnamen_einsetzen>/cert.pem
    SSLCertificateKeyFile /etc/letsencrypt/live/<domainnamen_einsetzen>/privkey.pem
    SSLCertificateChainFile /etc/letsencrypt/live/<domainnamen_einsetzen>/chain.pem

    SSLCipherSuite AES256+EECDH:AES256+EDH:AES128+EECDH:AES128+EDH
    SSLProtocol -ALL -SSLv3 +TLSv1 +TLSv1.1 +TLSv1.2

    SSLHonorCipherOrder on
    SSLStrictSNIVHostCheck Off
    SSLCompression off

    SSLOptions +FakeBasicAuth +ExportCertData +StrictRequire

    <IfModule mod_headers.c>
            Header always set Strict-Transport-Security "max-age=63072000; includeSubDomains"
            Header edit Set-Cookie ^(.*)$ $1;HttpOnly;Secure
            Header always set X-Frame-Options SAMEORIGIN
    </IfModule>
Dieser kleine Teil sollte euch dann auch ein A+ beim SSLLabs SSL Test bescheren
Reicht das nicht auch aus wenn man dies unter der Apache Config des Users einträgt? Ich habe auch nur ein A und bin der Meinung das es über die Apache Config über Keyhelp gehen sollte? Ich lass mich auch gern eines besseren belehren ;)

Danke
User avatar
Jolinar
Community Moderator
Posts: 3560
Joined: Sat 30. Jan 2016, 07:11
Location: Weimar (Thüringen)
Contact:

Re: Let's Encrypt Apache Konfiguration (für Domains)

Post by Jolinar »

Hast du mal auf das Datum des letzten Posts in diesem Thread geschaut?
Der Thread lief zu Zeiten, wo Let's Encrypt noch nicht ins Keyhelp-System integriert war. Inzwischen läuft das alles automatisch und bedarf keiner manuellen Eingriffe mehr in die Konfiguration.
Wenn jemand inkompetent ist, dann kann er nicht wissen, daß er inkompetent ist. (David Dunning)

Data Collector für Community Support
___
Ich verwende zwei verschiedene Schriftfarben in meinen Beiträgen /
I use two different font colors in my posts:
  • In dieser Farbe schreibe ich als Moderator und gebe moderative Hinweise oder begründe moderative Eingriffe /
    In this color, I write as a moderator and provide moderative guidance or justify moderative interventions
  • In dieser Farbe schreibe ich als Community Mitglied und teile meine private Meinung und persönlichen Ansichten mit /
    In this color, I write as a community member and share my personal opinions and views
trollolol
Posts: 144
Joined: Wed 18. Sep 2019, 10:18
Location: Eisenach

Re: Let's Encrypt Apache Konfiguration (für Domains)

Post by trollolol »

Upps ... Sorry :/
Locked