Uso sicuro di Psexec o migliore alternativa ad esso

6

Voglio avviare da remoto le macchine virtuali VMWare (possiedo VMWare Workstation) ea questo scopo ho bisogno di eseguire su host qualcosa come "vmrun -T ws H: \ VMWare \ VM1 \ VM1.vmx nogui" con il contesto desktop dell'utente , quindi avviarlo da ssh (che viene eseguito dal servizio e non ha accesso al desktop) non è un'opzione.

So che psexec funzionerà, ma questo strumento ha problemi di sicurezza intrinseci, a partire dalla necessità di esporre la condivisione amministrativa (che è attivata per impostazione predefinita, ma è buona pratica disabilitarla) e termina con facilità di intercettazione (maggiori informazioni su l'argomento qui ).

Forse qualcuno qui sa come renderlo più duro, ad esempio scavando parte del traffico in entrata alla porta 443 dell'host (che viene usato da psexec) con ssh (solo parte, perché devo essere in grado di usare le condivisioni SMB)?

O ancora meglio, come rendere sshd eseguito in modo interattivo in modo da dare (presumo) l'accesso al desktop dell'utente? O forse esiste un software client-server personalizzato, che sarebbe di aiuto con sshd in modalità di servizio (ad esempio implementando la tecnica descritta qui )?

Grazie per il tuo aiuto.

Ho posto una domanda simile qui , su stackoverflow, ma per pubblico diverso e da diversa angolazione.

    
posta Adam Ryczkowski 18.04.2012 - 17:56
fonte

4 risposte

1

Finalmente ho trovato la soluzione che mi si addice meglio, perché non si basa sull'autorizzazione di Windows.

Il punto è non eseguire sshd come servizio di Windows, ma dall'avvio personale dell'utente (possibilmente come una finestra nascosta). È tutto. L'unico trucco qui è che ho bisogno di eseguirlo come processo elevato.

Per avviare cygwin sshd in modo interattivo in Windows 7 è necessario seguire questi passaggi. Sono rispecchiati dal mio post in forum dei superuser per il tuo comfort.

(presumo che cygwin sia installato su C:\cygwin e che contenga il pacchetto openssh ):

  1. Imposta il servizio sshd nell'applet Strumenti di amministrazione \ services su "Avvio manuale" o "Disabilitato"
  2. Diventa proprietario della cartella C:\cygwin\var\empty
  3. (opzionale - per il debug) Assicurati che quando esegui /usr/bin/sshd -D sotto il prompt cygwin elevato ottieni l'accesso ssh al tuo host.
  4. (facoltativo - per il debug) Assicurati che quando avvii C:\cygwin\bin\run -p C:\cygwin\bin /usr/sbin/sshd -D dal prompt dei comandi con privilegi elevati ottieni ancora lo stesso accesso di cui al punto 3. Ricorda di uccidere il processo sshd.exe in seguito utilizzando il task manager.
  5. Crea una nuova attività che avvia questo comando con credenziali elevate subito dopo aver effettuato l'accesso. Vedi questo thread del forum per vedere come fare questo
  6. Accedi con ssh dall'host remoto ed esegui il comando vmrun -T ws start ... come lo faresti localmente, e tutto funziona come previsto.

Spero che aiuti quelli di voi, che preferiscono attenersi all'autorizzazione ssh per l'esecuzione delle attività amministrative.

Si noti che per il suo funzionamento l'utente deve effettivamente accedere all'host (credo sia meglio farlo in modo interattivo (cioè non tramite rdp), ma non ho testato questa teoria) quindi questa soluzione è più adatta per la rete domestica / di piccoli uffici, e forse non è adatta per un server dedicato, a meno che non la si configuri con "autologon" (ma l'autologon ha problemi di sicurezza propri che possono facilmente compensare i vantaggi della disabilitazione $ ADMIN share)

    
risposta data 20.04.2012 - 11:01
fonte
2

Si tratta di un ambiente Windows?

Se PowerShell è un'opzione, puoi provare qualcosa seguendo queste linee?

Powershell Invoke-Command CMDLET

    
risposta data 19.04.2012 - 13:09
fonte
2

A partire dal 7 marzo 2014, PsExec "crittografa tutte le comunicazioni tra i sistemi locali e remoti, inclusa la trasmissione di informazioni di comando come il nome utente e la password con cui viene eseguito il programma remoto."

link

    
risposta data 01.05.2014 - 17:04
fonte
1

Dai un'occhiata a RemoteExec: link (prova gratuita e completamente funzionante)

Questa soluzione software è senza agenti e crittografata e ti consente di eseguire azioni in remoto e in sicurezza.

Qui troverai anche un'analisi comparativa tra RemoteExec e PsExec: link

    
risposta data 19.04.2012 - 11:29
fonte

Leggi altre domande sui tag