Script: Firewall setup

Alles over programmeren in Linux
Gebruikersavatar
Mogenblue
Held
Held
Berichten: 351
Lid geworden op: Wo 18 Okt 2017, 08:27
Locatie: Amsterdam

Script: Firewall setup

Berichtdoor Mogenblue » Za 31 Jul 2021, 20:41

Als je een computer hebt waar netwerk services op draaien zoals ftp of ssh moet je de firewall configureren zodat de client computers toegang hebben tot de server en eventueel het aantal inlogpogingen beperken om de veiligheid te verhogen.
Dat doe je normaal gesproken in een terminal door stuk voor stuk elke regel in te typen. Met het programma ufw wordt het al een stuk makkelijker.
Maar als je de computer opnieuw installeert, bijvoorbeeld naar een nieuwe mint versie, moet je alles weer opnieuw invoeren.

Je kunt alles noteren in een tekstdocument zodat je alle gegevens bij elkaar hebt, maar je kunt er net zo goed een script van maken.
Het voordeel van een script is dat je het maar een maal hoeft op te zetten en je het daarna alleen nog maar hoeft aan te passen als er bijvoorbeeld een computer bijkomt of als er een ip adres verandert.
Na een schone installatie van de computer hoef je dan alleen maar even dat script te runnen om je firewall op te zetten. Dat is uiteindelijk veel minder werk en je hebt ook minder kans op tikfouten, dat je bijvoorbeeld een ip adres verkeerd intikt.

Hieronder volgt een voorbeeld van een script om de firewall van je server op te zetten. Er wordt vanuit gegaan dat ufw op de computer is geïnstalleerd. Anders moet je dat via programmabeheer alsnog doen.

Het bestand heet ufw-setup.sh

Code: Selecteer alles

#!/bin/sh

echo .
echo .
echo .
echo .

echo "ufw reset, verwijder alle regels"
sudo ufw --force reset

echo .
echo "ufw inschakelen"
sudo ufw enable

echo .
echo "ufw regels voor toegang ip adressen"
sudo ufw allow from 192.168.1.012 comment 'roepie roepie smartphone'
sudo ufw allow from 192.168.1.019 comment 'game computer zolder'
sudo ufw allow from 192.168.1.135 comment 'tablet keukentafel'
sudo ufw allow from 192.168.1.47 comment 'werkcomputer garage'

echo .
echo "regels om toegang tot services te beperken"
sudo ufw limit ftp comment 'beperk ftp toegang per ip adres'
sudo ufw limit ssh comment 'beperk ssh toegang per ip adres'


echo .
echo "toon de status van ufw"
#sudo ufw status numbered
sudo ufw status verbose

echo .
echo "ufw inschakelen met sudo ufw enable"
echo "ufw uitschakelen met sudo ufw disable"
echo "delete entry met sudo ufw delete [number]"
echo "reset ufw met sudo ufw reset"
Dit bestand moet eerst uitvoerbaar worden gemaakt voor je het kan gebruiken.
Het moet in een terminal worden uitgevoerd omdat je je wachtwoord moet invoeren om de firewall te kunnen aanpassen. Dat hoeft alleen bij de eerste opdracht.

Zoals je ziet zijn achter de regels commentaren toegevoegd. Als je de status van ufw opvraagt worden deze getoond zodat je kan zien waar elke regel voor bedoeld is. Het verhoogt de leesbaarheid.

De ip-adressen zijn natuurlijk alleen als voorbeeld bedoelt. Je moet daar de adressen van je eigen netwerk voor in de plaats zetten en de commentaren voorzien van de apparaten die daarmee verbonden zijn.


Referenties:
In een terminal: man ufw

Terug naar “Programmeren”

Wie is er online

Gebruikers op dit forum: Geen geregistreerde gebruikers en 2 gasten