Takip et

Debian 11 Üzerinde OpenVPN Sunucusu Kurulumu: Kapsamlı Bir Rehber

Debian 11 Üzerinde OpenVPN Sunucusu Kurulumu: Kapsamlı Bir Rehber İnternet çağında gizlilik ve güvenlik, bireyler ve işletmeler için hayati

Debian 11 Üzerinde OpenVPN Sunucusu Kurulumu: Kapsamlı Bir Rehber

İnternet çağında gizlilik ve güvenlik, bireyler ve işletmeler için hayati önem taşımaktadır. Her gün karşılaştığımız siber tehditler, veri ihlalleri ve gözetim faaliyetleri, güvenli bir çevrimiçi bağlantıya olan ihtiyacı artırmaktadır. İşte bu noktada Sanal Özel Ağlar (VPN’ler) devreye girer. Bir VPN, internet bağlantınızı şifreleyerek ve IP adresinizi maskeleyerek çevrimiçi aktivitelerinizi güvence altına alır ve gizliliğinizi korur. Piyasada birçok VPN çözümü bulunsa da, açık kaynak kodlu ve son derece esnek yapısıyla OpenVPN, kendi VPN sunucunuzu kurmak isteyenler için popüler ve güçlü bir seçenektir.

Bu makale, Debian 11 (kod adı Bullseye) işletim sistemi üzerinde kendi OpenVPN sunucunuzu adım adım nasıl kuracağınızı detaylı bir şekilde açıklayacaktır. Kendi OpenVPN sunucunuzu kurmak, hem maliyet açısından avantaj sağlayabilir hem de bağlantınız üzerinde tam kontrol sahibi olmanızı mümkün kılar. İster coğrafi kısıtlamaları aşmak, ister halka açık Wi-Fi ağlarında güvenliğinizi sağlamak, isterse de ev ağınıza uzaktan güvenli bir şekilde erişmek isteyin, bu rehber size yol gösterecektir.

OpenVPN Nedir ve Neden Kullanmalısınız?

OpenVPN, Secure Socket Layer (SSL) veya Transport Layer Security (TLS) protokollerini kullanarak güvenli noktadan noktaya veya siteden siteye bağlantılar kurmak için kullanılan açık kaynaklı bir yazılımdır. Çapraz platform desteği sayesinde Windows, macOS, Linux, Android ve iOS gibi birçok işletim sisteminde kullanılabilir.

Kendi OpenVPN sunucunuzu kurmanın başlıca nedenleri şunlardır:

* Gelişmiş Güvenlik: İnternet trafiğinizi güçlü şifreleme algoritmalarıyla (AES-256 gibi) korur, böylece verilerinizin üçüncü şahıslar tarafından izlenmesini veya ele geçirilmesini engeller.
* Gizlilik: Gerçek IP adresinizi gizleyerek çevrimiçi kimliğinizi korur ve internet servis sağlayıcınızın (İSS) veya diğer gözetim organlarının çevrimiçi aktivitelerinizi takip etmesini zorlaştırır.
* Coğrafi Kısıtlamaları Aşma: Sunucunuzun bulunduğu ülkenin IP adresini kullanarak, belirli bölgelere özgü içeriklere veya hizmetlere erişmenizi sağlar.
* Uzaktan Güvenli Erişim: Şirket ağınıza veya ev ağınıza uzaktan güvenli bir şekilde bağlanarak, yerel ağ kaynaklarına erişim imkanı sunar.
* Halka Açık Wi-Fi Güvenliği: Halka açık Wi-Fi ağları genellikle güvensizdir ve verilerinizin kolayca çalınmasına neden olabilir. OpenVPN, bu ağlarda bile bağlantınızı şifreleyerek güvende kalmanızı sağlar.
* Tam Kontrol: Üçüncü taraf bir VPN hizmeti yerine kendi sunucunuzu kurduğunuzda, verilerinizin nasıl işlendiği ve saklandığı konusunda tam kontrole sahip olursunuz.

