Rischio di sicurezza dell'utilizzo di host virtuali per siti pubblici e interni

0

Ho un server Apache che ospita un sito Web pubblico e un sito Web interno. Tuttavia, dal momento che Apache denota host virtuali basati sull'intestazione HTTP Host , non è possibile che qualcuno su Internet richieda l'IP del mio server con l'intestazione Host impostata sul suo nome interno / IP?

    
posta svbnet 04.01.2015 - 10:15
fonte

2 risposte

3

Sì, è possibile. Infatti, se il nome interno è in DNS (globale), possono richiedere il nome del sito interno.

Tuttavia, puoi ancora fare ciò che stai cercando di fare ed essere (soprattutto) sicuro. Non dici la versione di Apache in esecuzione e le cose sono leggermente cambiate per la versione 2.3. In Apache 2.3 o 2.4, è possibile utilizzare mod_authz_host per limitare il server interno a specifici indirizzi IP, in particolare quelli sulla rete interna. Quindi, potresti fare qualcosa di simile:

Require ip 10.1
Require ip 10.2 172.20 192.168.2

A seconda della complessità della rete locale, un Require ip potrebbe essere sufficiente. La documentazione completa è disponibile qui: link

Per le versioni precedenti ad Apache 2.3, dovresti usare mod_access ( link ) che funziona in modo leggermente diverso ma può realizzare la stessa cosa.

Stai ancora eseguendo i siti esterni e interni sulla stessa istanza di Apache, quindi un errore in Apache potrebbe potenzialmente esporre le pagine interne all'esterno. Così potrebbero errori nella configurazione dei controlli di accesso o errori nel collocare i file. L'accesso tramite VPN presenterà un indirizzo dal concentratore VPN, quindi sembreranno richieste "interne", che probabilmente sono buone. Infine, le richieste da un server proxy presenteranno l'indirizzo del proxy. Questo probabilmente non si applica; c'è una nota nei documenti di apache su questo.

È possibile aumentare in qualche modo la sicurezza utilizzando un server con due interfacce di rete e assegnando ciascun host virtuale alla propria interfaccia. Dovresti utilizzare un indirizzo IP interno ( RFC 1918 ) sul server virtuale interno. Per la massima sicurezza, sono necessarie due macchine fisiche, una sulla rete interna, con un indirizzo interno e una nella DMZ con un indirizzo registrato (o inoltro della porta).

Infine, potresti richiedere l'autenticazione (login) per il server interno. Se questo è pratico o necessario. dipende dal numero di persone che useranno il server interno e da quanto è sensibile.

    
risposta data 04.01.2015 - 11:14
fonte
0

Suppongo che il riferimento interno indichi la base di utenti dell'applicazione, non che il server si trovi sulla stessa rete in cui è possibile collegare il sito Web all'IP interno in quel caso.

Come accennato in precedenza, il nome host "interno" può essere scoperto tramite DNS (abbastanza comune), ma anche attraverso la forza bruta (esistono strumenti pubblici) o l'errata configurazione di Apache dove l'hostname interno è anche l'host predefinito o perde in una pagina di errore.

L'autenticazione è un modo semplice per impedire l'accesso non autorizzato a un host virtuale che deve essere accessibile tramite un IP esterno.

    
risposta data 05.01.2015 - 05:46
fonte

Leggi altre domande sui tag