Takip et

IKEv2 VPN Sunucusunu StrongSwan ile Ubuntu 20.04 Üzerine Kurulum Rehberi

IKEv2 VPN Sunucusunu StrongSwan ile Ubuntu 20.04 Üzerine Kurulum Rehberi Günümüzün dijital dünyasında internet üzerindeki gizliliğimizi ve g

IKEv2 VPN Sunucusunu StrongSwan ile Ubuntu 20.04 Üzerine Kurulum Rehberi

Günümüzün dijital dünyasında internet üzerindeki gizliliğimizi ve güvenliğimizi korumak her zamankinden daha kritik bir hale gelmiştir. Sanal Özel Ağ (VPN) teknolojisi, internet trafiğinizi şifreleyerek ve IP adresinizi maskeleyerek bu korumayı sağlamanın en etkili yollarından biridir. Kendi VPN sunucunuzu kurmak, üçüncü taraf VPN sağlayıcılarına güvenmek yerine verileriniz üzerinde tam kontrol sahibi olmanızı sağlar. Bu kapsamlı rehberde, Ubuntu 20.04 işletim sistemi üzerinde StrongSwan yazılımını kullanarak güvenli ve modern bir IKEv2 VPN sunucusunu nasıl kuracağınızı adım adım anlatacağız.

IKEv2 (Internet Key Exchange version 2), özellikle mobil cihazlar için optimize edilmiş, hızlı ve güvenilir bir VPN protokolüdür. Ağ değişikliklerinde (örneğin, Wi-Fi’dan mobil veriye geçiş) bağlantıyı kesmeden yeniden kurma yeteneği sayesinde kesintisiz bir deneyim sunar. StrongSwan ise açık kaynaklı, güçlü ve esnek bir IPsec (Internet Protocol Security) uygulamasıdır. Bu kombinasyon, hem güvenlik hem de performans açısından üst düzey bir VPN çözümü sunar.

Bu rehber, teknik bilgiye sahip kullanıcılar düşünülerek hazırlanmıştır ve sunucu yönetimi, komut satırı kullanımı ve ağ kavramları hakkında temel bir anlayışa sahip olduğunuz varsayılmaktadır. Rehberin sonunda, kendi güvenli IKEv2 VPN sunucunuzu başarıyla kurmuş ve çeşitli cihazlarınızdan (Windows, macOS, iOS, Android) bağlanabilir duruma gelmiş olacaksınız.

Ön Gereksinimler

Kuruluma başlamadan önce aşağıdaki gereksinimlerin karşılandığından emin olun:

* Ubuntu 20.04 Sunucusu: Yeni kurulmuş veya güncel bir Ubuntu 20.04 (Focal Fossa) sunucusuna ihtiyacınız var. Bu bir sanal makine (AWS EC2, DigitalOcean Droplet, Vultr VPS vb.) veya fiziksel bir sunucu olabilir.
* SSH Erişimi: Sunucunuza SSH üzerinden erişiminiz olmalı.
* sudo Yetkileri: Kurulum ve yapılandırma işlemleri için sudo yetkilerine sahip bir kullanıcı hesabınız olmalı.
* Statik Genel IP Adresi: VPN sunucunuzun internetten erişilebilir statik bir genel IP adresi olmalıdır.
* Alan Adı (Domain Name) (İsteğe Bağlı ama Şiddetle Önerilir): VPN sunucunuz için bir alan adı kullanmak (örneğin, vpn.example.com), sertifika yönetimini kolaylaştırır ve bazı istemcilerde bağlantı sorunlarını önleyebilir. Let’s Encrypt gibi hizmetlerle ücretsiz SSL sertifikaları almanız mümkün olur. Bu rehberde hem IP adresi hem de alan adı ile kurulumu ele alacağız.
* Güvenlik Duvarı Bilgisi: Ubuntu’nun varsayılan güvenlik duvarı olan UFW (Uncomplicated Firewall) hakkında temel bilgiye sahip olmanız faydalı olacaktır.

Adım 1: Sunucuyu Güncelleme ve Gerekli Paketleri Kurma

Herhangi bir kuruluma başlamadan önce sunucunuzun paket listesini güncellemek ve mevcut paketleri en son sürümlerine yükseltmek iyi bir uygulamadır. Bu, güvenlik açıklarını kapatır ve yazılım uyumluluğunu sağlar.

sudo apt update
sudo apt upgrade -y

