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.confDe 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.confOmdat 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_servicesIets 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.confAls we de pf-service willen stoppen, voeren we uit:
service pf stopOm 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.