Domanda

Sto scrivendo (in C# con .NET 3.5) un'applicazione amministrativa che eseguirà il polling di più sistemi Windows per vari bit di dati.In molti casi utilizzerà WMI, ma in alcuni casi potrebbe essere necessario leggere il registro remoto o eseguire in remoto alcuni comandi o script sul sistema interrogato.Questo sondaggio avverrà a intervalli ripetuti, solitamente di notte, ma può essere configurato per verificarsi più (o meno) frequentemente.Quindi il sondaggio potrebbe svolgersi ogni 10 minuti o raramente una volta al mese.Deve avvenire in modo automatizzato, senza alcun intervento umano.

Queste funzioni richiederanno l'accesso a livello di amministratore ai sistemi interrogati.Ora, mi aspetto che nella maggior parte dei casi d'uso ci sia un dominio e l'applicazione di polling possa essere eseguita come servizio con privilegi di amministratore di dominio (o equivalenti), il che significa che non devo preoccuparmi di memorizzare le password: l'amministratore configura l'app definirà il nome utente/password del servizio tramite meccanismi standard di Windows.

Ma c'è sempre qualche pecora nera là fuori.Il programma può essere eseguito in ambienti non di dominio o nei casi in cui alcuni sistemi interrogati non sono membri del dominio.In questi casi dovremo definire un nome utente e una password, memorizzarli in modo sicuro, quindi invocare questa coppia utente/pass nel momento in cui effettuiamo il polling di quel sistema.Quindi tieni presente che in questo caso il programma viene scritto è l'utente Chi invia password al sistema di autenticazione.

Non sono sicuro se avrò bisogno di utilizzare un hash reversibile che poi decodificherò in testo normale al momento dell'uso, o se esiste qualche meccanismo di Windows che mi consenta di archiviare e quindi riutilizzare solo l'hash.Ovviamente è preferibile il secondo meccanismo;Anche a me piacerebbe che lo facesse il mio programma Mai conoscere il valore in chiaro della password o conoscerlo per il minor tempo possibile.

Ho bisogno di suggerimenti su modi intelligenti e sicuri per raggiungere questo obiettivo.

Grazie per aver guardato!

È stato utile?

Altri suggerimenti

Bene, sembra che il tuo programma debba impersonare un utente diverso dal contesto in cui è già in esecuzione.Anche se sembra un processo piuttosto automatizzato, ma se non lo è, puoi semplicemente non chiedere all'amministratore di inserire nome utente e password nel momento in cui viene interrogato questo computer "pecora nera"?

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top