Ardından, StrongSwan ve onunla birlikte çalışacak gerekli PKI (Public Key Infrastructure) araçlarını ve eklentilerini kuracağız. PKI araçları, VPN sunucusu ve istemcileri için dijital sertifikalar oluşturmamıza olanak tanır.

sudo apt install strongswan strongswan-pki libcharon-extra-plugins libswanctl-etcd-plugins -y

* strongswan: StrongSwan IPsec VPN yazılımının ana paketi.
* strongswan-pki: Sertifika Yetkilisi (CA) ve sunucu/istemci sertifikaları oluşturmak için gerekli komut satırı araçlarını içerir.
* libcharon-extra-plugins: StrongSwan’ın charon daemon’ı için ek eklentiler sağlar.
* libswanctl-etcd-plugins: Bu rehber için doğrudan gerekli olmasa da, StrongSwan’ın yönetim araçları için ek işlevsellik sunabilir.

Kurulum tamamlandıktan sonra StrongSwan servisi otomatik olarak başlayabilir. Ancak, henüz yapılandırmadığımız için işlevsel değildir.

Adım 2: Güvenlik Duvarını Yapılandırma (UFW)

Güvenlik duvarı, sunucunuzu istenmeyen erişimlere karşı korumak için hayati öneme sahiptir. UFW, Ubuntu’da güvenlik duvarı kurallarını yönetmeyi kolaylaştıran bir arayüzdür. VPN’in düzgün çalışabilmesi için belirli portların açılması gerekmektedir.

Öncelikle, UFW’nin etkin olduğundan emin olun ve SSH bağlantınıza izin verin:

sudo ufw enable
sudo ufw allow ssh

VPN bağlantıları için IKEv2 protokolünün kullandığı UDP portları olan 500 (IKE) ve 4500 (NAT Traversal) portlarını açmamız gerekiyor:

sudo ufw allow 500/udp
sudo ufw allow 4500/udp

Ayrıca, IPsec tünelinin çalışabilmesi için ESP (Encapsulating Security Payload) protokolüne izin vermemiz gerekir. UFW, IPsec’i otomatik olarak tanır ve buna izin veren bir kuralı basitleştirir:

sudo ufw allow proto esp

Bu kural, IPsec trafiğinin geçişine izin verir. Kuralları kontrol etmek için:

sudo ufw status verbose

Çıktıda SSH, 500/udp, 4500/udp ve ESP protokolüne izin verildiğini görmelisiniz.

IP Yönlendirmeyi Etkinleştirme:

VPN sunucunuzun istemcilerden gelen trafiği internete yönlendirebilmesi için IP yönlendirme (IP Forwarding) özelliğinin etkin olması gerekir. Bu, kernel düzeyinde bir ayardır.

/etc/sysctl.conf dosyasını düzenleyerek bu ayarı kalıcı hale getirebiliriz:

sudo nano /etc/sysctl.conf

Dosyanın içinde aşağıdaki satırı bulun veya ekleyin:

net.ipv4.ip_forward = 1

Değişiklikleri kaydedin ve düzenleyiciden çıkın (CTRL+O, Enter, CTRL+X). Ayarları hemen uygulamak için:

sudo sysctl -p

Bu komut, /etc/sysctl.conf dosyasındaki ayarları yeniden yükler ve IP yönlendirmeyi etkinleştirir.

Adım 3: PKI (Public Key Infrastructure) Oluşturma

StrongSwan, kimlik doğrulama için sertifikaları kullanır. Bu adımda, bir Sertifika Yetkilisi (CA) oluşturacak, ardından bu CA tarafından imzalanmış bir sunucu sertifikası oluşturacağız. Bu sertifikalar, VPN sunucunuzun güvenilirliğini kanıtlayacak ve istemcilerin sunucuyu doğrulamasını sağlayacaktır.

Geçici olarak sertifikaları oluşturmak için bir dizin oluşturalım:

mkdir ~/pki
cd ~/pki

VPN Sunucusu için Sertifika Yetkilisi (CA) Oluşturma

Önce, kök Sertifika Yetkilisi (CA) anahtarını oluşturuyoruz. Bu anahtar, diğer tüm sertifikaları imzalamak için kullanılacaktır. Güvenlik için 4096 bit RSA anahtarı kullanıyoruz.

ipsec pki --gen --type rsa --size 4096 --outform pem > ca.key.pem

Ardından, bu anahtarı kullanarak bir kendinden imzalı CA sertifikası oluşturuyoruz. Bu sertifika, istemcilerinizin sunucuya güvenmesi için kullanılacaktır. CN (Common Name) alanı, CA’nın adını temsil eder.

