GNU/Linux >> Belajar Linux >  >> Ubuntu

VPN Ipsec berbasis Libreswan menggunakan kunci yang dibagikan sebelumnya dan RSA di Ubuntu

Dalam tutorial ini, LibreSwan akan diinstal pada Platform Ubuntu. LibreSwan adalah implementasi open source dari protokol IPsec, didasarkan pada proyek FreeSwan dan tersedia sebagai paket siap pakai pada distribusi Linux berbasis RedHat. Namun, instruksi terperinci diberikan dalam kode sumber proyek untuk mengompilasinya di platform Linux lainnya. Setelah proses instalasi, VPN IPsec berbasis gateway ke gateway akan dikonfigurasi untuk mengamankan data dari rekan pengirim ke penerima.

Detail tentang protokol IPsec diberikan di artikel kami sebelumnya. Namun, informasi singkat tentang dua bagian protokol IPsec sehubungan dengan LibreSwan dijelaskan di bawah ini.

VPN berbasis IPsec terdiri dari Internet Keying Exchange protokol dan Encapsulating Security Payload (ESP) protokol.

-->   IKE

Seperti namanya, tujuan protokol IKE adalah untuk mengautentikasi (menggunakan kunci yang dibagikan sebelumnya, kriptografi kunci publik, freeradius) rekan VPN, untuk membuat kunci secara dinamis dan membagikan kunci dengan rekan VPN. Kunci enkripsi untuk fase kedua IPsec juga bergantung pada IKE. Libreswan mengimplementasikan protokol IKE menggunakan program pluto dari proyek tersebut.

-->   ESP

Protokol ESP adalah spesifikasi aktual dari kebijakan peer yang disepakati yang diimplementasikan dalam tumpukan IPsec kernel Linux (NETEY/XFRM).

Fitur libreswan

  • Dukungan untuk otentikasi berbasis kunci yang dibagikan sebelumnya.
  • Dukungan untuk otentikasi berbasis kunci publik.
  • Mendukung pertukaran kunci versi IKE v1/v2.
  • Library kripto NSS didukung.
  • Xauth dan DNSSec juga didukung.

Paket yang Diperlukan untuk Ubuntu 16.04

Diperlukan untuk menginstal paket-paket berikut di Ubuntu agar kompilasi LibreSwan berhasil. Informasi singkat juga diberikan dalam kode sumber cara mengaktifkan atau menonaktifkan plugin/fitur dan perintah saat Anda menginstal 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

Instalasi paket yang diperlukan ditunjukkan di bawah ini.

Kode sumber terbaru alat IPsec diunduh menggunakan perintah wget dan diekstraksi menggunakan perintah tar berikut.

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

Tidak perlu menjalankan perintah configure, cukup jalankan make perintah yang akan menunjukkan dua cara untuk membangun LibreSwan seperti yang ditunjukkan di bawah ini.

Terakhir, jalankan make all  perintah untuk membangun LibreSwan di platform.

make all

Sekarang jalankan make install perintah untuk menginstal program IPsec.

Memulai layanan IPsec

Seperti yang ditunjukkan pada tangkapan layar di atas, diperlukan untuk mengaktifkan layanan IPSec pada platform Ubuntu menggunakan perintah berikut.

systemctl enable ipsec.service

Diperlukan untuk menginisialisasi perpustakaan kripto NSS sebelum memulai layanan IPsec. Ini digunakan oleh LibreSwan untuk penggunaan algoritma kriptografi di IPsec VPN.

IPsec initnss

Terakhir, mulai layanan IPSec menggunakan perintah berikut.

ipsec setup start

Jalankan status ipsec perintah untuk melihat pengaturan LibreSwan pada platform Ubuntu.

ipsec status

Konfigurasi LibreSwan

Dalam tutorial ini, VPN IPsec akan diatur antara rekan menggunakan kunci yang dibagikan sebelumnya dan kunci RSA (pasangan kunci publik/pribadi). Konfigurasi kedua peer (kiri/kanan) diberikan di bawah ini.

VPN berbasis kunci yang dibagikan sebelumnya

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

versi 2                                                                192.168.15.145 192.1                     192.168.15.145 192.168.15.245

penyiapan konfigurasi                                                
                protostack=netkey
koneksi vpn_psk

                 ike=aes256-sha256;modp4096
                 phase2alg=aes256-sha256;modp4096
                kiri=192.168.15.145
                leftsubnet=172.16.10.0/24
                kanan=192.168.15.245
                rightsubnet=192.169.50.0/24
                authby=secret
                type=tunnel
                auto=start

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

versi 2                                                                 192.168.15.245 192.168.15.145:PSK

penyiapan konfigurasi                                                
                protostack=netkey
