Home
» Hoe
»
Open alleen het webverkeer dat uw SLES 15-server nodig heeft.
Open alleen het webverkeer dat uw SLES 15-server nodig heeft.
Voorbeeldscenario: Stel je voor dat een beheerder een fictieve SLES 15-server met de naam web01 voorbereidt om een kleine openbare website te hosten. Het doel is om inkomend HTTP-verkeer op TCP-poort 80 toe te staan, terwijl het bestaande SSH-beheerpad beschikbaar blijft. Dit is een illustratief voorbeeld, geen testverslag of bewering dat elke SLES 15-installatie dezelfde interfacenamen of services heeft.
Op SLES 15 firewalldis firewalld het standaard firewall-framework en firewall-cmdbeheert het de firewall. Identificeer eerst de actieve zone en controleer de toegang op afstand; voeg vervolgens de minimaal benodigde service toe aan die zone in de permanente configuratie en herlaad de firewall. De SUSE SLES 15 SP7 Security and Hardening Guide beschrijft dit zonegebaseerde model en het onderscheid tussen runtime- en permanente regels. Deze stappen gaan ervan uit dat firewalld is geïnstalleerd en actief is; voor oudere, geüpgrade systemen is mogelijk een aparte migratiecontrole nodig.
1. Controleer de service en de actieve zone voordat u de regels wijzigt.
Maak verbinding via de serverconsole of een beheersessie die u kunt herstellen als de netwerkverbinding wordt onderbroken. Als u via SSH bent verbonden, houd die sessie dan open tijdens het aanbrengen van firewallwijzigingen. Controleer of firewalld actief is en welke zone de interface beheert.
Het eerste commando moet rapporteren running. Het commando active-zones geeft een lijst weer van zones waaraan interfaces of bronadressen zijn toegewezen; het kan er meer dan één weergeven. Stel dat in het fictieve web01-voorbeeld het rapporteert publicen interface ens192. Gebruik de zone die is gekoppeld aan de inkomende netwerkinterface in latere commando's. Ga er niet vanuit dat de interface de naam heeft eth0en ga er niet vanuit dat publicactief is, alleen omdat dit een veelvoorkomende standaardwaarde is.
Illustratieve terminalweergave voor de eerste controle: firewalld meldt dat het actief is en ens192 verschijnt in de publieke zone.
Als de service niet actief is, controleer dan de status ervan voordat u deze start: sudo systemctl status firewalld. Op standaard SLES 15-installaties is firewalld standaard geïnstalleerd en ingeschakeld, maar imageprofielen, upgrades of lokaal beleid kunnen verschillen. Als het wel is geïnstalleerd maar gestopt, start en schakel het dan pas in nadat u hebt bevestigd dat het huidige beleid de benodigde toegang garandeert: sudo systemctl enable --now firewalld. Controleer op een extern beheerde host de consoletoegang en uw SSH-toegang voordat u een firewall activeert waarvan de huidige regels onbekend zijn.
2. Bevestig de servicedefinitie en behoud SSH.
Een firewalld-service is een benoemde bundel van poorten en protocollen. Controleer de lokale definitie voordat u deze opent:
Op SLES httpkomt de vooraf gedefinieerde service overeen met TCP-poort 80. De zonelijst laat u zien welke services en poorten momenteel zijn toegestaan. Vervang dit publicdoor de actieve zone die u hebt gevonden. Als u de server via SSH beheert, controleer dan of SSH sshis toegestaan in die zone voordat u verdergaat. Het installatiegedrag van SLES en het bestaande beleid kunnen variëren, dus controleer dit in plaats van op aannames te vertrouwen. Als de geïnstalleerde SSH-daemon luistert op een niet-standaardpoort, komt een generieke sshservicevermelding mogelijk niet overeen; controleer eerst de daadwerkelijke luisterpoort van de daemon en het bestaande firewallbeleid.
Illustratieve service-inspectie: de HTTP-servicedefinitie vermeldt TCP-poort 80.
3. Voeg HTTP permanent toe en laad vervolgens de opgeslagen regels.
Firewalld hanteert aparte runtime- en permanente configuraties. Een normale opdracht wijzigt alleen de actieve runtime-regels; --permanentde opgeslagen configuratie wordt weggeschreven, maar de wijziging wordt niet direct geactiveerd. Voor web01 voegt u de HTTP-service toe aan de zone die eigenaar is van de openbare interface:
Gebruik dit --zoneexpliciet, zodat de regel niet onbedoeld in een standaardzone terechtkomt. Een herlaadactie past de permanente regels toe op de runtime. Niet-opgeslagen wijzigingen die alleen tijdens de runtime worden toegepast, gaan verloren tijdens het herladen. Controleer daarom alle tijdelijke regels die u nodig hebt en bewaar ze voordat u de service uitvoert. Om een service te testen voordat u deze permanent maakt, kunt u deze eerst sudo firewall-cmd --zone=public --add-service=httpzonder uitvoeren --permanent; als het werkt, voegt u de permanente regel toe en herlaadt u de service. Een test die alleen tijdens de runtime wordt uitgevoerd, gaat verloren na een herlaadactie of een herstart van de firewall.
Voorbeeld van een reeks commando's: sla de HTTP-toegangsrechten op in de publieke modus en herlaad vervolgens firewalld om ze toe te passen.
Als u een enkele poort nodig hebt in plaats van een vooraf gedefinieerde service, specificeer dan zowel de poort als het protocol, bijvoorbeeld --add-port=8080/tcp. Doe dit alleen als de applicatie daadwerkelijk op die poort luistert. Een firewall-toegang start geen webserver, maakt geen cloudbeveiligingsgroepregel aan en configureert geen upstream-router; alle netwerklagen moeten het verkeer toestaan.
4. Controleer de toegang en verwijder regels die u niet langer nodig hebt.
Controleer de actieve en opgeslagen configuraties:
De uitvoer moet httpin beide servicelijsten voorkomen en de configuratiecontrole moet zonder foutmeldingen worden voltooid. Controleer ook of de applicatie lokaal luistert, bijvoorbeeld met `<servicenaam>` sudo ss -lntp, en test de site vanaf een client op het beoogde netwerk. Een firewalllijst bevestigt een regel, niet de end-to-end bereikbaarheid: DNS, een cloudfirewall, routering en de webserver zelf kunnen het verzoek nog steeds blokkeren of weigeren.
Voorbeeld van verificatie-uitvoer: HTTP verschijnt tussen de openbare services, terwijl SSH in de lijst blijft staan.
Als HTTP niet langer nodig is, verwijder dan de opgeslagen regel en laad deze opnieuw: sudo firewall-cmd --permanent --zone=public --remove-service=http, gevolgd door sudo firewall-cmd --reload. Controleer daarna de runtime- en permanente lijsten opnieuw. Vermijd het wissen van alle regels of het overschakelen naar een vertrouwde zone om één enkel toegangsprobleem op te lossen; dergelijke bredere wijzigingen kunnen ongerelateerde services blootleggen.