ipsec pki --self --ca --lifetime 3650 --in ca.key.pem --type rsa --dn "CN=VPN Root CA" --outform pem > ca.cert.pem

* --lifetime 3650: Sertifikanın 10 yıl geçerli olmasını sağlar.
* --dn "CN=VPN Root CA": Sertifikanın ortak adını belirler.

VPN Sunucusu Sertifikası Oluşturma

Şimdi, VPN sunucumuz için bir anahtar ve sertifika oluşturacağız. Bu sertifika, sunucunun kendisini istemcilere tanıtmasını sağlayacaktır.

Sunucu anahtarını oluşturun:

ipsec pki --gen --type rsa --size 4096 --outform pem > server.key.pem

Sunucu genel anahtarını oluşturun:

ipsec pki --pub --in server.key.pem --outform pem > server.pub.pem

CA’mızı kullanarak sunucu sertifikasını imzalayın. --dn (Common Name) ve --san (Subject Alternative Name) alanları sunucunuzun alan adını (örneğin, vpn.example.com) ve/veya genel IP adresini içermelidir. Bu değerler, istemcilerin VPN sunucusunu doğru bir şekilde doğrulayabilmesi için önemlidir. VPN_SUNUCU_IP_ADRESİ yerine sunucunuzun gerçek IP adresini, vpn.example.com yerine ise kendi alan adınızı yazın.

ipsec pki --issue --lifetime 1825 --in server.pub.pem --type rsa --dn "CN=vpn.example.com" --san "vpn.example.com" --san IP_ADRESİNİZ --ca ca.cert.pem --cacert ca.cert.pem --outform pem > server.cert.pem

* --lifetime 1825: Sertifikanın 5 yıl geçerli olmasını sağlar.
* --dn "CN=vpn.example.com": Sunucunun ortak adını belirler.
* --san "vpn.example.com" --san IP_ADRESİNİZ: Sertifikayı alan adı ve IP adresi için geçerli kılar. Bu, istemcilerin DNS adı veya IP adresi ile bağlanmasına olanak tanır.

Sertifikaları Doğru Konuma Kopyalama

Oluşturduğumuz CA ve sunucu sertifikalarını StrongSwan’ın beklediği dizinlere taşıyın:

sudo mv ca.cert.pem /etc/ipsec.d/cacerts/
sudo mv server.cert.pem /etc/ipsec.d/certs/
sudo mv server.key.pem /etc/ipsec.d/private/

Özel anahtarın (server.key.pem) izinlerini yalnızca root kullanıcısının okuyabileceği şekilde ayarlamak çok önemlidir:

sudo chmod 600 /etc/ipsec.d/private/server.key.pem

Bu adım, özel anahtarınızın güvenliğini sağlar ve yetkisiz erişimi engeller.

Adım 4: StrongSwan’ı Yapılandırma

StrongSwan’ın ana yapılandırma dosyası /etc/ipsec.conf‘tur. Bu dosyayı düzenleyerek VPN bağlantımızın nasıl kurulacağını ve hangi parametreleri kullanacağını belirleyeceğiz.

sudo nano /etc/ipsec.conf

Dosyanın içeriğini aşağıdaki gibi düzenleyin. Mevcut içeriği silebilir veya yorum satırı yapabilirsiniz.

config setup
    charondebug="ike 2, knl 2, cfg 2, net 2, esp 2, dmn 2, mgr 2"
    strictcrlpolicy=no
    uniqueids = no

conn %default
    keyexchange=ikev2
    dpdaction=clear
    dpddelay=300s
    rekey=no
    reauth=no
    leftfirewall=yes
    leftauth=pubkey
    leftsendcert=always
    rightauth=eap-mschapv2 # veya pubkey
    rightsendcert=never # EAP kullanılıyorsa, pubkey kullanılıyorsa always
    eap_identity=%any

conn ikev2-vpn
    # Sunucu tarafı ayarları
    left=%any # Sunucunun genel IP adresini otomatik algılar
    leftid="CN=vpn.example.com" # Sunucu sertifikasındaki CN ile aynı olmalı
    leftcert=server.cert.pem # Sunucu sertifikası
    leftsubnet=0.0.0.0/0 # Tüm trafiği VPN üzerinden yönlendir

    # İstemci tarafı ayarları
    right=%any
    rightsourceip=10.10.10.0/24 # VPN istemcilerine atanacak IP aralığı
    rightdns=8.8.8.8,8.8.4.4 # VPN istemcileri için DNS sunucuları (Google DNS)

    # Şifreleme algoritmaları
    ike=aes256-sha256-modp1024,aes256-sha256-modp2048,aes128-sha256-modp1024,aes128-sha256-modp2048,aes256-sha384-modp4096!
    esp=aes256-sha256,aes128-sha256,aes256-sha384,aes256-sha512,aes128-sha512,chacha20poly1305-sha256!

    # Bağlantıyı otomatik başlat
    auto=start

