Seite 1 von 1

[GELÖST] Kerberos Episode 3

Veröffentlicht: 31. Dez. 2019 - 13:19 Uhr
von Pirona
Guten Morgen,

Ich habe ein kleines Problem mit der Implementierung meines Wapt-Systems in Bezug auf Kerberos.

Ich habe die vorherigen Folgen gelesen und bin nicht auf das $(hostname)-Problem hereingefallen: Ich habe einen ServicePrincipalName, der den Namen enthält, der von den Agenten kontaktiert wird.

Wenn ich meinen Agenten bereitstelle, wird mein Testclient-Rechner nicht in der Konsole angezeigt.
Alles andere funktioniert: Ich verwende ein PowerShell-Skript, um waptdeploy zu starten.
Ich habe den Service, den Shop, ich kann meine Pakete sehen, aber es gibt keinen neuen PC in der Konsole.

Wenn ich mich in der Eingabeaufforderung mit Administratorrechten befinde, führe ich folgenden Befehl aus:

Code: Alle auswählen

wapt-get register -l debug --service
Ich habe Folgendes:

Code: Alle auswählen

C:\Windows\system32>wapt-get register -l debug --service
Current loglevel : DEBUG
About to speak to waptservice...
Call register URL...
url: http://127.0.0.1:8088/register.json?notify_user=0&notify_server=1 timeout: 10000
url: http://127.0.0.1:8088/events?max_count=1 timeout: 11000
Waptservice User :url: http://127.0.0.1:8088/events?max_count=1 : OK Duration: 47
... die bis in alle Ewigkeit suspendiert bleibt.

Ich erhalte außerdem einen 403-Fehler, wenn ich https:// aufrufemyserver.td/add_host_kerberos .. was ich im Browser nicht erklären kann, wenn ich mich als Administrator der Domäne anmelde.

Ich arbeite auf einem Debian 9 Server, mein Hostname ist nichts Besonderes und auch meine /etc/hosts-Datei enthält keine Sonderzeichen.
Auf Clientseite handelt es sich um Windows 10 Pro 1903/1909

Falls Sie irgendwelche Hinweise haben, bin ich ganz Ohr! :)

Administratorrechner: Windows 10
Wapt-Version: 1.7.4.6232

Betreff: Kerberos Folge 3

Veröffentlicht: 2. Januar 2020 - 10:09 Uhr
von Sfonteneau
Guten Morgen

Am einfachsten lässt sich der Fehler mit psexec beheben

Code: Alle auswählen

psexec.exe -s cmd
wapt-get register -ldebug
Anschließend können Sie überprüfen, ob die Workstation ein Kerberos-Ticket ausgehandelt hat:

Code: Alle auswählen

klist

Beachten Sie, dass Ihr wapt-Agent den korrekten Wert (in wapt-get.ini) haben muss

Code: Alle auswählen

use_kerberos=1
Dann auf dem Server, in der Datei

/opt/wapt/conf/waptserver.ini

Es ist notwendig:

Code: Alle auswählen

use_kerberos = True
In der Datei /etc/nginx/sites-enabled/wapt.conf

Sie müssen das finden können

Code: Alle auswählen

            
            location /add_host_kerberos {
                auth_gss on;
                auth_gss_keytab  /etc/nginx/http-krb5.keytab;
                proxy_pass http://127.0.0.1:8080;
            }
Falls nicht, starten Sie postconf neu und überprüfen Sie das Kontrollkästchen „Kerberos“

Betreff: Kerberos Folge 3

Veröffentlicht: 7. Januar 2020 – 16:43 Uhr
von Pirona
Guten Morgen,

Danke für den Tipp: Ich habe alle Ihre Tests durchgeführt und folgende Antwort über psexec erhalten:

Code: Alle auswählen

...
2020-01-07 16:36:16,733 DEBUG https://monserveur.tld:443 "POST /add_host_kerberos HTTP/1.1" 403 169
2020-01-07 16:36:16,733 DEBUG authenticate_user(): returning <Response [403]>
2020-01-07 16:36:16,733 DEBUG handle_401(): returning <Response [403]>
2020-01-07 16:36:16,733 DEBUG handle_response(): returning <Response [403]>
2020-01-07 16:36:16,733 DEBUG handle_response() has seen 0 401 responses
2020-01-07 16:36:16,733 DEBUG handle_other(): Handling: 403
2020-01-07 16:36:16,733 DEBUG handle_other(): returning <Response [403]>
2020-01-07 16:36:16,733 DEBUG handle_response(): returning <Response [403]>
Traceback (most recent call last):
  File "<string>", line 1425, in <module>
  File "<string>", line 1207, in main
  File "C:\Program Files (x86)\wapt\common.py", line 5412, in register_computer
    signer = self.get_host_certificate().cn
  File "C:\Program Files (x86)\wapt\common.py", line 1882, in post
    req.raise_for_status()
  File "C:\Program Files (x86)\wapt\lib\site-packages\requests\models.py", line 940, in raise_for_status
    raise HTTPError(http_error_msg, response=self)
requests.exceptions.HTTPError: 403 Client Error: Forbidden for url: https://monserveur.tld/add_host_kerberos
FATAL ERROR : HTTPError: 403 Client Error: Forbidden for url: https://monserveur.tld/add_host_kerberos
Exception at 0044181C: EPyIOError:
HTTPError: 403 Client Error: Forbidden for url: https://monserveur.tld/add_host_kerberos.

Ich konnte postconf auch erfolgreich erneut ausführen.
Es scheint ein ganz einfaches Problem zu sein, aber ich kann es nicht genau benennen.

Betreff: Kerberos Folge 3

Veröffentlicht: 7. Januar 2020 – 17:03 Uhr
von Pirona
Ich möchte außerdem klarstellen, was ich bei einer Statusaktualisierung des Dienstes (auf dem wapt-Server) erhalte:

Code: Alle auswählen

root@wapt:/opt/wapt# systemctl status waptserver.service
● waptserver.service - WAPT Server startup script
   Loaded: loaded (/lib/systemd/system/waptserver.service; enabled; vendor preset: enabled)
   Active: active (running) since Tue 2020-01-07 16:58:54 CET; 1min 4s ago
 Main PID: 8929 (python)
    Tasks: 1 (limit: 1147)
   Memory: 42.1M
   CGroup: /system.slice/waptserver.service
           └─8929 /opt/wapt/bin/python /opt/wapt/waptserver/server.py

Jan 07 16:58:54 monserveur.tld systemd[1]: Started WAPT Server startup script.
Jan 07 16:59:22 monserveur.tld  python[8929]: 2020-01-07 16:59:22,559 CRITICAL Get_websocket_auth_token failed EWaptAuthenticationFailure(u'Unknown host UUID 4DA586BB-BE2D-4232-903D-1DDC1F8E190F. Please register first.',)

[GELÖST] Kerberos Episode 3

Veröffentlicht: 7. Januar 2020 – 17:29 Uhr
von Pirona
Hallo,

ich habe die Lösung gefunden: ein chmod 644 auf der von nginx verwendeten Keytab-Datei...

Vielen Dank für Ihre Hilfe.