Ciao a tutti,
Contesto:
Lavoro da remoto senza VPN
Versione WAPT: 2.1 Enterprise
Server OS: Debian 11
Console di amministrazione OS: Win10pro
Workstation di sviluppo pacchetti OS: Win10pro
Abbiamo un caso d'uso classico:
vorremmo inviare o aggiornare un segreto separato per ogni workstation gestita tramite WAPT, preservando al contempo la riservatezza di tale segreto tra le workstation (una workstation non può acquisire il segreto di un'altra).
Una soluzione (1) sarebbe quella di creare un pacchetto separato per ogni workstation contenente il segreto da distribuire e associarlo alla workstation corrispondente (facendo attenzione a proteggere il segreto seguendo le linee guida all'indirizzo https://www.wapt.fr/fr/doc/wapt-create- ... pt-package ). Tuttavia, questo diventa rapidamente tedioso quando il numero di workstation è elevato e la frequenza di aggiornamento è alta.
Un'altra soluzione (2) sarebbe quella di creare un pacchetto generico che rilevi la workstation pertinente e recuperi questo segreto da una posizione protetta. Ma come possiamo accedere solo al segreto corrispondente alla workstation senza distribuire preventivamente un altro segreto?
Un'altra soluzione (3) sarebbe quella di automatizzare la creazione e l'aggiornamento dei pacchetti per la soluzione (1). Questa generazione viene eseguita su una workstation in grado di firmare i pacchetti (una workstation di sviluppo WAPT esterna alla workstation principale con una console di amministrazione WAPT dedicata).
Un'altra soluzione (4) sarebbe quella di inviare il segreto a una determinata posizione sulla workstation tramite un canale bidirezionale stabilito (agente websocket?) e quindi installare un pacchetto WAPT che gestisce questo segreto direttamente sulla workstation. Ma come inviamo il segreto al file system di destinazione tramite questo canale?
Vi è mai capitata una situazione simile e, in tal caso, come l'avete gestita?
Christophe
[RISOLTO] Distribuzione di segreti su stazioni dotate di agente 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
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
Questo è l'unico metodo valido se vuoi garantire la massima sicurezza ai tuoi segreti, ma non dispone di un assistente che renda il compito meno laborioso.croquebert ha scritto: ↑31 marzo 2022 - 12:48 Una soluzione (1) sarebbe quella di creare un pacchetto separato per ogni workstation contenente il segreto da distribuire e associarlo alla workstation pertinente (facendo attenzione a proteggere il segreto seguendo le istruzioni su https://www.wapt.fr/fr/doc/wapt-create- ... pt-package ). Tuttavia, questo diventa rapidamente tedioso quando il numero di workstation è elevato e la frequenza di aggiornamento è alta.
Sei la seconda persona a sollevare questo problema con noi, quindi è incoraggiante sapere che questa utilissima funzionalità è... in uso.
Inoltrerò il tuo commento ai team di sviluppo.
Vincent CARDON
Tranquillo IT
Tranquillo IT
Sarebbe interessante conoscere i requisiti esatti
Ad esempio, potremmo anche lasciare che la workstation scelga la sua chiave segreta (simmetrica?) e lasciare che la workstation invii le informazioni all'amministratore in forma crittografata, ad esempio nel caso di una password:
- Ma questo non soddisfa necessariamente la necessità.
- La soluzione 3 sarebbe possibile, ma richiederebbe che una macchina con la chiave privata rimanga accesa (non il server) per ricreare il pacchetto di tanto in tanto.
In Python potremmo anche eseguire alcune funzioni update_package come questa:
Prendi un file Excel da una condivisione che rappresenta una mappatura del nome della workstation -> chiave (o dell'ultimo utente che ha effettuato l'accesso alla macchina o qualcos'altro... qualcosa dall'inventario della workstation) e crittografa dati diversi a seconda della workstation.
Questo è il metodo misto 1/3 (per aggiornare il pacchetto sarà sufficiente riavviare l'aggiornamento del pacchetto nella GUI dalla console)
Ad esempio, potremmo anche lasciare che la workstation scelga la sua chiave segreta (simmetrica?) e lasciare che la workstation invii le informazioni all'amministratore in forma crittografata, ad esempio nel caso di una password:
Codice: Seleziona tutto
# -*- coding: utf-8 -*-
from setuphelpers import *
from waptcrypto import print_encrypted_data
def install():
randompassword = 'password'
print_encrypted_data(randompassword,glob.glob(('*.crt')))
- La soluzione 3 sarebbe possibile, ma richiederebbe che una macchina con la chiave privata rimanga accesa (non il server) per ricreare il pacchetto di tanto in tanto.
In Python potremmo anche eseguire alcune funzioni update_package come questa:
Prendi un file Excel da una condivisione che rappresenta una mappatura del nome della workstation -> chiave (o dell'ultimo utente che ha effettuato l'accesso alla macchina o qualcos'altro... qualcosa dall'inventario della workstation) e crittografa dati diversi a seconda della workstation.
Questo è il metodo misto 1/3 (per aggiornare il pacchetto sarà sufficiente riavviare l'aggiornamento del pacchetto nella GUI dalla console)
-
croquebert
- Messaggi: 33
- Registrazione: 30 marzo 2022 - 17:41
Ciao Vincent,vcardon ha scritto: ↑31 marzo 2022 - 16:21Questo è l'unico metodo valido se vuoi garantire la massima sicurezza ai tuoi segreti, ma non dispone di un assistente che renda il compito meno laborioso.croquebert ha scritto: ↑31 marzo 2022 - 12:48 Una soluzione (1) sarebbe quella di creare un pacchetto separato per ogni workstation contenente il segreto da distribuire e associarlo alla workstation pertinente (facendo attenzione a proteggere il segreto seguendo le istruzioni su https://www.wapt.fr/fr/doc/wapt-create- ... pt-package ). Tuttavia, questo diventa rapidamente tedioso quando il numero di workstation è elevato e la frequenza di aggiornamento è alta.
Sei la seconda persona a sollevare questo problema con noi, quindi è incoraggiante sapere che questa utilissima funzionalità è... in uso.
Inoltrerò il tuo commento ai team di sviluppo.
Grazie per il tuo feedback.
In effetti, un pacchetto per ogni workstation interessata migliorerebbe la sicurezza. I meccanismi mancanti servono per automatizzare la creazione, l'aggiornamento e l'associazione di questi pacchetti alle workstation di destinazione (anche se questo dovrebbe essere possibile automatizzarlo con...) https://www.wapt.fr/en/doc/wapt-command ... t-packages).
La soluzione (4) suggeriva di mascherare la complessità della creazione del pacchetto contenente il segreto offrendo nell'interfaccia WAPT una funzionalità di tipo push sul file system del target (una sorta di GPO di copia inversa dei file).
Ma ho tutto ciò che mi serve per iniziare.
Cristoforo
-
croquebert
- Messaggi: 33
- Registrazione: 30 marzo 2022 - 17:41
Ciao Simon,sfonteneau ha scritto: ↑31 marzo 2022 - 21:31 Sarebbe interessante conoscere i requisiti esatti
Ad esempio, potremmo anche lasciare che la workstation scelga la sua chiave segreta (simmetrica?) e lasciare che la workstation invii le informazioni all'amministratore in forma crittografata, ad esempio nel caso di una password:
- Ma questo non soddisfa necessariamente la necessità.Codice: Seleziona tutto
# -*- coding: utf-8 -*- from setuphelpers import * from waptcrypto import print_encrypted_data def install(): randompassword = 'password' print_encrypted_data(randompassword,glob.glob(('*.crt')))
- La soluzione 3 sarebbe possibile, ma richiederebbe che una macchina con la chiave privata rimanga accesa (non il server) per ricreare il pacchetto di tanto in tanto.
In Python potremmo anche eseguire alcune funzioni update_package come questa:
Prendi un file Excel da una condivisione che rappresenta una mappatura del nome della workstation -> chiave (o dell'ultimo utente che ha effettuato l'accesso alla macchina o qualcos'altro... qualcosa dall'inventario della workstation) e crittografa dati diversi a seconda della workstation.
Questo è il metodo misto 1/3 (per aggiornare il pacchetto sarà sufficiente riavviare l'aggiornamento del pacchetto nella GUI dalla console)
Grazie per il tuo feedback.
L'idea di base è l'aggiornamento di un file di configurazione contenente un segreto (ad esempio, VPN).
Utilizzerò un singolo pacchetto che crittograferà i segreti di ogni macchina utilizzando il relativo certificato tramite un `update_package`. Questo pacchetto conterrà i segreti di ogni macchina, ma crittografati. Ogni segreto sarà leggibile solo dalla macchina autorizzata (questo è essenzialmente ciò che fa l'esempio nella tua documentazione).
Vedo almeno due svantaggi in questo metodo:
- Un update_package forzerà l'aggiornamento sulle macchine in cui il segreto non è necessariamente cambiato.
- Tutti i segreti, anche quelli criptati, sono contenuti in un unico pacchetto.
Cristoforo
Se non c'è alcun incremento nella versione del pacchetto, va benecroquebert ha scritto: ↑1 aprile 2022 - 12:50
- Un update_package forzerà l'aggiornamento sulle macchine in cui il segreto non è necessariamente cambiato.
Il pacchetto non dovrebbe riuscire se l'UUID dell'host non è presente nei dati crittografati
Sì, ma è leggibile solo dalla macchina che ne possiede la chiave; i repository secondari e il server stesso non saranno in grado di leggere il pacchetto. (Nota, tuttavia, che ci affidiamo all'inventario della macchina sul server...)croquebert ha scritto: ↑1 aprile 2022 - 12:50
- Tutti i segreti, anche quelli criptati, sono contenuti in un unico pacchetto.
con crittografia: RSAES-OAEPcroquebert ha scritto: ↑1 aprile 2022 - 12:50 Domanda: Qual è l'algoritmo di crittografia predefinito?
con encrypt_fernet: AES a 128 bit in modalità CBC e padding PKCS7, con HMAC che utilizza SHA256 per l'autenticazione