Yapılandırma Açıklamaları:

* config setup: StrongSwan’ın genel davranışını yapılandırır.
* charondebug: Hata ayıklama seviyesini ayarlar. Sorun giderme için faydalıdır.
* strictcrlpolicy=no: Sertifika iptal listesi (CRL) kontrolünü devre dışı bırakır. Üretim ortamlarında yes olarak ayarlanmalı ve CRL yönetimi yapılmalıdır.
* uniqueids = no: Aynı kimlik ile birden fazla bağlantıya izin verir.
* conn %default: Tüm bağlantılar için varsayılan ayarları tanımlar.
* keyexchange=ikev2: IKEv2 anahtar değişimi protokolünü kullanır.
* dpdaction=clear, dpddelay, rekey, reauth: Bağlantı kopmalarını yönetmek ve yeniden anahtarlama/kimlik doğrulamayı ayarlamak için kullanılır.
* leftfirewall=yes: StrongSwan’ın güvenlik duvarı kurallarını otomatik olarak yönetmesine izin verir.
* leftauth=pubkey: Sunucu tarafının ortak anahtar kimlik doğrulaması kullanacağını belirtir (sertifika tabanlı).
* leftsendcert=always: Sunucunun her zaman sertifikasını göndermesini sağlar.
* rightauth=eap-mschapv2: İstemci tarafının EAP-MSCHAPv2 kimlik doğrulaması kullanacağını belirtir (kullanıcı adı/şifre). Eğer istemciler de sertifika kullanacaksa, burayı pubkey olarak değiştirmelisiniz.
* rightsendcert=never: EAP kullanılıyorsa istemcinin sertifika göndermemesi gerektiğini belirtir. pubkey kullanılıyorsa always olmalı.
* eap_identity=%any: EAP kimlik doğrulaması için istemcinin herhangi bir kimlik gönderebileceğini belirtir.
* conn ikev2-vpn: Gerçek VPN bağlantımızın ayarlarını tanımlar.
* left=%any: Sunucunun genel IP adresini otomatik olarak algılar.
* leftid="CN=vpn.example.com": Sunucu sertifikasında belirttiğiniz CN değeri ile aynı olmalıdır.
* leftcert=server.cert.pem: Kullanılacak sunucu sertifikasının adını belirtir.
* leftsubnet=0.0.0.0/0: İstemcilere tüm internet trafiğini VPN üzerinden göndermelerini söyler.
* rightsourceip=10.10.10.0/24: VPN istemcilerine atanacak dahili IP adres aralığını tanımlar. Bu aralık, yerel ağınızdaki başka bir aralıkla çakışmamalıdır.
* rightdns=8.8.8.8,8.8.4.4: VPN istemcilerinin kullanacağı DNS sunucularını belirtir. Google DNS veya başka bir güvenilir DNS kullanabilirsiniz.
* ike ve esp: IKE ve ESP fazları için kullanılacak şifreleme ve bütünlük algoritmalarını tanımlar. En güvenli ve güncel algoritmaları seçmek önemlidir.
* auto=start: StrongSwan servisi başladığında bu bağlantının otomatik olarak kurulmasını sağlar.

Değişiklikleri kaydedin ve düzenleyiciden çıkın.

Kullanıcı Kimlik Doğrulama Bilgilerini Ayarlama (/etc/ipsec.secrets)

Eğer EAP-MSCHAPv2 kimlik doğrulamasını seçtiyseniz (yani rightauth=eap-mschapv2), kullanıcı adı ve şifre bilgilerini /etc/ipsec.secrets dosyasına eklemeniz gerekir.

sudo nano /etc/ipsec.secrets

Dosyanın en altına aşağıdaki formatta kullanıcı bilgileri ekleyin:

# Sunucu özel anahtarı
: RSA server.key.pem

Kullanıcılar

kullaniciadi %any : EAP "sifre"

