- WireGuard-Go: Enterprise-grade VPN implementasyonu
- Askeri Seviye Şifreleme: ChaCha20-Poly1305 (256-bit)
- Cross-Platform: macOS (utun) + Linux (tun) desteği
- No-Log: RAM-only storage (tmpfs)
- DoS Koruması: Rate limiting + auto-ban
- API Authentication: Token-based güvenlik
- Docker: Production-ready containerization
- Health Check: Otomatik sağlık kontrolü
- Perfect Forward Secrecy
- Anti-replay protection
- Pre-shared keys (quantum resistance)
- Security headers (XSS, clickjacking koruması)
- Read-only container filesystem
- No-new-privileges security option
Gereksinimler:
- Linux sunucu (Ubuntu 22.04+ / Debian 11+ önerilir)
- Minimum 1 CPU, 1GB RAM
- Docker ve Docker Compose kurulu
- Açık portlar: 8443 (API), 51820-51830 (UDP)
Kurulum:
# Sunucuya bağlan
ssh root@your-server-ip
# Projeyi klonla
git clone <your-repo-url> /opt/vaultex-vpn
cd /opt/vaultex-vpn
# Docker kur (yoksa)
curl -fsSL https://get.docker.com | sh.env dosyasını düzenle:
# Gerçek sunucu IP'si
SN_PUBLIC_IP=YOUR_SERVER_PUBLIC_IP
# API portu
SN_API_PORT=8443
# CORS (production domain)
SN_CORS_ORIGIN=https://yourdomain.com
# TLS sertifikaları (önerilir)
SN_TLS_CERT=/certs/fullchain.pem
SN_TLS_KEY=/certs/privkey.pemLet's Encrypt ile:
# Certbot kur
apt-get update && apt-get install -y certbot
# Sertifika al
certbot certonly --standalone -d yourdomain.com
# Sertifikaları kopyala
mkdir -p ./certs
cp /etc/letsencrypt/live/yourdomain.com/fullchain.pem ./certs/
cp /etc/letsencrypt/live/yourdomain.com/privkey.pem ./certs/
chmod 644 ./certs/*.pemUFW ile:
# UFW kur ve aktifleştir
apt-get install -y ufw
# Gerekli portları aç
ufw allow 22/tcp # SSH
ufw allow 8443/tcp # API
ufw allow 51820:51830/udp # VPN
# Aktifleştir
ufw enableiptables ile:
iptables -A INPUT -p tcp --dport 8443 -j ACCEPT
iptables -A INPUT -p udp --dport 51820:51830 -j ACCEPT
iptables-save > /etc/iptables/rules.v4cd /opt/vaultex-vpn
# Build ve başlat
make build
make deploy
# Veya doğrudan
docker compose up -d# Container durumu
docker ps | grep vaultex
# Health check
curl https://yourdomain.com:8443/api/v1/health
# Logları kontrol (geliştirme için)
# Not: Production'da logging kapalı (no-log policy)
docker logs vaultex-vpn-
.envdosyasında gerçek sunucu IP'si ayarlandı - TLS sertifikası yapılandırıldı
- CORS origin spesifik domain ile sınırlandı
- Firewall kuralları aktif
- SSH key-based authentication kullanılıyor
- Root login devre dışı
- Fail2ban kuruldu
- Otomatik güncellemeler aktif (unattended-upgrades)
- Monitoring eklendi (Prometheus/Grafana)
- Backup stratejisi belirlendi
- Rate limiting test edildi
- DDoS koruması yapılandırıldı (Cloudflare/AWS Shield)
Load Balancer ile:
┌─────────────┐
│ Nginx LB │
└──────┬──────┘
│
┌────────────────┼────────────────┐
│ │ │
┌─────▼─────┐ ┌─────▼─────┐ ┌─────▼─────┐
│ Node 1 │ │ Node 2 │ │ Node 3 │
│ EU-West │ │ US-East │ │ AP-East │
└───────────┘ └───────────┘ └───────────┘
No-log policy için RAM kullanılıyor, ancak kullanıcı yönetimi için:
- Redis (session storage)
- PostgreSQL (kullanıcı hesapları - opsiyonel)
Metrics endpoint eklemek için handlers.go'ya:
router.GET("/metrics", promhttp.Handler())Önerilen metrikler:
- Active VPN sessions
- Bandwidth usage
- Failed handshakes
- Rate limit hits
- Server load
cd /opt/vaultex-vpn
# Yeni kodu çek
git pull
# Yeniden build
make build
# Zero-downtime restart
docker compose up -d --force-recreate- macOS Production: macOS production sunucu olarak önerilmez, Linux kullanın
- IP Pool: Maksimum 253 eşzamanlı bağlantı (10.66.66.2-254)
- No-Log: Container restart'ta tüm session'lar silinir (tasarım gereği)
| Kategori | Durum | Notlar |
|---|---|---|
| Kod | ✅ Hazır | WireGuard-Go production-ready |
| Şifreleme | ✅ Hazır | Military-grade ChaCha20-Poly1305 |
| Güvenlik | ✅ Hazır | DoS, rate limiting, no-log |
| Docker | ✅ Hazır | Optimized multi-stage build |
| API | ✅ Hazır | RESTful, authenticated |
| Frontend | ✅ Hazır | Static HTML/CSS/JS |
| TLS | Let's Encrypt önerilir | |
| Domain | DNS ayarları | |
| Monitoring | ⚙️ Opsiyonel | Prometheus/Grafana |
Deployment sırasında sorun yaşarsanız:
- Logları kontrol edin (geliştirme modunda)
- Health check yapın:
curl http://localhost:8443/api/v1/health - Container durumu:
docker ps -a - Network:
docker network inspect vaultex-internal
Uygulama production deployment için hazır. Yukarıdaki adımları takip ederek:
- Linux sunucuda deploy edebilirsiniz
- TLS ile güvenli erişim sağlayabilirsiniz
- Askeri seviye şifreleme ile VPN hizmeti verebilirsiniz
- No-log policy ile gizlilik garantisi sunabilirsiniz