Libreswan baserede Ipsec VPN ved hjælp af preshared og RSA nøgler på Ubuntu

Libreswan baserede Ipsec VPN ved hjælp af preshared og RSA nøgler på Ubuntu

I denne vejledning installeres LibreSwan på Ubuntu-platformen. LibreSwan er en open source implementering af IPsec protokollen, den er baseret på FreeSwan projektet og er tilgængelig som klar til at bruge pakken på RedHat baserede Linux distributioner. Men detaljerede instruktioner er angivet i projektets kildekode for at kompilere det på andre Linux-platforme. Efter installationen vil en gateway til gateway-baseret IPsec VPN blive konfigureret til at sikre data fra afsender til modtagere.

Oplysninger om IPsec-protokollen findes i vores forrige artikel. Imidlertid forklares en kort beskrivelse af de to dele af IPsec-protokollen med hensyn til LibreSwan nedenfor.

Et IPsec-baseret VPN består af Internet Keying Exchange protokollen og Indkapsling af sikkerhedsbelastning (ESP) protokol.

-> IKE

Som navnet antyder, er formålet med IKE-protokollen at autentificere (ved hjælp af en preshared-nøgle, Public key-kryptering, freeradius) -partnere af en VPN, dynamisk generere nøgler og dele nøglerne med VPN-jævnaldrende. Krypteringsnøglerne til anden fase af IPsec er også afhængige af IKE. Libreswan implementerer IKE-protokollen ved hjælp af projektets pluto-program.

-> ESP

ESP-protokollen er den egentlige specifikation af den kollektive aftalte politik, som implementeres i Linux-kernen (NETEY / XFRM) IPsec-stakken.

Libreswan funktioner

  • Støtte til foruddelt nøglebaseret godkendelse.
  • Støtte til offentlig nøglebaseret godkendelse.
  • Understøtter både IKE v1 / v2 version af nøgleudveksling.
  • NSS kryptobibliotek understøttet.
  • Xauth og DNSSec understøttes også.

Påkrævede pakker til Ubuntu 16.04

Det er nødvendigt at installere følgende pakker på Ubuntu for en vellykket kompilering af LibreSwan. En kort information findes også i kildekoden, hvordan du aktiverer eller deaktiverer plugins / features og kommandoer, når du installerer LibreSwan.

Kompilér LibreSwan

apt-get -y opdatering
apt-get install libunbound-dev libevent-dev libsystemd-dev libnss3-dev libnspr4-dev pkg-config libpam0g-dev libcap-ng-dev libcap-ng-utils libselinux1-dev libcurl4-nss-dev flex bison gcc gøre libnss3-værktøjer

Installer LibreSwan afhængigheder på Ubuntu

Installationen af ​​nødvendige pakker er vist nedenfor.

Installer afhængigheder

Den nyeste kildekode for IPsec-værktøjet downloades vha. Wget-kommandoen og udvindes ved hjælp af følgende tar-kommando.

wget https://download.libreswan.org/libreswan-3.20.tar.gz

tjære -xzf libreswan-3.20.tar.gz

cd libreswan-xnumx

Download og pakk LibreSwan

Der er ingen grund til at køre configure-kommandoen, bare kør den lave kommando, der viser to måder at opbygge LibreSwan som vist nedenfor.

Kør gøre kommandoen på LibreSwan

Endelig løbe gøre alt befale at opbygge LibreSwan på platformen.

gøre alt

Kør gør alt

Kør nu make install kommando til at installere IPsec programmet.

Kør gør installationen

Start af IPsec-tjenesten

Som vist i ovenstående skærmbillede er det nødvendigt at aktivere IPSec-tjenesten på Ubuntu-platformen ved hjælp af følgende kommando.

systemctl aktivere ipsec.service

Aktivér IPSec-service

Det er nødvendigt at initialisere NSS-kryptobiblioteket, før du starter IPsec-tjenesten. Den bruges af LibreSwan til brug af kryptografisk algoritme i IPsec VPN.

IPsec initnss

Initialiser NSS krypto

Endelig starter IPSec-tjenesten ved hjælp af følgende kommando.

ipsec installationsstart

Start IPSec-opsætningen

Kør ipsec status kommando for at se indstillingerne for LibreSwan på Ubuntu-platformen.

ipsec status

ipsec status

LibreSwan konfiguration

I denne vejledning oprettes en IPsec VPN mellem jævnaldrende med en preshared-nøgle og RSA-nøgler (public / private keypair). Konfigurationen af ​​begge peers (venstre / højre) er angivet nedenfor.

Preshared key-baseret VPN

ipsec.conf (konfigurationsfil af venstre VM) ipsec.secrets (konfigurationsfil af venstre VM)

version 2 192.168.15.145 192.168.15.245: PSK "vpn_psk123"

