Fitur utama WagWag
- Menambahkan MFA, pembatasan rute, dan fitur pendaftaran perangkat ke WireGuard
- Dapat menentukan rute yang memerlukan autentikasi MFA atau rute yang selalu dapat diakses secara publik
- Menyediakan API sederhana untuk mendaftarkan klien baru
- Mendukung ketersediaan tinggi
- Menyediakan berbagai opsi MFA seperti Webauthn, OIDC, dll.
- Dikembangkan dengan dukungan dari Aura Information Security
Persyaratan
iptablesdanlibpamharus terpasang- Wag harus dijalankan sebagai root untuk mengelola perangkat
iptablesdanwireguard - Forwarding harus diaktifkan di
sysctlsysctl -w net.ipv4.ip_forward=1 - Wag tidak memerlukan
wg-quickdan sejenisnya selama kernel mendukung WireGuard
Cara instalasi
Rilis biner (memerlukan glibc 2.31+)
curl -L $(curl -s https://api.github.com/repos/NHAS/wag/releases/latest | jq -M -r '.assets[0].browser_download_url') -o wag
sudo ./wag gen-config
sudo ./wag start -config <generated_config_name>
Instal dari source (memerlukan go1.19, npm, gulp, clang, llvm-strip, libbpf)
git clone git@github.com:NHAS/wag.git
cd wag
make
cp example_config.json config.json
sudo ./wag start
- Jika berjalan di belakang reverse proxy,
X-Forwarded-Forharus disetel
Administrasi
Pengguna root dapat mengelola server wag dengan perintah berikut:
wag subcommand [-options]
- Subperintah yang didukung:
start,cleanup,reload,version,firewall,registration,devices,users,webadmin,gen-config - Menyediakan penjelasan penggunaan untuk tiap perintah
Panduan pengguna
Memasang Wag
- Salin
wag,config.jsonke/opt/wag - Buat private key WireGuard dengan
wg genkey, lalu tetapkan kePrivateKeypada contoh konfigurasi - Salin (atau tautkan)
wag.serviceke/etc/systemd/system/, lalu mulai/aktifkan servicenya
Membuat token pendaftaran baru
# ./wag registration -add -username tester
token,username
e83253fd9962c68f73aa5088604f3f425d58a963bfb5c0889cca54d63a34b2e3,tester
Mengambil token dengan curl:
curl http://public.server.address/register_device/…
Layanan akan mengembalikan respons dalam bentuk lengkap. Ini bisa disimpan sebagai file config.
Menjalankan MFA
Pengguna mengakses alamat VPN (misalnya 192.168.1.1:8080) lalu memasukkan kode 2FA. Masa berlaku sesi dapat ditentukan di file konfigurasi.
Login ke konsol manajemen
Setel ManagementUI.Enabled ke true lalu jalankan perintah berikut:
sudo ./wag webadmin -add -username <your_username> -password <your-password-here>
Akses alamat listening untuk administrasi lalu masukkan kredensial. Antarmuka web tidak dapat digunakan untuk menambahkan pengguna admin.
Opini GN⁺
-
Dukungan ketersediaan tinggi melalui fitur clustering cukup mengesankan. Ini tampaknya berguna untuk pemulihan bencana atau layanan tanpa downtime.
-
Dukungan untuk berbagai metode autentikasi juga menjadi nilai plus. TOTP, WebAuth, OIDC, dan lainnya tampaknya memudahkan integrasi dengan sistem autentikasi perusahaan.
-
Aturan ACL dapat didefinisikan secara fleksibel, sehingga kontrol akses yang rinci terlihat memungkinkan. IP, port, dan protokol yang dapat diakses bisa dibatasi per pengguna/grup.
-
Tidak adanya dukungan IPv6 cukup disayangkan. Saat ini adopsi IPv6 semakin aktif, jadi dukungan cepat tampaknya diperlukan.
-
Jika mencari solusi VPN yang dioptimalkan untuk Linux, ini tampaknya bisa menjadi pilihan yang baik. Berjalan pada sistem modern dengan kernel 5.9 atau lebih baru.
1 komentar
Komentar Hacker News
Ringkasan: