Terug naar blog

De basis van UFW: De essentiële firewall-commando's leren

De basis van UFW: De essentiële firewall-commando's leren

Inleiding

UFW staat voor uncomplicated firewall. Het is een frontend-platform waarmee u eenvoudig uw firewallfuncties en -commando's kunt beheren. U krijgt UFW als standaardoptie bij uw Ubuntu-server. Het maximaliseren van het potentieel van de commando's en functies van de firewall kan lastig zijn als u nog niet bekend bent met de tool.

Ons doel is om u te voorzien van een allesomvattende gids die u als beginner kunt gebruiken. We zullen de uitleg aanvullen met voorbeelden van verschillende acties die u met UFW kunt uitvoeren. Veel van de regels zullen zeer nuttig zijn voor dagelijkse diensten en activiteiten. Laten we beginnen!

Vereisten

Voordat u verder leest, moet u ervoor zorgen dat uw UFW is ingesteld op de standaardregelset. Dit betekent dat de firewall uitgaand verkeer toestaat, maar inkomend verkeer blokkeert. Het voordeel van deze standaardreset is dat u kunt selecteren welk verkeer u door de firewall wilt toestaan. Als u niet zeker bent van de status van de huidige regelset op uw UFW, gebruik dan dit commando om dit te controleren: sudo ufw status. U kunt ook dit commando gebruiken:

Afgezien daarvan bent u vrij om naar de sectie te springen die het meest relevant is voor uw vereisten. U hoeft niet noodzakelijkerwijs elk commando uit deze gids te gebruiken. U kunt combineren op basis van uw persoonlijke behoeften.

Hoe een IP-adres te blokkeren

Laten we beginnen met een van de meest elementaire functies van elke firewall: het blokkeren van IP-adressen. Er is een heel eenvoudig commando dat u kunt gebruiken om alle netwerkverbindingen afkomstig van een bepaald IP-adres te blokkeren. Laten we bijvoorbeeld zeggen dat het specifieke IP-adres in ons geval 15.15.15.51 is. U kunt deze waarde vervangen door het IP-adres dat u via uw UFW wilt blokkeren. Dit is het commando dat u voor dit doel zou gebruiken:

Hier geeft 'from 15.15.15.51' alleen het bron-IP-adres aan, namelijk '15.15.15.51'. Als er in plaats daarvan een subnet is dat u wilt specificeren, kunt u dit als volgt toevoegen: 15.15.15.0/24. Het commando werkt net zo goed. U kunt dit bron-IP-adres specificeren in elke gewenste firewallregel, zoals de allow-regel.

  • Netwerkinterfaceverbindingen blokkeren

Soms kan de vereiste zijn om netwerkverbindingen te blokkeren die afkomstig zijn van een specifiek IP-adres naar een specifieke netwerkinterface. Als dat het geval is, moeten we de netwerkinterface specificeren samen met het bron-IP-adres. Neem voor dit voorbeeld aan dat het bron-IP-adres 15.15.15.51 is en de netwerkinterface eth0:

Net als het bron-IP-adres kunt u de netwerkinterface ook in elke firewallregel specificeren. Het doel van deze specificaties is om de gegeven firewallregel te beperken tot alleen een specifiek netwerk of een specifieke verbinding.

Hoe SSH-verbindingen toe te staan

Dit gedeelte is relevant voor u als u een cloudserver gebruikt. Om een verbinding met uw cloudserver tot stand te kunnen brengen, moet de firewall inkomende SSH-verbindingen toestaan. Deze SSH-verbindingen verlopen via poort 22. U kunt deze handleiding volgen om te leren hoe u SSH gebruikt om verbinding te maken met een externe server in Ubuntu.

Door SSH-verbindingen tot stand te brengen, kunt u uw cloudserver met succes beheren vanaf uw lokale apparaat. Hier behandelen we de verschillende regels die relevant zijn voor de aan SSH gekoppelde firewallconfiguratie:

  • SSH toestaan

Gebruik het volgende commando om alle inkomende SSH-verbindingen toe te staan:

Aan de andere kant kunt u het commando ook uitvoeren door in plaats daarvan het poortnummer van de SSH-dienst op te geven:

  • Inkomende SSH toestaan vanaf een specifiek IP-adres

