GNU/Linux >> Belajar Linux >  >> Panels >> OpenVPN

Bangun server OpenVPN/WiKID gabungan Anda sendiri untuk VPN dengan otentikasi dua faktor bawaan menggunakan Packer.

Dalam tutorial sebelumnya, kami telah menambahkan kata sandi satu kali ke OpenVPN dan membuat server WiKID menggunakan Packer. Dalam tutorial ini kami membuat server OpenVPN/WiKID gabungan menggunakan Packer. Packer memungkinkan kita untuk membuat gambar VMware, VirtualBox, EC2, GCE, Docker, dll menggunakan kode. Perhatikan bahwa menggabungkan server otentikasi dua faktor Anda dan server VPN pada satu kotak mungkin atau mungkin bukan solusi terbaik untuk Anda. Kami biasanya menyukai pemisahan tugas untuk keamanan dan fleksibilitas. Namun, jika Anda membutuhkan sesuatu yang cepat - auditor PCI tiba pada hari Senin - atau Anda berada dalam kondisi represif dan hanya membutuhkan koneksi keluar yang aman untuk waktu yang singkat. Dan Anda masih memiliki fleksibilitas. Anda dapat menambahkan lebih banyak layanan ke server WIKID. Anda dapat menonaktifkan server OpenVPN dan alih-alih beralih ke VPN lain.

Bangun Server Gabungan

Pertama, unduh dan instal Packer.

Lihat skrip Packer kami dari GitHub. Skrip terdiri dari file JSON utama yang memberi tahu Packer apa yang melakukannya, direktori http dengan skrip build Anaconda, direktori file yang diunggah ke gambar dan penyedia yang dijalankan setelah gambar dibuat. Pada dasarnya Packer memulai dengan beberapa sumber seperti ISO atau AMI, membangun server berdasarkan Anaconda (setidaknya untuk CentOS), mengunggah file apa pun dan kemudian menjalankan penyedia. Packer terutama diarahkan untuk membuat server idempoten. Dalam kasus kami, kami menggunakannya untuk menjalankan perintah, memungkinkan kami untuk menjalankan satu perintah, bukan sekitar 50 (hanya untuk penyediaan).

Sebelum membangun, Anda perlu mengedit beberapa file. Pertama, edit /files/vars . Ini adalah file vars standar untuk membuat sertifikat OpenVPN. Cukup masukkan nilai Anda untuk bidang sertifikat.

# These are the default values for fields
# which will be placed in the certificate.
# Don't leave any of these fields blank.
export KEY_COUNTRY="US"
export KEY_PROVINCE="GA"
export KEY_CITY="Atlanta"
export KEY_ORG="WiKID Systems Inc"
export KEY_EMAIL="[email protected]"
export KEY_OU="WiKID Systems, Inc"

Selanjutnya, Anda perlu mengedit rahasia bersama di /files/server . File ini akan memberi tahu PAM server RADIUS mana yang akan digunakan. Dalam hal ini, ia berbicara langsung ke server WiKID. Rahasia bersama digunakan untuk mengkodekan lalu lintas radius. Karena WiKID berjalan di server yang sama, pertahankan localhost sebagai server:

# server[:port] shared_secret      timeout (s)
127.0.0.1       secret             3
 

Anda akan membutuhkan rahasia bersama ini nanti.

Lihat di centos-6-x86-64.json . Anda dapat menjalankannya apa adanya, tetapi Anda mungkin ingin mengedit beberapa hal. Anda harus mengonfirmasi source_ami (ami yang terdaftar ada di AS-Timur) atau mengalihkannya ke salah satu AMI CentOS pilihan Anda. Jika Anda membangun di VMware atau VirtualBox, Anda ingin mengubah iso_url ke lokasi CentOS ISO pada hard drive Anda dan memperbarui MD5Sum. Anda mungkin ingin mengedit nama dan deskripsi. Anda mungkin juga ingin mengubah wilayah EC2. Yang terpenting, Anda dapat mengubah ssh_password yang merupakan kata sandi root.

Setelah Anda puas dengan file JSON, Anda dapat memverifikasinya dengan Packer:

$packer_location/packer verify centos-6-x86-64.json

Jika itu berhasil, bangunlah. Anda dapat menentukan platform target pada baris perintah:

$packer_location/packer build --only=virtualbox-iso centos-6-x86-64.json

Jika Anda membangun untuk EC2, masukkan kredensial yang diperlukan di baris perintah:

$packer_location/packer build -var 'aws_access_key=XXXXXXXXXXXXXXXXXXXX' -var 'aws_secret_key=XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX' --only=amazon-ebs centos66.json

Jika Anda melihat perintah berjalan, Anda akan melihat server OpenVPN lengkap sedang dibangun lengkap dengan sertifikat baru!

Konfigurasikan server otentikasi dua faktor WiKID

