Standard per la protezione del server Web alle connessioni client tramite HTTPS sulla rete locale

1

Sto provando a impostare una sorta di client sicuro per la connessione al server web che si svolge interamente su reti locali, ma ho difficoltà a capire quale sia la migliore pratica consigliata.

Ecco la mia situazione: ho molti server Web che sono ciascuno in esecuzione sulla propria LAN ei client accederanno al server Web all'interno della stessa LAN. Voglio proteggere tutte le connessioni client-server (tramite HTTPS o qualsiasi altra cosa) su ogni LAN su cui è in esecuzione il mio server web. Il server Web non deve essere raggiungibile da Internet pubblica. Ci sarà un'API di back-end in esecuzione sugli stessi computer che devono essere raggiungibili da Internet pubblico, ma non devo necessariamente usare HTTPS per proteggerlo (tuttavia, sarebbe bello se riuscissi a risolvere entrambi i problemi con la stessa soluzione). Non posso distribuire certificati attendibili ai client, ma posso controllare DNS e DHCP sulle LAN (anche se voglio evitarlo il più possibile). Possiedo anche un nome di dominio per il quale posso ottenere un certificato attendibile.

Ho identificato diverse opzioni, ma non sono sicuro quali siano possibili e sono certo che ci deve essere una best practice raccomandata per questo tipo di configurazione. Ho bisogno che qualcuno mi dica qual è la migliore pratica e perché.

Opzione 1: ogni server Web ottiene lo stesso certificato per lo stesso nome di dominio e i server DNS su ogni LAN risolvono il nome del dominio all'indirizzo locale appropriato.

Opzione 2: ogni web server ottiene un certificato diverso per un nome di dominio leggermente diverso (aaa.yyy.com, bbb.yyy.com, ccc.yyy.com, ecc.), ma sono tutti gestiti sotto lo stesso certificato jolly. I server DNS su ogni LAN risolvono il nome del dominio all'indirizzo locale appropriato come nell'opzione 1. Non sono sicuro che questo funzioni diversamente dall'opzione 1.

Opzione 3: ogni web server ottiene un certificato diverso per un nome di dominio completamente diverso (www.aaa.com, www.bbb.com, www.ccc.com, ecc.). Questo nome di dominio verrebbe specificato dall'utente e il server Web sarebbe in grado di andare a richiedere una CA per un certificato al volo. Non sono sicuro che funzioni diversamente dalle Opzioni 1 o 2.

Opzione 4: creo una CA su ogni LAN e distribuisco il certificato di origine CA ad ogni client. Questa non è davvero un'opzione nel mio set up, ma mi piacerebbe comunque sapere se è la best practice raccomandata.

Opzione 5: ogni server Web firma autonomamente il proprio certificato e gli avvisi del browser vengono prodotti nei client. Inoltre non è davvero un'opzione nella mia configurazione.

Opzione 6: usa un altro tipo di crittografia su HTTP. Ciò evita il fastidio della configurazione DNS, ma non impedisce gli attacchi man in the middle. Viene usato in modo standard per le connessioni per nascondere le password in chiaro e cosa non è possibile prima che HTTPS sia abilitato da un utente sulla GUI del server Web?

    
posta jondavidford 17.05.2016 - 14:36
fonte

1 risposta

1

La sicurezza è sicurezza, indipendentemente dalla zona di rete. Sì, non ci sono così tanti potenziali attaccker per il server solo LAN, ma non è solo sfruttato, ma accresciuto dalla velocità della rete: un lan attacker su una velocità 1Gbps strong / stabile / garantita può tentare il maggior numero di password, come 100 attaccanti dal WAN / WWW / Web con velocità di connessione instabile, ad esempio. Usa esattamente le stesse tecniche e i criteri di un server web pubblico e starai bene. Sto usando la prossima checklist che funziona con i server web:

  • Solo cifre potenti a 256 bit
  • Disattiva esplicitamente le crittografie vecchie, deboli e di esportazione
  • Crea un parametro DH lungo almeno 4096 bit e specificali facendo riferimento a un file
  • Crea il tuo cert con la chiave 16384, hash SHA512. Puoi utilizzarlo come certificato con nome di dominio singolo e facoltativamente puoi farlo firmare da una CA attendibile.

Il modo in cui usi un client di cert e di routing via DNS sembra essere giusto per te, ma l'opzione4 con la tua CA sembra essere un modo più sicuro (e laborioso, tristemente) perché sarai in grado di ottenere un certificato client per ogni cliente nella tua rete: eviterà molti casi di "furto mio passaggio". Ma se implementi Option4, crea un'unica CA per tutte le tue lan - ridurrà una quantità di lavoro che non tocchi la sicurezza che fornisce.

    
risposta data 17.05.2016 - 15:56
fonte

Leggi altre domande sui tag