[RISOLTO] Episodio 3 di Kerberos

Domande sul server WAPT / Richieste e assistenza relative al server WAPT
Regole del forum
Regole del forum della community
* Supporto in inglese su www.reddit.com/r/wapt
* Supporto della community in francese disponibile su questo forum
* Si prega di anteporre [RISOLTO] al titolo dell'argomento se è stato risolto.
* Si prega di non modificare un argomento contrassegnato con [RISOLTO]. Aprire un nuovo argomento facendo riferimento a quello precedente.
* Specificare la versione di WAPT installata, la versione completa e il numero di build (2.2.1.11957 / 2.2.2.12337 / ecc.) nonché l'edizione Enterprise/Discovery.
* Le versioni 1.8.2 e precedenti non sono più supportate. Le uniche domande accettate relative alla versione 1.8.2 riguardano l'aggiornamento a una versione supportata (2.1, 2.2, ecc.).
* Specificare il sistema operativo del server (Linux/Windows) e la versione (Debian Buster/Bullseye - CentOS 7 - Windows Server 2012/2016/2019).
* Specificare il sistema operativo della macchina di amministrazione/creazione dei pacchetti e della macchina con l'agente problematico, se applicabile (Windows 7/10/11/Debian 11/ecc.).
* Evitare di porre più domande quando si apre una discussione, altrimenti potrebbe essere ignorata. Se ci sono più discussioni, aprirle separatamente, preferibilmente una dopo l'altra e non tutte contemporaneamente (ovvero, non intasare il forum).
* Includere frammenti di codice, screenshot e altre immagini direttamente nel post. I link a Pastebin, Bitly e altri siti di terze parti verranno sistematicamente rimossi.
* Come in qualsiasi forum della community, il supporto è fornito volontariamente dai membri. Se si necessita di supporto commerciale, è possibile contattare il reparto vendite di Tranquil IT al numero 02.40.97.57.55
Bloccato
pirona
Messaggi: 7
Registrazione: 15 ottobre 2019 - 15:09

31 dicembre 2019 - 13:19

Buongiorno,

Ho un piccolo problema con l'implementazione del mio sistema Wapt per quanto riguarda Kerberos.

Ho letto gli episodi precedenti e non mi sono lasciato ingannare dal problema $(hostname): ho un serviceprincipalname che ha il nome che viene contattato dagli agenti.

Quando distribuisco il mio agente, il mio computer client di prova non si registra nella console.
Tutto il resto funziona: utilizzo uno script PowerShell per avviare waptdeploy.
Ho il servizio, il negozio, riesco a vedere i miei pacchetti, ma non c'è nessun nuovo PC nella console.

Quando sono nel prompt dei comandi con privilegi elevati, eseguo il comando:

Codice: Seleziona tutto

wapt-get register -l debug --service
Io ho questo:

Codice: Seleziona tutto

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
...che resta sospeso ad vitam eternam.

Ricevo anche un errore 403 quando vado su https://ilmioserver.td/add_host_kerberos .. che non riesco a spiegare su un browser quando accedo come amministratore del dominio.

Utilizzo un server Debian 9, non ho nulla di particolare nel mio hostname, né nel mio /etc/hosts.
Sul lato client, si tratta di Windows 10 Pro 1903/1909

Se avete qualche dritta, sono tutto orecchie! :)

Computer amministratore: Windows 10
Versione Wapt: 1.7.4.6232
Avatar utente
sfontenau
Esperto WAPT
Messaggi: 2312
Registrato: 10 luglio 2014 - 23:52
Contatto:

2 gennaio 2020 - 10:09

Buongiorno

Il modo più semplice per eseguire il debug è farlo con un psexec

Codice: Seleziona tutto

psexec.exe -s cmd
wapt-get register -ldebug
È quindi possibile verificare che la workstation abbia negoziato un ticket Kerberos:

Codice: Seleziona tutto

klist

Tieni presente che il tuo agente wapt deve avere il valore corretto (in wapt-get.ini)

Codice: Seleziona tutto

use_kerberos=1
Quindi sul server, nel file

/opt/wapt/conf/waptserver.ini

È necessario:

Codice: Seleziona tutto

use_kerberos = True
Nel file /etc/nginx/sites-enabled/wapt.conf

Devi riuscire a trovarlo

Codice: Seleziona tutto

            
            location /add_host_kerberos {
                auth_gss on;
                auth_gss_keytab  /etc/nginx/http-krb5.keytab;
                proxy_pass http://127.0.0.1:8080;
            }
In caso contrario, riavviare postconf e selezionare la casella Kerberos
pirona
Messaggi: 7
Registrazione: 15 ottobre 2019 - 15:09

7 gennaio 2020 - 16:43

Buongiorno,

Grazie per il suggerimento: ho eseguito tutti i test e ho ricevuto questo tramite un psexec:

Codice: Seleziona tutto

...
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.

Ho anche rieseguito con successo il postconf.
Sembra un problema molto semplice, ma non riesco a capirlo bene.
pirona
Messaggi: 7
Registrazione: 15 ottobre 2019 - 15:09

7 gennaio 2020 - 17:03

Vorrei anche chiarire cosa ricevo con un aggiornamento di stato sul servizio (sul server wapt):

Codice: Seleziona tutto

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.',)
pirona
Messaggi: 7
Registrazione: 15 ottobre 2019 - 15:09

7 gennaio 2020 - 17:29

Ciao,

ho trovato la soluzione: un chmod 644 sul file keytab utilizzato da nginx...

Grazie per l'aiuto.
Bloccato