[Eisfair] [E64]: dehydrated: Wechsel zu tls-alpn-01 -> python3 -> invalid challenge

Rolf Bensch azubi at bensch-net.de
So Mai 29 12:17:12 CEST 2022


Hallo Marcus,

Am 29.05.22 um 11:33 schrieb Marcus Röckrath:

> Hallo Rolf,
> 
> Rolf Bensch wrote:
> 
>> wegen anhaltender Probleme beim Letsencrypt-Zertifikat-Update über eine
>> Fritzbox möchte ich von https-01 nach tls-alpn-01-challenge wechseln.
>> Dabei treten 2 Probleme auf.
>>
>> 1. über das Konfig-Menü wurde einfach DEHYDRATED_CHALLENGE_TYPE nach
>> tls-alpn-01 umgestellt und die Konfig wurde gespeichert. Danach wurde
>> angemeckert, dass das Paket python3 fehlt. Ich betätigte die Rückfrage zur
>> Installation mit yes, weiteres flimmerte über den Bildschirm, das Update
>> der Challenge verlief mit Fehler. Ich öffnete erneut die Konfig, suchte
>> nach Fehlern, fand aber keine. Wieder speichern der Konfig -> erneut die
>> Warnung dass pathon3 fehlt. Package-Administration bestatigte, dass das
>> Paket (jetzt 2x) nicht installiert wurde. Ich installierte manuell, das
>> funktioniert tadellos.
> 
> Bei python3 haben sich größere Änderungen ergeben, über die sich besser
> Holger äußern kann.
> 
> Nur soviel: Es gibt inzwischen python38 und python310; python3 ist nur noch
> ein Pseudopaket für Pakete, denen egal ist, ob sie python38 und python310
> vorfinden.
> 
> Welches python ist bei dir auf der Kiste?

bisher nur python2 (mit diversen Modulen). Wie geschrieben, hatte ich manuell python3 nachinstalliert, damit kamen jetzt mehrere python38-Pakete ins System.

> 
>> 2. Dennoch schlägt weiterhin die Challenge fehl. Ich finde in der Konfig
>> in startup_hook den Parameter --start-alpn-server. Für mich
>> gleichbedeutend, dass hier ein weiterer Webserver gestartet werden soll.
>> Bei den bisher fehlgeschlagenen Tests sollte die Challenge über Port 443
>> laufen. Es läuft bereits ein Apache auf Port 443, weshalb ich
>> DEHYDRATED_ALPN_LISTEN_PORT auf Port 444 setzte und in der Fritzbox den
>> Port öffnete. Die Challenge funktioniert trotzdem nicht:
>>
>> Auffallend hier: "listen_Port" ist korrekt auf 444 gesetzt,
>> "validationRecord" läuft weiterhin auf Port 443.
> 
> Zum Verständnis:
> 
> Du musst natürlich den alpn-Server auf einen anderen als den Port 443 legen.

Das dachte ich mir.


> Der entfernte letsencrypt-Server benutzt aber natürlich weiterhin den Port
> 443 für seine Anfrage, die somit weiterhin beim Apachen landet.
> 
> Hier eine Beschreibung aus einem älteren Thread:
> https://groups.google.com/g/spline.eisfair/c/iAxr0c7AgBI/
> 
> ----------------- Zitat ------------------------------------------------
> Der ALPN-Responder-Dienst ist ein eigener Dienst, der natürlich lokal nicht
> auf dem https-Port des Apachen laufen darf - zwei Dienste auf gleichem Port
> geht nicht.
> 
> Benutzt man also einen lokalen Webserver auf dem Port 443, muss man
> DEHYDRATED_ALPN_LISTEN_PORT auf einen anderen freien Port setzen z. B.
> 8443 ...
> 
> Im Router ist dann der Port 443 nach intern 8443 weiterzuleiten.

wodurch der Apache während des Updates nicht mehr erreichbar ist.

> Falls natürlich im Regelfall eine Weiterleitung von 443 an den internen
> Webserver gewünscht ist, müsste man nun folgende Schritte über die Hooks
> auf dem Router realisieren:
> 
> 1. Löschen der Weiterleitung des 443 an den internen Webserver
> 2. Anlegen der Weiterleitung des 443 an den ALPN-Responder-Port

wenn hier wieder auf der Fritzbox die Portweiterleitung modifiziert werden müssen, bringt das gegenüber http-01 keinen Vorteil. Bisher wurde Port 80 nur während des Letsencrypt-Update geöffnet, über Port 443 war der Apache aber (bis auf den Neustart) unterbrechungsfrei erreichbar.

Irgendwie ist da kein Licht am Horizont :-(

Grüße

Rolf


Mehr Informationen über die Mailingliste Eisfair