Ön Gereksinimler

Kuruluma başlamadan önce aşağıdaki ön gereksinimleri karşıladığınızdan emin olun:

* Debian 11 Sunucusu: İnternet erişimi olan, temiz bir Debian 11 işletim sistemi kurulu sanal özel sunucu (VPS) veya fiziksel bir sunucu. Bu sunucunun sabit bir genel IP adresine sahip olması gerekmektedir.
* Root Erişimi veya Sudo Yetkileri: Kurulum için root kullanıcısı olarak oturum açmış olmanız veya sudo yetkilerine sahip bir kullanıcı hesabınızın olması gerekir.
* Temel Linux Komut Bilgisi: Komut satırı arayüzünü (CLI) kullanarak temel Linux komutlarını çalıştırma bilgisi.
* Güvenlik Duvarı Bilgisi: Sunucunuzda kurulu olabilecek güvenlik duvarını (UFW veya iptables) yapılandırma bilgisi.

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

Herhangi bir kuruluma başlamadan önce sistem paket listesini güncellemek ve kurulu paketleri yükseltmek iyi bir uygulamadır. Ayrıca OpenVPN sunucusu için gerekli olan openvpn ve sertifika yetkilisi (CA) oluşturmak için easy-rsa paketlerini kuracağız.

Bir terminal açın ve aşağıdaki komutları çalıştırın:

sudo apt update
sudo apt upgrade -y
sudo apt install openvpn easy-rsa -y

* sudo apt update: Paket listesini günceller.
* sudo apt upgrade -y: Kurulu paketleri yükseltir. -y bayrağı, tüm sorulara otomatik olarak “evet” yanıtı verilmesini sağlar.
* sudo apt install openvpn easy-rsa -y: OpenVPN sunucusunu ve sertifika oluşturma araçlarını kurar.

Adım 2: Kolay CA (Certificate Authority) Oluşturma

OpenVPN, istemci ve sunucu arasındaki iletişimin güvenliğini sağlamak için X.509 sertifikalarını kullanır. Bu sertifikalar, bir Sertifika Yetkilisi (CA) tarafından imzalanır. easy-rsa aracı, bu CA’yı ve OpenVPN için gerekli olan diğer tüm sertifikaları ve anahtarları oluşturmayı kolaylaştırır.

İlk olarak, easy-rsa betiklerini OpenVPN yapılandırma dizinine kopyalayın ve çalışma dizinini değiştirin:

sudo cp -r /usr/share/easy-rsa/ /etc/openvpn/
sudo chown -R root:root /etc/openvpn/easy-rsa
sudo chmod -R 700 /etc/openvpn/easy-rsa
cd /etc/openvpn/easy-rsa

Şimdi PKI (Public Key Infrastructure) ortamını başlatacağız:

./easyrsa init-pki

Bu komut, sertifikaları ve anahtarları depolamak için gerekli dizin yapısını oluşturur.

Ardından, CA’yı oluşturacağız. CA’nın oluşturulması sırasında sizden bir “Common Name” (Ortak Ad) girmeniz istenecektir. Bu genellikle şirket adınız veya sunucunuzun adı olabilir. Örneğin, “MyOpenVPN CA” gibi.

./easyrsa build-ca nopass

* nopass bayrağı, CA anahtarı için bir parola belirlemenizi atlar. Daha fazla güvenlik için bir parola belirleyebilirsiniz, ancak her yeniden başlatmada parolayı girmeniz gerekir.

Şimdi sunucu için bir sertifika isteği ve özel anahtar oluşturacağız. “server” adını kullanacağız. Yine bir parola belirlemek istemiyorsanız nopass kullanın.

./easyrsa gen-req server nopass

Ardından, sunucu sertifika isteğini CA ile imzalayacağız. Bu, sunucunun kimliğini CA tarafından doğrulanmış hale getirir. Onaylamak için yes yazmanız istenecektir.