config opsætning
protostack = netkey
conn vpn_psk

ike = aes256-sha256; modp4096
phase2alg = aes256-sha256; modp4096
venstre = 192.168.15.145
leftsubnet = 172.16.10.0 / 24
højre = 192.168.15.245
rightsubnet = 192.169.50.0 / 24
authby = hemmelighed
type = tunnel
auto = starten

ipsec.conf (konfigurationsfil af højre VM) ipsec.secrets (konfigurationsfil af højre VM)

version 2 192.168.15.245 192.168.15.145: PSK "vpn_psk123"

config opsætning
protostack = netkey
conn vpn_psk

ike = aes256-sha256; modp4096
phase2alg = aes256-sha256; modp4096
venstre = 192.168.15.245
leftsubnet = 192.169.50.0 / 24
højre = 192.168.15.145
rightsubnet = 172.16.10.0 / 24
authby = hemmelighed
type = tunnel
auto = starten

Efter indstilling over konfigurationen i ipsec.conf og ipsec.secrets-filer skal du køre følgende kommando på begge sider for at starte IPSec-forhandlingsprocessen.

ipsec genstart

Status for Preshared Key VPN

Udgangen af ipsec status og setkey -D kommandoer vises nedenfor.

ipsec status

ipsec status

setkey -D

setkey

RSA (offentlig / privat) nøglebaseret VPN

Det er nødvendigt at generere RSA nøgler til begge maskiner og inkludere dem i konfigurationsfilen. Den reducerede version af en RSA-nøgle er vist i denne vejledning. Sørg også for at den medfølgende offentlige nøgle skal være i enkeltlinje.

Generering af RSA nøgler

Som vist nedenfor bruges følgende kommandoer til at generere nøgler til begge jævnaldrende.

ipsec newhostkey -output /etc/ipsec.secrets

Generer RSA-nøgle

Den genererede offentlige nøgle tilføjes i ipsec.secrets-filen som vist nedenfor.

Tilføj pubkey til ipsec hemmeligheder

Tilsvarende genereres RSA nøgler ved hjælp af samme kommando til højre side maskine som vist i det følgende snapshot.

Generer rsa nøgler

Som vist ovenfor omfatter nøglegenereringskommandoer automatisk RSA-nøgle i /etc/ipsec.secrets på begge peer-maskiner. Den private nøgle til RSA er gemt i databasen under NSS under /etc/ipsec.d/*.db filer.

Efter generering af RSA-nøgler ændres næste trin konfigurationen af ​​begge maskiner i ipsec.conf-filen.

ipsec.conf (konfigurationsfil af venstre VM)

udgave 2

config opsætning
protostack = netkey
conn vpn_rsa

ike = aes256-sha256; modp4096
phase2alg = aes256-sha256; modp4096
venstre = 192.168.15.145
leftsubnet = 172.16.10.0 / 24
højre = 192.168.15.245
rightsubnet = 192.169.50.0 / 24
authby = rsasig
leftrsasigkey = 0sAQPgMUjAb8QOQaJ1FTkIQf3f [...... ..] ALQNXUf $
rightrsasigkey=0sAQOs7aPh6LppUGgC454+W[……..]fSd2zQE

type = tunnel
auto = starten

ipsec.conf (konfigurationsfil af højre VM)

udgave 2

config opsætning
protostack = netkey
conn vpn_rsa

ike = aes256-sha256; modp4096
phase2alg = aes256-sha256; modp4096
venstre = 192.168.15.245
leftsubnet = 192.169.50.0 / 24
højre = 192.168.15.145
rightsubnet = 172.16.10.0 / 24
authby = rsasig
rightrsasigkey = 0sAQPgMUjAb8QOQaJ1FTkIQf3f [...... ..] ALQNXUf $
leftrsasigkey=0sAQOs7aPh6LppUGgC454+W[……..]fSd2zQE

type = tunnel
auto = starten

Efter at have ændret LibreSwan-konfigurationsfilerne, er næste trin at genstarte IPsec-tjenesten på begge maskiner ved hjælp af følgende kommando.

ipsec genstart

Status for IPsec VPN på venstre enhed vises i følgende skærmbillede. Det viser det RSASIG bruges i politikken til at godkende peers af IPsec tunnel.

Formålet med denne tutorial er at udforske "LibreSwan", som giver IPsec-protokollen implementering. Den er tilgængelig i RedHat-distributioner, men den kan let kompileres til en anden platform som Ubuntu / Debian. I denne artikel er det første LibreSwan værktøj bygget fra kilde og derefter to VPN konfigureret ved hjælp af preshared & RSA nøgler mellem gateways enheder.

Kilde

Giv en kommentar

Dette websted bruger Akismet til at reducere spam. Lær, hvordan dine kommentardata behandles.