staging.inyokaproject.org

Zammad lokal mit/ohne SSL

Status: Ungelöst | Ubuntu-Version: Ubuntu 20.04 (Focal Fossa)
Antworten |

red-ed

Anmeldungsdatum:
5. März 2016

Beiträge: Zähle...

Guten Tag,

Nachdem mir mit meinem Elasticsearch Problem so gut geholfen wurde, hänge ich gleich am nächsten Thema.

Wir haben Vor Zammad (Ticketsystem) bei uns in der lokalen Domaine zu nutzen. Bedeutet es wird keine Verbindung nach extern geben. Weder Facebook, Chat oder sonst wie außerhalb vom Netzwerk.

Zammad oder besser gesagt alle Anleitungen die Ich gefunden habe, erklären wie man Zammad und NGINX so einrichtet, das man es von extern erreichen kann und somit ein SSL-Zertifikat erstellt auf einen "externen" Namen. Ich möchte aber lediglich das der Server "SRV-Zammad" lokal erreich werden kann. Dieser soll dann die abfragen per Mail von unserem eigenen Exchange abholen und intern verarbeiten. Wie bekomme ich das hin?

Momentan kann ich das Ticketsystem nur auf dem Server selber starten, wenn ich denn kompletten SSL-Teil aus der "zammad.conf" entferne.

Grüße Red

Moderiert von rklm:

Ins passende Forum verschoben

frostschutz

Avatar von frostschutz

Anmeldungsdatum:
18. November 2010

Beiträge: 7795

Für ein Letsencrypt-Zertifikat brauchst du keine Verbindung nach außen. Brauchst nur eine Domain für die DNS-Challenge.

Eigenes Zertifikat drehen geht natürlich auch, aber dann musst du alle Geräte/Browser dazu bringen, diesem auch zu vertrauen (und dann nur dem und keinem anderen).

Ohne HTTPS ist doof, weil die Browser immer mehr dazu übergehen dieses zu verlangen, und Verschlüsselung an sich macht ja auch im Intranet Sinn.

red-ed

(Themenstarter)

Anmeldungsdatum:
5. März 2016

Beiträge: Zähle...

frostschutz schrieb:

Für ein Letsencrypt-Zertifikat brauchst du keine Verbindung nach außen. Brauchst nur eine Domain für die DNS-Challenge.

Bist du dir da sicher? wenn ich bei dem Befehlt

certbot -d firma.local

mache, dann erhalte ich eine Fehlermeldung

Saving debug log to /var/log/letsencrypt/letsencrypt.log
Plugins selected: Authenticator nginx, Installer nginx
Obtaining a new certificate
An unexpected error occurred:
The server will not issue certificates for the identifier :: Error creating new order :: Cannot issue for "Firma.local": Domain name does not end with a valid public suffix (TLD)
Please see the logfiles in /var/log/letsencrypt for more details.

Wenn ich das Richtig verstehe will er hier eine von Extern erreichbare Domain. Oder mache ich was falsch

Gruß Red

frostschutz

Avatar von frostschutz

Anmeldungsdatum:
18. November 2010

Beiträge: 7795

Die Domain muss extern gültig sein, aber du musst deinen Dienst nicht nach außen anbieten deswegen (wenn du über die DNS-Challenge gehst... für HTTP Challenge brauchst du einen kleinen Webserver).

Intern musst du mit eigenem Zertifikat und der ganzen Browser-Vertrauens-Problematik leben. Ist dann halt leider so.

red-ed

(Themenstarter)

Anmeldungsdatum:
5. März 2016

Beiträge: Zähle...

Vielen Dank für den Tip, ich habe mir das nun angeschaut, würde mir helfen. nur habe ich das Problem das mein Ubuntu zwar den Record sehen kann

root@server:/etc/nginx/sites-available# nslookup -type=any _acme-challenge.MEINE-DOMNAIN.com
Server:         127.0.0.53
Address:        127.0.0.53#53

Non-authoritative answer:
_acme-challenge.MEINE-DOMAIN.com text = "ryKvwSRAarE3Lo35m1y3uY1x6ptj8u7pq7QZuW8zYiY"

Authoritative answers can be found from:

Wenn ich aber den Befehl absetze

 certbot --manual --preferred-challenges dns certonly -d MEINE-DOMAIN.com

dann kommt folgende Fehlermeldung

Please deploy a DNS TXT record under the name
_acme-challenge.MEINE-DOMAIN.com with the following value:

ryKvwSRAarE3Lo35m1y3uY1x6ptj8u7pq7QZuW8zYiY

Before continuing, verify the record is deployed.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Press Enter to Continue
Waiting for verification...
Challenge failed for domain MEINE-DOMAIN.com
dns-01 challenge for MEINE-DOMAIN.com
Cleaning up challenges
Some challenges have failed.

IMPORTANT NOTES:
 - The following errors were reported by the server:

   Domain: MEINE-DOMAIN.com
   Type:   dns
   Detail: DNS problem: NXDOMAIN looking up TXT for
   _acme-challenge.MEINE-DOMAIN.com - check that a DNS record
   exists for this domain

Ich weis aber nicht woran das liegt? Ich habe eine Windows 2012 AD-Struktur. Muss ich dafür noch spezielle Berechtigungen vergeben oder ähnliches?

Grüße Red

red-ed

(Themenstarter)

Anmeldungsdatum:
5. März 2016

Beiträge: Zähle...

Morgen zusammen,

ich vermute das niemand mir einen Tipp geben kann. Gibt es den einen anderen Weg das hinzu bekommen?

Grüße Red

frostschutz

Avatar von frostschutz

Anmeldungsdatum:
18. November 2010

Beiträge: 7795