./easyrsa sign-req server server

Son olarak, Diffie-Hellman (DH) parametrelerini oluşturacağız. Bu parametreler, istemciler ve sunucu arasında güvenli bir anahtar değişimi için kullanılır. Bu işlem biraz zaman alabilir (birkaç dakika sürebilir).

./easyrsa gen-dh

OpenVPN’in TLS kimlik doğrulaması için bir ta.key dosyası da oluşturmamız gerekiyor. Bu anahtar, sunucu ve istemci arasındaki TLS bağlantısını daha da güçlendirir ve DoS saldırılarına karşı koruma sağlar.

openvpn --genkey --secret ta.key

Bu adımda, OpenVPN sunucusu için gerekli tüm sertifika ve anahtar dosyalarını oluşturmuş olduk.

Adım 3: OpenVPN Sunucu Yapılandırması

Oluşturduğumuz sertifikaları ve anahtarları OpenVPN’in kullanacağı dizine kopyalamamız gerekiyor.

sudo cp pki/ca.crt pki/issued/server.crt pki/private/server.key pki/dh.pem /etc/openvpn/
sudo cp ta.key /etc/openvpn/

Şimdi OpenVPN sunucusu için bir yapılandırma dosyası oluşturacağız: /etc/openvpn/server.conf. Bu dosya, sunucunun nasıl çalışacağını tanımlar.

sudo nano /etc/openvpn/server.conf

Aşağıdaki içeriği server.conf dosyasına yapıştırın. Bu, çoğu kullanım durumu için iyi bir başlangıç yapılandırmasıdır. Açıklamalar, her satırın ne işe yaradığını anlamanıza yardımcı olacaktır.

# Sunucunun dinleyeceği port ve protokol
port 1194
proto udp

VPN tünel cihazı türü

dev tun

Sertifika ve anahtar dosyalarının yolları

ca ca.crt cert server.crt key server.key dh dh.pem

TLS kimlik doğrulama anahtarı

tls-auth ta.key 0 # '0' sunucu tarafı için

VPN istemcilerine atanacak IP adresi aralığı

server 10.8.0.0 255.255.255.0

İstemci IP adreslerini kalıcı hale getir

ifconfig-pool-persist ipp.txt

İstemcilere varsayılan ağ geçidi olarak VPN'i kullanmalarını bildir

push "redirect-gateway def1 bypass-dhcp"

İstemcilere DNS sunucusu atama (Google DNS örnek olarak)

push "dhcp-option DNS 8.8.8.8" push "dhcp-option DNS 8.8.4.4"

İsteğe bağlı: Cloudflare DNS

push "dhcp-option DNS 1.1.1.1"

push "dhcp-option DNS 1.0.0.1"

Bağlantıyı canlı tutmak için keepalive ayarları (10 saniyede bir ping, 120 saniye sonra bağlantı kesilir)

keepalive 10 120

Şifreleme algoritmaları

cipher AES-256-GCM # Modern ve güvenli şifreleme auth SHA256 # Kimlik doğrulama algoritması

Veri sıkıştırma (lz4-v2 önerilir, eski istemciler için lzo kullanılabilir)

compress lz4-v2 push "compress lz4-v2"

İstemcilerin kendi aralarında iletişim kurmasına izin ver

client-to-client

Yeniden başlatmalarda anahtarları ve tüneli koru

persist-key persist-tun

Sunucu durumunu log dosyasına yaz

status /var/log/openvpn-status.log

Log detay seviyesi (3 önerilir, daha detaylı log için 4 veya 5)

verb 3

İstemci bağlantısının kesildiğini sunucuya bildir

explicit-exit-notify 1

Log dosyası

log /var/log/openvpn.log log-append /var/log/openvpn.log

OpenVPN'in ayrıcalıksız bir kullanıcı ve grup ile çalışmasını sağlar