* İlk satır, sunucu sertifikasının özel anahtarını belirtir. Bu, sunucunun kimliğini doğrulaması için gereklidir.
* İkinci satır ve sonrakiler, her bir VPN kullanıcısı için kullanıcı adı ve şifreyi tanımlar. kullaniciadi yerine istediğiniz kullanıcı adını, sifre yerine ise güçlü bir şifre kullanın.

Eğer istemciler için de sertifika tabanlı kimlik doğrulama kullanacaksanız, bu dosya sadece sunucunun özel anahtarını içerecektir. Kullanıcı sertifikaları ayrıca oluşturulur ve istemcilere verilir. Bu rehberde EAP-MSCHAPv2 ve sertifika tabanlı sunucu kimlik doğrulaması kombinasyonunu ele alıyoruz, zira bu, çoğu kullanıcı için kurulumu daha basittir.

Adım 5: IP Yönlendirme ve NAT Kuralları

VPN istemcilerinin internete erişebilmesi için sunucunun gelen VPN trafiğini dış ağa (internete) yönlendirmesi ve bu trafiği NAT (Network Address Translation) ile maskelemesi gerekir. UFW ile bu kuralları yapılandıracağız.

Öncelikle, UFW’nin varsayılan iletme politikasını kabul et olarak ayarlamamız gerekiyor.

sudo nano /etc/default/ufw

Dosyada DEFAULT_FORWARD_POLICY satırını bulun ve değerini "ACCEPT" olarak değiştirin:

DEFAULT_FORWARD_POLICY="ACCEPT"

Şimdi, NAT kuralını /etc/ufw/before.rules dosyasına eklememiz gerekiyor. Bu dosya, UFW kurallarının diğer tüm kurallardan önce uygulanmasını sağlar.

sudo nano /etc/ufw/before.rules

Dosyanın en üstüne, *filter satırından önce aşağıdaki kuralları ekleyin:

#

rules.before

# Rules that should be run before the ufw command line added rules. Custom

rules should be added to the end of this file, but before the *filter

section.

# START OPENVPN RULES

NAT table rules

*nat :POSTROUTING ACCEPT [0:0]

Allow traffic from VPN client subnet to eth0 (your public interface)

-A POSTROUTING -s 10.10.10.0/24 -o eth0 -j MASQUERADE COMMIT

END OPENVPN RULES

Don't delete these required lines, otherwise ufw will stop working

*filter

Önemli: -o eth0 kısmındaki eth0 değerini sunucunuzun dışa dönük ağ arayüzünün adı ile değiştirmeniz gerekmektedir. Sunucunuzun ağ arayüz adını öğrenmek için ip a komutunu kullanabilirsiniz. Genellikle eth0 veya enpXsY gibi bir isimdir. 10.10.10.0/24 ise ipsec.conf dosyasında rightsourceip olarak belirttiğiniz VPN istemcilerine atanacak IP aralığı ile eşleşmelidir.

Değişiklikleri kaydedin ve düzenleyiciden çıkın.

UFW’yi yeniden yükleyerek yeni kuralların uygulanmasını sağlayın:

sudo ufw reload

Bu komut, UFW’yi yeniden başlatır ve before.rules dosyasındaki NAT kuralının etkinleşmesini sağlar.

Adım 6: StrongSwan Servisini Başlatma ve Kontrol Etme

Tüm yapılandırmaları tamamladığımıza göre, StrongSwan servisini yeniden başlatabilir ve durumunu kontrol edebiliriz.

StrongSwan servisini yeniden başlatın:

sudo systemctl restart strongswan

StrongSwan’ın sistem başlangıcında otomatik olarak başlamasını sağlamak için:

sudo systemctl enable strongswan

Servisin durumunu kontrol edin:

sudo systemctl status strongswan

Çıktıda servisin active (running) olduğunu görmelisiniz. Herhangi bir hata varsa, journalctl -u strongswan komutu ile daha detaylı günlükleri inceleyebilirsiniz.

StrongSwan’ın kendi durum komutunu kullanarak VPN bağlantılarının durumunu kontrol edin:

sudo ipsec status
sudo ipsec statusall

ipsec status komutu, ikev2-vpn bağlantısının enabled olduğunu ve şu anda kaç tünelin kurulu olduğunu göstermelidir. Bağlantı henüz kurulmadığı için established tünel sayısı 0 olacaktır.

Adım 7: İstemci Kurulumu

VPN sunucunuz hazır olduğuna göre, şimdi istemcilerinizi yapılandırmanız gerekiyor. Her işletim sistemi için kurulum adımları biraz farklılık gösterir. Ancak temel prensip, CA sertifikasını cihaza yüklemek ve VPN bağlantısını IKEv2 protokolü ile yapılandırmaktır.

