- Bu teknik kılavuzda neler ele alınıyor?
- Ön koşullar ve konum seçimi
- ocserv ve gerekli paketlerin kurulumu
- Let's Encrypt sertifikası edinme (yöntemler)
- ocserv yapılandırması — örnek ocserv.conf
- Güvenlik duvarı ve NAT (IP yönlendirme) ayarları
- Kimlik doğrulama ve kullanıcı yönetimi
- Güvenlik, güçlendirme ve optimizasyon
- Müşterilerin test edilmesi ve bağlanması
- Sertifika yenileme ve bakım otomasyonu
- Uygulamalar için pratik ipuçları ve özel örnekler
- Çözüm
Bu teknik kılavuzda neler ele alınıyor?
Bu adım adım teknik kılavuz, hizmeti nasıl kuracağınızı gösterir. OpenConnect (ocserv) Açık Ubuntu 22.04 Sertifikaların alınması ve yönetilmesinin yanı sıra Hadi ŞifreleyelimGüvenli yapılandırma, güvenlik duvarı ve NAT ayarları, kullanıcı kimlik doğrulaması ve istemcileri bağlama ve sertifika yenilemeyi otomatikleştirme ipuçları ele alınmaktadır.
Ticaret, oyun veya kurumsal erişim gibi hassas ortamlar için doğru konumu seçmek ve DDoS saldırılarına karşı korumalı sunucular kullanmak çok önemlidir. Şirketimiz 85'ten fazla küresel lokasyon, DDoS saldırılarına karşı korumalı sunucular ve bir BGP ağı sunmaktadır.
Ön koşullar ve konum seçimi
Başlamadan önce şunlardan emin olun:
- Bir sunucu Ubuntu 22.04 Root veya sudo erişimine sahipsiniz.
- Bir etki alanı (örneğin, vp.example.com) sunucu IP adresini ifade eder.
- Limanlar 80 Ve 443 Let's Encrypt sertifikasını alabilmek için güvenlik duvarında izinler açık.
Konum neden önemlidir?
- Alım satım yapanlar ve oyuncular için düşük ping değerine sahip bir konum (örneğin Londra, Frankfurt veya Tokyo) seçmek önceliklidir.
- Kuruluşların istikrarı artırmak için BGP ve CDN'ye sahip birden fazla lokasyona ihtiyacı olabilir.
- Güvenlik ve istikrar için DDoS saldırılarına karşı korumalı sunucular önerilir.
ocserv ve gerekli paketlerin kurulumu
Öncelikle sistemi güncelleyin ve temel paketleri yükleyin:
sudo apt update && sudo apt upgrade -y
sudo apt install ocserv certbot libnss3-tools -yOperasyonel ortam için önerilen paketler:
- Güvenlik duvarı yönetimi için ufw veya nftables kullanın.
- fail2ban, kaba kuvvet saldırılarına karşı koruma sağlar.
- TLS testi gerekiyorsa openssl veya gnutls-bin kullanın.
Let's Encrypt sertifikası edinme (yöntemler)
Sertifika almanın iki yaygın yolu:
Yöntem A — Nginx kullanarak (eğer bir web sunucunuz varsa)
Eğer Nginx kullanıyorsanız, sanal sunucuyu etkinleştirip Nginx eklentisiyle Certbot'u kullanabilirsiniz:
sudo apt install nginx
sudo certbot --nginx -d vpn.example.comArdından, ocserv yapılandırma dosyasında sertifika yolunu aşağıdaki gibi belirtin:
server-cert = /etc/letsencrypt/live/vpn.example.com/fullchain.pem
server-key = /etc/letsencrypt/live/vpn.example.com/privkey.pemYöntem B — bağımsız (nginx'iniz yoksa)
Ocserv varsayılan olarak 443 numaralı bağlantı noktasında dinleme yaptığı için, certbot'u bağımsız olarak çalıştırmadan önce ocserv'i geçici olarak durdurmanız veya bir DNS doğrulama yöntemi kullanmanız gerekir:
sudo systemctl stop ocserv
sudo certbot certonly --standalone -d vpn.example.com
sudo systemctl start ocserv
ocserv yapılandırması — örnek ocserv.conf
Ana yapılandırma dosyası: /etc/ocserv/ocserv.conf. Örnek olarak, önemli bölümler şunlardır:
# ports
tcp-port = 443
udp-port = 443
# certificates
server-cert = /etc/letsencrypt/live/vpn.example.com/fullchain.pem
server-key = /etc/letsencrypt/live/vpn.example.com/privkey.pem
# network
default-domain = vpn.example.com
dns = 1.1.1.1
dns = 1.0.0.1
route = 0.0.0.0/0
no-route = 192.168.0.0/16
# limits
max-clients = 250
max-same-clients = 2
# security and performance
keepalive = 60
auth = "plain[passwd=/etc/ocserv/ocpasswd]"
compression = false
tls-priorities = "NORMAL:-VERS-TLS-ALL:+VERS-TLS1.2"
allow-roaming = trueÖnemli notlar: rota = 0.0.0.0/0 Tam Tünel için. Bölünmüş Tünel için, yalnızca gerekli ağları ekleyin. Güvenlik nedenleriyle. sıkıştırma = yanlış Tavsiye edilen.
Güvenlik duvarı ve NAT (IP yönlendirme) ayarları
IP yönlendirmeyi etkinleştirme:
sudo sysctl -w net.ipv4.ip_forward=1
echo "net.ipv4.ip_forward=1" | sudo tee -a /etc/sysctl.confNAT için örnek iptables kuralları (çıkış arayüzü eth0 ve iç ağ 10.10.10.0/24 varsayılarak):
sudo iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
sudo iptables -A FORWARD -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
sudo iptables -A FORWARD -s 10.10.10.0/24 -j ACCEPTYeniden başlatmalar arasında kuralları korumak için iptables-persistent kullanın veya yapılandırmayı nftables'da kaydedin.
Örnek UFW komutları:
sudo ufw allow 443/tcp
sudo ufw allow 443/udp
sudo ufw allow 80/tcp
sudo ufw enable
Kimlik doğrulama ve kullanıcı yönetimi
Yerel passwd dosyasına dayalı basit yöntem:
sudo ocpasswd -c /etc/ocserv/ocpasswd aliceŞuradan başlayabilirsiniz: PAM LDAP/AD entegrasyonu (yapılandırma) için kullanılır. yetkilendirme = "pam"" ocserv.conf dosyasında).
Sertifika tabanlı kimlik doğrulama (x.509) için istemci anahtarı/sertifikası oluşturun:
sudo certtool --generate-privkey --outfile client-key.pem
sudo certtool --generate-certificate --load-privkey client-key.pem --outfile client-cert.pem --template client.tmplİki faktörlü kimlik doğrulama eklemek için şunu kullanabilirsiniz: libpam-google-authenticator ve PAM'ı ayarlamak /etc/pam.d/ocserv Kullanmak.
Güvenlik, güçlendirme ve optimizasyon
- TLS sürümlerini kısıtlamak Kullanarak
tls-öncelikleri. - Sıkıştırmayı devre dışı bırakma Güvenlik nedenleriyle (örneğin SUÇ).
- Eş zamanlı bağlantı sayısını sınırlayın (
maksimum-aynı-müşteriler). - Günlük kaydını ve kaynak izlemeyi etkinleştirin.
- Tekrarlanan giriş denemelerini önlemek için fail2ban'ı kurun ve yapılandırın.
Basit bir fail2ban kurulum örneği:
[ocserv]
enabled = true
port = 443
filter = ocserv
logpath = /var/log/syslog
maxretry = 5Ocserv kayıtlarına göre uygun bir filtre (regex) oluşturmak gereklidir.
Müşterilerin test edilmesi ve bağlanması
Linux komut satırı istemcisi ile OpenConnect:
sudo apt install openconnect
sudo openconnect vpn.example.comLinux masaüstünde ağ yöneticisi-openconnect Windows/macOS işletim sistemlerinde ise OpenConnect GUI'sini veya Cisco AnyConnect uyumlu istemcileri kullanın.
Hizmet durumunu kontrol etmek için:
sudo systemctl status ocserv
sudo journalctl -u ocserv -f
Sertifika yenileme ve bakım otomasyonu
Eğer ters proxy olarak nginx veya apache kullanıyorsanız, certbot genellikle hizmeti durdurmadan sertifikayı yenileyebilir ve yenileme işleminden sonra ocserv'i yeniden yükleyebilir:
sudo certbot renew --deploy-hook "systemctl reload ocserv"Eğer bağımsız bir uygulama kullanıyorsanız ve ocserv 443 portunda etkinleştirilmişse, seçenekler DNS doğrulaması veya ön/son kancaları kullanmaktır:
sudo certbot renew --pre-hook "systemctl stop ocserv" --post-hook "systemctl start ocserv"
Uygulamalar için pratik ipuçları ve özel örnekler
- Ticaret: En düşük gecikme süresi için en yakın konumdaki bir sunucu seçin; 443 numaralı bağlantı noktası ve UDP/DTLS desteği olan, alım satım işlemlerine özel VPS'ler faydalı olabilir.
- Oyun: Bölünmüş tünelleme kullanarak yalnızca gerekli trafiği VPN üzerinden gönderin ve oyunlardaki ping süresini azaltın.
- Yapay Zeka ve Görselleştirme: Aynı bölgede GPU sunucuları kullanmak, ağ yükünü ve gecikmeyi azaltabilir.
- Kurumsal Güvenlik: LDAP/AD, 2FA, izleme ve DDoS saldırılarına karşı koruma sunucularının bir arada kullanılması önerilir.
Şirketimiz yüksek performanslı bulut hizmetleri, grafik sunucusu (GPU), işlem/oyun VPS'si, alan adı kaydı, CDN ve BGP ağı sağlamaktadır. 85'ten fazla küresel lokasyon VPN'i kullanıcılarınıza yakın konumlandırma ve DDoS korumasından yararlanma olanağı sunar.
Çözüm
Bu kılavuz, OpenConnect'i (ocserv) Ubuntu 22.04'e kurmak için gereken adımları, kurulumdan Let's Encrypt sertifikası edinmeye, güvenli yapılandırmaya, güvenlik duvarına ve NAT'a, kimlik doğrulamaya, optimizasyona ve yenileme otomasyonuna kadar pratik olarak ele almaktadır.
Aşağıdaki gibi güvenlik önlemlerine uyarak: Modern TLS, Sıkıştırmayı devre dışı bırakmaBağlantı sınırlamaları, 2FA aktivasyonu ve fail2ban gibi özellikler, ekipler, oyuncular ve yatırımcılar için güvenli ve güvenilir bir VPN hizmeti sağlayabilir.