user nobody group nogroup

Dosyayı kaydedin ve kapatın (CTRL+O, Enter, CTRL+X).

Önemli Notlar:

* proto udp: Genellikle daha hızlı olduğu için UDP tercih edilir. Ancak bazı ağlar UDP trafiğini engelleyebilir, bu durumda proto tcp kullanabilirsiniz.
* server 10.8.0.0 255.255.255.0: Bu, VPN istemcilerine atanacak IP adres aralığıdır. Çoğu durumda bu varsayılan değer yeterlidir.
* push "redirect-gateway def1 bypass-dhcp": Bu, tüm istemci trafiğinin VPN tüneli üzerinden geçmesini sağlar.
* push "dhcp-option DNS ...": İstemcilerin kullanacağı DNS sunucularını belirtir. Google DNS (8.8.8.8, 8.8.4.4) veya Cloudflare DNS (1.1.1.1, 1.0.0.1) gibi güvenilir ve hızlı DNS sunucuları kullanabilirsiniz.
* cipher AES-256-GCM ve auth SHA256: Bunlar modern ve güçlü şifreleme ve kimlik doğrulama algoritmalarıdır. İstemci yapılandırmanızda da aynılarını kullanmanız gerekecektir.
* compress lz4-v2: Bu, LZ4 sıkıştırmanın ikinci sürümüdür ve genellikle lzo‘dan daha iyi performans sunar. İstemcinizin de LZ4v2’yi desteklediğinden emin olun. Desteklemiyorsa veya sorun yaşıyorsanız compress lzo kullanabilir veya sıkıştırmayı tamamen kapatmak için bu satırları silebilirsiniz.

Adım 4: IP Yönlendirmeyi Etkinleştirme

OpenVPN sunucusu, istemcilerden gelen trafiği internete yönlendirmek (NAT) için IP yönlendirme (IP forwarding) özelliğine ihtiyaç duyar. Bu özelliği etkinleştirmek için /etc/sysctl.conf dosyasını düzenlememiz gerekir.

sudo nano /etc/sysctl.conf

Dosyanın içinde net.ipv4.ip_forward satırını bulun ve yorum satırı # işaretini kaldırarak değerini 1 olarak ayarlayın:

net.ipv4.ip_forward = 1

Dosyayı kaydedin ve kapatın. Değişikliklerin hemen uygulanması için aşağıdaki komutu çalıştırın:

sudo sysctl -p

Adım 5: Güvenlik Duvarını Yapılandırma (UFW veya iptables)

OpenVPN sunucusunun düzgün çalışabilmesi için güvenlik duvarı kurallarını yapılandırmanız gerekir. Bu, OpenVPN trafiğine izin vermeli ve istemcilerin internete erişebilmesi için ağ adresi çevirisi (NAT) yapmalıdır. Debian sistemlerinde genellikle UFW (Uncomplicated Firewall) veya iptables kullanılır. UFW, iptables’ın daha kullanıcı dostu bir arayüzüdür.

UFW Kullanarak Güvenlik Duvarı Yapılandırması (Önerilen)

UFW kurulu değilse kurun:

sudo apt install ufw -y

Ardından, SSH ve OpenVPN trafiğine izin verin:

sudo ufw allow ssh
sudo ufw allow 1194/udp # OpenVPN için belirlediğiniz port ve protokol

Varsayılan iletme politikasını ACCEPT olarak ayarlayın:

sudo nano /etc/default/ufw

DEFAULT_FORWARD_POLICY="DROP" satırını bulun ve DEFAULT_FORWARD_POLICY="ACCEPT" olarak değiştirin.

Şimdi NAT kurallarını eklemek için /etc/ufw/before.rules dosyasını düzenlememiz gerekiyor. Bu dosya, UFW’nin varsayılan kurallarından önce uygulanan kuralları içerir.

sudo nano /etc/ufw/before.rules

Dosyanın en başına, # Don't delete these required lines, otherwise ufw will stop working satırından önce aşağıdaki satırları ekleyin:

# START OPENVPN RULES

NAT table rules

*nat :POSTROUTING ACCEPT [0:0] -A POSTROUTING -s 10.8.0.0/24 -o eth0 -j MASQUERADE COMMIT

END OPENVPN RULES

Önemli: -o eth0 kısmındaki eth0 yerine sunucunuzun genel ağ arayüzünün adını yazmalısınız. Bu genellikle eth0, ens3, enp0s3, vnet0 veya venet0 olabilir. Doğru arayüz adını bulmak için ip a komutunu kullanabilirsiniz. Genellikle genel IP adresinizin atandığı arayüzdür.

Dosyayı kaydedin ve kapatın. Şimdi UFW’yi etkinleştirin ve durumunu kontrol edin:

sudo ufw enable
sudo ufw status verbose

UFW’yi etkinleştirdiğinizde SSH bağlantınızın kesilmesi ihtimaline karşı dikkatli olun. Eğer bağlantı kesilirse, sunucunuzun konsoluna erişiminiz olduğundan emin olun.

iptables Kullanarak Güvenlik Duvarı Yapılandırması (UFW kullanılmıyorsa)

Eğer UFW kullanmıyorsanız, iptables kurallarını doğrudan ayarlamanız gerekir.

# OpenVPN portuna gelen UDP trafiğine izin ver
sudo iptables -A INPUT -i eth0 -p udp --dport 1194 -j ACCEPT

VPN tüneli üzerinden yönlendirilen trafiğe izin ver

sudo iptables -A FORWARD -m state --state RELATED,ESTABLISHED -j ACCEPT sudo iptables -A FORWARD -s 10.8.0.0/24 -j ACCEPT

NAT (Masquerade) kuralı

sudo iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o eth0 -j MASQUERADE

Yine: -i eth0 ve -o eth0 kısımlarını sunucunuzun genel ağ arayüzü ile değiştirmelisiniz.

Bu iptables kuralları, sunucu yeniden başlatıldığında kaybolacaktır. Kalıcı hale getirmek için netfilter-persistent paketini kullanabilirsiniz:

sudo apt install netfilter-persistent -y
sudo netfilter-persistent save

Adım 6: OpenVPN Sunucusunu Başlatma ve Etkinleştirme

Tüm yapılandırmalar tamamlandıktan sonra OpenVPN sunucusunu başlatabilir ve sistem başlangıcında otomatik olarak başlaması için etkinleştirebiliriz.

sudo systemctl start openvpn@server
sudo systemctl enable openvpn@server

Sunucunun durumunu kontrol ederek herhangi bir hata olup olmadığını görebilirsiniz:

sudo systemctl status openvpn@server

Durum “active (running)” olarak görünüyorsa, OpenVPN sunucunuz başarıyla çalışıyor demektir. Herhangi bir hata varsa, log dosyalarını kontrol edin:

sudo journalctl -u openvpn@server -f

veya

sudo tail -f /var/log/openvpn.log

Adım 7: İstemci Yapılandırması Oluşturma

İstemcilerin OpenVPN sunucusuna bağlanabilmesi için kendi sertifikalarına, anahtarlarına ve bir yapılandırma dosyasına (.ovpn uzantılı) ihtiyaçları vardır. Her istemci için ayrı bir sertifika/anahtar çifti oluşturmak, güvenlik açısından en iyi uygulamadır.

İlk olarak, istemci yapılandırma dosyalarını depolamak için bir dizin oluşturalım:

mkdir -p ~/client-configs/files
chmod 700 ~/client-configs

Şimdi easy-rsa dizinine geri dönelim:

cd /etc/openvpn/easy-rsa

Bir istemci için sertifika isteği ve özel anahtar oluşturalım. Örnek olarak client1 adını kullanacağız:

./easyrsa gen-req client1 nopass

Ardından, istemci sertifikasını CA ile imzalayın. Onaylamak için yes yazın.

./easyrsa sign-req client client1

Şimdi gerekli tüm dosyaları oluşturduğumuz istemci yapılandırma dizinine kopyalayalım:

sudo cp pki/ca.crt ~/client-configs/files/
sudo cp pki/issued/client1.crt ~/client-configs/files/
sudo cp pki/private/client1.key ~/client-configs/files/
sudo cp /etc/openvpn/ta.key ~/client-configs/files/

Şimdi istemci için temel bir .ovpn yapılandırma dosyası oluşturalım. Bu dosyayı ~/client-configs/base.conf olarak kaydedeceğiz:

nano ~/client-configs/base.conf

Aşağıdaki içeriği dosyaya yapıştırın:

client
dev tun
proto udp # Sunucunuzda kullandığınız protokolle eşleşmeli
remote YOUR_SERVER_IP 1194 # Sunucunuzun genel IP adresi ve portu
resolv-retry infinite
nobind
persist-key
persist-tun
remote-cert-tls server
auth SHA256 # Sunucunuzda kullandığınız kimlik doğrulama algoritması
cipher AES-256-GCM # Sunucunuzda kullandığınız şifreleme algoritması
verb 3
compress lz4-v2 # Sunucunuzda kullandığınız sıkıştırma algoritması

Önemli: YOUR_SERVER_IP yerine OpenVPN sunucunuzun genel IP adresini veya alan adını yazmalısınız.

Dosyayı kaydedin ve kapatın.

Son olarak, bu temel yapılandırma dosyasını ve oluşturduğumuz sertifika/anahtar dosyalarını tek bir .ovpn dosyası halinde birleştireceğiz. Bu tek dosya, istemcinin bağlantı kurması için yeterli olacaktır.

cd ~/client-configs/files
sudo bash -c 'cat base.conf \
    <(echo -e "") \
    ca.crt \
    <(echo -e "\n") \
    client1.crt \
    <(echo -e "\n") \
    client1.key \
    <(echo -e "\n") \
    ta.key \
    <(echo -e "") \
    > client1.ovpn'

Bu komut, base.conf dosyasının içeriğini, ardından ca.crt, client1.crt, client1.key ve ta.key dosyalarının içeriğini uygun OpenVPN etiketleriyle birleştirerek client1.ovpn adlı tek bir dosya oluşturur.

Şimdi client1.ovpn dosyası ~/client-configs/files/ dizininde hazır.

Adım 8: İstemci Yapılandırma Dosyasını İndirme ve Bağlanma

Oluşturduğunuz client1.ovpn dosyasını yerel bilgisayarınıza veya mobil cihazınıza indirmeniz gerekmektedir. Bunu yapmak için scp (Secure Copy Protocol) veya sftp gibi güvenli bir dosya transfer aracı kullanabilirsiniz.

Örnek olarak SCP kullanımı (yerel makinenizden):

scp user@your_server_ip:~/client-configs/files/client1.ovpn /path/to/local/directory/

* user: Sunucunuzdaki kullanıcı adınız.
* your_server_ip: OpenVPN sunucunuzun genel IP adresi.
* /path/to/local/directory/: .ovpn dosyasını kaydetmek istediğiniz yerel dizin.

Dosyayı indirdikten sonra, OpenVPN istemcisini kurmanız ve .ovpn dosyasını içe aktarmanız gerekir:

* Windows: OpenVPN GUI istemcisini indirin ve kurun. .ovpn dosyasını C:\Program Files\OpenVPN\config dizinine kopyalayın ve istemciyi başlatın.
* macOS: Tunnelblick veya OpenVPN Connect uygulamasını kullanın. .ovpn dosyasını içe aktarın.
* Linux: openvpn paketini kurun ve komut satırından sudo openvpn --config client1.ovpn komutunu kullanarak bağlanın veya NetworkManager entegrasyonunu kullanın.
* Android/iOS: OpenVPN Connect uygulamasını uygulama mağazasından indirin ve .ovpn dosyasını uygulama aracılığıyla içe aktarın (genellikle e-posta, bulut depolama veya doğrudan dosya paylaşımı ile).

