Possibili buchi in questo progetto di sicurezza ASP.NET?

4

Quindi ho intenzione di aggiornare alcuni dati tramite un servizio Web ASMX su un server Web tramite programmi .NET eseguiti altrove. Il principale problema di sicurezza è che questo servizio Web deve generare un processo per gestire i dati. Sto utilizzando il sistema di autenticazione integrato di Windows e limitando l'accesso al gruppo Windows di un server web locale. Pianifico di generare il processo tramite la rappresentazione di un utente con solo le autorizzazioni necessarie per svolgere i suoi compiti. L'utente verrà utilizzato solo per avviare questo programma. È un progetto ok o ho un problema evidente che ho trascurato?

Ulteriori dettagli:

L'utente di rappresentazione è codificato nel programma. Se i dati vengono modificati durante il trasporto, non particolarmente catastrofici, il programma viene eseguito ogni notte senza che vengano inviati dati personali o protetti. Sarebbe un problema se i dati fossero sempre modificati, ma questo sembra implicare un attacco permanente da parte di un uomo medio.

    
posta Peter Smith 06.04.2012 - 18:17
fonte

3 risposte

3

Controllare gli input su ASMX e i parametri dell'EXE in modo da non creare una vulnerabilità di tipo SQL injection. A seconda dell'app e di come ASMX pulisce il parametro richiama l'EXE, potresti aprire la porta a un ampio expolit di sistema.

La tua applicazione potrebbe essere vulnerabile a un attacco DOS poiché la rappresentazione su IIS generalmente non è scalabile come altri metodi (come l'autenticazione basata su attestazioni e il sottosistema attendibile).

Potresti anche riscontrare problemi di prestazioni di IIS / processo che possono essere accettati da te mentre i lavoratori delle risorse si bloccano durante l'esecuzione dell'applicazione. Potresti stare meglio avvolgendo l'app Caller e Win32 in WCF. La tua autenticazione dovrebbe scorrere attraverso la pipeline WCF abbastanza facilmente.

Come viene chiamato l'ASMX? Javascript o un client Fat?

Se viene utilizzato javascript, assicurati di proteggerti dagli attacchi CSRF (token Antiforgery + Cookie su HTTP POST o simili)

    
risposta data 09.04.2012 - 23:18
fonte
1

Bene, da quello che stai dicendo non posso pensare immediatamente a qualcosa che stai sbagliando. Voglio dire, dai al processo il minimo privilegio possibile per svolgere l'attività, che è una delle regole di base della sicurezza, e limiti anche l'accesso a un gruppo. Assicurati solo che l'utente che usi per la rappresentazione non sia in grado di fare altre azioni: dal momento che vuoi solo che questo utente sia in grado di avviare il programma, devi assicurarti che non possa fare altre azioni allo stesso livello di privilegio.

Potresti anche dare un'occhiata alla seguente domanda su Stackoverflow: link

    
risposta data 09.04.2012 - 12:58
fonte
0

Ti suggerisco di inserire le credenziali di rappresentazione nel file web.config invece di codificarlo con precisione.

Inoltre, potresti prendere in considerazione la possibilità di limitare l'accesso dell'utente rappresentato. Limitazioni come:

  1. accesso alla rete
  2. avendo accesso solo a directory e / o database / tabella contenenti i dati richiesti
risposta data 13.04.2012 - 07:22
fonte

Leggi altre domande sui tag