Leer Linux

Beheer netwerkbeveiliging met Firewalld met behulp van opdrachtregels

Beheer netwerkbeveiliging met Firewalld met behulp van opdrachtregels

Het handhaven van netwerkbeveiliging is essentieel voor systeembeheerders en het configureren van de firewall via de opdrachtregel is een essentiële vaardigheid om te leren. In het artikel wordt uitgelegd hoe u de firewall beheert met firewall-cmd in de Linux-opdrachtregel.

Een firewall is in wezen software die u kunt configureren om inkomend en uitgaand netwerkverkeer te controleren. Firewalls kunnen voorkomen dat andere gebruikers netwerkdiensten gebruiken op een systeem dat u gebruikt. De meeste Linux-systemen worden geleverd met een standaardfirewall. Eerdere versies van Linux-systemen gebruikten iptables als de daemon voor pakketfiltering. Nieuwere versies van Fedora, RHEL/CentOS, openSUSE worden geleverd met Firewalld als de standaard firewall-daemon. U kunt Firewalld ook installeren in Debian- en Ubuntu-distributies.


Ik raad je aan om Firewalld te gebruiken in plaats van iptables. Geloof me niet zomaar op mijn woord. Lees meer in onze uitgebreide gids over de beschikbare open-source firewalls voor uw Linux-systeem.

Firewalld is een dynamische daemon om firewalls te beheren met ondersteuning voor netwerk- of firewallzones. Firewallzones definiëren netwerkbeveiligingsniveaus van netwerkinterfaces, services of verbindingen. Beheerders van netwerkbeveiligingssysteem hebben ontdekt dat Firewalld uitstekend werkt met IPv4, IPv6, IP-sets en Ethernet-bruggen. Om Firewalld te beheren, kunt u de opdracht firewall-cmd terminal of firewall-config GUI-configuratietool gebruiken.

Deze gids maakt gebruik van de firewall-cmd commando om netwerkbeveiliging te beheren, en onze testomgeving is Fedora Workstation 33.

Voordat we helemaal technisch worden, leren we eerst een paar basisprincipes van het netwerk.

Basisprincipes van het netwerk

Een computer die op een netwerk is aangesloten, krijgt een IP-adres toegewezen dat wordt gebruikt voor het routeren van gegevens. Computers hebben ook poorten in het bereik van 0-65535, die fungeren als verbindingspunten op het IP-adres. Toepassingen kunnen specifieke poorten reserveren. Webservers reserveren poort 80 doorgaans voor veilige HTTP-communicatie. In wezen zijn poortbereiken 0 - 1024 gereserveerd voor bekende doeleinden en het systeem.

De twee belangrijkste protocollen voor internetgegevensoverdracht (TCP en UDP) gebruiken deze poorten tijdens netwerkcommunicatie. Een hostcomputer brengt een verbinding tot stand tussen een bron-IP-adres en poort (poort 80 voor niet-beveiligde HTTP) en het bestemmingsadres en de poort.

Om de netwerkbeveiliging te beheren, kan firewallsoftware gegevensoverdracht of communicatie toestaan ​​of blokkeren op basis van regels zoals poorten of IP-adressen.

Firewalld installeren

Fedora, RHEL/CentOS 7/8, openSUSE

Firewalld is standaard geïnstalleerd in Fedora, RHEL/CentOS 7/8 en openSUSE. Als dit niet het geval is, kunt u het installeren met de volgende opdracht:

# yum installeer firewalld -y
OF
#dnf installeer firewalld -y

Debian/Ubuntu

Ubuntu-systemen worden standaard geleverd met de ongecompliceerde firewall. Om firewalld te gebruiken, moet u de universe-repository inschakelen en de ongecompliceerde firewall deactiveren.

sudo add-apt-repository-universe
sudo apt firewalld installeren

Deactiveer ongecompliceerde firewall:

sudo systemctl ufw uitschakelen

Firewalld inschakelen tijdens het opstarten:

sudo systemctl enable -now firewalld

Controleer of Firewalld actief is:

sudo firewall-cmd -state
rennen

Firewall-zones

Firewalld maakt de configuratie van uw firewall eenvoudig door standaardzones in te stellen. Zones zijn een reeks regels die passen bij de dagelijkse behoeften van de meeste Linux-beheerders. Een firewallzone kan vertrouwde of geweigerde niveaus voor services en poorten definiëren.

Voorbeeld van standaard zones gedefinieerd door Fedora werkstation 33

cat /usr/lib/firewalld/zones/FedoraWorkstation.xml