Als u alleen inkomende SSH-verbindingen vanaf een specifiek IP-adres of subnet wilt toestaan, heeft u de mogelijkheid om de bron op te geven. Laten we bijvoorbeeld zeggen dat het subnet dat u wilt toestaan 15.15.15.0/24 is. Dit is het commando dat u moet uitvoeren:

  • Inkomende Rsync toestaan vanaf een specifiek IP-adres

Rsync draait op poort 873 en stelt u in staat om bestanden over te dragen van het ene computersysteem naar het andere. Als u alleen de Rsync-verbinding wilt toestaan die afkomstig is van een specifiek IP-adres of subnet (in dit voorbeeld 15.15.15.0/24), kunt u dit doen met deze opdracht:

Dit betekent dat het hele 15.15.15.0/24-subnet verbinding mag maken via Rsync met uw server. Hier is ook een uitgebreide handleiding over hoe u Rsync kunt gebruiken om lokale en externe mappen op uw server te synchroniseren.

Webserververzoeken configureren

Vervolgens gaan we verder met de regels die verband houden met de webserverservice. Webservers zoals Apache en Nginx accepteren over het algemeen verzoeken voor HTTP- en HTTPS-verbindingen via twee poorten: poort 80 en poort 443. Poort 80 is bedoeld voor HTTP-verzoeken. Poort 443 is verantwoordelijk voor de HTTPS-verzoeken.

Zoals we in de vereisten hebben besproken, gebruikt u de standaardregelset voor UFW. Op basis van deze regelset blokkeert of weigert de firewall al het inkomende verkeer. Daarom moet u nieuwe regels configureren waarmee de server deze inkomende verzoeken kan ontvangen en lezen.

  • Alle HTTP toestaan

Als u alle HTTP-verbindingen en -verzoeken afkomstig van poort 80 wilt toestaan, gebruikt u de opdracht:

U kunt ook het poortnummer (poort 80) gebruiken om de HTTP-service in de opdracht te specificeren:

  • Alle HTTPS toestaan

Als u alle HTTPS-verbindingen en -verzoeken afkomstig van poort 443 wilt toestaan, voert u deze opdracht uit:

Vergelijkbaar met de vorige opdracht kunt u 'https' vervangen door het poortnummer van de HTTPS-service:

  • Alle HTTP en HTTPS toestaan

Als u zowel HTTP- als HTTPS-verzoeken wilt toestaan, kunt u een gezamenlijke regel voor beide gebruiken. Met deze enkele opdracht kunt u inkomend verkeer van zowel poort 80 als poort 443 toestaan:

De opdracht proto tcp is vereist wanneer u meerdere poorten tegelijk specificeert.

U kunt ook deze gedetailleerde handleidingen volgen over het beveiligen van Nginx en Apache met Let’s Encrypt op Ubuntu.

MySQL toestaan

MySQL verbindingen komen binnen via poort 3306. U moet een regel gebruiken om het inkomende verkeer toe te staan als een client uw MySQL-database op een externe server gebruikt. Volg onze handleiding om de basisprincipes van MySQL te leren en hoe u MySQL op een server instelt.

  • MySQL toestaan vanaf een specifiek IP-adres

Zoals we al in eerdere regels hebben gezien, moet u de bron specificeren om de inkomende MySQL-verbindingen toe te staan. Uw bron kan een specifiek IP-adres of een subnet zijn. In ons voorbeeld gebruiken we het hele 15.15.15.0/24-subnet om de opdracht uit te voeren:

  • MySQL toestaan op een specifieke netwerkinterface

U gebruikt een andere opdracht als u ook de netwerkinterface moet specificeren waarop u de MySQL-verbindingen toestaat. Laten we aannemen dat de netwerkinterface die u gebruikt een privé-netwerkinterface is met de naam eth1. U kunt deze waarde vervangen door de naam van uw eigen netwerkinterface:

PostgreSQL toestaan

De PostgreSQL verbindingen komen binnen via poort 5432. Net als bij de MySQL-verbindingen moet u, als een client de PostgreSQL-database op een externe server gebruikt, het inkomende verkeer toestaan. U kunt dit doen met de volgende opdrachten.

  • PostgreSQL toestaan vanaf een specifiek IP-adres

Als u weet dat de PostgreSQL-verbindingen afkomstig zijn van een specifiek subnet of IP-adres, moet u de bron specificeren. Hier gebruiken we nogmaals het voorbeeld van het 15.15.15.0/24-subnet:

In het geval dat uw OUTPUT-beleid niet is ingesteld op ACCEPT, moet u een tweede opdracht uitvoeren. Deze opdracht staat het uitgaande verkeer van reeds tot stand gebrachte PostgreSQL-verbindingen toe.

  • PostgreSQL toestaan op een specifieke netwerkinterface

Vergelijkbaar met de vorige regel, zullen we de PostgreSQL-verbindingen toestaan op een specifieke netwerkinterface. In ons geval is dat eth1:

In het geval dat uw OUTPUT-beleid niet is ingesteld op ACCEPT, moet u een tweede opdracht uitvoeren. Deze opdracht staat het uitgaande verkeer van reeds tot stand gebrachte PostgreSQL-verbindingen toe. U kunt leren hoe u PostgreSQL instelt op Ubuntu door onze gedetailleerde handleiding te volgen.

Hoe u mailservers configureert

Mogelijk gebruikt u ook mailservers zoals Sendmail en Postfix op uw systeem. Deze servers staan open voor verschillende poorten. De poorten waarnaar ze luisteren zijn afhankelijk van de protocollen die zijn ingesteld voor de e-mailbezorging. Daarom moet u eerst bepalen welke protocollen u gebruikt in uw e-mailbezorgingssysteem. Vervolgens staat u de relevante soorten verkeer toe op basis van deze informatie.

  • Uitgaande SMTP-mail blokkeren

Voordat we overgaan tot de opdrachten die inkomend verkeer voor uw mailservers toestaan, gaan we kijken hoe u uitgaande SMTP-mail kunt blokkeren. U kunt deze opdracht gebruiken als u niet wilt dat uw server uitgaande e-mail verzendt. SMTP-mail gebruikt poort 25. Gebruik deze opdracht om dit verkeer te blokkeren:

Als gevolg van het uitvoeren van deze opdracht zal uw firewall al het uitgaande verkeer op poort 25 weigeren. Als u een andere poort wilt blokkeren, vervangt u poort '25' door het juiste poortnummer.

  • Inkomende SMTP toestaan

Nu u weet hoe u uitgaand verkeer kunt blokkeren, lijkt het toestaan van inkomend verkeer net zo eenvoudig. Gebruik deze opdracht om de server toe te staan SMTP-verbindingen op poort 25 te ontvangen:

  • Inkomende IMAP toestaan

Als u de server wilt toestaan een IMAP-verbinding tot stand te brengen op poort 143, gebruikt u de volgende opdracht:

  • Inkomende IMAPS toestaan

Gebruik deze opdracht om de server toe te staan te reageren op IMAPS-verbindingen op poort 993:

  • Inkomende POP3 toestaan

Deze opdracht stelt uw server in staat om te reageren op alle POP3-verbindingen via poort 110:

  • Inkomende POP3S toestaan

Ten slotte kunt u uw server toestaan verzoeken te ontvangen van poort 995 voor POP3S-verbindingen met behulp van deze opdracht:

Conclusie

Deze gids helpt u vertrouwd te raken met de basisfunctionaliteiten van UFW. We hebben de essentiële opdrachten behandeld waarmee u bekend moet zijn om uw firewall te kunnen configureren. U kunt de opdrachten kiezen die het beste aansluiten bij uw specifieke vereisten om een gepersonaliseerde firewall-oplossing te creëren. Het flexibele karakter van UFW maakt dergelijke aanpassingen mogelijk. Experimenteer om te ontdekken wat het beste voor u werkt.

Veel computerplezier!

author

Akshay Nagpal

Auteur · CloudSigma

Preslav Dobrev is een creatief ontwerper bij CloudSigma, met de nadruk op een consistente bedrijfsidentiteit door middel van traditionele en innovatieve marketingkanalen. Hij is bedreven in het samenvoegen van artistieke visie met strategische marketing om impactvolle merkverhalen te creëren.

Reacties

Nog geen reacties. Wees de eerste.