Protezione accesso al sito Web con estensione chrome

2

Proprio così sto sviluppando sistemi molto privati di recente, e sto esaminando la protezione dell'account admin. Sono un dev di PHP con conoscenza essenziale di js / jq. Finora ho gestito la maggior parte delle cose, sto cercando di proteggere la procedura di accesso. Ora, da quello che ho capito, solo a internet explorer è permesso collegarsi a un dispositivo (ad esempio un CD o una pen drive) e controllare il file, solo per consentire il login in seguito, quindi sto cercando qualcosa che posso effettivamente usare. Quindi la mia idea era un'estensione di cromo, sviluppata internamente e inedita, che avrebbe eseguito qualcosa di piuttosto complesso e quindi protetto la pagina di accesso. Quindi potrei avere una pagina di login vuota, o una riempita con aggiunte di spam senza modulo di accesso ovunque, eppure facendo clic sull'estensione, sarei in grado di accedere.

Inoltre, sto cercando idee, non necessariamente codice, e mentre capisco che è una domanda generica, non sono stato in grado di raccogliere molti dati su questo come la ricerca di "chrome extension protected login" e simili possono essere abbastanza fuorviante

Un'altra cosa che ho trovato interessante, ma incerta se è utilizzabile, è un tag NFC. In teoria, avresti il sito web che controlla il ricevitore NFC collegato al PC, se trova un dispositivo specifico su di esso, ti consente di accedere, altrimenti non lo fa. Solo un'idea Considerando l'ambiente da cui il login è abbastanza controllato (è sempre un PC, sempre Windows, sempre Chrome, sempre nello stesso paese), sentitevi liberi di darmi delle idee su come risolveremmo questo. Senza investire un sacco di soldi, se possibile.

    
posta Predrag Beocanin 01.01.2014 - 18:14
fonte

3 risposte

1

Dopo aver letto tutti i commenti di questo post (finora), non c'è molto che possa contribuire, ma grazie per la condivisione. Detto questo, ecco la mia opinione su alcuni commenti scritti sopra.

Informazioni sulla soluzione dei segnalibri, il problema sorge quando qualcuno ha accesso a sniffer, proxy o log http, persino alla cronologia del browser della macchina.

Mi piace l'idea di @samfisher, utilizzare un token dinamico (come l '"autenticatore" di Google). Se vuoi inviare il valore segreto in background (più user friendly) devi tenere l'estensione lontano da persone indesiderate, una volta che l'estensione è installata su un browser specifico, il codice è disponibile per quella persona. Solo per usare come riferimento [1]

Limitare l'indirizzo IP è sempre una buona idea (funziona principalmente in intranet o tramite VPN

La soluzione SSL / TLS è ciò di cui penso tu abbia bisogno, in un certo senso, funziona come una chiave, da altri, crittografa il canale. Installa una volta, lavora ogni volta (fino alla scadenza)

Nella maggior parte dei casi, il computer dell'utente deve essere sicuro.

PS: puoi sempre accettare un'intestazione http specifico per user-agent definita da te per consentire le connessioni in entrata, alcune aziende sindaci lo avevano fatto in passato [2];)

[1] link token di sicurezza / #. U5CvIM9dW24

[2] link

    
risposta data 05.06.2014 - 20:29
fonte
3

Sembra che tu sia potenzialmente alla ricerca di una forma fisica di autenticazione a due fattori. Potresti voler esaminare il YubiKey . È facile aggiungere l'autenticazione a due fattori a un'app Web PHP (hanno persino librerie PHP per te). Le chiavi stesse sono molto convenienti (anche se non conosco il tuo budget)

Se non hai realmente bisogno di un dispositivo fisico, allora definisci cosa suggerisce il suo rapporto. I certificati sono totalmente gratuiti e non richiedono praticamente alcuna interazione da parte dell'utente (anche se questo può essere uno svantaggio se il sistema degli utenti non è sicuro).

L'avrei aggiunto come commento, ma non ho abbastanza "punti". Così sciocco.

risposta data 05.02.2014 - 20:57
fonte
0

A quanto ho capito, una soluzione ideale avrebbe ottenuto quanto segue:

  • Proteggi il processo di login dell'applicazione richiedendo una fase aggiuntiva di autenticazione prima di concedere l'accesso alla pagina di accesso (ovvero riducendo la probabilità di un tentativo di forza bruta sul nome utente / password, ecc.)
  • Fornire un ulteriore fattore di autenticazione (anche se non hai menzionato in modo specifico il multifactor, gli esempi di NFC, unità USB ecc. si riferiscono a questo).

Non dubito che un'estensione di Chrome ben scritta o simile potrebbe potenzialmente raggiungere questo obiettivo. Per essere una forma efficace di autenticazione, dovrebbe essere davvero il controllo di un segreto che sarebbe posseduto solo da un amministratore valido (dico posseduto dal momento che verificheremmo idealmente qualcosa che l'utente ha - noi sappi che l'altro fattore di autenticazione è una password, qualcosa che l'utente conosce ). Esistono numerose sfide inerenti, tra cui:

  • la generazione di una chiave sicura (ad esempio un certificato) difficile da falsificare.
  • gestione delle chiavi (in che modo verrà memorizzato il segreto in modo sicuro?).
  • comunicazioni sicure con il server (cioè invierà l'intera chiave o sfrutterà challenge-response? Tramite quale protocollo?).
  • l'endpoint lato server - se HTTP viene utilizzato per la comunicazione con il server, presumibilmente il server dovrebbe, a un certo punto, o più punti, avere la necessità di ricevere valori tramite parametri. Il codice lato server qui dovrebbe essere implementato in modo sicuro proprio come la pagina di accesso stessa.

In termini di praticità, un'estensione di Chrome potrebbe potenzialmente leggere un file dal disco, anche se l'utente dovrebbe selezionarlo autonomamente. link

Viste le difficoltà sopra esposte per quanto riguarda l'implementazione di questo tipo di sistema, suggerirei l'alternativa antica e ragionevolmente consolidata dei certificati client SSL / TLS . Ciò fornirebbe un ulteriore fattore di autenticazione (l'amministratore deve avere un certificato valido) e altrimenti impedirebbe l'accesso alla pagina di accesso completamente (o qualsiasi comunicazione HTTP per quella materia). Inoltre, la generazione, la gestione, il trasporto delle chiavi, ecc., Sono tutte implementate all'interno dei client / server SSL / TLS e sono relativamente affidabili date le pesanti analisi del settore.

Un'implementazione di esempio solo per dare un'idea di cosa è coinvolto: link

    
risposta data 06.01.2014 - 18:53
fonte

Leggi altre domande sui tag