|
|
|
![]() |
|
Strumenti |
![]() |
#1 |
Senior Member
Iscritto dal: Oct 2005
Messaggi: 3306
|
[Win32] Ridurre privilegi di un servizio
Ho un servizio che dovrebbe scrivere nella sezione current user del registro di sistema (dovrebbe disabilitare il task manager e il regedit), come faccio a ridurre i privilegi del servizio per consentire di scrivere in quella sezione?
|
![]() |
![]() |
![]() |
#2 | |
Senior Member
Iscritto dal: Nov 2005
Città: TO
Messaggi: 5206
|
Quote:
![]()
__________________
Andrea, SCJP 5 (91%) - SCWCD 5 (94%) |
|
![]() |
![]() |
![]() |
#3 | |
Senior Member
Iscritto dal: Oct 2005
Messaggi: 3306
|
Quote:
Da più parti ho letto che l'unico modo per farlo sia chiedere nome utente e password. Ultima modifica di tomminno : 27-02-2007 alle 15:20. |
|
![]() |
![]() |
![]() |
#4 | |
Senior Member
Iscritto dal: Nov 2005
Città: TO
Messaggi: 5206
|
Quote:
Comunque io ho già provato ad usare LogonUser ma senza successo. Mi ritorna errore 1314 (ERROR_PRIVILEGE_NOT_HELD). Sicuramente ho sbagliato io ... non ho fatto qualcosa che si doveva fare prima della chiamata a LogonUser o cose del genere. Ma non so dire di più.
__________________
Andrea, SCJP 5 (91%) - SCWCD 5 (94%) |
|
![]() |
![]() |
![]() |
#5 |
Bannato
Iscritto dal: Feb 2005
Città: Roma
Messaggi: 7029
|
lascia perdere la creazione di un token nuovo di zecca: per farlo è necessario contattare l'LSA, ti incasina tutto inutilmente. piuttosto io vedrei di aprire il token già esistente e togliergli permessi e privilegi. guarda la funzione CreateRestrictedToken. è semplicissima da usare, e a quel punto diventa tutta una questione di configurare i dovuti restricting SIDs e deny-only SIDs da "Gestione Computer"
![]() trovi tutte le info necessarie alla pagina di CreateRestrictedToken, o anche qua. |
![]() |
![]() |
![]() |
#6 | |
Senior Member
Iscritto dal: Oct 2005
Messaggi: 3306
|
Quote:
Il programma serve per controllare da remoto i computer delle aule scolastiche dove nessuno ci capisce niente di computer, per cui è probabile che gli studenti abbiano pure un account amministratore ![]() |
|
![]() |
![]() |
![]() |
#7 | |
Senior Member
Iscritto dal: Oct 2005
Messaggi: 3306
|
Quote:
Proverò con CreateRestrictedToken, ma da come l'hai introdotta non so se possa fare al caso mio. |
|
![]() |
![]() |
![]() |
#8 |
Bannato
Iscritto dal: Feb 2005
Città: Roma
Messaggi: 7029
|
infatti non ho mica capito il discorso: perché devi ridurre i privilegi (supponendo che intendessi in realtà permessi) ad un processo affinché esso abbia accesso ad un oggetto protetto?
|
![]() |
![]() |
![]() |
#9 | |
Bannato
Iscritto dal: Feb 2005
Città: Roma
Messaggi: 7029
|
Quote:
|
|
![]() |
![]() |
![]() |
#10 | |
Senior Member
Iscritto dal: Oct 2005
Messaggi: 3306
|
Quote:
Non voglio limitare le mie possibilità di eseguire operazioni ma aumentarle ![]() In pratica io ho creato un servizio che lancia il mio programma che quindi lavora con privilegi SYSTEM, ma queste operazioni richiedono che da SYSTEM passi al livello dell'utente loggato. |
|
![]() |
![]() |
![]() |
#11 | |
Bannato
Iscritto dal: Feb 2005
Città: Roma
Messaggi: 7029
|
Quote:
![]() 2) SYSTEM può accedere nel registro ai profili di qualsiasi utente, quindi inutile che ti logghi come un utente per accedere ad HKEY_CURRENT_USER quando puoi accedere direttamente a HKEY_USERS/<SID> |
|
![]() |
![]() |
![]() |
#12 | ||
Senior Member
Iscritto dal: Oct 2005
Messaggi: 3306
|
Quote:
![]() Quote:
![]() |
||
![]() |
![]() |
![]() |
#13 | |
Senior Member
Iscritto dal: Dec 2005
Città: Istanbul
Messaggi: 1817
|
Quote:
![]() Fermo restando che la prima cosa da fare e' non lasciare l'accesso di amministratore agli studenti, non fosse altro perche' poi le conseguenze di qualsiasi malefatta se la becca il responsabile del laboratorio.
__________________
One of the conclusions that we reached was that the "object" need not be a primitive notion in a programming language; one can build objects and their behaviour from little more than assignable value cells and good old lambda expressions. —Guy Steele |
|
![]() |
![]() |
![]() |
#14 | |
Senior Member
Iscritto dal: Dec 2005
Città: Istanbul
Messaggi: 1817
|
Quote:
Il modo "ufficiale" perche un'utente possa interagire con un servizio e' tramite un processo che giri nella sessione dell'utente ed interagisca col servizio. E' il motivo perche' ti trovi nella tray bar una inconcina di windows update, quella dello spooler di stampa, etc. Servono da tramite per i servizi di sistema. A questo punto pero' per impedire che l'utente pialli quel programmino devi cominciare ad usare tecniche da spyware ![]() E in ogni caso anche se opti per il servizio che invece che il solo utente corrente vada a rovistare tra i vari utenti, ti trovi col problema che, se non disabiliti anche l'accesso all'editor delle policy di gruppo, un utente puo' forzare l'abilitazione del task manager nelle policy, che al login dell'utente andranno a sovrapporsi alle impostazioni del registro... ancora una volta rischi di dover faticare per una soluzione con molte possibili falle.
__________________
One of the conclusions that we reached was that the "object" need not be a primitive notion in a programming language; one can build objects and their behaviour from little more than assignable value cells and good old lambda expressions. —Guy Steele Ultima modifica di marco.r : 28-02-2007 alle 22:22. |
|
![]() |
![]() |
![]() |
#15 | |
Senior Member
Iscritto dal: Oct 2005
Messaggi: 3306
|
Quote:
![]() L'ambiente in cui andrà installato questo software è di quelli più beceri che si possa pensare (utenti? che cosa sono? ![]() Serve proprio perchè nessuno ci capisce niente e quindi è comodo avere un software che da remoto ti consente di disabilitare programmi o funzionalità di Windows. E' un palliativo, lo so benissimo, però a quanto pare sono software alquanto richiesti (viva la cultura informatica). |
|
![]() |
![]() |
![]() |
#16 | |
Bannato
Iscritto dal: Feb 2005
Città: Roma
Messaggi: 7029
|
Quote:
![]() ![]() ![]() ![]() |
|
![]() |
![]() |
![]() |
#17 | |
Senior Member
Iscritto dal: Oct 2005
Messaggi: 3306
|
Quote:
Inoltre il software si autonasconde dall'elenco dei processi visibile al task manager (che in ogni caso viene terminato dal programma stesso, ma questa è un'opzione disabilitabile da remoto). E comunque da remoto l'interfaccia avvisa sullo stato dei client, se uno studente riavvia la macchina o tira giù il servizio si spera che qualcuno controlli. Il tutto deve avere difficoltà pari ad installare il mulo, con checkbox tal tono rassicurante che ti garantiscono che lo studente non accederà ad internet, che non formatterà niente, che non userà penne USB,CDROM,... altro che configurazione dei gruppi di utenti! Per me una vaccata (non la gestione dei gruppi). |
|
![]() |
![]() |
![]() |
#18 |
Bannato
Iscritto dal: Feb 2005
Città: Roma
Messaggi: 7029
|
premesso che volendo potresti fare le cose pompate in grande riempiendoti la bocca di paroloni e creando per il tuo software una procedura di installazione che provveda alla configurazione automatica di impostazioni di sicurezza decenti, creazione di account limitato in primis
![]() ![]() ![]() ciò premesso, pensandoci e ripensandoci, sebbene il problema non abbia soluzioni reali ed esaustive (disabiliti il Task Manager? il primo coglione che arriva che ha sentito parlare di Mark Russinovich installa il Process Explorer assieme ai tools del Windows Resource Kit ![]() ![]() ![]() |
![]() |
![]() |
![]() |
#19 | |
Bannato
Iscritto dal: Feb 2005
Città: Roma
Messaggi: 7029
|
Quote:
cioè hai usato veramente le tecniche da spyware di cui parlava giustappunto marco.r :| |
|
![]() |
![]() |
![]() |
#20 | |
Bannato
Iscritto dal: Feb 2005
Città: Roma
Messaggi: 7029
|
Quote:
![]() un po' più complicato invece per le penne USB, in quanto non sono sempre presenti come periferiche ma vengono aggiunte dinamicamente... comunque per quanto riguarda floppy e CD, il tuo programma deve semplicemente aggiungere alle rispettive periferiche (apribili tramite semplice CreateFile) delle ACE di accesso negato contro l'account in uso dallo studente. Ultima modifica di 71104 : 28-02-2007 alle 23:41. |
|
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 21:54.