Bağlandıktan sonra, IP adresinizi kontrol etmek için bir web sitesini (örneğin, “what is my ip” diye arama yaparak) ziyaret edebilir ve OpenVPN sunucunuzun IP adresini gördüğünüzden emin olabilirsiniz. Bu, bağlantınızın başarılı olduğunu gösterir.

Ek İstemciler Ekleme

Yeni bir istemci eklemek isterseniz, Adım 7’deki istemci sertifikası oluşturma ve .ovpn dosyasını birleştirme adımlarını tekrarlamanız yeterlidir. Her yeni istemci için benzersiz bir ad (örneğin, client2, client3) kullandığınızdan emin olun.

Örneğin, client2 için:

cd /etc/openvpn/easy-rsa
./easyrsa gen-req client2 nopass
./easyrsa sign-req client client2

sudo cp pki/issued/client2.crt ~/client-configs/files/
sudo cp pki/private/client2.key ~/client-configs/files/

cd ~/client-configs/files
sudo bash -c 'cat base.conf \
    <(echo -e "") \
    ca.crt \
    <(echo -e "\n") \
    client2.crt \
    <(echo -e "\n") \
    client2.key \
    <(echo -e "\n") \
    ta.key \
    <(echo -e "") \
    > client2.ovpn'

Ardından client2.ovpn dosyasını indirin ve kullanın.

İstemci Sertifikasını İptal Etme (Revoke)

Bir istemcinin VPN erişimini iptal etmek isterseniz (örneğin, bir cihaz kayboldu veya bir kullanıcının erişimi sonlandırıldı), sertifikasını iptal edebilirsiniz.

cd /etc/openvpn/easy-rsa
./easyrsa revoke client1

Onaylamak için yes yazın. Ardından, sertifika iptal listesini (CRL) yeniden oluşturmanız gerekir:

./easyrsa gen-crl

Yeni crl.pem dosyasını OpenVPN yapılandırma dizinine kopyalayın:

sudo cp pki/crl.pem /etc/openvpn/

Ve server.conf dosyasına aşağıdaki satırı ekleyerek sunucunun CRL’yi kullanmasını sağlayın:

sudo nano /etc/openvpn/server.conf

Dosyanın herhangi bir yerine (genellikle tls-auth satırının altına) ekleyin:

crl-verify crl.pem

Dosyayı kaydedin ve kapatın. Son olarak, OpenVPN sunucusunu yeniden başlatın ki yeni CRL’yi yüklesin:

sudo systemctl restart openvpn@server

Artık client1 sertifikasıyla bağlantı kurmaya çalışan herhangi bir istemciye erişim reddedilecektir.

Sorun Giderme ve İpuçları

OpenVPN kurulumu sırasında veya sonrasında karşılaşabileceğiniz bazı yaygın sorunlar ve çözümleri:

* Bağlantı Kurulamıyor:
* Güvenlik Duvarı: Sunucunuzdaki güvenlik duvarının (UFW/iptables) OpenVPN portunu (varsayılan 1194/udp) engellemediğinden emin olun. NAT kurallarının doğru yapılandırıldığını kontrol edin.
* IP Yönlendirme: net.ipv4.ip_forward = 1 ayarının etkin olduğundan ve sudo sysctl -p ile uygulandığından emin olun.
* Loglar: OpenVPN sunucu loglarını kontrol edin (journalctl -u openvpn@server -f veya tail -f /var/log/openvpn.log). Hata mesajları sorunun kaynağını gösterebilir.
* İstemci Yapılandırması: client.ovpn dosyasındaki remote YOUR_SERVER_IP kısmının doğru sunucu IP adresini içerdiğinden ve proto, cipher, auth, compress ayarlarının sunucu yapılandırmasıyla eşleştiğinden emin olun.
* Protokol: Bazen UDP trafiği ağda engellenebilir. Sunucu ve istemci yapılandırmalarında proto udp yerine proto tcp denemeyi düşünebilirsiniz.
* Sertifika ve Anahtarlar: Sertifika ve anahtar dosyalarının doğru yerlerde olduğundan ve izinlerinin doğru ayarlandığından emin olun.

