GNU/Linux >> Znalost Linux >  >> Ubuntu

Ipsec VPN založená na Libreswanu pomocí předsdílených klíčů a klíčů RSA na Ubuntu

V tomto tutoriálu bude LibreSwan nainstalován na platformě Ubuntu. LibreSwan je open source implementace protokolu IPsec, je založena na projektu FreeSwan a je k dispozici jako balíček připravený k použití na linuxových distribucích založených na RedHat. Podrobné pokyny jsou však uvedeny ve zdrojovém kódu projektu pro jeho kompilaci na jiných platformách Linux. Po procesu instalace bude brána k bráně založená na IPsec VPN nakonfigurována tak, aby zabezpečila data od odesílatele k přijímajícím protějškům.

Podrobnosti o protokolu IPsec jsou uvedeny v našem předchozím článku. Níže jsou však vysvětleny stručné informace o dvou částech protokolu IPsec s ohledem na LibreSwan.

VPN založená na IPsec se skládá z Internet Keying Exchange protokol a Encapsulating Security Payload (ESP).

-->   IKE

Jak název napovídá, účelem protokolu IKE je ověřovat (pomocí předsdíleného klíče, kryptografie veřejného klíče, freeradius) partnery VPN, dynamicky generovat klíče a sdílet klíče s partnery VPN. Šifrovací klíče pro druhou fázi IPsec také závisí na IKE. Libreswan implementuje protokol IKE pomocí programu pluto projektu.

-->   ESP

Protokol ESP je skutečná specifikace zásad odsouhlasených partnery, která je implementována v linuxovém jádře (NETEY/XFRM) IPsec stack.

Funkce Libreswan

  • Podpora ověřování založeného na předsdíleném klíči.
  • Podpora ověřování založeného na veřejném klíči.
  • Podporuje obě verze IKE v1/v2 výměny klíčů.
  • Podporována šifrovací knihovna NSS.
  • Podporovány jsou také Xauth a DNSSec.

Požadované balíčky pro Ubuntu 16.04

Pro úspěšnou kompilaci LibreSwan je nutné nainstalovat následující balíčky na Ubuntu. Stručná informace je také uvedena ve zdrojovém kódu, jak povolit nebo zakázat pluginy/funkce a příkazy při instalaci LibreSwan.

apt-get -y update
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 make libnss3-tools

Instalace požadovaných balíčků je uvedena níže.

Nejnovější zdrojový kód nástroje IPsec je stažen pomocí příkazu wget a extrahován pomocí následujícího příkazu tar.

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

Není třeba spouštět příkaz configure, stačí spustit make příkaz který ukáže dva způsoby, jak postavit LibreSwan, jak je ukázáno níže.

Nakonec spusťte příkaz vytvořit vše  příkaz k sestavení LibreSwan na platformě.

make all

Nyní spusťte provést instalaci příkaz k instalaci programu IPsec.

Spuštění služby IPsec

Jak ukazuje výše uvedený snímek obrazovky, je nutné povolit službu IPSec na platformě Ubuntu pomocí následujícího příkazu.

systemctl enable ipsec.service

Před spuštěním služby IPsec je nutné inicializovat šifrovací knihovnu NSS. Používá ho LibreSwan pro použití kryptografických algoritmů v IPsec VPN.

IPsec initnss

Nakonec spusťte službu IPSec pomocí následujícího příkazu.

ipsec setup start

Spustitstav ipsec příkaz k zobrazení nastavení LibreSwan na platformě Ubuntu.

ipsec status

Konfigurace LibreSwan

V tomto tutoriálu bude IPsec VPN nastavena mezi partnery pomocí předem sdíleného klíče a klíčů RSA (pár klíčů veřejný/soukromý). Konfigurace obou peerů (levý/pravý) je uvedena níže.

VPN založená na předsdíleném klíči

ipsec.conf (configuration file of left VM)              ipsec.secrets  (configuration file of left VM)

verze 2                                                                                       192.168.15 192.168.15

nastavení konfigurace                                                          
                 protostack=netkey
conn vpn_psk

                  ike=aes256-sha256;modp4096
                  phase2alg=aes256-sha256;modp4096
                  vlevo=192.168.15.145
                  leftsubnet=172.16.10.0/24
                  right=192.168.15.245
                  rightsubnet=192.169.50.0/24
                  authby=secret
                  type=tunel
                  auto=start

ipsec.conf (configuration file of right VM)              ipsec.secrets  (configuration file of right VM)

verze 2                                                                                                                                                                                                                                                                          192.168.15.245

nastavení konfigurace                                                          
                 protostack=netkey
conn vpn_psk

         ike=aes256-sha256;modp4096
         phase2alg=aes256-sha256;modp4096
         vlevo=192.168.15.245
         leftsubnet=192.169.50.0/24
         right=192.168.15.145
         rightsubnet=172.16.10.0/24
         authby=secret
         type=tunel
         auto=start

