Il caricamento statico fa la differenza per la sicurezza solo in situazioni in cui le persone malintenzionate possono alterare i file caricati dinamicamente, a quel punto è giusto dire che hai problemi più grandi a portata di mano.
Se vogliamo davvero parlare di sicurezza in relazione ai moduli statici di Apache, allora potremmo argomentare quanto segue: i moduli non statici semplificano i pacchetti di terze parti. In un sistema Linux, ad esempio, avresti un pacchetto "principale" di Apache e potresti avere un modulo fornito da un altro pacchetto. Ad esempio, su un server Ubuntu recente, potresti avere il pacchetto apache2-bin
, che fornisce Apache stesso e libapache2-mod-php5
, che fornisce il supporto PHP come modulo non statico. Il supporto PHP può trovarsi in un altro pacchetto proprio perché è un modulo non statico.
Se viene trovato un problema di sicurezza nel modulo PHP, allora quel pacchetto può essere corretto (con un nuovo pacchetto patchato) subito, senza dover sostituire il pacchetto principale di Apache in alcun modo. Quindi, si spera, il processo di risoluzione sia più veloce: meno persone coinvolte, pacchetti fissi più piccoli da scaricare ... In questo senso, i moduli non statici possono essere pensati come un miglioramento della sicurezza, ma questo è molto indiretto. Ciò che migliora la sicurezza qui è la possibilità di dividere il codice base in diversi pacchetti che possono essere aggiornati separatamente, e moduli non statici supportano tale modello.
Si noti che i moduli statici potrebbero ancora essere gestiti come pacchetti indipendenti, ma ciò richiederebbe al gestore pacchetti di ricompilare (o almeno ricollegare) il binario di Apache ogni volta che un modulo statico viene aggiornato. La ricompilazione all'aggiornamento è una strategia praticabile (questo è ciò che i sistemi * BSD come FreeBSD fanno con le loro "porte") ma, di regola, le distribuzioni Linux hanno scelto il percorso "pacchetti binari".