Securitatea în orice sistem de operare ar trebui să fie întotdeauna una dintre premisele principale pentru care să lupți în fiecare zi, deoarece mai multe elemente depind de acesta, cum ar fi fișierele utilizatorului, configurațiile, serviciile și altele. O configurație incorectă a parametrilor de securitate este asociată cu o vulnerabilitate care lasă ușile deschise, astfel încât atacatorii să poată avea acces gratuit pentru a-și îndeplini acțiunile.
Unul dintre principalele mecanisme de securitate este legat de paravanul de protecție al sistemului, deoarece datorită acestuia este posibilă filtrarea pachetelor de intrare și ieșire din rețea și crearea diferitelor reguli pentru a îmbunătăți securitatea atât a sistemului, cât și a aplicațiilor și obiectelor stocate în acesta . l.
De aceea, Solvetic va explica astăzi în detaliu cum se configurează firewall-ul în FreeBSD folosind pf.
Ce este pfPF (Packet Filter - Packet Filter) a fost dezvoltat ca un software firewall pentru sistemele FreeBSD cu ajutorul căruia putem crea sute de reguli care ne permit să gestionăm într-un mod mult mai centralizat accesul și comportamentul tuturor elementelor sistemului.
Acum vom vedea cum se activează și se configurează pf în FreeBSD.
1. Cum se activează firewall-ul Linux
Deși pf este încorporat în FreeBSD, trebuie să adăugăm următoarele linii în fișierul /etc/rc.conf cu editorul dorit:
nano /etc/rc.confLiniile de adăugat sunt:
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
Odată adăugate aceste linii salvăm modificările folosind tastele Ctrl + O și ieșim din editor folosind Ctrl + X.
Liniile pe care le-am adăugat sunt:
Activați serviciul PF
pf_enable = "DA"
Luați regulile PF din acest fișier specific
pf_rules = "/ usr / local / etc / pf.conf"
Activați suportul de înregistrare pentru PF
pflog_enable = "DA"
Se referă la fișierul în care pflogd ar trebui să stocheze fișierul jurnal
pflog_logfile = "/ var / log / pflog"Acolo jurnalele vor fi stocate în fișierul / var / log / pflog.
2. Cum se creează reguli în fișierul Linux /usr/local/etc/pf.conf
Odată adăugate liniile anterioare, vom accesa fișierul /usr/local/etc/pf.conf pentru a crea regulile pe care pf trebuie să le citească și care vor fi luate în considerare la protejare.
Accesăm folosind un editor:
nano /usr/local/etc/pf.confDeoarece este un fișier nou, posibilitățile regulilor sunt de mii, pentru acest caz putem merge la următorul link și putem copia regula, care se aplică unui server web, și o putem lipi în fișierul nostru de configurare:
Acolo trebuie să ținem cont de modificarea adaptorului de rețea în câmpul ext_if pentru cel corect în fiecare caz.
În acest fișier am adăugat următoarele reguli:
# 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 loset loginterface $ ext_if # Normalizationscrub in all random-id fragment reassembleblock return în jurnal allblock out allantispoof rapid for $ ext_if # Block 'rapid-fire brute force tentativestable persistblock quick from # ftp-proxy trebuie să aibă un ancoror "ftp-proxy / *" # SSH ascultă pe portul 26pass în proto tcp rapid până la $ ext_if portul 26 keep state (max-src-conn 15, max-src-conn-rate 5/3, suprasarcină la nivel global) # Webserverpass proto tcp de la orice la $ ext_if port $ webports # Permiteți traficul de ieșire esențial treceți rapid pe $ ext_if proto tcp la orice port $ int_tcp_servicespass out rapid pe $ ext_if proto udp la orice port $ int_udp_servicesCeva vital de reținut este că pf are o ordine definită pentru a stabili regulile și aceasta este:
MacrocomenziMacrocomenzile trebuie definite înainte de a fi menționate în pf.conf
MeseTabelele oferă un mecanism pentru creșterea performanței și flexibilității regulilor
OpțiuniOpțiunile ajustează comportamentul motorului de filtrare a pachetelor.
Normalizarea traficuluiAceastă regulă protejează mașinile interne împotriva inconsecvențelor din protocoalele și implementările Internetului.
În așteptareOferă controlul lățimii de bandă bazat pe reguli definite
TraducereAceastă opțiune specifică modul în care adresele ar trebui mapate sau redirecționate.
Filtrarea pachetelorOferă o blocare bazată pe reguli
Odată ce regulile sunt create salvăm modificările folosind Ctrl + O și ieșim din editor folosind Ctrl + X.
3. Cum se activează serviciul Linux pf
În continuare vom rula o serie de comenzi pentru a verifica și porni serviciul pf pe FreeBSD.
Pasul 1
Pentru a verifica starea activării pf executăm linia:
pfctl -e
Pasul 2
Pentru a porni serviciul pf executăm următoarea linie:
service pf start
Pasul 3
Verificăm serviciul executând:
verificare pf service
Pasul 4
În acest moment putem executa, de asemenea, oricare dintre următoarele opțiuni:
/etc/rc.d/pf checkpfctl -n -f /usr/local/etc/pf.confDacă vrem să oprim serviciul pf executăm:
service pf stopPentru a reporni serviciul pf:
service pf restart
Pasul 5
Dacă dorim să vedem starea curentă a serviciului pf:
starea pf de serviciu
Pasul 6
Paravanul de protecție pf folosește serviciul pflog pentru a stoca și înregistra toate evenimentele de securitate care apar în sistem, opțiunile de utilizare sunt:
service pflog start service pflog stop service pflog restart
4. Cum se folosește pf în FreeBSD Linux
Va trebui să utilizați comanda pfctl pentru a putea vizualiza setul de reguli pf și setările parametrilor, inclusiv informațiile despre starea filtrului de pachete.
Pentru a vedea aceste informații executăm următoarele:
pfctl -s reguli
În plus, vom avea mai multe opțiuni, cum ar fi:
Adăugați un număr de regulă
pfctl -vvsr show
Afișează starea
pfctl -s statepfctl -s state | Mai mult
Dezactivați pf
pfctl -d
Activați pf
pfctl -e
Ștergeți toate regulile
pfctl -F all
Ștergeți numai interogările
pfctl -F coadă
Ștergeți toate stările
pfctl -F info
Vizualizați evenimente pf
tcpdump -n -e -ttt -r / var / log / pflog
Putem vedea cum pf este un instrument practic atunci când lucrăm cu firewall-ul în FreeBSD.