Questo è un po 'contrario, ma per quanto riguarda la sicurezza non faccio distinzione tra un server interno e un server esterno. Prima o poi qualcuno commetterà un errore in un firewall, la direzione insisterà che un server venga esposto a causa di un client importante, Betty in contabilità otterrà in qualche modo un client VPN sul suo computer domestico infetto, ecc.
Detto questo, i livelli sono i tuoi amici e dovresti inserire la lista nera per impostazione predefinita.
Livelli: dovresti avere più livelli di sicurezza. Ad esempio, un firewall hardware e un firewall software. Questi hanno teoricamente lo stesso scopo, ma avere più livelli protegge dagli errori e mitiga le conseguenze dello sfruttamento di un singolo strato.
Un altro aspetto della stratificazione è "homeycombing", che è essenzialmente più DMZ. Ad un certo punto devi avere un certo livello di fiducia tra le tue macchine e le persone che accedono ai tuoi account. Se riesci a restringere quei punti di interazione, puoi controllare strettamente il tipo di traffico di cui ti fidi in qualsiasi momento. Ad esempio, se si separano i server di interfaccia / app dai server di database, si restringe il livello di affidabilità. Se i server delle tue app vengono compromessi, quegli aggressori ottengono un punto d'appoggio minimo per la tua infrastruttura (cioè, per continuare il loro attacco e tentare di sfruttare gli altri tuoi server, hanno solo quei punti di fiducia stabiliti da usare).
Per quanto riguarda la lista nera per impostazione predefinita, dovresti praticamente chiudere tutto e richiedere (anche se è solo te stesso) la giustificazione per ogni porta che apri, nome utente a cui consenti l'accesso, app che installi, ecc.