Server: 127.0.0.53

Das ist ja erstmal nur ein lokaler DNS. Bekommst du die Antwort auch von einem öffentlichen DNS?

Der DNS Eintrag darf nicht nur lokal existieren sondern muss tatsächlich vom für die Domain zuständigen DNS Server so publik gemacht worden sein.

Dann sollte es eigentlich klappen.

Ansonsten auch das was in der Letsencrypt Dokumentation steht:

https://letsencrypt.org/docs/challenge-types/

Most DNS providers have a “propagation time” that governs how long it takes from the time you update a DNS record until it’s available on all of their servers. It can be hard to measure this because they often also use anycast, which means multiple servers can have the same IP address, and depending on where you are in the world you might talk to a different server (and get a different answer) than Let’s Encrypt does. The best DNS APIs provide a way for you to automatically check whether an update is fully propagated. If your DNS provider doesn’t have this, you just have to configure your client to wait long enough (often as much as an hour) to ensure the update is propagated before triggering validation.

Bei vielen DNS Anbietern kannst du die Time To Live für DNS Einträge auf 1 Stunde reduzieren, Default steht das meistens auf 1 Tag...

red-ed

(Themenstarter)

Anmeldungsdatum:
5. März 2016

Beiträge: Zähle...

frostschutz schrieb:

Server: 127.0.0.53

Das ist ja erstmal nur ein lokaler DNS. Bekommst du die Antwort auch von einem öffentlichen DNS?

Der DNS Eintrag darf nicht nur lokal existieren sondern muss tatsächlich vom für die Domain zuständigen DNS Server so publik gemacht worden sein.

Dann sollte es eigentlich klappen.

nene Zur Erklärung. Ich sitze in einem Firmennetzwerk mit eigenem Microsoft DNS-Server. diesem habe ich eine neue Zone hinzugefügt.

SUPPORT.MEINE-DOMAIN.com

auf dieser Zone habe ich einen "Text"-Eintrag hinterlegt.

_acme-challenge

Ergibt dann

_acme-challenge.SUPPORT.MEINE-DOMAIN.com

Wenn ich nun meine virtuelle Maschine nehme, auf der Ubuntu installiert ist und eine Abfrage nach dieser Datei mache

nslookup -type=txt _acme-challenge.SUPPORT.MEINE-DOMAIN.com

Dazu erhalte ich dann auch den Inhalt der aktuellen Text-Datei

1
2
3
4
5
6
7
8
9

root@srv-zammad:/home/zammad# nslookup -type=txt _acme-challenge.SUPPORT.MEINE-DOMAIN.com
Server:         127.0.0.53
Address:        127.0.0.53#53

Non-authoritative answer:
_acme-challenge.SUPPORT.MEINE-DOMAIN.com text = "EppZ78BWkVIJDmAnFRP596Fi0z-E35QMTb-8YUQS0Hw"

Authoritative answers can be found from:

Somit fragt er schon den richtigen Server, er bekommt auch den richtigen Inhalt. Nur eben

certbot --manual --preferred-challenges dns certonly -d SUPPORT.MEINE-DOMAIN.com

hier kommt eine Fehlermeldung.

Challenge failed for domain SUPPORT.MEINE-DOMAIN.com
dns-01 challenge for SUPPORT.MEINE-DOMAIN.com
Cleaning up challenges
Some challenges have failed.

IMPORTANT NOTES:
 - The following errors were reported by the server:

   Domain: it-support.tobsteel.com
   Type:   dns
   Detail: DNS problem: NXDOMAIN looking up TXT for
   _acme-challenge.SUPPORT.MEINE-DOMAIN.comm - check that a DNS record
   exists for this domain

Laut Anleitung sollte das so funktionieren, was es aber nicht tut. eien Fehlermeldung ist auch nicht wirklich vorhanden.

frostschutz

Avatar von frostschutz

Anmeldungsdatum:
18. November 2010

Beiträge: 7795

Ich weiß nicht ob wir aneinander vorbei reden. Lets Encrypt existiert nicht in deinem lokalen Firmennetzwerk oder VM, sondern das ist Extern. Die Challenge kommt von außerhalb deines eigenen Netzwerks. Deinen eigentlichen Dienst brauchst du nicht nach außen anzubieten. Die Letsencrypt Challenge jedoch doch schon. Wenn du keinen HTTP Server nach außen anbieten willst (auch nicht wenn der sich nach außen nur um die Letsencrypt Challenge kümmert) dann kannst du die DNS Challenge dafür nehmen. Aber die DNS Einträge müssen außerhalb deines Intranets exstieren, also internetseitig für alle und Letsencrypt sichtbar sein.

Lets Encrypt rückt nur dann ein Zertifikat heraus wenn das nach außen hin authentifizierbar ist. Sonst könnte sich intern jeder für jede Domain ein Zertifikat ausstellen und mit diesen gefälschten Zertifikaten dann sonstwas anstellen, das Sicherheitsprinzip von HTTPS wäre damit ausgehebelt.

eien Fehlermeldung ist auch nicht wirklich vorhanden.

Die Fehlermeldung besagt, daß der DNS Eintrag nicht gefunden wurde.

red-ed

(Themenstarter)

Anmeldungsdatum:
5. März 2016

Beiträge: Zähle...

Ja, dann habe ich da etwas falsch verstanden. Ich suche eine Möglichkeit wie ich ein Zertifikat erstellen kann, damit mein lokaler Server bei mir intern betrieben werden kann. von Extern (Internet) wird dieser nie angesprochen. Aber ich denke das gibt es so bei Zammad nicht.

Hm danke für die Aufklärung, ich schau nun mal weiter was ich mache.

Gruß Red

Antworten |