koneksi vpn_psk

         ike=aes256-sha256;modp4096
         phase2alg=aes256-sha256;modp4096
        kiri=192.168.15.245
        leftsubnet=192.169.50.0/24
         kanan=192.168.15.145
         rightsubnet=172.16.10.0/24
         authby=secret
         type=tunnel
         auto=start

Setelah menyetel konfigurasi di atas dalam file ipsec.conf dan ipsec.secrets, jalankan perintah berikut di kedua sisi untuk memulai proses negosiasi IPSec.

ipsec restart

Status VPN kunci yang dibagikan sebelumnya

Keluaran status ipsec dan setkey -D perintah ditampilkan di bawah.

ipsec status

setkey -D

VPN berbasis kunci RSA (publik/pribadi)

Diperlukan untuk membuat kunci RSA untuk kedua mesin dan menyertakannya dalam file konfigurasi. Versi kunci RSA yang dikurangi ditampilkan dalam tutorial ini. Pastikan juga bahwa kunci publik yang disertakan harus dalam satu baris.

Pembuatan kunci RSA

Seperti yang ditunjukkan di bawah ini, perintah berikut digunakan untuk menghasilkan kunci untuk kedua peer.

 ipsec newhostkey --output /etc/ipsec.secrets

Kunci publik yang dihasilkan ditambahkan dalam file ipsec.secrets seperti yang ditunjukkan di bawah ini.

Demikian pula, kunci RSA dihasilkan menggunakan perintah yang sama untuk mesin sisi kanan seperti yang ditunjukkan pada cuplikan berikut.

Seperti yang ditunjukkan di atas, perintah pembuatan kunci secara otomatis menyertakan kunci publik RSA di /etc/ipsec.secrets pada kedua mesin rekan. Kunci pribadi RSA disimpan dalam database NSS di bawah  /etc/ipsec.d/*.db file.

Setelah membuat kunci RSA, langkah selanjutnya mengubah konfigurasi kedua mesin di file ipsec.conf.

ipsec.conf (configuration file of left VM)             

versi 2                                                                

penyiapan konfigurasi                                                
                protostack=netkey
koneksi vpn_rsa

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

                type=tunnel
                auto=start

ipsec.conf (configuration file of right VM)              

versi 2                                                                

penyiapan konfigurasi                                                
                protostack=netkey
koneksi vpn_rsa

         ike=aes256-sha256;modp4096
         phase2alg=aes256-sha256;modp4096
        kiri=192.168.15.245
        leftsubnet=192.169.50.0/24
         kanan=192.168.15.145
         rightsubnet=172.16.10.0/24
         authby=rsasig
         rightrsasigkey=0sAQPgMUjAb8QOQaJ1FTkIQf3f[........]ALQNXUf$
        leftrsasigkey=0sAQOs7aPh6LppUGgC454+W[........]

         type=tunnel
         auto=start

Setelah mengubah file konfigurasi LibreSwan, langkah selanjutnya adalah me-restart layanan IPsec di kedua mesin menggunakan perintah berikut.

ipsec restart

Status IPsec VPN di perangkat kiri ditunjukkan pada tangkapan layar berikut. Ini menunjukkan bahwa RSASIG digunakan dalam kebijakan untuk mengautentikasi rekan terowongan IPsec.

Tujuan dari tutorial ini adalah untuk mengeksplorasi "LibreSwan" yang menyediakan implementasi protokol IPsec. Ini tersedia di distribusi RedHat, namun dapat dikompilasi untuk platform lain seperti Ubuntu/Debian dengan mudah. Dalam artikel ini, alat LibreSwan pertama dibuat dari sumber dan kemudian dua VPN dikonfigurasi menggunakan kunci pra-berbagi &RSA di antara perangkat gateway.


Ubuntu
  1. VPN IPsec berbasis StrongSwan menggunakan sertifikat dan kunci yang dibagikan sebelumnya di Ubuntu 16.04

  2. Cara Menginstal dan Mengkonfigurasi Server VPN Algo di Ubuntu 20.04

  3. Ubuntu – Bagaimana Cara Menggulir Di Terminal Ubuntu Menggunakan Tombol Panah?

  1. Cara membuat tumpukan LAMP berbasis buruh pelabuhan menggunakan buruh pelabuhan di Ubuntu 20.04

  2. Menggunakan ATA Over Ethernet (AoE) Di Ubuntu 12.10 (Inisiator Dan Target)

  3. Menggunakan Ansible untuk menginstal dan mengkonfigurasi Elasticsearch di Ubuntu 20.04

  1. Cara membuat VPN di Ubuntu 20.04 menggunakan Wireguard

  2. Cara mengatur Server VPN menggunakan Pritunl di Ubuntu 18.04 LTS

  3. Cara Mengkonfigurasi L2TP melalui IPsec menggunakan Freeradius di Ubuntu