pdadmin-forum

pdadmin-forum » PD-Admin » Anwendung » Let's Encrypt Verbesserungsvorschlag » Hallo Gast [Anmelden|Registrieren]
Letzter Beitrag | Erster ungelesener Beitrag Druckvorschau | An Freund senden | Thema zu Favoriten hinzufügen
Neues Thema erstellen Antwort erstellen
Zum Ende der Seite springen Let's Encrypt Verbesserungsvorschlag
Autor
Beitrag « Vorheriges Thema | Nächstes Thema »
Twilo
Moderator


images/avatars/avatar-5.png

Dabei seit: 12.09.2004
Beiträge: 2.864
Herkunft: Berlin

Pfeil Let's Encrypt Verbesserungsvorschlag Antworten | Zitieren | Editieren | Melden       Zum Anfang der Seite springen

- Welche Version von pd-admin wird eingesetzt? 4.58
- Welche Version der Serverumgebung wird eingesetzt? 3 0.310

Hallo,

wäre es möglich, dass das Script /opt/pdadmin/bin/letsencrypt nach dem es fertig ist, eine Statusmeldung ausgibt?
Wünschenswert wäre eine Auflistung der Domains, bei denen es zum Fehler kam
evtl. noch eine Auflistung der Domains, die erfolgreich eingerichtet wurden

Das Skript kommt mit Domains, bei denen eine Weiterleitung eingerichtet ist, nicht zurecht.
www.example.com -> www.example.org
http://www.example.com/.well-known/acme-challenge/[…] wird http://www.example.org.well-known/acme-challenge/[…]
Wie kann der Fehler verhindert werden?

Nach "certbot-auto failed" sollte ein Newline kommen

mfg
Twilo

__________________
Wunschzettel smile
Farbtabelle
26.04.2018 19:16 Twilo ist offline Homepage von Twilo Beiträge von Twilo suchen Nehme Twilo in Deine Freundesliste auf
Sumeragi
Mitglied


Dabei seit: 19.07.2016
Beiträge: 120

RE: Let's Encrypt Verbesserungsvorschlag Antworten | Zitieren | Editieren | Melden       Zum Anfang der Seite springen

Zitat:
Original von Twilo
wäre es möglich, dass das Script /opt/pdadmin/bin/letsencrypt nach dem es fertig ist, eine Statusmeldung ausgibt?
Wünschenswert wäre eine Auflistung der Domains, bei denen es zum Fehler kam
evtl. noch eine Auflistung der Domains, die erfolgreich eingerichtet wurden


Wenn ich das richtig verstehe, startet letsencrypt lediglich den certbot mit den Daten aus der vadmin DB und richtet anschliesend die SSL Zertifikate in pd-admin ein.

Ich halte es für sehr aufwändig die binary so anzupassen, dass die certbot Ausgabe wie gewünscht "ge-parsed" wird. Zumal alle Infos/Fehler im Log und am Ende der Ausführung zu finden sind.

Man kann den Cronjob zur Erneuerung aber mit

code:
1:
/opt/pdadmin/bin/certbot-auto -q renew


ausführen. -q reduziert die Ausgabe und es werden nur Fehler ausgegeben. Wenn man dies auch für die letsencrypt binary haben möchte, müsste man wohl mit einem wrapper Skript für den certbot arbeiten.

Zitat:
Original von Twilo
Das Skript kommt mit Domains, bei denen eine Weiterleitung eingerichtet ist, nicht zurecht.
www.example.com -> www.example.org
http://www.example.com/.well-known/acme-challenge/[…] wird http://www.example.org.well-known/acme-challenge/[…]
Wie kann der Fehler verhindert werden?


Der Fehler mit der Weiterleitung kommt vermutlich daher, dass in pd-admin bei der Weiterleitung am Ende der Slash / fehlt. Es muss in pd-admin bei der Weiterleitung

http://www.example.org/

stehen. Und nicht

http://www.example.org

Dieser Beitrag wurde 3 mal editiert, zum letzten Mal von Sumeragi: 26.04.2018 23:12.

26.04.2018 22:58 Sumeragi ist offline E-Mail an Sumeragi senden Homepage von Sumeragi Beiträge von Sumeragi suchen Nehme Sumeragi in Deine Freundesliste auf
Sumeragi
Mitglied


Dabei seit: 19.07.2016
Beiträge: 120

RE: Let's Encrypt Verbesserungsvorschlag Antworten | Zitieren | Editieren | Melden       Zum Anfang der Seite springen

Zitat:
Original von Sumeragi
Wenn man dies auch für die letsencrypt binary haben möchte, müsste man wohl mit einem wrapper Skript für den certbot arbeiten.


Dies kann so aussehen:

code:
1:
2:
3:
$ cd /opt/pdadmin/bin
$ mv certbot-auto certbot-auto-o
$ vi certbot-auto


Dort folgenden Code einfügen

code:
1:
2:
#!/bin/bash
exec /opt/pdadmin/bin/certbot-auto-o -q "$@"


Fertig. Dann muss der renew Cronjob auch nicht angepasst werden.

Ich fürchte nur, dass nach einem pd-admin ubpdate die Datei überschrieben werden könnte bzw wird. Und ich hab nicht testen können was passiert wenn sich der certbot aktualisiert.

Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von Sumeragi: 27.04.2018 10:43.

27.04.2018 10:42 Sumeragi ist offline E-Mail an Sumeragi senden Homepage von Sumeragi Beiträge von Sumeragi suchen Nehme Sumeragi in Deine Freundesliste auf
Twilo
Moderator


images/avatars/avatar-5.png

Dabei seit: 12.09.2004
Beiträge: 2.864
Herkunft: Berlin

Themenstarter Thema begonnen von Twilo
RE: Let's Encrypt Verbesserungsvorschlag Antworten | Zitieren | Editieren | Melden       Zum Anfang der Seite springen

Zitat:
Original von Sumeragi
Zitat:
Original von Twilo
Das Skript kommt mit Domains, bei denen eine Weiterleitung eingerichtet ist, nicht zurecht.
www.example.com -> www.example.org
http://www.example.com/.well-known/acme-challenge/[...] wird http://www.example.org.well-known/acme-challenge/[...]
Wie kann der Fehler verhindert werden?


Der Fehler mit der Weiterleitung kommt vermutlich daher, dass in pd-admin bei der Weiterleitung am Ende der Slash / fehlt. Es muss in pd-admin bei der Weiterleitung

http://www.example.org/

stehen. Und nicht

http://www.example.org

ein händisches hinzufügen eines Slashes beim Redirect in der .htaccess bringt keine Besserung, es wird trotzdem zu ohne "/" weitergeleitet geschockt

Eigentlich dürfe http://www.example.com/.well-known/acme-challenge/[...] gar nicht nach http://www.example.org.well-known/acme-challenge/[...] weitergeleitet werde Augenzwinkern

EDIT: die Adresse muss in der pd-admin Oberfläche geändert werden, dann wird auch nach .../ umgeleitet, dann erhält man jedoch folgende Fehlermeldung, da .well-known/acme-challenge/[...] von der falschen Domain aufgerufen wird
code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
###############################
/opt/pdadmin/etc/ssl-validation/ -d www.example.com -d example.com
###############################

Saving debug log to /var/log/letsencrypt/letsencrypt.log
Plugins selected: Authenticator webroot, Installer None
An unexpected error occurred:
SSLError: ("bad handshake: Error([('SSL routines', 'tls_process_server_certificate', 'certificate verify failed')],)",)
Please see the logfiles in /var/log/letsencrypt for more details.
certbot-auto failedWriting /usr/local/pd-admin2/conf/httpd.conf
Writing /usr/local/pd-admin2/httpd-2.4/conf/httpd.conf
webserver = <AP22>
Apache 22 is already selected

code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
> cat /var/log/letsencrypt/letsencrypt.log
2018-04-27 13:37:22,653:DEBUG:certbot.main:certbot version: 0.23.0
2018-04-27 13:37:22,653:DEBUG:certbot.main:Arguments: ['--agree-tos', '--non-interactive', '--email', 'daniel@bradler.com', '--no-self-upgrade', '--keep-until-expiring', '--expand', '--webroot', '-w', '/opt/pdadmin/etc/ssl-validation/', '-d', 'www.example.com', '-d', 'example.com']
2018-04-27 13:37:22,653:DEBUG:certbot.main:Discovered plugins: PluginsRegistry(PluginEntryPoint#apache,PluginEntryPoint#manual,PluginEntryPoint#nginx,PluginEntryPoint#null,PluginEntryPoint#standalone,PluginEntryPoint#webroot)
2018-04-27 13:37:22,671:DEBUG:certbot.log:Root logging level set at 20
2018-04-27 13:37:22,671:INFO:certbot.log:Saving debug log to /var/log/letsencrypt/letsencrypt.log
2018-04-27 13:37:22,672:DEBUG:certbot.plugins.selection:Requested authenticator webroot and installer None
2018-04-27 13:37:22,675:DEBUG:certbot.plugins.selection:Single candidate plugin: * webroot
Description: Place files in webroot directory
Interfaces: IAuthenticator, IPlugin
Entry point: webroot = certbot.plugins.webroot:Authenticator
Initialized: <certbot.plugins.webroot.Authenticator object at 0x7f58b71cd690>
Prep: True
2018-04-27 13:37:22,676:DEBUG:certbot.plugins.selection:Selected authenticator <certbot.plugins.webroot.Authenticator object at 0x7f58b71cd690> and installer None
2018-04-27 13:37:22,676:INFO:certbot.plugins.selection:Plugins selected: Authenticator webroot, Installer None
2018-04-27 13:37:22,679:DEBUG:certbot.main:Picked account: <Account(RegistrationResource(body=Registration(status=None, terms_of_service_agreed=None, contact=(u'mailto:daniel@bradler.com',), agreement=u'https://letsencrypt.org/documents/LE-SA-v1.1.1-August-1-2016.pdf', key=JWKRSA(key=<ComparableRSAKey(<cryptography.hazmat.backends.openssl.rsa._RSAPublicKey object at 0x7f58b71d23d0>)>)), uri=u'https://acme-v01.api.letsencrypt.org/acme/reg/20972189', new_authzr_uri=u'https://acme-v01.api.letsencrypt.org/acme/new-authz', terms_of_service=u'https://letsencrypt.org/documents/LE-SA-v1.1.1-August-1-2016.pdf'), 9c17c87f4fec2fdb182d4db68c358997, Meta(creation_host=u's3.XXXXX.de', creation_dt=datetime.datetime(2017, 9, 7, 16, 51, 59, tzinfo=<UTC>)))>
2018-04-27 13:37:22,680:DEBUG:acme.client:Sending GET request to https://acme-v01.api.letsencrypt.org/directory.
2018-04-27 13:37:22,683:DEBUG:requests.packages.urllib3.connectionpool:Starting new HTTPS connection (1): acme-v01.api.letsencrypt.org
2018-04-27 13:37:32,733:DEBUG:certbot.log:Exiting abnormally:
Traceback (most recent call last):
  File "/opt/eff.org/certbot/venv/bin/letsencrypt", line 11, in <module>
    sys.exit(main())
  File "/opt/eff.org/certbot/venv/local/lib/python2.7/site-packages/certbot/main.py", line 1266, in main
    return config.func(config, plugins)
  File "/opt/eff.org/certbot/venv/local/lib/python2.7/site-packages/certbot/main.py", line 1141, in certonly
    le_client = _init_le_client(config, auth, installer)
  File "/opt/eff.org/certbot/venv/local/lib/python2.7/site-packages/certbot/main.py", line 642, in _init_le_client
    return client.Client(config, acc, authenticator, installer, acme=acme)
  File "/opt/eff.org/certbot/venv/local/lib/python2.7/site-packages/certbot/client.py", line 230, in __init__
    acme = acme_from_config_key(config, self.account.key, self.account.regr)
  File "/opt/eff.org/certbot/venv/local/lib/python2.7/site-packages/certbot/client.py", line 46, in acme_from_config_key
    return acme_client.BackwardsCompatibleClientV2(net, key, config.server)
  File "/opt/eff.org/certbot/venv/local/lib/python2.7/site-packages/acme/client.py", line 718, in __init__
    directory = messages.Directory.from_json(net.get(server).json())
  File "/opt/eff.org/certbot/venv/local/lib/python2.7/site-packages/acme/client.py", line 1041, in get
    self._send_request('GET', url, **kwargs), content_type=content_type)
  File "/opt/eff.org/certbot/venv/local/lib/python2.7/site-packages/acme/client.py", line 990, in _send_request
    response = self.session.request(method, url, *args, **kwargs)
  File "/opt/eff.org/certbot/venv/local/lib/python2.7/site-packages/requests/sessions.py", line 488, in request
    resp = self.send(prep, **send_kwargs)
  File "/opt/eff.org/certbot/venv/local/lib/python2.7/site-packages/requests/sessions.py", line 609, in send
    r = adapter.send(request, **kwargs)
  File "/opt/eff.org/certbot/venv/local/lib/python2.7/site-packages/requests/adapters.py", line 497, in send
    raise SSLError(e, request=request)
SSLError: ("bad handshake: Error([('SSL routines', 'tls_process_server_certificate', 'certificate verify failed')],)",)
2018-04-27 13:37:32,763:ERROR:certbot.log:An unexpected error occurred:

mfg
Twilo

__________________
Wunschzettel smile
Farbtabelle
27.04.2018 13:27 Twilo ist offline Homepage von Twilo Beiträge von Twilo suchen Nehme Twilo in Deine Freundesliste auf
Sumeragi
Mitglied


Dabei seit: 19.07.2016
Beiträge: 120

RE: Let's Encrypt Verbesserungsvorschlag Antworten | Zitieren | Editieren | Melden       Zum Anfang der Seite springen

Zitat:
Original von Twilo
EDIT: die Adresse muss in der pd-admin Oberfläche geändert werden, dann wird auch nach .../ umgeleitet, dann erhält man jedoch folgende Fehlermeldung, da .well-known/acme-challenge/[...] von der falschen Domain aufgerufen wird


Ich meinte auch die pd-admin Weboberfläche Augenzwinkern

Es kommt allerdings gar nicht dazu die falsche Seite aufzurufen, denn

code:
1:
2:
3:
4:
5:
[...]
2018-04-27 13:37:22,680:DEBUG:acme.client:Sending GET request to https://acme-v01.api.letsencrypt.org/directory.
2018-04-27 13:37:22,683:DEBUG:requests.packages.urllib3.connectionpool:Starting new HTTPS connection (1): acme-v01.api.letsencrypt.org
2018-04-27 13:37:32,733:DEBUG:certbot.log:Exiting abnormally:
[...]


hier tritt das Problem auf, was zu dem Fehler

code:
1:
2:
SSLError: ("bad handshake: Error([('SSL routines', 'tls_process_server_certificate', 'certificate verify failed')],)",)
2018-04-27 13:37:32,763:ERROR:certbot.log:An unexpected error occurred:


Es kann das SSL Zertifikate vom Lets Encrypt Server nicht geprüft werden. Der certbot wird ja über die letsencrypt binary wie folgt ausgeführt (Argumente sieht man am Anfang des Logs):

code:
1:
/opt/pdadmin/bin/certbot-auto --agree-tos', '--non-interactive', '--email', 'daniel@bradler.com', '--no-self-upgrade', '--keep-until-expiring', '--expand', '--webroot', '-w', '/opt/pdadmin/etc/ssl-validation/', '-d', 'www.example.com', '-d', 'example.com'


Kann das verhalten bei direkter Ausführung des o.g. Befehls reproduziert werden? Wenn ja, hilft es wenn man das Argument

code:
1:
--no-verify-ssl


mit einfügt?
27.04.2018 23:09 Sumeragi ist offline E-Mail an Sumeragi senden Homepage von Sumeragi Beiträge von Sumeragi suchen Nehme Sumeragi in Deine Freundesliste auf
Baumstruktur | Brettstruktur
Gehe zu:
Neues Thema erstellen Antwort erstellen
pdadmin-forum » PD-Admin » Anwendung » Let's Encrypt Verbesserungsvorschlag

Impressum | Team | Hilfe

Forensoftware: Burning Board, entwickelt von WoltLab GmbH    |    Design entwickelt von You-Online.de