Öncelikle, istemcilere dağıtmanız gereken ca.cert.pem dosyasını sunucunuzdan güvenli bir şekilde aktarın. Bunu scp veya başka bir güvenli dosya transfer yöntemiyle yapabilirsiniz.

# Sunucudan yerel makinenize kopyalamak için (yerel makinenizden çalıştırın)
scp kullanici@sunucu_ip_adresi:~/pki/ca.cert.pem .

Windows İstemcisi

1. CA Sertifikasını Yükleme:
* ca.cert.pem dosyasını bilgisayarınıza kopyalayın.
* Dosyaya sağ tıklayın ve “Sertifika Yükle” seçeneğini seçin.
* “Yerel Makine” seçeneğini belirleyin ve “İleri”ye tıklayın.
* “Tüm sertifikaları aşağıdaki depoya yerleştir” seçeneğini seçin ve “Gözat” düğmesine tıklayın.
* Listeden “Güvenilen Kök Sertifika Yetkilileri”ni seçin ve “Tamam”a tıklayın.
* Yüklemeyi tamamlamak için “İleri” ve “Son” düğmelerine tıklayın. Güvenlik uyarısını onaylayın.
2. VPN Bağlantısı Oluşturma:
* Başlat menüsünden “Ayarlar” -> “Ağ ve İnternet” -> “VPN” yolunu izleyin.
* “VPN bağlantısı ekle” düğmesine tıklayın.
* VPN sağlayıcısı: Windows (yerleşik)
* Bağlantı adı: İstediğiniz bir isim (örn: Benim VPN’im)
* Sunucu adı veya IP adresi: VPN sunucunuzun alan adı veya IP adresi (örn: vpn.example.com veya IP_ADRESİNİZ)
* VPN türü: IKEv2
* Kimlik doğrulama bilgisi türü: “Kullanıcı adı ve parola” seçeneğini seçin (EAP-MSCHAPv2 kullanıyorsanız).
* Kullanıcı adınızı ve parolanızı girin.
* Kaydedin ve bağlanmayı deneyin.

macOS İstemcisi

1. CA Sertifikasını Yükleme:
* ca.cert.pem dosyasını macOS cihazınıza kopyalayın.
* Dosyaya çift tıklayın. Anahtar Zinciri Erişimi uygulaması açılacaktır.
* Sertifika eklendikten sonra, “Sistem” anahtar zincirinde “VPN Root CA” (veya CA sertifikasına verdiğiniz ad) adlı sertifikayı bulun.
* Sertifikaya çift tıklayın, “Güven” bölümünü genişletin.
* “Bu sertifikayı kullanırken” seçeneğini “Her zaman güven” olarak ayarlayın.
* Değişiklikleri kaydetmek için şifrenizi girmeniz istenebilir.
2. VPN Bağlantısı Oluşturma:
* “Sistem Ayarları” (veya “Sistem Tercihleri”) -> “Ağ” yolunu izleyin.
* Sol alt köşedeki “+” düğmesine tıklayın.
* Arayüz: VPN
* VPN Türü: IKEv2
* Servis Adı: İstediğiniz bir isim (örn: StrongSwan VPN)
* “Oluştur”a tıklayın.
* Sunucu Adresi: VPN sunucunuzun alan adı veya IP adresi.
* Uzak Kimlik: VPN sunucunuzun leftid olarak belirttiğiniz değeri (örn: vpn.example.com).
* Yerel Kimlik: Boş bırakılabilir veya kullanıcı adınız olabilir.
* “Kimlik Doğrulama Ayarları…” düğmesine tıklayın.
* Kimlik Doğrulama: “Kullanıcı Adı”nı seçin (EAP-MSCHAPv2 kullanıyorsanız).
* Kullanıcı adınızı ve parolanızı girin.
* “Uygula” ve ardından “Bağlan” düğmelerine tıklayın.

iOS İstemcisi

