PDA

View Full Version : [C#] Eseguire applicazioni con utenza NT Authority


ciroverde
26-05-2010, 08:39
Buongiorno, ho scritto un'applicazione in C# che invia un file ( con la POST) ad un URL usando il protocollo HTTPS.
L'applicazione funziona correttamente con utenze del dominio di rete e va in errore ( Time-out) sulla connessione Https se viene eseguita con credenziali <NT AUTHORITY\SYSTEM>.

Suggerimenti ?
Soluzioni ?

fero86
26-05-2010, 15:03
per forza che va in errore, i servizi locali non hanno accesso alla rete per ovvi, palesi, banali, lapalissiani, motivi di sicurezza. ma poi, scusa, come faresti ad "eseguirlo con credenziali <NT AUTHORITY\SYSTEM>"? :mbe:

Kralizek
26-05-2010, 16:21
piú del come, é interessante sapere il perché!

per la serie "cosa caxxo devi fare che ti servono i poteri di dio in terra?" :sofico:

^TiGeRShArK^
26-05-2010, 23:14
utilizzare NT AUTHORITY\Network Service no, eh? :fagiano:

ciroverde
27-05-2010, 21:44
rileggendo il post mi rendo conto che è un po' ambiguo.

Allora l'exe è eseguito con NT Authority System ( utenza che viene utilizzata dallo schedulatore aziendale TNG) ma LA CONNESSIONE AVVIENE TRAMITE UTENZA DI DOMINIO autorizzata.

Quindi se l'exe lo lancio con un'utenza qualsiasi la connessione funziona correttamente.

Se lancio l'exe con System , la connessione va in time-out.

Ho provato a cambiare l'ambiente di sviluppo... e la prima prova effettuata ha funzionato... mi sa che l'errore è dovuta alla versione di Visual Studio da upgradare.

tomminno
28-05-2010, 07:42
Allora l'exe è eseguito con NT Authority System ( utenza che viene utilizzata dallo schedulatore aziendale TNG) ma LA CONNESSIONE AVVIENE TRAMITE UTENZA DI DOMINIO autorizzata.


Utilizzi l'impersonate per questo?


Ho provato a cambiare l'ambiente di sviluppo... e la prima prova effettuata ha funzionato... mi sa che l'errore è dovuta alla versione di Visual Studio da upgradare.

Dubito che possa essere un problema di Visual Studio.

ciroverde
28-05-2010, 08:43
Utilizzi l'impersonate per questo?

no, lo schedulatore è configurato x eseguire l'exe come NT Authority.

All'interno dell'exe, la connessione è impostata tramite Network Credentials con un'utenza di servizio abilitata ad internet.


Dubito che possa essere un problema di Visual Studio.

Anche io dubitavo.... però mi son dovuto ricredere quando ho provato a scrivere un programmino che invia dati su HTTPS, estrapolando solo il segmento di codice che si occupa dell'invio dei dati ( becero Copia & Incolla di codice).

Ha funzionato !
adesso aspetto solo di rientrare dalle vacanze, effettuare il porting di tutta l'applicazione e verificare che effettivamente il problema sia dovuto a VS

tomminno
28-05-2010, 09:13
no, lo schedulatore è configurato x eseguire l'exe come NT Authority.

All'interno dell'exe, la connessione è impostata tramite Network Credentials con un'utenza di servizio abilitata ad internet.


Mi sa allora che devi usare l'impersonate con un utente che ha i permessi per aprire una connessione. Le Network Credentials servono per autenticarsi sul computer remoto, ma può essere che l'utente non possa aprire una connessione sul computer locale.

ciroverde
06-06-2010, 13:15
Mi sa allora che devi usare l'impersonate con un utente che ha i permessi per aprire una connessione. Le Network Credentials servono per autenticarsi sul computer remoto, ma può essere che l'utente non possa aprire una connessione sul computer locale.

Le Network Credentials servono per effettuare connessioni di rete (quindi anche connessioni Internet) fornendo credenziali diverse dall'utente loggato (soprattutto x effettuare il bypass del proxy).
Ti confermo che il problema NON è connesso alle Network Credentials : è bastato usare delle credenziali di rete NON autorizzate sul proxy x beccarsi un errore 401 ;-)

il problema è sorto a seguito di aggiornamento patch sui server... mi è bastato ricompilare i sorgenti con Visual Studio aggiornato e il problema del time-out è scomparso.

D'altra parte questa problematica si verifica di sovente con Microsoft: ogni volta che ho contattato il supporto MS mi è stato chiesto sempre di verificare la compatibilità tra ambiente di sviluppo e configurazione dei server su cui girano i programmi.

;-)

Morlack`X
10-06-2010, 13:19
Per informazione, il tuo programma passa attraverso proxy?
Ed in caso di risposta affermativa, ad esso si puo' accedere solamente tramite utenze di dominio specifiche? (ad esempio se usate un AD con autenticazione NTLM... LDAP,ecc...).

ciroverde
11-06-2010, 08:20
Per informazione, il tuo programma passa attraverso proxy?
Ed in caso di risposta affermativa, ad esso si puo' accedere solamente tramite utenze di dominio specifiche? (ad esempio se usate un AD con autenticazione NTLM... LDAP,ecc...).

Si si, il problema si verificava sul Proxy; pur utilizzando le Network Credentials di un'utenza autorizzata ad uscire, se l'exe veniva lanciato da NT Authority la connessione si bloccava al proxy ( andava in time-out).
Ovviamente il proxy può essere attarversato solo da alcune utenze autenticate tramite NTLM.