La sicurezza in qualsiasi sistema operativo dovrebbe essere sempre una delle premesse principali per cui lottare ogni giorno poiché da essa dipendono più elementi, come file utente, configurazioni, servizi e altro. Una configurazione errata dei parametri di sicurezza è associata a una vulnerabilità che lascia aperte le porte in modo che gli aggressori possano avere libero accesso per svolgere le proprie azioni.
Uno dei principali meccanismi di sicurezza è legato al firewall del sistema poiché grazie ad esso è possibile filtrare i pacchetti in entrata e in uscita dalla rete e creare varie regole al fine di migliorare la sicurezza sia del sistema che delle applicazioni e degli oggetti in esso archiviati .l.
Ecco perché oggi Solvetic spiegherà in dettaglio come configurare il firewall in FreeBSD usando pf.
Cos'è pfPF (Packet Filter - Packet Filter) è stato sviluppato come un software firewall per sistemi FreeBSD con il quale possiamo creare centinaia di regole che ci consentono di gestire in modo molto più centralizzato l'accesso e il comportamento di tutti gli elementi del sistema.
Ora vedremo come abilitare e configurare pf in FreeBSD.
1. Come abilitare il firewall Linux
Sebbene pf sia integrato in FreeBSD, dobbiamo aggiungere le seguenti righe nel file /etc/rc.conf con l'editor desiderato:
nano /etc/rc.confLe righe da aggiungere sono:
echo 'pf_enable = "YES"' >> /etc/rc.confecho 'pf_rules = "/ usr/local /etc/pf.conf"' >> /etc/rc.confecho 'pflog_enable = "YES"' >> / etc / rc.confecho 'pflog_logfile = "/var/log/pflog"' >> /etc/rc.conf
Una volta aggiunte queste righe, salviamo le modifiche utilizzando i tasti Ctrl + O e usciamo dall'editor utilizzando Ctrl + X.
Le righe che abbiamo aggiunto sono:
Abilita il servizio PF
pf_enable = "SI"
Prendi le regole PF da questo file specifico
pf_rules = "/ usr / local / etc / pf.conf"
Abilita il supporto di registrazione per PF
pflog_enable = "SI"
Si riferisce al file in cui pflogd dovrebbe memorizzare il file di registro
pflog_logfile = "/var/log/pflog"Lì i log verranno archiviati nel file /var/log/pflog.
2. Come creare regole nel file Linux /usr/local/etc/pf.conf
Una volta aggiunte le righe precedenti, accederemo al file /usr/local/etc/pf.conf per creare le regole che pf deve leggere e che verranno prese in considerazione durante la protezione.
Accediamo utilizzando un editor:
nano /usr/local/etc/pf.confTrattandosi di un nuovo file, le possibilità di regole sono migliaia, per questo caso possiamo andare al seguente link e copiare la regola, che si applica a un server web, e incollarla nel nostro file di configurazione:
Lì dobbiamo prendere in considerazione la modifica della scheda di rete nel campo ext_if per quella corretta in ogni caso.
In questo file abbiamo aggiunto le seguenti regole:
# vim: set ft = pf # /etc/pf.confext_if="em0"webports = "{http, https}" int_tcp_services = "{domain, ntp, smtp, www, https, ftp}" int_udp_services = "{domain, ntp} "set skip on lost loginterface $ ext_if # Normalizationscrub in tutto il frammento random-id reassembleblock return in log allblock out allantispoof quick for $ ext_if # Block 'rapido-fire brute force tentativitable persistblock quick from # ftp-proxy deve avere un anchoranchor "ftp-proxy / *" # SSH è in ascolto sulla porta 26pass in quick proto tcp a $ ext_if porta 26 keep state (max-src-conn 15, max-src-conn-rate 5/3, overload flush global) # Webserverpass proto tcp da any a $ ext_if porta $ webports # Consenti il traffico in uscita essenziale passa rapidamente su $ ext_if proto tcp su qualsiasi porta $ int_tcp_services passa rapidamente su $ ext_if proto udp su qualsiasi porta $ int_udp_servicesQualcosa di vitale da tenere a mente è che pf ha un ordine definito per stabilire le regole e questo è:
macroLe macro devono essere definite prima di essere referenziate in pf.conf
TabelleLe tabelle forniscono un meccanismo per aumentare le prestazioni e la flessibilità delle regole
OpzioniLe opzioni regolano il comportamento del motore di filtraggio dei pacchetti.
Normalizzazione del trafficoQuesta regola protegge i computer interni dalle incoerenze nei protocolli e nelle implementazioni Internet.
in codaFornisce il controllo della larghezza di banda in base a regole definite
TraduzioneQuesta opzione specifica come devono essere mappati o reindirizzati gli indirizzi.
Filtraggio dei pacchettiOffre un blocco basato su regole
Una volta create le regole, salviamo le modifiche usando Ctrl + O e usciamo dall'editor usando Ctrl + X.
3. Come abilitare il servizio Linux pf
Successivamente eseguiremo una serie di comandi per controllare e avviare il servizio pf su FreeBSD.
Passo 1
Per verificare lo stato di abilitazione pf eseguiamo la riga:
pfctl -e
Passo 2
Per avviare il servizio pf eseguiamo la seguente riga:
servizio pf start
Passaggio 3
Verifichiamo il servizio eseguendo:
servizio pf controllo
Passaggio 4
A questo punto possiamo anche eseguire una delle seguenti opzioni:
/etc/rc.d/pf checkpfctl -n -f /usr/local/etc/pf.confSe vogliamo fermare il servizio pf eseguiamo:
servizio pf stopPer riavviare il servizio pf:
servizio pf riavvio
Passaggio 5
Se vogliamo vedere lo stato attuale del servizio pf:
stato del servizio
Passaggio 6
Il firewall pf si avvale del servizio pflog per archiviare e registrare tutti gli eventi di sicurezza che si verificano nel sistema, le opzioni di utilizzo sono:
servizio pflog avvio servizio pflog arresto servizio pflog riavvio
4. Come usare pf in FreeBSD Linux
Sarà necessario utilizzare il comando pfctl per poter visualizzare il set di regole pf e le impostazioni dei parametri, incluse le informazioni sullo stato del filtro dei pacchetti.
Per vedere queste informazioni eseguiamo quanto segue:
pfctl -s regole
Oltre a questo, avremo più opzioni come:
Aggiungi il numero della regola
pfctl -vvsr show
Mostra stato
pfctl -s statepfctl -s stato | Di più
Disabilita pf
pfctl -d
Abilita pf
pfctl -e
Cancella tutte le regole
pfctl -F all
Elimina solo le query
pfctl -F coda
Cancella tutti gli stati
pfctl -F info
Visualizza pf eventi
tcpdump -n -e -ttt -r / var / log / pflog
Possiamo vedere come pf sia uno strumento pratico quando si lavora con il firewall in FreeBSD.