1. CA Sertifikasını Yükleme:
* ca.cert.pem dosyasını kendinize e-posta ile gönderin veya güvenli bir web sunucusunda barındırın ve Safari üzerinden erişin.
* Dosyaya dokunduğunuzda bir profil yükleme uyarısı alacaksınız. “İzin Ver”e dokunun.
* Ayarlar uygulamasını açın, “Profil İndirildi” seçeneğine dokunun.
* “Yükle”ye dokunun, şifrenizi girin ve yüklemeyi onaylayın.
* Yükledikten sonra, “Ayarlar” -> “Genel” -> “VPN ve Aygıt Yönetimi” -> “Yapılandırma Profilleri” altında sertifikayı göreceksiniz.
* Ardından, “Ayarlar” -> “Genel” -> “Hakkında” -> “Sertifika Güveni Ayarları” yolunu izleyin ve CA sertifikanız için “Tam Güven”i etkinleştirin.
2. VPN Yapılandırması Oluşturma:
* “Ayarlar” -> “Genel” -> “VPN” -> “VPN Yapılandırması Ekle…” yolunu izleyin.
* Tür: IKEv2
* Açıklama: İstediğiniz bir isim (örn: My IKEv2 VPN)
* Sunucu: VPN sunucunuzun alan adı veya IP adresi.
* Uzak Kimlik: VPN sunucunuzun leftid olarak belirttiğiniz değeri (örn: vpn.example.com).
* Yerel Kimlik: Boş bırakılabilir.
* Kullanıcı Kimlik Doğrulaması: “Kullanıcı Adı”nı seçin.
* Kullanıcı adınızı ve parolanızı girin.
* “Bitti”ye dokunun ve bağlanmayı deneyin.

Android İstemcisi (StrongSwan VPN Client Uygulaması)

Android’in yerleşik IKEv2 desteği sınırlı olduğundan, StrongSwan’ın kendi Android uygulamasını kullanmak en iyi yoldur.

1. Uygulamayı Yükleme: Google Play Store’dan “StrongSwan VPN Client” uygulamasını indirin ve yükleyin.
2. CA Sertifikasını Yükleme:
* ca.cert.pem dosyasını telefonunuzun depolama alanına kopyalayın.
* StrongSwan uygulamasını açın. Sağ üst köşedeki üç noktaya dokunun ve “CA Sertifikalarını Yönet”i seçin.
* Sağ alttaki “+” düğmesine dokunun ve “Sertifika dosyasını içe aktar”ı seçin.
* Telefonunuzdaki ca.cert.pem dosyasını bulun ve seçin.
3. VPN Profili Oluşturma:
* StrongSwan uygulamasının ana ekranında sağ alttaki “+” düğmesine dokunarak yeni bir VPN profili ekleyin.
* Sunucu: VPN sunucunuzun alan adı veya IP adresi.
* VPN Türü: IKEv2 Sertifikaları (veya IKEv2 EAP – kullanıcı adı/şifre için)
* Kimlik Doğrulama: “Kullanıcı adı/parola”yı seçin.
* Kullanıcı adınızı ve parolanızı girin.
* “Gelişmiş ayarları göster” seçeneğine dokunarak “Sunucu Kimliği” alanına sunucunuzun leftid değerini (örn: vpn.example.com) girebilirsiniz.
* “Kaydet”e dokunun.
* Oluşturduğunuz profile dokunarak bağlanın.

Adım 8: Sorun Giderme ve Yaygın Hatalar

VPN kurulumları karmaşık olabilir ve çeşitli sorunlarla karşılaşmak olasıdır. İşte sık karşılaşılan sorunlar ve olası çözümleri:

* Bağlantı Kurulamıyor:
* Güvenlik Duvarı: Sunucunuzdaki UFW kurallarını ve eğer bulut sağlayıcı kullanıyorsanız (AWS, DigitalOcean vb.) onların güvenlik gruplarını/güvenlik duvarlarını kontrol edin. UDP 500, UDP 4500 ve ESP protokolüne izin verildiğinden emin olun.
* IP Yönlendirme: net.ipv4.ip_forward = 1 ayarının /etc/sysctl.conf dosyasında etkin ve sudo sysctl -p ile uygulanmış olduğundan emin olun.
* StrongSwan Yapılandırması: /etc/ipsec.conf ve /etc/ipsec.secrets dosyalarındaki yazım hatalarını kontrol edin. leftid ve leftcert değerlerinin doğru olduğundan, rightsourceip aralığının başka bir ağ ile çakışmadığından emin olun.
* Sertifikalar: Sertifikaların doğru dizinlere kopyalandığından (/etc/ipsec.d/cacerts/, /etc/ipsec.d/certs/, /etc/ipsec.d/private/) ve özel anahtarın izinlerinin (chmod 600) doğru ayarlandığından emin olun. Sunucu sertifikasındaki CN ve SAN değerlerinin istemcinin bağlanmaya çalıştığı alan adı veya IP adresiyle eşleştiğinden emin olun.
* Günlükleri Kontrol Etme: StrongSwan günlüklerini kontrol edin.

sudo journalctl -u strongswan -f

Bu komut, StrongSwan’ın gerçek zamanlı günlüklerini gösterir ve bağlantı girişimleri sırasında oluşan hataları görmenizi sağlar.
* VPN Bağlantısı Kuruluyor ama İnternet Erişimi Yok:
* NAT Kuralı: /etc/ufw/before.rules dosyasındaki NAT kuralının doğru yapılandırıldığından emin olun. Özellikle -o eth0 kısmındaki eth0 değerinin sunucunuzun dışa dönük ağ arayüzü ile eşleştiğinden ve 10.10.10.0/24 aralığının ipsec.conf dosyasındaki rightsourceip ile aynı olduğundan emin olun. UFW’yi sudo ufw reload ile yeniden yüklediniz mi?
* DNS Ayarları: /etc/ipsec.conf dosyasındaki rightdns ayarının geçerli DNS sunucularını içerdiğinden emin olun.
* leftsubnet: leftsubnet=0.0.0.0/0 ayarının doğru olduğundan emin olun. Bu, tüm trafiği VPN üzerinden yönlendirir.
* Performans Sorunları:
* Şifreleme Algoritmaları: /etc/ipsec.conf dosyasındaki ike ve esp algoritmalarını kontrol edin. Çok yüksek bit değerli algoritmalar veya çok fazla algoritma seçeneği, özellikle düşük kaynaklı sunucularda CPU kullanımını artırabilir. Daha dengeli bir set seçmeyi düşünebilirsiniz.
* Sunucu Kaynakları: Sunucunuzun CPU, RAM ve ağ bant genişliği gibi kaynaklarının yeterli olduğundan emin olun.
* İstemci Kimlik Doğrulama Sorunları:
* EAP-MSCHAPv2: /etc/ipsec.secrets dosyasındaki kullanıcı adı ve şifrenin doğru olduğundan emin olun.
* Sertifika Tabanlı Kimlik Doğrulama: İstemci sertifikasının CA tarafından imzalandığından ve istemci cihazına doğru şekilde yüklendiğinden emin olun.

Unutmayın ki her değişiklikten sonra StrongSwan servisini yeniden başlatmanız (sudo systemctl restart strongswan) ve UFW kurallarında bir değişiklik yaptıysanız UFW’yi yeniden yüklemeniz (sudo ufw reload) gerekmektedir.

Sonuç

Bu rehberde, Ubuntu 20.04 işletim sistemi üzerinde StrongSwan kullanarak güvenli bir IKEv2 VPN sunucusunu adım adım nasıl kuracağınızı öğrendiniz. Kendi VPN sunucunuzu kurmak, internet gizliliğinizi ve güvenliğinizi artırmanın güçlü bir yoludur, çünkü verileriniz üzerinde tam kontrol sahibi olursunuz. IKEv2 protokolünün hızı ve kararlılığı ile StrongSwan’ın sağlamlığı birleştiğinde, güvenilir bir VPN çözümü elde etmiş olursunuz.

Kurulum süreci; sunucu güncellemeleri, güvenlik duvarı yapılandırması, PKI oluşturma, StrongSwan ana yapılandırması, NAT kuralları ve son olarak istemci yapılandırmasını içerir. Her adım, VPN’inizin güvenli ve işlevsel olmasını sağlamak için kritik öneme sahiptir.

Güvenliğin sürekli bir süreç olduğunu unutmayın. Sertifikalarınızın geçerlilik sürelerini takip edin ve gerektiğinde yenileyin. Sunucunuzun işletim sistemini ve StrongSwan paketlerini düzenli olarak güncelleyerek olası güvenlik açıklarına karşı korunmuş olun. Ayrıca, güçlü ve benzersiz kullanıcı adları ve şifreler kullanarak veya daha da güvenli olan istemci sertifikaları kullanarak VPN erişiminizi güvence altına alın.

Artık kendi güvenli VPN tüneliniz var. İnternette daha özgür ve güvenli bir şekilde gezinebilirsiniz.

Yorumlar
İçeriği beğendiniz mi? Bir tartışma başlatın veya görüşlerinizi paylaşın.
Yorum Yaz

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

E-posta Bülteni
Yazılım Topluluğuna Katılın
En son güncellemeleri, yaratıcı ipuçlarını ve özel kaynakları doğrudan e-posta kutunuza alın. Tasarım ve inovasyonun geleceğini birlikte keşfedelim.