Cara Menghosting VPN Anda Sendiri dengan Algo dan Cloud Hosting

Diterbitkan: 2022-01-29

Ilustrasi digital smartphone dan laptop yang terhubung ke VPN.

Perusahaan di seluruh dunia menjual layanan VPN untuk mengamankan aktivitas online Anda, tetapi dapatkah Anda benar-benar memercayai penyedia VPN? Jika mau, Anda dapat membuat jaringan pribadi virtual Anda sendiri dengan perangkat lunak Algo sumber terbuka, dan penyedia hosting awan pilihan Anda.

VPN dan Kepercayaan

Terlepas dari apa yang dikatakan atau dibanggakan oleh kebijakan privasi tentang audit keamanan di blog perusahaan, tidak ada yang menghentikan VPN untuk memantau semua yang Anda lakukan secara online. Pada akhirnya, memilih layanan VPN semuanya bergantung pada kepercayaan.

Jika tidak mempercayai layanan online tanpa wajah, salah satu alternatifnya adalah menjalankan server VPN Anda sendiri. Ini dulunya merupakan tugas yang menakutkan, tetapi berkat proyek sumber terbuka Algo dari perusahaan keamanan Trail of Bits, membuat VPN Anda sendiri kini menjadi mudah.

Dengan $5 per bulan, Anda dapat menjalankan dan mengontrol server VPN penuh waktu Anda sendiri. Lebih baik lagi, Anda dapat menggunakan Algo untuk menyiapkan dan menghancurkan server VPN sesuai kebutuhan, dan menghemat uang dalam prosesnya.

Untuk mengatur Algo, Anda harus menggunakan baris perintah. Jika itu tidak menyenangkan, jangan khawatir—kami akan memandu Anda melalui setiap langkah.

Iklan

Instruksi ini mungkin tampak seperti banyak, tapi itu hanya karena kami menjelaskan sebanyak yang kami bisa. Setelah Anda membuat VPN dengan Algo beberapa kali, itu tidak akan memakan waktu lama. Plus, Anda hanya perlu mengatur lingkungan instalasi Algo sekali. Setelah itu, Anda dapat membuat server VPN baru dengan beberapa penekanan tombol.

Tapi bisakah Anda percaya bahwa skrip Algo tidak melakukan sesuatu yang tidak diinginkan? Nah, kabar baiknya adalah kode Algo bersifat publik di GitHub untuk dilihat siapa saja. Selain itu, banyak pakar keamanan yang tertarik dengan proyek Algo, yang membuat kemungkinan terjadinya kesalahan kecil.

TERKAIT: Apa itu VPN, dan Mengapa Saya Membutuhkannya?

Apa yang Algo Bisa (dan Tidak Bisa) Lakukan

VPN adalah cara yang baik untuk melindungi aktivitas online Anda—terutama di jaringan Wi-Fi publik di bandara atau kedai kopi. VPN membuat penjelajahan web lebih aman dan menghalangi setiap pelaku kejahatan yang mungkin berada di jaringan Wi-Fi lokal yang sama. VPN juga dapat membantu jika ISP Anda membatasi jenis lalu lintas tertentu, seperti torrent.

Tapi hati-hati, bajak laut! Mengunduh barang rampasan melalui VPN Anda sendiri bukanlah ide yang baik, karena aktivitas tersebut dapat lebih mudah dilacak kembali kepada Anda.

Juga, jika Anda ingin menonton Netflix melalui VPN, Anda harus mencari di tempat lain—Algo tidak berfungsi dengannya. Namun, ada banyak layanan komersial yang mendukung Netflix.

Prasyarat untuk Algo

Untuk mengaktifkan dan menjalankan server Algo VPN, Anda memerlukan shell Unix Bash. Pada sistem Mac atau Linux, Anda dapat menggunakan program Terminal, tetapi pada Windows, Anda harus mengaktifkan Subsistem untuk Linux. Berikut cara menginstal dan menggunakan shell Bash Linux di Windows 10.

Iklan

