SIKS – vježba 9 – Uputa za postavljanje i konfiguraciju VPN-a korištenjem WireGuard-a s Dockerom na Kali Linuxu

Uvod

Virtualne privatne mreže (VPN) neophodne su za osiguranje privatnosti i sigurnosti na internetu, posebice kada pristupate ili prenosite osjetljive podatke preko javnih ili nesigurnih mreža. WireGuard, kao jedan od najnovijih i najbržih VPN protokola, nudi poboljšanu sigurnost i jednostavnost konfiguracije u odnosu na tradicionalne VPN tehnologije poput OpenVPN i IPsec.

Ovaj vodič pokazat će vam kako instalirati i konfigurirati WireGuard unutar Docker kontejnera na Kali Linuxu, operativnom sustavu koji je često izbor profesionalaca u području cyber sigurnosti zbog njegove obimne kolekcije alata za testiranje probojnosti i sigurnosne analize. Korištenje WireGuard-a na Kali Linuxu omogućuje vam da brzo i efikasno uspostavite sigurnu mrežnu infrastrukturu, bilo za testiranje, razvoj ili osobnu upotrebu.

Slijedite korake u ovom vodiču kako biste naučili kako instalirati Docker na Kali Linux, postaviti WireGuard poslužitelj i klijente, te osigurati pouzdanu i sigurnu VPN konekciju.

Instalacija Docker-a na Kali Linux

Prije nego što započnete s postavljanjem WireGuard-a, potrebno je instalirati Docker. Na Kali Linuxu, Docker se instalira pod imenom docker.io zbog sukoba imena s drugim paketom. Evo kako to učiniti:

Ažuriranje paketa:

sudo apt update

Instalacija Docker.io:

sudo apt install -y docker.io

Omogućavanje i pokretanje Docker servisa:

sudo systemctl enable docker --now

·  Dodavanje trenutnog korisnika u Docker grupu (omogućava korištenje Docker-a bez sudo):

sudo usermod -aG docker $USER

Alternativna instalacija docker-ce: Ako preferirate instalirati docker-ce sa Docker repozitorija, slijedite ove korake:

Dodajte Docker repozitorij:

echo "deb [arch=amd64 signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/debian bookworm stable" | \
sudo tee /etc/apt/sources.list.d/docker.list 

Uvezite GPG ključ:

curl -fsSL https://download.docker.com/linux/debian/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg

Instalirajte docker-ce:

sudo apt update
sudo apt install -y docker-ce docker-ce-cli containerd.io

Konfiguracija WireGuard-a

Stvaranje Docker mreže:

Za potrebe WireGuard poslužitelja, potrebno je stvoriti Docker mrežu s predefiniranom podmrežom:

docker network create wg-net --subnet=172.28.0.0/16

Postavljanje WireGuard poslužitelja:

Stvorite direktorij za konfiguraciju poslužitelja:

mkdir -p ~/wireguard/server/config

Pokrenite WireGuard poslužitelj koristeći Docker:

docker run -d \
  --name=wireguard-server \
  --network=wg-net \
  --cap-add=NET_ADMIN \
  --cap-add=SYS_MODULE \
  -e PUID=1000 \
  -e PGID=1000 \
  -e TZ=Europe/London \
  -e SERVERURL=172.28.0.2 \
  -e SERVERPORT=51820 \
  -e PEERS=2 \
  -e PEERDNS=auto \
  -e INTERNAL_SUBNET=172.28.0.0/16 \
  -e ALLOWEDIPS=0.0.0.0/0 \
  -p 51820:51820/udp \
  -v ~/wireguard/server/config:/config \
  -v /lib/modules:/lib/modules \
  --sysctl="net.ipv4.conf.all.src_valid_mark=1" \
  --restart unless-stopped \
  linuxserver/wireguard

Ova konfiguracija pokreće WireGuard poslužitelj i postavlja ga za komunikaciju s klijentima

Nakon što je poslužitelj konfiguriran, stvorite direktorij za klijentsku konfiguraciju:

mkdir -p ~/wireguard/peer1/config

Kopirajte konfiguracijsku datoteku iz poslužitelja u klijentski direktorij:

cp ~/wireguard/server/config/peer1/peer1.conf ~/wireguard/peer1/config/wg0.conf

Pokrenite WireGuard klijent:

docker run -d \
  --name=wireguard-peer1 \
  --network=wg-net \
  --cap-add=NET_ADMIN \
  --cap-add=SYS_MODULE \
  -e PUID=1000 \
  -e PGID=1000 \
  -e TZ=Europe/London \
  -e PEERDNS=auto \
  -e INTERNAL_SUBNET=172.28.0.0/16 \
  -e ALLOWEDIPS=0.0.0.0/0 \
  -v ~/wireguard/peer1/config:/config \
  -v /lib/modules:/lib/modules \
  --sysctl="net.ipv4.conf.all.src_valid_mark=1" \
  --restart unless-stopped \
  linuxserver/wireguard

Testiranje VPN konekcije:

docker exec wireguard-server ping 172.28.0.3
docker exec wireguard-peer1 ping 172.28.0.2

Ako ping prolazi, VPN konekcija je uspješno uspostavljena.