Account utente non privilegiato
Lo scopo di un account utente non root o non privilegiato è quello di limitare l'utente dall'accesso inutile a determinate attività all'interno di un sistema. Nel contesto di un server Web Apache, ciò significa che dovrebbe funzionare in un ambiente limitato con solo le autorizzazioni necessarie. Per impostazione predefinita, Apache esegue con i privilegi di account demone. È possibile creare un account utente non root separato per evitare minacce in caso di vulnerabilità di sicurezza.
Inoltre, se APACHE2 e MySQL sono sotto le stesse credenziali dell'utente, qualsiasi problema nel processo di una volta che il servizio avrà un impatto sull'altro. Per modificare i privilegi di utente e gruppo per il server Web, vai su /etc /apache2, apri i file di file e imposta l'utente e il gruppo su un nuovo utente dell'account non privilegiato, dire "Apache" e salva il file.
ubuntu@ubuntu ~: $ sudo vim/etc/apache2/envvars
... Snip ..
esporta apache_run_user = apache
esporta apache_run_group = apache
... Snip ..
È inoltre possibile utilizzare il seguente comando per modificare la proprietà della directory di installazione nel nuovo utente non root.
ubuntu@ubuntu ~: $ sudo chown -r apache: apache /etc /apache2
Emettere il seguente comando per salvare le modifiche:
ubuntu@ubuntu ~: $ sudo servizio apache2 riavvio
Tieni aggiornato Apache
Apache è famosa per fornire una piattaforma sicura con una comunità di sviluppatori molto preoccupata che raramente deve affrontare eventuali bug di sicurezza. Tuttavia, è normale scoprire problemi una volta rilasciato il software. Quindi, è essenziale mantenere aggiornato il server Web per avvalersi delle ultime funzionalità di sicurezza. Si consiglia inoltre di seguire gli elenchi di annunci di Apache Server per mantenerti aggiornato su nuovi annunci, rilasci e aggiornamenti di sicurezza dalla comunità di sviluppo di Apache.
Per aggiornare Apache usando APT, digita quanto segue:
ubuntu@ubuntu ~: $ sudo apt-get update
ubuntu@ubuntu ~: $ sudo apt-get upgrade
Disabilita la firma del server
La configurazione predefinita di un server Apache espone molti dettagli sul server e sulle sue impostazioni. Ad esempio, le direttive abilitate per serverignature e serververkens nelle/etc/apache2/apache2.File Conf Aggiungi un'intestazione aggiuntiva alla risposta HTTP che espone informazioni potenzialmente sensibili. Queste informazioni includono i dettagli dell'impostazione del server, come la versione del server e il sistema operativo di hosting, che possono aiutare l'attaccante con il processo di ricognizione. È possibile disabilitare queste direttive modificando Apache2.Conf File tramite vim/nano e aggiungi la seguente direttiva:
ubuntu@ubuntu ~: $ sudo vim/etc/apache2/apache2.conf
... Snip ..
Serverignature off
... Snip ..
Serververkens Prod
... Snip ..
Riavvia Apache per aggiornare le modifiche.
Disabilita elenchi di directory del server
Gli elenchi di directory visualizzano tutti i contenuti salvati nella cartella root o sotto-directory. I file di directory possono includere informazioni sensibili non destinate alla visualizzazione pubblica, come script PHP, file di configurazione, file contenenti password, registri, ecc.
Per non consentire elenchi di directory, modificare il file di configurazione del server Apache modificando Apache2.Conf File come:
ubuntu@ubuntu ~: $ sudo vim/etc/apache2/apache2.conf
... Snip ..
Opzioni -indexes
... Snip ..
O
... Snip ..Puoi anche aggiungere questa direttiva in .file htaccess della directory del tuo sito Web principale.
Proteggi le impostazioni del sistema
IL .Il file htaccess è una funzionalità conveniente e potente che consente la configurazione al di fuori del principale Apache2.Conf File. Tuttavia, nei casi in cui un utente può caricare file sul server, questo può essere sfruttato da un aggressore per caricare il proprio ".File Htaccess ”con configurazioni dannose. Quindi, se non si utilizza questa funzione, puoi disabilitare il .Direttiva htaccess, i.e.:
ubuntu@ubuntu ~: $ sudo vim/etc/apache2/apache2.conf
... Snip ..
#AccessFileName .htaccess
... Snip ..
O
Disabilita il .File Htaccess ad eccezione delle directory specificamente abilitate mediante modificando Apache2.Conf file e trasformare la direttiva per alloggio a nessuno;
ubuntu@ubuntu ~: $ sudo vim/etc/apache2/apache2.conf
... Snip ..
Consentire nessuno
... Snip ..
Directory sicuri con autenticazione
È possibile creare credenziali dell'utente per proteggere tutte o alcune directory utilizzando l'utilità HTPasswd. Vai alla cartella del server e usa il seguente comando per creare un .file htpasswd per archiviare hash password per le credenziali assegnate, diciamo, un utente chiamato dev.
ubuntu@ubuntu ~: $ sudo htpasswd -c/etc/apache2/-htpasswd dev
Il comando sopra richiederà la nuova conferma della password e della password. Puoi visualizzare il gatto ./file htpasswd per controllare l'hash per le credenziali dell'utente memorizzate.
Ora è possibile impostare automaticamente il file di configurazione nella directory Your_Website è necessario proteggere modificando il .file htaccess. Utilizzare il seguente comando e direttive per abilitare l'autenticazione:
ubuntu@ubuntu ~: $ sudo nano/var/www/your_website/.htaccess
... Snip ..
AuthType Basic
AuthName "Aggiungi il prompt della finestra di dialogo"
AuthUserFile/etc/apache2/user_name/domain_name/.htpasswd
Richiedono l'utente valido
... Snip ..
Ricorda di aggiungere il percorso secondo il tuo.
Esegui i moduli necessari
La configurazione di Apache predefinita include moduli abilitati che potrebbero non aver nemmeno bisogno. Questi moduli preinstallati aprono le porte per i problemi di sicurezza di Apache che già esistono o possono esistere in futuro. Per disabilitare tutti questi moduli, è necessario innanzitutto capire quali moduli sono necessari per il funzionamento regolare del tuo server web. A tale scopo, controlla la documentazione del modulo Apache che copre tutti i moduli disponibili.
Successivamente, usa il seguente comando per capire quali moduli sono in esecuzione sul server.
ubuntu@ubuntu ~: $ sudo ls/etc/apache2/mods abilitati
Apache viene fornito con il potente comando A2Dismod per disabilitare il modulo. Impedisce il caricamento del modulo e richiede un avviso durante la disabilitazione del modulo che l'azione può avere un impatto negativo sul server.
ubuntu@ubuntu ~: $ sudo a2dismod module_name
È inoltre possibile disabilitare il modulo commentando la linea di caricamento.
Prevenire l'attacco lento di Loris e DOS
L'installazione predefinita di un server Apache lo costringe ad attendere le richieste dai client troppo a lungo, che sottopone il server per rallentare gli attacchi di Loris e DOS. L'Apache2.Il file di configurazione di configurazione fornisce una direttiva che è possibile utilizzare per ridurre il valore di timeout a pochi secondi per impedire questo tipo di attacchi, i.e.:
ubuntu@ubuntu ~: $ sudo vim/etc/apache2/apache2.conf
Timeout 60
Inoltre, il nuovo server Apache viene fornito con un comodo modulo mod_reqtimeout che fornisce una direttiva requeadtimeout per proteggere il server dalle richieste illegittime. Questa direttiva viene fornito con alcune configurazioni difficili, quindi puoi leggere le informazioni correlate disponibili nella pagina della documentazione.
Disabilita richieste HTTP non necessarie
Le richieste HTTP/HTTPS illimitate possono anche portare a basse prestazioni del server o ad un attacco DOS. È possibile limitare la ricezione di richieste HTTP per directory utilizzando LimitRequestBody a meno di 100K. Ad esempio, per creare una direttiva per la cartella/var/www/your_website, è possibile aggiungere la direttiva LimitRequestBody di seguito per alloggiare tutto, io.e.:
... Snip ..Nota: ricorda di riavviare Apache dopo le modifiche applicate per aggiornarlo di conseguenza.
Conclusione
L'installazione predefinita del server Apache può fornire molte informazioni sensibili per aiutare gli aggressori in un attacco. Nel frattempo, ci sono molti altri modi (non elencati sopra) per proteggere anche il server Web Apache. Continua a ricercare e mantenerti aggiornato su nuove direttive e moduli per proteggere ulteriormente il tuo server.