Anda juga memerlukan akun di penyedia hosting server cloud. Algo mendukung semua hal berikut:

  • DigitalOcean
  • Layar Cahaya Amazon
  • Amazon EC2
  • Vultr
  • Microsoft Azure
  • Mesin Hitung Google
  • Scaleway
  • Awan Hetzner
  • Itu juga menginstal ke instance OpenStack dan CloudStack.

Jika Anda belum pernah menggunakan layanan ini, kami merekomendasikan DigitalOcean, karena sangat ramah pengguna. Itu juga layanan yang kami gunakan dalam tutorial ini. Prosesnya akan sedikit berbeda jika Anda menggunakan penyedia yang berbeda.

Saat akun DigitalOcean Anda siap digunakan, masuk, lalu, dari dasbor utama, pilih "API" dari rel kiri di bawah judul "Akun".

Di halaman berikutnya, klik "Hasilkan Token Baru." Token akses adalah string panjang huruf dan angka yang memungkinkan akses ke sumber daya akun tanpa nama pengguna dan kata sandi. Anda harus memberi nama token baru. Secara umum, sebaiknya beri nama setelah aplikasi yang Anda gunakan, seperti "algo" atau "ian-algo" (jika nama depan Anda adalah Ian).

Tab "Token/Kunci" di menu "Aplikasi dan API" di DigitalOcean.
Menu “Aplikasi dan API” DigitalOcean.

Setelah token baru dibuat, salin dan tempel ke dokumen teks di desktop Anda. Anda akan membutuhkannya dalam beberapa menit.

Menyiapkan Lingkungan Anda

Kembali ke desktop Anda, buka jendela terminal baru, ketik cd (untuk "ubah direktori," yang disebut folder di dunia Unix), dan tekan Enter. Ini akan memastikan Anda bekerja dari direktori home terminal.

Iklan

Pada tulisan ini, Algo membutuhkan Python 3.6 atau yang lebih baru. Ketik yang berikut ini ke dalam program terminal Anda:

 python3 --versi

Jika Anda mendapatkan respons seperti Python 3.6.9 , Anda siap melakukannya; jika tidak, Anda harus menginstal Python 3.

Untuk menginstal Python 3 di Mac, Anda dapat menggunakan pengelola paket Homebrew. Saat Homebrew siap digunakan, ketik perintah berikut di jendela Terminal:

 brew install python3

Jika Anda menggunakan Ubuntu Linux atau WSL di Windows, mereka harus memiliki Python 3 secara default. Jika tidak, metode instalasi bervariasi tergantung pada versi Linux Anda. Cari online untuk “instal Python 3 di [masukkan versi Linux Anda di sini]” untuk petunjuk.

Selanjutnya, Anda perlu menginstal Virtualenv Python3 untuk membuat lingkungan Python yang terisolasi untuk Algo. Ketik yang berikut di Bash di Mac:

 python3 -m pip install --upgrade virtualenv

Di Ubuntu Linux dan WSL, perintahnya adalah sebagai berikut:

 sudo apt install -y python3-virtualenv

Perhatikan bahwa kami sedang menyesuaikan tutorial ini untuk Ubuntu dan distribusi terkait, tetapi instruksi ini juga akan berfungsi untuk versi Linux lainnya dengan beberapa perubahan kecil. Jika Anda menggunakan CentOS, misalnya, Anda akan mengganti instruksi menggunakan apt dengan dnf .

Selanjutnya, kita perlu mengunduh Algo dengan perintah wget . Mac tidak memiliki wget terinstal secara default, jadi untuk mendapatkannya melalui Homebrew, ketik berikut ini:

 brew install wget 
Utilitas wget mengambil file instalasi Algo.

Sekarang, mari kita unduh file Algo:

 wget https://github.com/trailofbits/algo/archive/master.zip
Iklan

Setelah wget selesai, akan ada file terkompresi bernama "master.zip" di direktori home terminal Anda; mari kita periksa dengan ls .

Jika Anda melihat "master.zip" dalam daftar file dan folder yang muncul, Anda siap melakukannya. Jika tidak, coba jalankan wget lagi.

Sekarang, kita perlu meng-unzip file, jadi kita ketikkan yang berikut:

 buka zip master.zip

Setelah itu selesai, tekan ls lagi. Anda sekarang akan melihat folder baru di direktori home Anda yang disebut "algo-master."

