Настройка firewall в CentOS 7 (firewalld)
Inhoudsopgave:
- voorwaarden
- Basisfirewalld-concepten
- Firewall-zones
- Firewall-services
- Firewalld Runtime en permanente instellingen
- Firewall installeren en inschakelen
- Werken met Firewalld-zones
- De zone van een interface wijzigen
- De standaardzone wijzigen
- Een poort of service openen
- Een nieuwe FirewallD-service maken
- Port doorsturen met Firewalld
- Een regelset maken met FirewallD
- Conclusie
Een goed geconfigureerde firewall is een van de belangrijkste aspecten van de algehele systeembeveiliging.
FirewallD is een complete firewall-oplossing die de iptables-regels van het systeem beheert en een D-Bus-interface biedt om deze te bedienen. Beginnend met CentOS 7 vervangt FirewallD iptables als de standaard firewall management tool.
In deze zelfstudie laten we u zien hoe u een firewall met FirewallD op uw CentOS 7-systeem instelt en leggen we u de basisconcepten van FirewallD uit.
voorwaarden
Voordat u met deze zelfstudie begint, moet u zich aanmelden bij uw server met een gebruikersaccount met sudo-rechten of met de rootgebruiker. De beste praktijk is om beheerdersopdrachten uit te voeren als een sudo-gebruiker in plaats van root. Als u geen sudo-gebruiker op uw CentOS-systeem hebt, kunt u er een maken door deze instructies te volgen.
Basisfirewalld-concepten
FirewallD gebruikt de concepten van zones en services, in plaats van de iptables-keten en regels. Op basis van de zones en services die u configureert, kunt u bepalen welk verkeer wel en niet is toegestaan van en naar het systeem.
FirewallD kan worden geconfigureerd en beheerd met het opdrachtregelhulpprogramma
firewall-cmd
.
Firewall-zones
Zones zijn vooraf gedefinieerde sets regels die specificeren welk verkeer moet worden toegestaan op basis van het vertrouwensniveau op de netwerken waarmee uw computer is verbonden. U kunt netwerkinterfaces en bronnen aan een zone toewijzen.
Hieronder staan de zones aangeboden door FirewallD gerangschikt volgens het vertrouwensniveau van de zone van niet-vertrouwd tot vertrouwd:
- drop: alle inkomende verbindingen worden zonder kennisgeving verwijderd. Alleen uitgaande verbindingen zijn toegestaan. blokkeren: alle inkomende verbindingen worden geweigerd met een door
icmp-host-prohibitedbericht voorIPv4enicmp6-adm-prohibitedvoor IPv6n. Alleen uitgaande verbindingen zijn toegestaan. publiek: voor gebruik in niet-vertrouwde openbare ruimtes. U vertrouwt geen andere computers in het netwerk, maar u kunt geselecteerde inkomende verbindingen toestaan. extern: voor gebruik op externe netwerken met NAT-maskering ingeschakeld wanneer uw systeem als gateway of router fungeert. Alleen geselecteerde inkomende verbindingen zijn toegestaan. intern: voor gebruik op interne netwerken wanneer uw systeem fungeert als gateway of router. Andere systemen op het netwerk worden over het algemeen vertrouwd. Alleen geselecteerde inkomende verbindingen zijn toegestaan. dmz: gebruikt voor computers in uw gedemilitariseerde zone die beperkte toegang hebben tot de rest van uw netwerk. Alleen geselecteerde inkomende verbindingen zijn toegestaan. werk: gebruikt voor werkmachines. Andere computers in het netwerk worden over het algemeen vertrouwd. Alleen geselecteerde inkomende verbindingen zijn toegestaan. thuis: gebruikt voor thuismachines. Andere computers in het netwerk worden over het algemeen vertrouwd. Alleen geselecteerde inkomende verbindingen zijn toegestaan. vertrouwd: alle netwerkverbindingen worden geaccepteerd. Vertrouw op alle computers in het netwerk.
Firewall-services
Firewalld-services zijn vooraf gedefinieerde regels die binnen een zone van toepassing zijn en de benodigde instellingen definiëren om inkomend verkeer voor een specifieke service toe te staan.
Firewalld Runtime en permanente instellingen
Firewalld gebruikt twee gescheiden configuratiesets, runtime en permanente configuratie.
De runtime-configuratie is de actuele actieve configuratie en is niet permanent bij opnieuw opstarten. Wanneer de Firewalld-service wordt gestart, wordt de permanente configuratie geladen, die de runtime-configuratie wordt.
Wanneer u wijzigingen aanbrengt in de Firewalld-configuratie met het hulpprogramma
firewall-cmd
, worden de wijzigingen standaard toegepast op de runtime-configuratie. Om de wijzigingen permanent te maken, moet je de optie
--permanent
gebruiken.
Firewall installeren en inschakelen
-
Firewalld wordt standaard op CentOS 7 geïnstalleerd, maar als het niet op uw systeem is geïnstalleerd, kunt u het pakket installeren door het volgende te typen:
sudo yum install firewalldFirewalld-service is standaard uitgeschakeld. U kunt de firewallstatus controleren met:
sudo firewall-cmd --stateDe FirewallD-service starten en inschakelen bij het opstarten:
sudo systemctl start firewalldsudo systemctl enable firewalld
Werken met Firewalld-zones
Nadat u de FirewallD-service voor het eerst hebt ingeschakeld, wordt de
public
zone ingesteld als standaardzone. U kunt de standaardzone bekijken door te typen:
sudo firewall-cmd --get-default-zone
public
Typ het volgende voor een lijst met alle beschikbare zones:
sudo firewall-cmd --get-zones
block dmz drop external home internal public trusted work
Standaard krijgen alle netwerkinterfaces de standaardzone toegewezen. Om te controleren welke zones door uw netwerkinterface (s) worden gebruikt:
sudo firewall-cmd --get-active-zones
public interfaces: eth0 eth1
De output hierboven vertelt ons dat beide interfaces
eth0
en
eth1
zijn toegewezen aan de openbare zone.
U kunt de zoneconfiguratie-instellingen afdrukken met:
sudo firewall-cmd --zone=public --list-all
public (active) target: default icmp-block-inversion: no interfaces: eth0 eth1 sources: services: ssh dhcpv6-client ports: protocols: masquerade: no forward-ports: source-ports: icmp-blocks: rich rules:
Uit de bovenstaande output kunnen we zien dat de openbare zone actief is en als standaard is ingesteld, gebruikt door zowel
eth0
als
eth1
interfaces. Ook zijn de verbindingen met betrekking tot de DHCP-client en SSH toegestaan.
sudo firewall-cmd --list-all-zones
De opdracht drukt een enorme lijst af met de instellingen van alle beschikbare zones.
De zone van een interface wijzigen
U kunt de interfacezone eenvoudig wijzigen met de optie
--zone
in combinatie met de optie
--change-interface
. De volgende opdracht wijst de
eth1
interface toe aan de werkzone:
sudo firewall-cmd --zone=work --change-interface=eth1
Controleer de wijzigingen door te typen:
sudo firewall-cmd --get-active-zones
work interfaces: eth1 public interfaces: eth0
De standaardzone wijzigen
Om de standaardzone te wijzigen, gebruikt u de optie
--set-default-zone
gevolgd door de naam van de zone die u als standaard wilt instellen.
Als u bijvoorbeeld de standaardzone naar thuis wilt wijzigen, moet u de volgende opdracht uitvoeren:
sudo firewall-cmd --set-default-zone=home
Controleer de wijzigingen met:
sudo firewall-cmd --get-default-zone
Een poort of service openen
Met FirewallD kunt u verkeer toestaan voor specifieke poorten op basis van vooraf gedefinieerde regels die services worden genoemd.
Om een lijst te krijgen van alle standaard beschikbare services type:
sudo firewall-cmd --get-services

