Hoe een firewall op FreeBSD te configureren met PF Linux

Beveiliging in elk besturingssysteem zou altijd een van de belangrijkste uitgangspunten moeten zijn waar elke dag voor moet worden gevochten, omdat er meerdere elementen van afhankelijk zijn, zoals gebruikersbestanden, configuraties, services en andere. Een onjuiste configuratie van de beveiligingsparameters wordt geassocieerd met een kwetsbaarheid die deuren open laat zodat aanvallers vrije toegang hebben om hun acties uit te voeren.

Een van de belangrijkste beveiligingsmechanismen is gekoppeld aan de firewall van het systeem, omdat het hierdoor mogelijk is om inkomende en uitgaande pakketten van het netwerk te filteren en verschillende regels te creëren om de beveiliging van zowel het systeem als de applicaties en objecten die erin zijn opgeslagen te verbeteren ik.

Daarom zal Solvetic vandaag in detail uitleggen hoe de firewall in FreeBSD moet worden geconfigureerd met behulp van pf.

Wat is pfPF (Packet Filter - Packet Filter) is ontwikkeld als firewallsoftware voor FreeBSD-systemen waarmee we honderden regels kunnen creëren waarmee we op een veel meer gecentraliseerde manier de toegang en het gedrag van alle elementen van het systeem kunnen beheren.

Nu zullen we zien hoe pf in FreeBSD kan worden ingeschakeld en geconfigureerd.

1. Hoe de Linux-firewall in te schakelen


Hoewel pf in FreeBSD is ingebouwd, moeten we de volgende regels in het bestand /etc/rc.conf met een gewenste editor toevoegen:
 nano /etc/rc.conf
De toe te voegen regels zijn:
 echo 'pf_enable = "JA"' >> /etc/rc.confecho 'pf_rules = "/ usr / local / etc / pf.conf"' >> /etc/rc.confecho 'pflog_enable = "JA"' >> / etc / rc.confecho 'pflog_logfile = "/ var / log / pflog"' >> /etc/rc.conf

Zodra we deze regels hebben toegevoegd, slaan we de wijzigingen op met de toetsen Ctrl + O en verlaten we de editor met Ctrl + X.

De regels die we hebben toegevoegd zijn:

Schakel de PF-service in

 pf_enable = "JA"

Neem de PF-regels uit dit specifieke bestand
 pf_rules = "/ usr / local / etc / pf.conf"

Logboekondersteuning voor PF . inschakelen
 pflog_enable = "JA"

Verwijst naar het bestand waar pflogd het logbestand moet opslaan

 pflog_logfile = "/ var / log / pflog"
Daar worden de logs opgeslagen in het bestand / var / log / pflog.

2. Hoe regels te maken in Linux /usr/local/etc/pf.conf bestand


Nadat de vorige regels zijn toegevoegd, zullen we toegang krijgen tot het bestand /usr/local/etc/pf.conf om de regels te maken die pf moet lezen en waarmee rekening wordt gehouden bij het beveiligen.
We openen met behulp van een editor:
 nano /usr/local/etc/pf.conf
Omdat het een nieuw bestand is, zijn de mogelijkheden van regels duizenden, in dit geval kunnen we naar de volgende link gaan en de regel kopiëren die van toepassing is op een webserver, en deze in ons configuratiebestand plakken:

Daar moeten we rekening houden met het wijzigen van de netwerkadapter in het veld ext_if voor de juiste in elk geval.

In dit bestand hebben we de volgende regels toegevoegd:

 # vim: set ft = pf # /etc/pf.confext_if="em0"webports = "{http, https}" int_tcp_services = "{domein, ntp, smtp, www, https, ftp}" int_udp_services = "{domein, ntp} "set skip on lost loginterface $ ext_if # Normalizationscrub in alle random-id fragment reassembleblock return in log allblock out allantispoof quick for $ ext_if # Block 'rapid-fire brute force pogingentable persistblock quick from # ftp-proxy heeft een ankeranker nodig "ftp-proxy / *" # SSH luistert op poort 26pass in quick proto tcp naar $ ext_if poort 26 keep state (max-src-conn 15, max-src-conn-rate 5/3, overload flush global) # Webserverpass proto tcp van any naar $ ext_if port $ webports # Sta essentieel uitgaand verkeer snel uit op $ ext_if proto tcp naar elke poort $ int_tcp_servicespass out snel op $ ext_if proto udp naar elke poort $ int_udp_services
Iets essentieels om in gedachten te houden is dat pf een gedefinieerde volgorde heeft om de regels vast te stellen en dit is:

Macro'sMacro's moeten worden gedefinieerd voordat er naar wordt verwezen in pf.conf
TafelsTabellen bieden een mechanisme om de prestaties en flexibiliteit van de regels te verbeteren
OptiesDe opties passen het gedrag van de pakketfilterengine aan.
VerkeersnormalisatieDeze regel beschermt interne machines tegen inconsistenties in internetprotocollen en implementaties.
In de rij staanBiedt bandbreedtecontrole op basis van gedefinieerde regels
VertalingDeze optie geeft aan hoe adressen moeten worden toegewezen of omgeleid.
PakketfilteringBiedt een op regels gebaseerd slot

Zodra de regels zijn gemaakt, slaan we de wijzigingen op met Ctrl + O en verlaten we de editor met Ctrl + X.

3. Hoe de Linux pf-service in te schakelen


Vervolgens zullen we een reeks opdrachten uitvoeren om de pf-service op FreeBSD te controleren en te starten.

Stap 1
Om de status van pf-activering te verifiëren, voeren we de regel uit:

 pfctl -e

Stap 2
Om de pf-service te starten voeren we de volgende regel uit:

 service pf start

Stap 3
We controleren de service door het volgende uit te voeren:

 service pf check

Stap 4
Op dit punt kunnen we ook een van de volgende opties uitvoeren:

 /etc/rc.d/pf checkpfctl -n -f /usr/local/etc/pf.conf
Als we de pf-service willen stoppen, voeren we uit:
 service pf stop
Om de pf-service opnieuw te starten:
 service pf opnieuw opstarten

Stap 5
Als we de huidige status van de pf-service willen zien:

 service pf-status

Stap 6
De pf-firewall maakt gebruik van de pflog-service om alle beveiligingsgebeurtenissen die in het systeem plaatsvinden op te slaan en vast te leggen, de gebruiksmogelijkheden zijn:

 service pflog start service pflog stop service pflog herstart

4. Hoe pf te gebruiken in FreeBSD Linux


U moet de opdracht pfctl gebruiken om de pf-regelset en parameterinstellingen te kunnen zien, inclusief de statusinformatie van de pakketfilter.
Om deze informatie te zien, voeren we het volgende uit:
 pfctl -s regels

Daarnaast hebben we nog meer opties zoals:

Regelnummer toevoegen

 pfctl -vvsr toon

Toon status

 pfctl -s staatpfctl -s staat | meer

Pf uitschakelen

 pfctl -d

Pf inschakelen

 pfctl -e

Alle regels wissen

 pfctl -F all

Alleen de zoekopdrachten verwijderen

 pfctl -F wachtrij

Alle statussen wissen

 pfctl -F info

Bekijk pf-evenementen

 tcpdump -n -e -ttt -r / var / log / pflog

We kunnen zien hoe pf een praktisch hulpmiddel is bij het werken met de firewall in FreeBSD.

wave wave wave wave wave