Kami hampir siap beraksi, tetapi pertama-tama, kami perlu menyiapkan lingkungan terisolasi kami dan menginstal beberapa dependensi lagi. Kali ini kita akan bekerja di dalam folder "algo-master".

Ketik berikut ini untuk beralih ke folder:

 cd ~/algo-master

Pastikan Anda berada di sana dengan perintah ini:

 pwd
Iklan

Ini singkatan dari "print working directory," dan itu akan menunjukkan sesuatu seperti /home/Bob/algo-master atau /Users/Bob/algo-master . Sekarang kita berada di tempat yang tepat, mari kita siapkan semuanya.

Salin dan tempel atau ketik perintah di bawah ini pada satu baris (jangan tekan Enter sampai akhir):

 python3 -m virtualenv --python="$(command -v python3)" .env && source .env/bin/activate && python3 -m pip install -U pip virtualenv && python3 -m pip install -r requirements.txt 

Ini memicu banyak tindakan di dalam direktori Algo untuk bersiap dijalankan.

Selanjutnya, Anda harus memberi nama pengguna Anda untuk VPN. Jika Anda tidak menyebutkan semuanya sekarang, Anda harus memegang kunci keamanan (yang kurang aman) atau memulai server baru dari awal nanti.

Either way, ketik berikut ini di terminal:

 nano config.cfg 

Ini akan membuka editor teks baris perintah yang mudah digunakan, Nano. File konfigurasi Algo memiliki banyak informasi di dalamnya, tetapi kami hanya tertarik pada bagian yang mengatakan "pengguna." Yang harus Anda lakukan adalah menghapus nama pengguna default (ponsel, laptop, desktop), dan ketik nama untuk setiap perangkat yang Anda inginkan di VPN Anda.

Misalnya, jika saya membuat VPN untuk saya sendiri, Bill, dan Mary, file konfigurasi mungkin terlihat seperti berikut:

 users: - Ian_PC - Bill_Mac - Mary_PC - Ian_Android - Bill_iPhone - Mary_iPhone
Iklan

Setelah Anda memberi nama semua orang, tekan Ctrl+O untuk menyimpan file, diikuti dengan Ctrl+X untuk keluar.

Kami hampir siap beraksi, tetapi orang-orang Windows pertama-tama perlu mengambil sedikit jalan memutar. WSL biasanya tidak menetapkan izin pengguna yang benar untuk folder Algo, yang mengganggu Ansible (alat yang diandalkan Algo untuk menyebarkan server).

Di WSL, ketik berikut ini untuk kembali ke direktori home Anda:

 CD

Kemudian, ketik berikut ini:

 chmod 755 -R ~/algo-master

Untuk kembali ke folder Algo, ketik:

 cd ~/algo-master

Menjalankan Algo

Dan sekarang adalah saat kebenaran.

Dari folder algo-master , ketik berikut ini di jendela terminal:

 ./algo

Konfigurasi Algo akan mulai berjalan. Anda akan tahu itu berfungsi saat menanyakan penyedia cloud mana yang ingin Anda gunakan. Dalam kasus kami, kami memilih nomor (1) untuk DigitalOcean.

Jika Algo gagal, mungkin ada beberapa alasan yang tidak mungkin kami prediksi di sini. Jika kesalahan mengatakan direktori Anda adalah "world write configurable", maka ikuti petunjuk di atas untuk mengubah izin.

Iklan

Jika Anda mendapatkan kesalahan yang berbeda, periksa halaman pemecahan masalah di repositori proyek Algo di GitHub. Anda juga dapat menyalin pesan kesalahan dan menempelkannya di Google untuk mencarinya. Anda harus menemukan posting forum yang akan membantu, karena kecil kemungkinan Anda adalah orang pertama yang menerima kesalahan itu.

Selanjutnya, Anda akan dimintai token akses yang Anda salin sebelumnya dari akun DigitalOcean Anda. Salin dan tempel ke terminal. Anda tidak akan melihat apa pun karena Bash tidak menampilkan karakter untuk entri kata sandi dan frasa keamanan. Selama Anda menekan tempel, lalu tekan Enter, itu akan baik-baik saja.