U kunt meer informatie over elke service vinden door het bijbehorende.xml-bestand te openen in de directory
/usr/lib/firewalld/services
. De HTTP-service is bijvoorbeeld als volgt gedefinieerd:
WWW (HTTP) HTTP is the protocol used to serve Web pages. If you plan to make your Web server publicly available, enable this option. This option is not required for viewing pages locally or developing Web pages.
WWW (HTTP) HTTP is the protocol used to serve Web pages. If you plan to make your Web server publicly available, enable this option. This option is not required for viewing pages locally or developing Web pages.
Om inkomend HTTP-verkeer (poort 80) toe te staan voor interfaces in de openbare zone, alleen voor de huidige sessie (runtime-configuratie):
sudo firewall-cmd --zone=public --add-service=http
Als u de standaardzone wijzigt, kunt u de optie
--zone
weglaten.
Gebruik de optie
--list-services
om te controleren of de service is toegevoegd:
sudo firewall-cmd --zone=public --list-services
ssh dhcpv6-client
sudo firewall-cmd --permanent --zone=public --add-service=http
Gebruik de
--list-services
samen met de
--permanent
optie om uw wijzigingen te verifiëren:
sudo firewall-cmd --permanent --zone=public --list-services
ssh dhcpv6-client
De syntaxis voor het verwijderen van service is hetzelfde als bij het toevoegen van een service. Gebruik gewoon
--remove-service
plaats van de
--add-service
optie:
sudo firewall-cmd --zone=public --remove-service=http --permanent
De bovenstaande opdracht verwijdert de http-service uit de permanente configuratie van de openbare zone.
Wat als u een toepassing zoals Plex Media Server gebruikt waarvoor geen geschikte service beschikbaar is?
In dergelijke situaties hebt u twee opties. U kunt de juiste poorten openen of een nieuwe FirewallD-service definiëren.
De Plex-server luistert bijvoorbeeld op poort 32400 en gebruikt TCP om de poort in de openbare zone voor de huidige sessie te openen met de optie
--add-port=
:
sudo firewall-cmd --zone=public --add-port=32400/tcp
Protocollen kunnen
tcp
of
udp
.
Gebruik de optie
--list-ports
om te controleren of de poort is toegevoegd:
sudo firewall-cmd --zone=public --list-ports
32400/tcp
Om de poort
32400
open te houden na opnieuw opstarten, voegt u de regel toe aan de permanente instellingen door dezelfde opdracht uit te voeren met de optie
--permanent
.
De syntaxis voor het verwijderen van een poort is hetzelfde als bij het toevoegen van een poort. Gebruik gewoon
--remove-port
plaats van de
--add-port
optie.
sudo firewall-cmd --zone=public --remove-port=32400/tcp
Een nieuwe FirewallD-service maken
Zoals we al hebben vermeld, worden de standaardservices opgeslagen in de map
/usr/lib/firewalld/services
. De eenvoudigste manier om een nieuwe service te maken, is door een bestaand servicebestand te kopiëren naar de map
/etc/firewalld/services
, de locatie voor door gebruikers gemaakte services en de bestandsinstellingen te wijzigen.
Om bijvoorbeeld een servicedefinitie voor de Plex Media Server te maken, kunnen we het SSH-servicebestand gebruiken:
sudo cp /usr/lib/firewalld/services/ssh.xml /etc/firewalld/services/plexmediaserver.xml
Open het nieuw gecreëerde
plexmediaserver.xml
bestand en wijzig de korte naam en beschrijving voor de service in de
In het volgende voorbeeld openen we poorten
1900
UDP en
32400
TCP.
plexmediaserver Plex is a streaming media server that brings all your video, music and photo collections together and stream them to your devices at anytime and from anywhere.
plexmediaserver Plex is a streaming media server that brings all your video, music and photo collections together and stream them to your devices at anytime and from anywhere.
Sla het bestand op en laad de FirewallD-service opnieuw:
sudo firewall-cmd --reload
U kunt de
plexmediaserver
service nu in uw zones gebruiken als elke andere service..
Port doorsturen met Firewalld
Om verkeer van de ene poort naar een andere poort of een ander adres door te sturen, schakelt u eerst
--add-masquerade
voor de gewenste zone in met de schakelaar
--add-masquerade
. Om bijvoorbeeld maskering voor
external
zonetype in te schakelen:
sudo firewall-cmd --zone=external --add-masquerade
- Stuur verkeer van de ene poort naar de andere door op dezelfde server
In het volgende voorbeeld sturen we het verkeer van poort
80
naar poort
8080
op dezelfde server door:
sudo firewall-cmd --zone=external --add-forward-port=port=80:proto=tcp:toport=8080
- Stuur verkeer door naar een andere server
In het volgende voorbeeld sturen we het verkeer van poort
80
naar poort
80
op een server met IP
10.10.10.2
:
sudo firewall-cmd --zone=external --add-forward-port=port=80:proto=tcp:toaddr=10.10.10.2
- Stuur verkeer door naar een andere server op een andere poort
In het volgende voorbeeld sturen we het verkeer van poort
80
naar poort
8080
op een server met IP
10.10.10.2
:
sudo firewall-cmd --zone=external --add-forward-port=port=80:proto=tcp:toport=8080:toaddr=10.10.10.2
Een regelset maken met FirewallD
In het volgende voorbeeld laten we zien hoe u uw firewall configureert als u een webserver gebruikt. We gaan ervan uit dat uw server slechts één interface
eth0
heeft en u wilt inkomend verkeer alleen toestaan op SSH-, HTTP- en
-
Wijzig de standaardzone in dmz
We zullen de dmz (gedemilitariseerde) zone gebruiken omdat standaard alleen SSH-verkeer is toegestaan. Voer de volgende opdrachten uit om de standaardzone te wijzigen in dmz en toe te wijzen aan de
eth0interface:sudo firewall-cmd --set-default-zone=dmzsudo firewall-cmd --zone=dmz --add-interface=eth0Open HTTP- en
Om HTTP- en HTTPS-poorten te openen, voegt u permanente serviceregels toe aan de dmz-zone:
sudo firewall-cmd --permanent --zone=dmz --add-service=httpsudo firewall-cmd --permanent --zone=dmz --add-service=httpsBreng de wijzigingen onmiddellijk van kracht door de firewall opnieuw te laden:
sudo firewall-cmd --reloadControleer de wijzigingen
Om de instellingen van de dmz-zone-configuratie te controleren:
sudo firewall-cmd --zone=dmz --list-alldmz (active) target: default icmp-block-inversion: no interfaces: eth0 sources: services: ssh http https ports: protocols: masquerade: no forward-ports: source-ports: icmp-blocks: rich rules:De uitvoer hierboven vertelt ons dat de DMZ de standaardzone is, wordt toegepast op de
eth0interface en dat de poorten ssh (22) http (80) en https (443) open zijn.
Conclusie
U hebt geleerd hoe u de FirewallD-service op uw CentOS-systeem kunt configureren en beheren.
Zorg ervoor dat u alle inkomende verbindingen toestaat die nodig zijn voor de goede werking van uw systeem, terwijl u alle onnodige verbindingen beperkt.
firewalld firewall iptables centos beveiligingSiemens: Duitse klant getroffen door industriële worm bevestigde dinsdag dat een van zijn Duitse klanten is getroffen door een nieuwe worm die is ontworpen om geheimen te stelen van industriële besturingssystemen. Siemens bevestigde dinsdag dat een van zijn klanten is getroffen door een nieuwe worm die is ontworpen om geheimen te stelen van industriële besturingssystemen. Tot op heden is het bedrijf op de hoogte gebracht van één aanval op een Duitse fabrikant dat Siemens weigerde te id
De worm, Stuxnet genaamd, werd vorige maand voor het eerst gezien toen het systemen infecteerde bij een niet-geïdentificeerde Iraanse organisatie, volgens Sergey Ulasen, hoofd van het antivirusprogramma. kernelafdeling bij VirusBlokAda, in Minsk, Wit-Rusland. Het niet-geïdentificeerde slachtoffer, dat geen eigenaar is van het type SCADA-systeem (toezichtcontrole en gegevensverzameling) dat door de worm wordt getarget, "vertelde ons dat hun werkstations serieel opnieuw werden opgestart zonder eni
Een zachte Larry-pagina verrast bij Google I / O
Er werd niet verwacht dat de pagina op I / O sprak, deels omdat hij last had van een probleem met de stembanden dat hij uiteindelijk opende over deze week. Op woensdag sprak hij zacht maar duidelijk in een handheld-microfoon.
Het paneel voor wiskundige invoer gebruikt de wiskundige herkenning die is ingebouwd in Windows 7 om handgeschreven wiskundige uitdrukkingen te herkennen. U kunt het dan gemakkelijk gebruiken met tekstverwerkers of computertabellen. Het paneel voor wiskundige invoer is ontworpen om te worden gebruikt met een tabletpen op een tablet-pc, maar u kunt het ook gebruiken met elk invoerapparaat, zoals een aanraakscherm of zelfs een muis.
Het paneel voor wiskundige invoer gebruikt de wiskundige herkenner die in Windows is ingebouwd 7 om handgeschreven wiskundige uitdrukkingen te herkennen. Je kunt het dan gemakkelijk gebruiken met tekstverwerkers of computertabellen.