* Bağlanıyor ama İnternet Erişimi Yok:
* NAT Kuralı: Güvenlik duvarınızdaki NAT (MASQUERADE) kuralının doğru arayüz ve IP aralığı ile yapılandırıldığından emin olun (-o eth0 kısmını kontrol edin).
* DNS: İstemciye doğru DNS sunucularının (push "dhcp-option DNS ...") iletildiğinden emin olun. Bağlantı kurduktan sonra istemcinizde DNS çözümlemesi yapıp yapmadığını kontrol edin.
* redirect-gateway: push "redirect-gateway def1 bypass-dhcp" satırının server.conf dosyasında olduğundan emin olun.

* Performans Sorunları:
* Şifreleme: cipher ve auth algoritmalarını çok yüksek ayarlamak (örneğin, AES-256-GCM yerine daha eski, daha az güvenli ama daha az kaynak tüketen bir algoritma kullanmak) performansı artırabilir, ancak güvenlikten ödün verir. Genellikle modern CPU’lar AES-256-GCM’yi donanımsal olarak hızlandırabilir.
* Sıkıştırma: compress lz4-v2 veya compress lzo kullanmak bant genişliğini düşürebilir ancak CPU yükünü artırabilir. Eğer CPU kısıtlıysa veya zaten hızlı bir bağlantınız varsa sıkıştırmayı kapatmayı deneyebilirsiniz.

* Güvenlik İpuçları:
* Güncel Tutun: OpenVPN yazılımını ve işletim sisteminizi düzenli olarak güncelleyin.
* Güçlü Şifreler: Sertifika ve anahtarlarınızı oluştururken nopass kullanmak yerine parola kullanmayı düşünebilirsiniz (ancak bu, sunucu yeniden başlatıldığında manuel müdahale gerektirecektir).
* Her İstemciye Ayrı Sertifika: Her istemci için ayrı bir sertifika/anahtar çifti oluşturmak, bir istemci anahtarının ele geçirilmesi durumunda diğerlerinin etkilenmemesini sağlar.
* duplicate-cn Kullanmayın: server.conf içinde duplicate-cn seçeneğini kullanmaktan kaçının. Bu, aynı sertifikayı birden fazla istemcinin kullanmasına izin verir ve güvenlik riskleri taşır.

Sonuç

Debian 11 üzerinde kendi OpenVPN sunucunuzu kurmak, başlangıçta karmaşık görünebilir, ancak bu adım adım rehberle süreci başarıyla tamamlamış olmalısınız. Artık kendi güvenli VPN bağlantınıza sahipsiniz ve internet trafiğinizi şifreleyerek gizliliğinizi ve güvenliğinizi artırabilirsiniz.

Kendi VPN sunucunuz, üçüncü taraf VPN sağlayıcılarına olan bağımlılığınızı ortadan kaldırır ve verileriniz üzerinde tam kontrol sahibi olmanızı sağlar. Bu, özellikle hassas verilerle çalışan veya çevrimiçi gizliliğine önem veren kullanıcılar için büyük bir avantajdır. Unutmayın, siber güvenlik sürekli bir süreçtir; sunucunuzu ve OpenVPN yazılımınızı düzenli olarak güncel tutmak, güvenliğinizi korumanın anahtarıdır. Güvenli internet deneyimleriniz olsun!

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.