Po nastavení výše uvedené konfigurace v souborech ipsec.conf a ipsec.secrets spusťte na obou stranách následující příkaz a zahajte proces vyjednávání IPSec.

ipsec restart

Stav VPN s předsdíleným klíčem

Výstup stavu ipsec a setkey -D příkazy jsou uvedeny níže.

ipsec status

setkey -D

RSA (veřejné/soukromé) VPN založené na klíči

Je nutné vygenerovat klíče RSA pro oba počítače a zahrnout je do konfiguračního souboru. Zmenšená verze klíče RSA je zobrazena v tomto návodu. Také se ujistěte, že zahrnutý veřejný klíč by měl být na jednom řádku.

Generování klíčů RSA

Jak je ukázáno níže, následující příkazy se používají ke generování klíčů pro oba partnery.

 ipsec newhostkey --output /etc/ipsec.secrets

Vygenerovaný veřejný klíč je přidán do souboru ipsec.secrets, jak je znázorněno níže.

Podobně jsou klíče RSA generovány pomocí stejného příkazu pro počítač na pravé straně, jak je znázorněno na následujícím snímku.

Jak je uvedeno výše, příkazy pro generování klíčů automaticky zahrnují veřejný klíč RSA v /etc/ipsec.secrets na obou peer strojích. Soukromý klíč RSA je uložen v databázi NSS pod  /etc/ipsec.d/*.db soubory.

Po vygenerování RSA klíčů se v dalším kroku změní konfigurace obou počítačů v souboru ipsec.conf.

ipsec.conf (configuration file of left VM)             

verze 2                                                                               

nastavení konfigurace                                                          
                 protostack=netkey
conn vpn_rsa

                  ike=aes256-sha256;modp4096
                  phase2alg=aes256-sha256;modp4096
                  vlevo=192.168.15.145
                  leftsubnet=172.16.10.0/24
                  right=192.168.15.245
                  rightsubnet=192.169.50.0/24
                  authby=rsasig
                  leftrsasigkey=0sAQPgMUjAb8QOQaJ1FTkIQf3f[.......]ALQNXUf$
                                                                                                                                                                

                  type=tunel
                  auto=start

ipsec.conf (configuration file of right VM)              

verze 2                                                                               

nastavení konfigurace                                                          
                 protostack=netkey
conn vpn_rsa

         ike=aes256-sha256;modp4096
         phase2alg=aes256-sha256;modp4096
         vlevo=192.168.15.245
         leftsubnet=192.169.50.0/24
         right=192.168.15.145
         rightsubnet=172.16.10.0/24
         authby=rsasig
         rightrsasigkey=0sAQPgMUjAb8QOQaJ1FTkIQf3f[........]ALQNXUf$
         leftrsasigkey=0sAQOs7aPh6LppUGgC......[em.>254]+

         type=tunel
         auto=start

Po změně konfiguračních souborů LibreSwan je dalším krokem restartování služby IPsec na obou počítačích pomocí následujícího příkazu.

ipsec restart

Stav IPsec VPN na levém zařízení je zobrazen na následujícím snímku obrazovky. Ukazuje, že RSASIG se v zásadě používá k ověřování protějšků tunelu IPsec.

Účelem tohoto tutoriálu je prozkoumat "LibreSwan", který poskytuje implementaci protokolu IPsec. Je k dispozici v distribucích RedHat, lze jej však snadno zkompilovat pro jinou platformu, jako je Ubuntu/Debian. V tomto článku je první nástroj LibreSwan vytvořen ze zdroje a poté jsou konfigurovány dvě VPN pomocí předem sdílených klíčů a klíčů RSA mezi zařízeními bran.


Ubuntu
  1. IPsec VPN založená na StrongSwan využívající certifikáty a předem sdílený klíč na Ubuntu 16.04

  2. Jak nainstalovat a nakonfigurovat Algo VPN Server na Ubuntu 20.04

  3. Pomocí Ansible nainstalujte a nakonfigurujte Elasticsearch na Ubuntu 20.04

  1. Jak vytvořit zásobník LAMP založený na dockeru pomocí dockeru na Ubuntu 20.04

  2. Použití ATA přes Ethernet (AoE) na Ubuntu 12.10 (iniciátor a cíl)

  3. Ubuntu – Jak rolovat v terminálu Ubuntu pomocí kláves se šipkami?

  1. Jak vytvořit VPN na Ubuntu 20.04 pomocí Wireguard

  2. Jak nastavit VPN server pomocí Pritunl na Ubuntu 18.04 LTS

  3. Jak nakonfigurovat L2TP přes IPsec pomocí Freeradius na Ubuntu