Fedora-werkstation
Ongevraagde inkomende netwerkpakketten worden geweigerd van poort 1 tot 1024, behalve voor bepaalde netwerkdiensten. [firewall] Inkomende pakketten die betrekking hebben op uitgaande netwerkverbindingen worden geaccepteerd. Uitgaande netwerkverbindingen zijn toegestaan.





Krijg je huidige zone:
U kunt de - - get-active-zones vlag om de momenteel actieve zones in uw systeem te controleren.

sudo firewall-cmd --get-active-zones
[sudo] wachtwoord voor tuts:
FedoraWerkstation
interfaces: wlp3s0
libvirt
interfaces: virbr0

De standaard zone op Fedora Workstation 33 in de FedoraWorkstation zone

Krijg standaard zone & alle gedefinieerde zones:

sudo firewall-cmd --get-default-zone
[sudo] wachtwoord voor tuts:
FedoraWerkstation
[tuts@fosslinux ~]$ sudo firewall-cmd --get-zones
FedoraServer Fedora Werkstation blok dmz drop extern huis intern libvirt nm-gedeeld openbaar vertrouwd werk

Lijst diensten:

U kunt de services krijgen die de firewall andere systemen toestaat met behulp van de  - -lijst-diensten vlag.

[tuts@fosslinux ~]$ sudo firewall-cmd --list-services
dhcpv6-client mdns samba-client ssh

Op Fedora Linux 33 geeft de firewall toegang tot vier services (dhcpv6-client mdns samba-client ssh) met bekende poortnummers.

Lijst firewall poort instellingen:
U kunt de - -lijst-poorten vlag om andere poortinstellingen in elke zone te zien.

tuts@fosslinux ~]$ sudo firewall-cmd --list-ports --zone=FedoraWorkstation
[sudo] wachtwoord voor tuts:
1025-65535/udp 1025-65535/tcp

We hebben de te controleren zone gespecificeerd met de optie - -zone=FedoraWorkstaion.

Zones, poorten en services beheren

Firewall-configuraties kunnen worden geconfigureerd als runtime of permanent. Alle firewall-cmd-acties blijven bestaan ​​totdat de computer of firewall opnieuw is opgestart. U moet permanente instellingen maken met de -permanente vlag.

Maak een zone

Om een ​​zone aan te maken, moet u de - -nieuwe zone vlag.
Voorbeeld:
Maak een nieuwe permanente zone met de naam fosscorp:

[tuts@fosslinux ~]$ sudo firewall-cmd --new-zone fosscorp --permanent
[sudo] wachtwoord voor tuts:
succes

Laad de firewallregels opnieuw om de nieuwe zone te activeren:

[tuts@fosslinux ~]$ sudo firewall-cmd --reload

Voeg ssh-service toe aan de fosscorp-zone zodat u deze op afstand kunt openen:

[tuts@fosslinux ~]$ sudo firewall-cmd --zone fosscorp --add-service ssh --permanent
[sudo] wachtwoord voor tuts:
succes

Bevestig dat uw nieuwe zone 'fosscorp' actief is:

[tuts@fosslinux ~]$ sudo firewall-cmd --get-zones
FedoraServer FedoraWorkstation blok dmz drop extern fosscorp home intern libvirt nm-gedeeld openbaar vertrouwd werk

Je nieuwe zone fosscorp is nu actief en weigert alle inkomende verbindingen behalve SSH-verkeer.

Gebruik de - -verander-interface vlag om de zone fosscorp de actieve en standaardzone te maken voor een netwerkinterface (wlp3s0) die u wilt beschermen:

[tuts@fosslinux ~]$ sudo firewall-cmd --change-interface wlp3s0 \
> --zone fosscorp --permanent
De interface staat onder de [ firewall ] controle van NetworkManager, zone instellen op 'fosscorp'.
succes

Als u fosscorp als standaard en primaire zone wilt instellen, voert u de volgende opdracht uit:

[tuts@fosslinux ~]$ sudo firewall-cmd --set-default fosscorp
succes

Bekijk de zones die momenteel aan elke interface zijn toegewezen met behulp van de - -get-active-zones vlag:

[tuts@fosslinux ~]$ sudo firewall-cmd --get-active-zones
fosscorp
interfaces: wlp3s0

Diensten toevoegen en verwijderen:

Een snelle manier om verkeer door uw firewall toe te laten, is door een vooraf gedefinieerde service toe te voegen.

Lijst beschikbare vooraf gedefinieerde services:

tuts@fosslinux ~]$ sudo firewall-cmd --get-services
[sudo] wachtwoord voor tuts:
RH-Satelliet-6 amanda-client amanda-k5-client amqp amqps apcupsd audit bacula bacula-client bb bgp bitcoin bitcoin-rpc
bitcoin-testnet bitcoin-testnet-rpc bittorrent-lsd ceph ceph-mon cfengine cockpit condor-collector ctdb dhcp dhcpv6 dhcpv6-client
[… ]

Deblokkeer een vooraf gedefinieerde service

U kunt HTTPS-verkeer (of een andere vooraf gedefinieerde service) via uw firewall toestaan ​​met behulp van de - -add-service vlag.

[tuts@fosslinux ~]$ sudo firewall-cmd --add-service https --permanent
succes
[tuts@fosslinux ~]$ sudo firewall-cmd --reload

U kunt de service ook verwijderen met de - -verwijder-service vlag:

[tuts@fosslinux ~]$ sudo firewall-cmd --remove-service https --permanent
succes
[tuts@fosslinux ~]$ sudo firewall-cmd --reload

Poorten toevoegen en verwijderen

U kunt ook rechtstreeks een poortnummer en prototype toevoegen met de vlag -add-port. Het rechtstreeks toevoegen van een poortnummer kan handig zijn wanneer een vooraf gedefinieerde service niet bestaat.

Voorbeeld:
U kunt de niet-standaard toevoegen: poort 1717 voor SSH naar uw aangepaste zone met behulp van de volgende opdracht:

[tuts@fosslinux ~]$ sudo firewall-cmd --add-port 1717/tcp --permanent
[sudo] wachtwoord voor tuts:
succes
[tuts@fosslinux ~]$ sudo firewall-cmd -reload

Verwijder de poort met de optie -remove-port flag:

[tuts@fosslinux ~]$ sudo firewall-cmd --remove-port 1717/tcp --permanent
succes
[tuts@fosslinux ~]$ sudo firewall-cmd -reload

U kunt ook een zone specificeren om een ​​poort toe te voegen of te verwijderen door de vlag -zone toe te voegen aan de opdracht:
Voeg poort 1718 voor TCP-verbinding toe aan de FedoraWorstation-zone:

[tuts@fosslinux ~]$ sudo firewall-cmd --zone=FedoraWorkstation --permanent --add-port=1718/tcp
succes
[tuts@fosslinux ~]$ sudo firewall-cmd --reload
succes

Bevestig of de wijzigingen van kracht zijn:

[tuts@fosslinux ~]$ sudo firewall-cmd --list-all
FedoraWerkstation (actief)
doel: standaard
icmp-blok-inversie: nee
interfaces: wlp3s0
bronnen:
services: dhcpv6-client mdns samba-client ssh
poorten: 1025-65535/udp 1025-65535/tcp 1718/tcp
protocollen:
maskerade: nee
forward-poorten:
source-poorten:
icmp-blokken:
rijke regels:

Opmerking: onder poorten hebben we toegevoegd: poortnummer 1718 om TCP-verkeer toe te staan.

U kunt verwijderen poort 1718/tcp door het volgende commando uit te voeren:

[tuts@fosslinux ~]$ sudo firewall-cmd --zone=FedoraWorkstation --permanent --remove-port=1718/tcp
succes
[tuts@fosslinux ~]$ sudo firewall-cmd --reload
succes

Opmerking: als u uw wijzigingen permanent wilt maken, moet u de - -permanent vlag naar je commando's.

Samenvatting

Firewalld is een geweldig hulpprogramma om uw netwerkbeveiliging te beheren. De beste manier om uw systeembeheerdersvaardigheden te vergroten, is door praktische ervaring op te doen. Ik raad ten zeerste aan om Fedora in je favoriete virtuele machine (VM) of in Boxes te installeren om te experimenteren met alle beschikbare firewall-cmd-functies. U kunt meer firewall-cmd-functies leren van de officiële Firewalld-startpagina.

Wijs uw muisknoppen anders toe voor verschillende software met X-Mouse Button Control
Misschien heeft u een tool nodig waarmee u de bediening van uw muis kunt veranderen bij elke applicatie die u gebruikt. Als dit het geval is, kunt u e...
Microsoft Sculpt Touch draadloze muis Review
Ik las onlangs over de Microsoft Sculpt Touch draadloze muis en besloot hem te kopen. Nadat ik het een tijdje had gebruikt, besloot ik mijn ervaring e...
AppyMouse trackpad en muisaanwijzer op het scherm voor Windows-tablets
Tabletgebruikers missen vaak de muisaanwijzer, vooral wanneer ze gewend zijn om de laptop te gebruiken. Het touchscreen Smartphones en tablets hebben ...