WagWag'in başlıca özellikleri
- Wireguard'a MFA, rota kısıtlamaları ve cihaz kaydı özellikleri ekler
- MFA doğrulaması gerektiren rotalar veya her zaman herkese açık erişilebilen rotalar tanımlanabilir
- Yeni istemcileri kaydetmek için basit bir API sunar
- Yüksek erişilebilirlik desteği
- Webauthn, OIDC gibi çeşitli MFA seçenekleri sunar
- Aura Information Security desteğiyle geliştirilmiştir
Gereksinimler
iptablesvelibpamkurulu olmalıdır- Wag,
iptablesvewireguardaygıtlarını yönetmek için root olarak çalıştırılmalıdır sysctliçinde forwarding etkinleştirilmiş olmalıdırsysctl -w net.ipv4.ip_forward=1- Wag, çekirdek wireguard'ı desteklediği sürece
wg-quickvb. araçlara ihtiyaç duymaz
Kurulum
İkili sürüm (glibc 2.31+ gerekir)
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>
Kaynaktan kurulum (go1.19, npm, gulp, clang, llvm-strip, libbpf gerekir)
git clone git@github.com:NHAS/wag.git
cd wag
make
cp example_config.json config.json
sudo ./wag start
- Ters proxy arkasında çalışıyorsa
X-Forwarded-Forayarlanmalıdır
Yönetim
Root kullanıcısı, wag sunucusunu aşağıdaki komutla yönetebilir:
wag subcommand [-options]
- Desteklenen alt komutlar:
start,cleanup,reload,version,firewall,registration,devices,users,webadmin,gen-config - Her komut için kullanım açıklaması sağlanır
Kullanıcı rehberi
Wag kurulumu
wag,config.jsondosyalarını/opt/wagdizinine kopyalayınwg genkeyile bir wireguard özel anahtarı üretin ve örnek yapılandırmadakiPrivateKeyalanına yerleştirinwag.servicedosyasını/etc/systemd/system/dizinine kopyalayın (veya bağlayın) ve servisi başlatıp etkinleştirin
Yeni kayıt token'ı oluşturma
# ./wag registration -add -username tester
token,username
e83253fd9962c68f73aa5088604f3f425d58a963bfb5c0889cca54d63a34b2e3,tester
Token'ı curl ile alma:
curl http://public.server.address/register_device/…
Servis tam biçimli bir yanıt döndürür. Bu yanıt config dosyası olarak kaydedilebilir.
MFA gerçekleştirme
Kullanıcı, VPN adresine (ör. 192.168.1.1:8080) bağlanıp 2FA kodunu girer. Oturum süresi yapılandırma dosyasında belirtilebilir.
Yönetim konsoluna giriş
ManagementUI.Enabled değerini true yapın ve aşağıdaki komutu çalıştırın:
sudo ./wag webadmin -add -username <your_username> -password <your-password-here>
Yönetim dinleme adresine bağlanıp kimlik bilgilerini girin. Web arayüzü üzerinden yönetici kullanıcı eklenemez.
GN⁺ görüşü
-
Kümeleme özelliğiyle yüksek erişilebilirlik sunması etkileyici. Felaket kurtarma veya kesintisiz hizmet için faydalı görünüyor.
-
Çeşitli kimlik doğrulama yöntemlerini desteklemesi de güçlü bir taraf. TOTP, WebAuth, OIDC vb. ile kurumsal kimlik doğrulama sistemlerine kolayca entegre edilebilir.
-
ACL kuralları esnek biçimde tanımlanabildiği için ayrıntılı erişim kontrolü mümkün görünüyor. Kullanıcı/grup bazında erişilebilen IP, port ve protokoller sınırlandırılabilir.
-
IPv6 desteğinin olmaması üzücü. Günümüzde IPv6 geçişi hızlandığı için bunun yakında desteklenmesi gerekiyor gibi görünüyor.
-
Linux'a odaklı bir VPN çözümü arayanlar için iyi bir seçenek olabilir. Çekirdek 5.9 ve üzeri modern sistemlerde çalışır.
1 yorum
Hacker News yorumu
Özet: