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:
|
1 |
sudo ufw status verbose |
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:
|
1 |
sudo ufw deny from 15.15.15.51 |
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:
|
1 |
sudo ufw deny in on eth0 from 15.15.15.51 |
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:
|
1 |
sudo ufw allow ssh |
Aan de andere kant kunt u het commando ook uitvoeren door in plaats daarvan het poortnummer van de SSH-dienst op te geven:
|
1 |
sudo ufw allow 22 |
- 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:
|
1 |
sudo ufw allow from 15.15.15.0/24 to any port 22 |
- 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:
|
1 |
sudo ufw allow from 15.15.15.0/24 to any port 873 |
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:
|
1 |
sudo ufw allow http |
U kunt ook het poortnummer (poort 80) gebruiken om de HTTP-service in de opdracht te specificeren:
|
1 |
sudo ufw allow 80 |
- Alle HTTPS toestaan
Als u alle HTTPS-verbindingen en -verzoeken afkomstig van poort 443 wilt toestaan, voert u deze opdracht uit:
|
1 |
sudo ufw allow https |
Vergelijkbaar met de vorige opdracht kunt u 'https' vervangen door het poortnummer van de HTTPS-service:
|
1 |
sudo ufw allow 443 |
- 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:
|
1 |
sudo ufw allow proto tcp from any to any port 80,443 |
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:
|
1 |
sudo ufw allow from 15.15.15.0/24 to any port 3306 |
- 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:
|
1 |
sudo ufw allow in on eth1 to any port 3306 |
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:
|
1 |
sudo ufw allow from 15.15.15.0/24 to any port 5432 |
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:
|
1 |
sudo ufw allow in on eth1 to any port 5432 |
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:
|
1 |
sudo ufw deny out 25 |
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:
|
1 |
sudo ufw allow 25 |
- Inkomende IMAP toestaan
Als u de server wilt toestaan een IMAP-verbinding tot stand te brengen op poort 143, gebruikt u de volgende opdracht:
|
1 |
sudo ufw allow 143 |
- Inkomende IMAPS toestaan
Gebruik deze opdracht om de server toe te staan te reageren op IMAPS-verbindingen op poort 993:
|
1 |
sudo ufw allow 993 |
- Inkomende POP3 toestaan
Deze opdracht stelt uw server in staat om te reageren op alle POP3-verbindingen via poort 110:
|
1 |
sudo ufw allow 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:
|
1 |
sudo ufw allow 995 |
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!
Reacties
Nog geen reacties. Wees de eerste.