Verifica che un utente del sito web sia protetto da firewall aziendale?

8

Abbiamo un sito web di e-commerce pubblico ospitato presso il nostro centro dati in loco. Per le persone che si trovano all'interno del firewall aziendale che colpisce il sito Web, desidero visualizzare informazioni di profilo sulla richiesta della pagina corrente. Ciò includerebbe sql, quindi vogliamo garantirlo il più possibile. Quando si accede al sito Web dall'interno del firewall aziendale, l'indirizzo IP dell'utente è sempre 192.168.0.12.

Come posso sapere in modo affidabile / sicuro se l'utente che visita il nostro sito web proviene dall'interno del firewall aziendale? È sufficiente verificare l'indirizzo IP?

    
posta Paul Lemke 10.06.2011 - 20:12
fonte

3 risposte

5

How can I reliably/securely tell if the user visiting our website is coming from inside of the corporate firewall? Is verifying the IP address enough?

Penso che una preoccupazione più grande sia "puoi scrivere questo codice in modo che nessuno possa manipolarlo?" Ne dubito molto, tuttavia, ci sono cose che puoi fare.

Modifica Ok, la vecchia risposta era probabilmente un po 'paranoica sulla sicurezza qui. L'introduzione del codice di debug nella tua app live è un rischio per la sicurezza perché è un altro livello di autenticazione che devi assolutamente prendere in considerazione. Tuttavia, in alcuni scenari, ciò potrebbe essere accettabile.

Nel caso di un negozio online, potrei dire che l'opzione migliore sono i certificati SSL lato client firmati da un certificato affidabile che il server conosce, possibilmente combinato con le restrizioni dell'indirizzo IP. Conserva un elenco di revoche Motivi per questo:

  • Piuttosto difficile da parodiare. Il certificato deve essere firmato e autorizzato da te per primo e installato nel browser client. In questo modo la sicurezza diventa il controllo dell'accesso ai certificati autorizzati: puoi invalidarli dal lato server mantenendo un elenco di revoche / whelelist di fiducia "Mostrerò le informazioni del profilo a"
  • Stai comunque utilizzando SSL nel caso più lento (utente registrato), quindi puoi supporre che i tempi di traffico basati su SSL siano limiti superiori (il semplice HTTP sarà più veloce, ma solo marginalmente).
  • Affidati alle implementazioni crittografiche esistenti anziché tentare di implementare qualcosa di nuovo che potrebbe essere interrotto in modo crittografico.
  • Potresti in effetti rilassare i requisiti IP in una certa misura; gli sviluppatori possono provare anche da casa.
risposta data 10.06.2011 - 20:55
fonte
4

Aggiungerei ulteriore autenticazione al mix - forse un'intestazione aggiuntiva aggiunta da un proxy intermedio o qualcosa del genere. Anche un'intestazione non è molto strong perché può essere falsificata, ma l'indirizzo IP da solo sembra un po 'debole.

Mentre spoofing del traffico TCP (e vedere le risposte) non è banale, dovresti cercare un altro layer da aggiungere se possibile. Se ti trovi in Windows, considera l'aggiunta di Kerberos / NTLM al mix (autenticazione di Windows).

    
risposta data 10.06.2011 - 20:41
fonte
1

Per le aree autenticate del sito, è possibile aggiungere un elenco di utenti a cui l'applicazione fornirebbe le informazioni di debug e verificarlo insieme all'indirizzo IP di origine, in modo che funzioni essenzialmente solo per gli utenti appropriati provenienti dalla rete interna .

Come hanno notato altre risposte, basarsi solo sull'indirizzo IP di origine potrebbe essere un problema, poiché chiunque abbia accesso a quella rete otterrebbe queste informazioni se colpiscono il sito, il che (a seconda di chi è su quella rete) potrebbe includere persone che non dovrebbero Lo vedo.

A seconda della configurazione, il rischio di spoofing dell'indirizzo IP potrebbe essere piuttosto basso, ma consentire a un'intera rete di accedere a informazioni potenzialmente riservate senza autenticarle ulteriormente non è solitamente considerato un controllo strong.

    
risposta data 12.06.2011 - 21:14
fonte

Leggi altre domande sui tag