--- # Installationsweg wird in tasks/main.yml automatisch anhand von # ansible_distribution bestimmt: Ubuntu -> apt-Paket (guacd liegt dort in # "universe"), Debian -> Quellcode-Build (kein apt-Paket verfuegbar). # # Die folgenden Variablen wirken sich NUR auf den Debian-Quellcode-Pfad aus. # Leer lassen = automatische Erkennung anhand der Debian-Version: # - Debian 12 (bookworm): FreeRDP2 (freerdp2-dev) + guacamole-server # 1.5.5 (offizieller Release-Tarball, Checksum-verifiziert). # - Debian 13 (trixie) oder neuer: FreeRDP3 (freerdp3-dev). Da der letzte # offizielle guacamole-server-Release (1.6.0) nicht gegen trixies # FreeRDP 3.15 baut, wird stattdessen der "main"-Branch (git) gebaut # -- s. ausfuehrlicher Warnhinweis in tasks/main.yml. Getestet (Stand # Aug 2026) baut auch "main" NICHT erfolgreich gegen FreeRDP 3.15; fuer # produktive Debian-13-Hosts daher eher Ubuntu oder Debian 12 # verwenden. Sobald ein Guacamole-Release mit funktionierender # FreeRDP-3.15-Unterstuetzung erscheint, hier guacd_version auf diesen # Tag setzen, um wieder auf den stabilen Release-Tarball-Pfad zu # wechseln (auch auf Debian 13). guacd_version: "" guacd_freerdp_dev_package: "" # Nur relevant im git-Build-Pfad (s.o.): welcher Branch/Tag/Commit gebaut # wird. Default "main" (Standard-Branch von apache/guacamole-server auf # GitHub -- NICHT "master"). guacd_git_ref: "main" # Protokollierstufe von guacd (guacd.conf: trace|debug|info|warning|error). # # "info" ist der Standard und reicht fuer den Normalbetrieb -- auf dieser # Stufe protokolliert guacd bereits die fuer die RDP-Fehlersuche wichtigste # Zeile: "Certificate validation bypassed" (Zertifikatspruefung wurde wegen # ignore-cert uebersprungen) bzw. "Certificate validation failed". # # Auf "debug" hochsetzen, um bei einem fehlgeschlagenen RDP-Verbindungsaufbau # den KONKRETEN FreeRDP-/OpenSSL-Fehler zu sehen, statt nur guacds # zusammengefasste Meldung ("SSL/TLS connection failed ...", die im Browser # als "Ziel nicht erreichbar (Code 519)" ankommt). Danach wieder auf "info" # zuruecksetzen: "debug"/"trace" sind gespraechig und koennen Details der # Zielumgebung ins Journal schreiben. guacd_log_level: "info" # --- TLS-Kompatibilitaet guacd -> Windows-Ziel (Live-Test 3.9.) ------------- # # Standardmaessig AUS: guacd erbt dann die strengen systemweiten # OpenSSL-Vorgaben von Debian 12 (MinProtocol=TLSv1.2, DEFAULT@SECLEVEL=2). # # Auf true setzen, wenn scripts/diagnose_rdp_tls.py den Befund # "scheitert NUR an den OpenSSL-Vorgaben dieses Jumphosts" liefert -- also # der TLS-Handshake zum Windows-Ziel mit den System-Vorgaben scheitert, mit # gelockerten aber gelingt. Symptom in der Oberflaeche: # "Ziel nicht erreichbar (Code 519): SSL/TLS connection failed # (untrusted/self-signed certificate?)", OHNE dass im guacd-Journal eine # "Certificate validation ..."-Zeile steht. # # Wirkt NUR auf den guacd-Prozess (Environment=OPENSSL_CONF in dessen Unit), # nicht systemweit. Immer nur so weit lockern wie noetig: das Diagnoseskript # nennt die tatsaechlich vom Ziel gesprochene TLS-Version, danach # guacd_tls_min_protocol genau darauf setzen statt pauschal auf TLSv1. guacd_tls_legacy_compat: false guacd_tls_min_protocol: "TLSv1" # Obergrenze, leer = keine. Wird gebraucht, wenn das Ziel bei einem # ClientHello mit angebotenem TLS 1.3 einfach auflegt (SCHANNEL schickt dann # ein TCP-RST statt einer sauberen handshake_failure-Warnung) -- dann # "TLSv1.2" eintragen. Das Diagnoseskript nennt den noetigen Wert. guacd_tls_max_protocol: "" guacd_tls_security_level: 0 guacd_tls_unsafe_legacy_renegotiation: true # Leer = OpenSSL-Vorgabe. Nur setzen, wenn das Ziel ein bestimmtes # Signaturverfahren braucht, z.B.: # "RSA+SHA256:RSA+SHA384:RSA+SHA512:ECDSA+SHA256:RSA+SHA1:ECDSA+SHA1" # Wirkt nur zusammen mit guacd_tls_security_level: 0 -- die # Sicherheitsstufe filtert die Liste anschliessend nochmals. guacd_tls_signature_algorithms: "" # OpenSSL-Sicherheitsstufe, die FreeRDP fuer RDP-Verbindungen verwenden soll. # Leer = nicht eingreifen (FreeRDP-Vorgabe 1). # # Gemessen am 3.9. gegen 10.0.0.12: Stufe 2 UND Stufe 1 werden vom Ziel mit # einem TCP-RST beantwortet, erst Stufe 0 kommt durch (TLS 1.2, # ECDHE-RSA-AES256-SHA384). Die Cipher-Listen sind auf allen Stufen identisch; # der Unterschied ist die signature_algorithms-Erweiterung, in der OpenSSL 3.0 # ab Stufe 1 kein SHA-1 mehr anbietet. # # ACHTUNG -- das laesst sich NICHT ueber OPENSSL_CONF loesen: FreeRDP ruft # SSL_CTX_set_security_level() selbst auf und ueberschreibt die Datei-Vorgabe. # Deshalb die Zwischenschicht in files/guacd_tls_seclevel_shim.c, die nur im # guacd-Prozess geladen wird. Sie gilt fuer ALLE RDP-Ziele dieses Jumphosts, # nicht je Host. # # Zusammen mit guacd_tls_legacy_compat verwenden (MinProtocol/MaxProtocol); # beide zusammen ergeben genau die Kombination, die das Diagnoseskript als # funktionierend gemessen hat. guacd_tls_seclevel: ""