Setelah dibuat, Anda harus meluncurkan AMI atau mengimpor mesin virtual. Mulai VirtBox dan pilih File, Import Appliance. Arahkan ke direktori output-virtualbox-iso yang dibuat oleh perintah build dan buka file OVF. Buat perubahan apa pun yang Anda inginkan pada mesin virtual (mis. memori atau jaringan) dan mulai server.

Login menggunakan root/wikid atau apa pun yang Anda mungkin telah mengatur kata sandi root seperti pada file JSON. Kami akan mengonfigurasi server WiKID menggunakan opsi konfigurasi mulai cepat. Salin file ke direktori saat ini:

cp /opt/WiKID/conf/sample-quick-setup.properties wikid.conf

Edit wikid.conf sesuai instruksi tersebut. Gunakan alamat IP eksternal server Anda atau instance EC2 dengan bantalan nol sebagai kode domain. Jadi, 54.163.165.73 menjadi 054163165073. Untuk RADIUS host gunakan localhost dan shared secret yang Anda buat di /files/server di atas:

information for setting up a RADIUS host
radiushostip=127.0.0.1
radiushostsecret=secret
; *NOTE*: YOU SHOULD REMOVE THIS SETTING AFTER CONFIGURATION FOR SECURITY
  

Jika Anda menggunakan VM, Anda dapat mengonfigurasi jaringan dengan menjalankan:

wikidctl setup

Di EC2, Anda cukup mengonfigurasi server WiKID:

wikidctl quick-setup configfile=wikid.conf

Anda akan melihat informasi konfigurasi bergulir melewati. Mulai server WiKID:

wikidctl start

Anda akan dimintai kata sandi yang Anda atur di wikid.conf. Jelajahi antarmuka WIKIDAdmin di https://yourserver.com/WiKIDAdmin/ dan Anda akan melihat domain Anda dibuat, klien jaringan radius Anda dikonfigurasi dan semua sertifikat yang diperlukan selesai.

Sebelum meninggalkan server, Anda harus menambahkan nama pengguna Anda sebagai akun di server dengan 'useradd $username'. Tidak perlu menambahkan kata sandi.

Daftarkan token Perangkat Lunak WIKID

Unduh token perangkat lunak WiKID atau instal untuk iOS atau market://search?q=pname:com.wikidsystems.android untuk Android dari toko aplikasi.

Mulai token dan pilih "Tambahkan Domain". Masukkan kode pengenal domain yang Anda atur di wikid.conf dan Anda akan diminta dua kali untuk menyetel PIN Anda. Lakukan dan Anda akan mendapatkan kembali kode registrasi. Buka UI web WiKIDAdmin dan klik Tab Pengguna, lalu Validasi Pengguna Secara Manual. Klik pada kode pendaftaran Anda dan masukkan nama pengguna Anda. Proses ini mengaitkan token (dan kunci yang dipertukarkan) dengan pengguna.

Siapkan klien VPN

Unduh ca.crt ke klien:

scp -i ~/Downloads/wikid.pem [email protected]:/etc/openvpn/ca.crt .

Edit file OpenVPN client.conf. Setel server jarak jauh sebagai server gabungan WiKID/OpenVPN Anda:

# The hostname/IP and port of the server.
# You can have multiple remote entries
# to load balance between the servers.
remote yourserver.com 1194
   

Komentari baris untuk sertifikat dan kunci. Hanya menyisakan CA. Karena kami menggunakan WiKID untuk mengautentikasi dan mengidentifikasi pengguna, mereka tidak diperlukan.

ca ca.crt
#cert client.crt
#key client.key
 

Di bagian bawah file, beri tahu klien untuk meminta kata sandi:

auth-user-pass

Sekarang mulai klien OpenVPN:

sudo openvpn client.conf

Anda akan dimintai nama pengguna dan kata sandi. Minta kode sandi dari token WIKID Anda dan masukkan ke dalam bidang kata sandi. Anda harus diberikan akses.

Terkait:

  • WiKID - Server otentikasi dua faktor
  • OpenVPN
  • Pengemas

OpenVPN
  1. Konfigurasikan server OpenVPN Anda di Linux

  2. Instal OpenVPN di PC Linux Anda

  3. Amankan OpenVPN dengan otentikasi dua faktor dari WiKID di Centos 7

  1. Cara mengonfigurasi Sudo untuk otentikasi dua faktor menggunakan pam-radius di Ubuntu dan CentOS

  2. OpenVPN - Amankan administrasi server Anda dengan koneksi VPN multiplatform

  3. Bangun layanan otentikasi dua faktor berbasis cloud Anda sendiri menggunakan WiKID dan Packer.

  1. Buat server streaming video Anda sendiri dengan Linux

  2. Siapkan Server VPN Linux menggunakan OpenVPN – Panduan Langkah-demi-Langkah

  3. 7 Manfaat Menggunakan Virtual Private Server untuk Bisnis Anda