Cum se configurează firewall-ul pe FreeBSD cu PF Linux

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.conf
Liniile 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.conf
Deoarece 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_services
Ceva 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.conf
Dacă vrem să oprim serviciul pf executăm:
 service pf stop
Pentru 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.

wave wave wave wave wave