Jika gagal, Anda mungkin baru saja mengacaukan tempel, yang dilakukan semua orang di Bash. Cukup ketik berikut ini untuk mencoba lagi:

 ./algo

Saat Algo berjalan, jawab pertanyaan yang diajukan. Ini semua cukup mudah, seperti apa yang Anda ingin beri nama server Anda (menggunakan "algo" dalam nama adalah ide yang bagus).

Selanjutnya, ia akan menanyakan apakah Anda ingin mengaktifkan "Connect on Demand" untuk perangkat Mac dan iOS. Jika Anda tidak menggunakan perangkat tersebut, ketik N untuk no. Ini juga akan menanyakan apakah Anda ingin menyimpan kunci PKI untuk menambahkan lebih banyak pengguna nanti; umumnya, Anda juga akan mengetik N di sini.

Itu dia! Algo sekarang akan memakan waktu sekitar 15 hingga 30 menit untuk mengaktifkan dan menjalankan server Anda.

Menggunakan Algo

Logo WireGuard.

Ketika Algo menyelesaikan pengaturannya, terminal kembali ke prompt baris perintah, yang berarti VPN siap digunakan. Seperti banyak layanan komersial, Algo menggunakan protokol WireGuard VPN, yang merupakan hal baru terpanas di dunia VPN. Ini karena ia menawarkan keamanan yang baik, kecepatan yang lebih tinggi, dan lebih mudah untuk digunakan.

Iklan

Sebagai contoh apa yang harus dilakukan selanjutnya, kita akan mengaktifkan Algo di Windows. Untuk menyiapkan perangkat lain, Anda dapat merujuk ke repositori Algo di GitHub.

Pertama, kita akan menginstal klien desktop Windows generik dari situs WireGuard. Selanjutnya, kita harus memberi makan program file konfigurasi kita untuk PC. File konfigurasi disimpan jauh di dalam folder algo-master di: ~/algo-master/configs/[VPN server IP address]/wireguard/ .

Ada dua jenis file untuk mengonfigurasi perangkat klien VPN: .CONF dan .PNG. Yang terakhir adalah kode QR untuk perangkat seperti ponsel, yang dapat memindai kode QR. File .CONF (konfigurasi) adalah file teks untuk klien WireGuard desktop.

Di Mac dan Ubuntu, seharusnya tidak sulit menemukan folder algo-master di luar baris perintah. Di Mac, algo-master ada di folder Home; cukup gunakan Finder > Go > Home untuk sampai ke sana. Di Ubuntu, Anda dapat membuka Nautilus, dan itu akan berada di folder Home.

Namun, pada Windows, WSL terpisah dari OS lainnya. Untuk alasan ini, lebih mudah untuk menyalin file dengan baris perintah.

Iklan

Menggunakan contoh sebelumnya, katakanlah kita ingin file konfigurasi “Mary-PC.conf” digunakan pada PC Windows 10. Perintahnya akan terlihat seperti ini:

 cp ~/algo-master/configs/[Alamat IP server VPN]/wireguard/Mary-PC.conf /mnt/c/Users/[nama akun pengguna Windows Anda]/Desktop/

Perhatikan spasi antara Mary-PC.conf dan /mnt/ ; begitulah cara Bash mengetahui di mana file yang akan disalin berada, dan ke mana perginya. Huruf besar juga penting, jadi pastikan Anda mengetik huruf kapital di tempat yang ditentukan.

Wajar jika Windows ingin menggunakan huruf besar pada C di drive "C:\", tetapi di Bash Anda tidak melakukannya. Juga, jangan lupa untuk mengganti bit dalam tanda kurung dengan informasi aktual untuk PC Anda.

Misalnya, jika folder pengguna Anda ada di drive “D:\”, bukan di “C:\”, maka ganti /mnt/c/ dengan /mnt/d/ .

Setelah file disalin, buka klien WireGuard untuk Windows. Klik "Impor Terowongan Dari File," lalu pilih file konfigurasi Anda di desktop. Setelah itu selesai, klik "Aktifkan."

Hanya dalam beberapa detik, Anda akan terhubung ke VPN Anda sendiri!