Come posso evitare che i miei utenti ottengano un certificato emesso per il mio dominio per mio conto?

22

Ho un dominio, dove altri utenti hanno accesso per caricare file, usare la posta elettronica, usare XMPP, ecc.

Come posso impedire che questi utenti passino a un'autorità di certificazione e ottengano un certificato per il mio dominio? A meno che la CA non richieda un contatto personale, come tecnicamente prova la proprietà di un dominio?

(Supponendo che una CA un po '"fidata", ovvero una nella lista dei browser. Non si tratta di come dovrebbe farlo, ma di come sono o potrebbe farlo nella pratica: una CA con un processo debole sarebbe sufficiente per essere compromessa.)

Ad esempio:

  • Devo disabilitare il caricamento / modifica di file in una posizione specifica, con un nome specifico? Esiste qualche tipo di posizione / nome del file riservato per la verifica del proprietario?
  • Devo disabilitare l'invio di specifici indirizzi email? Ci sono degli indirizzi riservati usati dalle CA?
    • Oppure l'indirizzo e-mail utilizzato da Whois? Ma cosa succede se non ci sono email specificate?
  • Devo disabilitare l'assegnazione di ID Jabber specifici? Qualche CA utilizza XMPP?
  • Altri protocolli che potrebbero essere utilizzati? Qualcosa nel DNS?

( Questa domanda è correlata, ma si tratta di aggressori che non dovrebbero avere accesso al server nel Nel mio caso, tuttavia, voglio dare accesso alle persone, voglio solo essere sicuro di cosa non dovrei permettere loro di fare.)

    
posta unor 15.03.2014 - 04:18
fonte

2 risposte

40

Aggiornamento: sembra un L'uomo finlandese è stato in grado di dimostrare questo " attacco "emettendo un certificato per il dominio live.fi avendo l'indirizzo [email protected] .

L'anno scorso, ho fatto una scommessa con un amico per ottenere un certificato attendibile dal browser con il suo nome di dominio al fine di lanciare un attacco MiTM riuscito sul suo modulo di login per rubare la sua password. Per farla breve: ho perso la scommessa; Non ero in grado di convincere nessuna delle 16 CA che ho contattato che sono il legittimo proprietario del dominio. Anche se avevo un account e-mail sul suo server di posta e avevo accesso FTP a un utente directory nella directory WWW.

Torniamo un po 'indietro. Cosa fanno le CA prima di emettere un certificato di base? Hanno un processo chiamato Domain Control Validation (DCV). La buona notizia è che DCV rende difficile per qualcuno rilasciare un certificato per tuo conto. La cattiva notizia è che ogni CA può apportare modifiche e modifiche personalizzate al DCV, il che rende impossibile stabilire quale CA sarà il link più debole.

In generale, le CA utilizzano uno dei seguenti metodi:

1. Convalida email del dominio: ti invieranno un link / codice di verifica a uno dei seguenti indirizzi email:

  • Indipendentemente dall'email che hai nei record WHOIS (se hai la privacy WHOIS, ti chiederanno di contattare il tuo registratore e impostare l'inoltro della posta elettronica).
  • admin @ Dominio
  • administrator @ Dominio
  • hostmaster @ Dominio
  • root @ Dominio
  • webmaster @ Dominio
  • postmaster @ Dominio


2. Convalida CNAME di dominio: ti chiederanno di creare una voce CNAME personalizzata. Solitamente comporta l'hash della richiesta di firma del certificato (CSR) o di una chiave generata a caso di propria scelta. Un esempio di tale voce è

<MD5(CSR)>.yourdomain.com.  CNAME  <SHA1(CSR)>.CA.com


3. Convalida richiesta HTTP: ti chiederanno di caricare un file di testo specifico su root del tuo dominio. Il file dovrebbe essere accessibile con la seguente richiesta HTTP

http://YourDomain/<MD5(CSR)>.txt

E dovrebbe contenere SHA1(CSR) .

Risultati interessanti: Durante la mia "sfida", sono riuscito a ottenere una CA (SSL.COM) per concordare il caricamento del file di testo su Domain/MyUserName/Something.txt e inviarmi via email il link di verifica a MyUserName@Domain . Tuttavia, hanno insistito sul fatto che dovevano verificarmi con una telefonata al numero nelle registrazioni WHOIS. Ho anche scoperto che alcune CA richiedono un telefono come verifica del primo passaggio, anche prima della verifica dell'e-mail. Tali CA non rilasciano certificati per nomi di dominio utilizzando le opzioni di privacy.

Quindi per rispondere direttamente alla tua domanda , impedisci ai tuoi utenti di creare indirizzi email speciali (menzionati sopra. Puoi anche aggiungere it@ , hostadmin@ , ecc. creando voci CNAME e, infine, impedisci loro di aggiungere file alla directory principale del tuo dominio.

Nota: solo perché 16 CA si sono dimostrate valide, ciò non significa che non ci siano persone che sono disposte a compromettersi in nome della "confidenza dei clienti".

    
risposta data 15.03.2014 - 09:56
fonte
1

Nella mia esperienza, le CA faranno una delle due cose:

  • Invia una email di sfida al proprietario del dominio come elencato in WHOIS.
  • Richiedi al cliente di creare un record DNS temporaneo personalizzato.

A volte possono chiedere entrambi.

Dato che questa risposta è piuttosto aneddotica, ti suggerirei di implementare una sicurezza strong indipendentemente dal fatto che possano creare certificati falsi o meno. Google Apps ad esempio richiede ai siti di creare un record CNAME, ma accetterà un documento HTML caricato invece . Anche se questa non è una CA, stanno ancora lavorando con la verifica della proprietà del dominio.

Generalmente, avere un utente in grado di caricare contenuti sul tuo sito web è problematico.

    
risposta data 15.03.2014 - 09:32
fonte