Takip et

Ubuntu 16.04 Üzerinde OpenVPN Sunucusu Kurulumu

Ubuntu 16.04 Üzerinde OpenVPN Sunucusu Kurulumu Giriş Günümüz dijital dünyasında internet güvenliği ve gizliliği her zamankinden daha krit

Ubuntu 16.04 Üzerinde OpenVPN Sunucusu Kurulumu

Giriş

Günümüz dijital dünyasında internet güvenliği ve gizliliği her zamankinden daha kritik bir öneme sahiptir. Verilerimizin korunması, çevrimiçi etkinliklerimizin gizli kalması ve coğrafi kısıtlamaları aşarak içeriğe erişim gibi ihtiyaçlar, Sanal Özel Ağ (VPN) teknolojilerini vazgeçilmez kılmaktadır. OpenVPN, açık kaynak kodlu ve oldukça güvenli bir VPN çözümüdür. Geniş bir platform desteği sunması, esnek yapılandırma seçenekleri ve güçlü şifreleme algoritmaları sayesinde hem bireysel kullanıcılar hem de işletmeler için popüler bir tercihtir.

Bu kapsamlı teknik makale, Ubuntu 16.04 işletim sistemi yüklü bir sunucu üzerinde adım adım OpenVPN sunucusunun nasıl kurulacağını, yapılandırılacağını ve güvenli bir şekilde nasıl çalıştırılacağını detaylı bir şekilde açıklayacaktır. Ubuntu 16.04, uzun süreli destek (LTS) sürümü olmasına rağmen, bu makalenin yazıldığı tarihte resmi desteği sona ermiştir. Bu durum, güvenlik güncellemeleri almadığı anlamına gelir ve üretim ortamlarında kullanılması önerilmez. Ancak, bu rehber, OpenVPN’in temel kurulum prensiplerini ve eski sistemler üzerindeki yapılandırma adımlarını anlamak isteyenler için değerli bir kaynak olacaktır. Modern sistemlerde (Ubuntu 20.04 veya 22.04 gibi) kurulum adımları benzer olsa da, bazı paket ve komut farklılıkları olabilir. Bu makale, özellikle Ubuntu 16.04 odaklıdır.

OpenVPN sunucusu kurarak, kendi güvenli tünelinizi oluşturabilir, internet trafiğinizi şifreleyebilir, herkese açık Wi-Fi ağlarında güvende kalabilir ve ağınıza uzaktan güvenli bir şekilde erişebilirsiniz. Bu rehber, başlangıç seviyesinden ileri seviyeye kadar tüm adımları kapsayacak ve OpenVPN’in sunduğu potansiyeli tam olarak kullanmanıza yardımcı olacaktır.

Ön Gereksinimler

OpenVPN sunucusu kurulumuna başlamadan önce aşağıdaki ön gereksinimlerin karşılandığından emin olmanız önemlidir:

* Ubuntu 16.04 Sunucusu: Temiz bir Ubuntu 16.04 kurulumu önerilir. Bu, potansiyel çakışmaları ve sorunları en aza indirecektir.
* Sudo Yetkileri: Kurulum ve yapılandırma işlemleri için sudo yetkilerine sahip bir kullanıcı hesabına ihtiyacınız olacaktır.
* Temel Linux Komut Satırı Bilgisi: Temel Linux komutları (dizin değiştirme, dosya düzenleme, paket yükleme vb.) hakkında bilgi sahibi olmak faydalıdır.
* Sabit (Statik) IP Adresi: OpenVPN sunucunuzun sabit bir genel IP adresine sahip olması gereklidir. Dinamik IP adresleri de kullanılabilir ancak DNS hizmetleri (örneğin, DynDNS) ile entegrasyon gerektirir.
* Güvenlik Duvarı (Firewall) Bilgisi: UFW (Uncomplicated Firewall) veya iptables gibi bir güvenlik duvarı yapılandırması hakkında temel bilgiye sahip olmak, OpenVPN trafiğine izin vermek için gereklidir.
* SSH Erişimi: Sunucunuza SSH üzerinden erişebilmeniz gerekmektedir.

Adım 1: Sistemi Güncelleme

Herhangi bir yazılım kurulumuna başlamadan önce, sisteminizin güncel olduğundan emin olmak en iyi uygulamadır. Bu, potansiyel bağımlılık sorunlarını önler ve en son güvenlik yamalarını uygulamanızı sağlar.

Sunucunuza SSH ile bağlanın ve aşağıdaki komutları çalıştırın:

sudo apt update
sudo apt upgrade -y

sudo apt update komutu, paket listelerini güncellerken, sudo apt upgrade -y komutu ise mevcut paketleri onay gerektirmeden yükseltir.

Adım 2: OpenVPN ve Easy-RSA Kurulumu

OpenVPN sunucusunu kurmak için gerekli olan ana paket openvpn paketidir. Ayrıca, OpenVPN’in güvenli bir şekilde çalışması için gerekli olan sertifika yetkilisi (CA), sunucu sertifikası, istemci sertifikaları ve anahtarları oluşturmak için Easy-RSA adı verilen bir komut dosyası koleksiyonuna ihtiyacımız var. Ubuntu 16.04’te Easy-RSA genellikle OpenVPN paketiyle birlikte gelir veya ayrı olarak yüklenebilir.

Aşağıdaki komutla OpenVPN ve Easy-RSA’yı yükleyin:

sudo apt install openvpn easy-rsa -y

Bu komut, OpenVPN sunucusunu ve sertifika yönetimi için Easy-RSA araçlarını sisteminize kuracaktır.

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

OpenVPN, güvenli iletişimi sağlamak için bir PKI kullanır. Bu altyapı, sertifika yetkilisi (CA), sunucu sertifikaları ve anahtarları ile istemci sertifikalarını içerir. Easy-RSA, bu sertifikaları ve anahtarları kolayca oluşturmak için kullanılan bir araç setidir. Ubuntu 16.04’te Easy-RSA’nın 2.x sürümü yaygındır.

Öncelikle, Easy-RSA dosyalarını güvenli bir yere kopyalayarak kendi PKI yönetim dizinimizi oluşturacağız. Ev dizininizde openvpn-ca adında bir dizin oluşturalım ve Easy-RSA dosyalarını buraya kopyalayalım:

mkdir ~/openvpn-ca
cp -r /usr/share/easy-rsa/* ~/openvpn-ca/
cd ~/openvpn-ca

Şimdi, Easy-RSA’nın yapılandırma dosyası olan vars dosyasını düzenleyeceğiz. Bu dosya, sertifikalarınız için varsayılan değerleri içerir.

nano vars

Aşağıdaki satırları bulun ve kendi bilgilerinize göre düzenleyin. Özellikle KEY_COUNTRY, KEY_PROVINCE, KEY_CITY, KEY_ORG, KEY_EMAIL ve KEY_OU değerlerini doldurun. KEY_NAME genellikle sertifika yetkilisinin adıdır ve benzersiz olmalıdır.

export KEY_COUNTRY="TR"
export KEY_PROVINCE="Ankara"
export KEY_CITY="Ankara"
export KEY_ORG="OpenVPNOrg"
export KEY_EMAIL="admin@example.com"
export KEY_OU="IT"
export KEY_NAME="server" # Bu değer CA'nın CN'si için kullanılır, ancak genellikle build-ca komutu CN'yi doğrudan set eder.

Değişiklikleri kaydettikten sonra (Ctrl+O, Enter, Ctrl+X), vars dosyasını kaynak olarak kullanarak ortam değişkenlerini yükleyin:

source vars

Ardından, PKI dizinini temizleyerek önceki anahtarları ve sertifikaları silin. Bu, her zaman yeni bir başlangıç yapmanızı sağlar.

./clean-all

Şimdi, Sertifika Yetkilisi (CA) anahtarını ve sertifikasını oluşturun. Bu, tüm OpenVPN bağlantıları için güven kökü olacaktır.

./build-ca

Bu komut sizden CA’nın Ortak Adı (Common Name) için onay isteyecektir. Varsayılan değeri (genellikle server) kabul etmek için Enter tuşuna basın. Bir parola isteyebilir, bu parolayı güvenli bir yerde saklayın.

Adım 4: Sunucu Sertifikası ve Anahtarı Oluşturma

CA sertifikasını oluşturduktan sonra, OpenVPN sunucunuz için bir sertifika ve özel anahtar oluşturmanız gerekir. Bu sertifika, istemcilerin sunucunun kimliğini doğrulamasına olanak tanır.

./build-key-server server

Bu komut sizden bazı bilgiler isteyecektir. Common Name için varsayılan server değerini kabul edin ve diğer soruları (ülke, şehir vb.) Enter tuşuna basarak geçebilirsiniz, çünkü bunlar vars dosyasında zaten tanımlanmıştır. Bir “challenge password” ve “optional company name” isteyecektir; bunları boş bırakmak için Enter tuşuna basabilirsiniz. Son olarak, sertifikayı imzalamak ve onaylamak için y tuşuna basın.

Şimdi oluşturulan sertifika ve anahtar dosyalarını OpenVPN yapılandırma dizinine kopyalayın:

sudo cp keys/ca.crt /etc/openvpn/
sudo cp keys/server.crt /etc/openvpn/
sudo cp keys/server.key /etc/openvpn/

Adım 5: Diffie-Hellman Parametrelerini Oluşturma

Diffie-Hellman (DH) parametreleri, OpenVPN’in istemcilerle güvenli anahtar değişimi yapmasını sağlar. Bu işlem biraz zaman alabilir (birkaç dakikadan on beş dakikaya kadar, sunucunuzun işlem gücüne bağlı olarak).

./build-dh

Bu komut keys/dh2048.pem dosyasını oluşturacaktır. Bu dosyayı OpenVPN yapılandırma dizinine kopyalayın:

sudo cp keys/dh2048.pem /etc/openvpn/

Adım 6: HMAC Tarafından İmzalanmış Anahtar Oluşturma (tls-auth)

tls-auth anahtarı, OpenVPN bağlantısına ek bir güvenlik katmanı ekler. Bu anahtar, TLS el sıkışmasından önce OpenVPN kontrol paketlerini doğrulamak için kullanılır ve DoS saldırılarını ve UDP port taramalarını önlemeye yardımcı olur.

openvpn --genkey --secret /etc/openvpn/ta.key

Bu komut, ta.key dosyasını doğrudan /etc/openvpn/ dizinine oluşturacaktır.

Adım 7: OpenVPN Sunucu Yapılandırma Dosyası Oluşturma

Tüm sertifikalar ve anahtarlar hazır olduğunda, OpenVPN sunucusunu yapılandırmamız gerekir. Örnek bir yapılandırma dosyası /usr/share/doc/openvpn/examples/sample-config-files/server.conf.gz konumunda bulunur. Bu dosyayı kopyalayıp düzenleyerek kendi yapılandırmamızı oluşturacağız.

Önce örnek dosyayı açalım ve kopyalayalım:

gunzip -c /usr/share/doc/openvpn/examples/sample-config-files/server.conf.gz > ~/openvpn-ca/server.conf
sudo mv ~/openvpn-ca/server.conf /etc/openvpn/

Şimdi /etc/openvpn/server.conf dosyasını düzenleyin:

sudo nano /etc/openvpn/server.conf

Aşağıdaki satırları bulun ve açıklamalara göre düzenleyin veya ekleyin. Yorum satırlarını (# ile başlayanlar) kaldırın ve gerekli değişiklikleri yapın:

port 1194
proto udp
dev tun

ca ca.crt
cert server.crt
key server.key
dh dh2048.pem # Daha önce oluşturduğumuz dh2048.pem dosyasını kullanıyoruz.

server 10.8.0.0 255.255.255.0 # VPN istemcilerine atanacak IP aralığı
ifconfig-pool-persist ipp.txt # İstemci IP atamalarını kaydeder

push "redirect-gateway def1 bypass-dhcp" # Tüm trafiği VPN üzerinden yönlendir
push "dhcp-option DNS 8.8.8.8" # İstemcilere Google DNS'i atar
push "dhcp-option DNS 8.8.4.4" # İkinci bir Google DNS

client-to-client # İstemcilerin birbirleriyle iletişim kurmasına izin verir (isteğe bağlı)

keepalive 10 120 # Bağlantının canlı kalmasını sağlar

tls-auth ta.key 0 # Bu satırı ekleyin, 0 sunucu tarafını belirtir
cipher AES-256-CBC # Şifreleme algoritması (Ubuntu 16.04 için yaygın)
auth SHA256 # Kimlik doğrulama algoritması

user nobody
group nogroup # Ubuntu 16.04 için genellikle nogroup kullanılır

persist-key
persist-tun

status openvpn-status.log # Bağlantı durumunu kaydeder
verb 3 # Loglama seviyesi
explicit-exit-notify 1 # İstemcinin bağlantıyı düzgün bir şekilde kapatmasına yardımcı olur

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

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

OpenVPN sunucunuzun internete bağlı istemcilerden gelen trafiği yönlendirebilmesi için IP yönlendirmeyi etkinleştirmeniz gerekir.

/etc/sysctl.conf dosyasını düzenleyin:

sudo nano /etc/sysctl.conf

Dosyada aşağıdaki satırı bulun ve başındaki # işaretini kaldırarak yorumdan çıkarın:

net.ipv4.ip_forward=1

Değişiklikleri kaydedin ve kapatın. Ardından, yeni ayarı hemen uygulamak için aşağıdaki komutu çalıştırın:

sudo sysctl -p

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

Güvenlik duvarı (UFW), sunucunuzu yetkisiz erişimden korumak için kritik öneme sahiptir. OpenVPN trafiğine izin vermek ve ağ adresi çevirisi (NAT) kurallarını ayarlamak için UFW’yi yapılandırmamız gerekiyor.

Öncelikle UFW’nin kurulu olduğundan emin olun, değilse kurun:

sudo apt install ufw -y

SSH bağlantınızın kesilmemesi için SSH portuna (varsayılan 22) izin verin:

sudo ufw allow ssh

OpenVPN portuna (varsayılan 1194 UDP) izin verin:

sudo ufw allow 1194/udp

Şimdi, UFW’nin varsayılan iletme politikasını ACCEPT olarak ayarlamamız gerekiyor. Bu, VPN tüneli üzerinden gelen trafiğin internete yönlendirilmesine izin verir.

sudo nano /etc/default/ufw

Aşağıdaki satırı bulun ve değerini ACCEPT olarak değiştirin:

DEFAULT_FORWARD_POLICY="ACCEPT"

Değişiklikleri kaydedin ve kapatın.

Son olarak, NAT kurallarını /etc/ufw/before.rules dosyasına eklememiz gerekiyor. Bu kurallar, VPN istemcilerinden gelen trafiği sunucunuzun genel IP adresi üzerinden internete yönlendirecektir.

sudo nano /etc/ufw/before.rules

Dosyanın en başına, ilk satırdan hemen sonra aşağıdaki satırları ekleyin:

# START OPENVPN RULES

Allow TUN interface connections to OpenVPN server

-A ufw-before-input -i tun+ -j ACCEPT -A ufw-before-output -o tun+ -j ACCEPT

Allow TAP interface connections to OpenVPN server

-A ufw-before-input -i tap+ -j ACCEPT -A ufw-before-output -o tap+ -j ACCEPT

Allow OpenVPN to access the internet

-A ufw-before-forward -i tun+ -j ACCEPT -A ufw-before-forward -o tun+ -j ACCEPT

Allow access to OpenVPN server

-A ufw-before-input -p udp --dport 1194 -j ACCEPT *nat :POSTROUTING ACCEPT [0:0] -A POSTROUTING -s 10.8.0.0/24 -o eth0 -j MASQUERADE COMMIT

END OPENVPN RULES

Önemli: -A POSTROUTING -s 10.8.0.0/24 -o eth0 -j MASQUERADE satırındaki eth0 değerini sunucunuzun genel ağ arayüzü ile değiştirmeniz gerekebilir. Bu genellikle eth0, ens3, enp0s3 veya venet0 gibi bir isimdir. Doğru arayüz adını bulmak için ip a komutunu kullanabilirsiniz. Genellikle inet ile başlayan ve genel IP adresinizi gösteren arayüzdür.

Değişiklikleri kaydedin ve kapatın. Şimdi UFW’yi etkinleştirin ve değişiklikleri uygulayın:

sudo ufw disable
sudo ufw enable

Onay için y tuşuna basın. Güvenlik duvarı durumunu kontrol edin:

sudo ufw status

OpenVPN portunun ve SSH portunun izin verildiğini görmelisiniz.

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

Tüm yapılandırma adımları 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 düzgün çalışıp çalışmadığını doğrulayın:

sudo systemctl status openvpn@server

Durum active (running) olarak görünüyorsa, OpenVPN sunucunuz başarıyla çalışıyor demektir. Herhangi bir hata durumunda, logları kontrol etmek için sudo journalctl -u openvpn@server veya sudo tail -f /var/log/syslog komutlarını kullanabilirsiniz.

İstemci Yapılandırması

OpenVPN sunucusu kurulduktan sonra, istemcilerin bu sunucuya bağlanabilmesi için sertifikalar ve yapılandırma dosyaları oluşturmamız gerekir. Her istemci için ayrı bir sertifika oluşturmak en iyi güvenlik uygulamasıdır.

Adım 1: İstemci Sertifikası ve Anahtarı Oluşturma

Öncelikle Easy-RSA dizinine geri dönün:

cd ~/openvpn-ca
source vars

Şimdi, client1 adında bir istemci için sertifika ve anahtar oluşturun. Her yeni istemci için farklı bir isim kullanmalısınız (örn. client2, laptop, phone).

./build-key client1

Yine, Common Name için varsayılan client1 değerini kabul edin ve diğer soruları Enter tuşuna basarak geçin. Sertifikayı imzalamak ve onaylamak için y tuşuna basın.

Adım 2: İstemci Yapılandırma Dosyası Oluşturma

İstemciye dağıtılacak tek bir .ovpn dosyası oluşturmak en pratik yöntemdir. Bu dosya, tüm gerekli sertifikaları ve yapılandırma ayarlarını içerecektir.

Öncelikle istemci yapılandırma dosyalarını depolamak için bir dizin oluşturalım:

mkdir -p ~/client-configs/files

Şimdi temel bir istemci yapılandırma dosyası oluşturalım:

nano ~/client-configs/base.conf

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

client
dev tun
proto udp
remote YOUR_SERVER_IP 1194 # BURAYI SUNUCUNUZUN GENEL IP ADRESİ VEYA ALAN ADI İLE DEĞİŞTİRİN
resolv-retry infinite
nobind
persist-key
persist-tun
remote-cert-tls server
cipher AES-256-CBC
auth SHA256
key-direction 1 # İstemci tarafında tls-auth anahtar yönü 1 olmalıdır
verb 3
comp-lzo # İsteğe bağlı: veri sıkıştırmayı etkinleştirir
float # İsteğe bağlı: istemcinin IP adresi değişirse bağlantıyı yeniden kurmaya çalışır

YOUR_SERVER_IP yerine OpenVPN sunucunuzun genel IP adresini veya alan adını yazmayı unutmayın. Dosyayı kaydedin ve kapatın.

Adım 3: İstemci Yapılandırma Dosyalarını Bir Araya Getirme

Şimdi, CA sertifikasını, istemci sertifikasını, istemci anahtarını ve tls-auth anahtarını base.conf dosyasıyla birleştirerek tam bir .ovpn dosyası oluşturan bir komut dosyası yazacağız.

nano ~/client-configs/make_config.sh

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

#!/bin/bash

İlk argüman: İstemci Adı (örn. client1)

KEY_DIR=~/openvpn-ca/keys OUTPUT_DIR=~/client-configs/files BASE_CONFIG=~/client-configs/base.conf cat ${BASE_CONFIG} \ <(echo -e '') \ ${KEY_DIR}/ca.crt \ <(echo -e '\n') \ ${KEY_DIR}/${1}.crt \ <(echo -e '\n') \ ${KEY_DIR}/${1}.key \ <(echo -e '\n') \ /etc/openvpn/ta.key \ <(echo -e '') \ > ${OUTPUT_DIR}/${1}.ovpn

Dosyayı kaydedin ve kapatın. Ardından, bu komut dosyasını çalıştırılabilir hale getirin:

chmod +x ~/client-configs/make_config.sh

Şimdi, client1 için .ovpn dosyasını oluşturmak için komut dosyasını çalıştırın:

~/client-configs/make_config.sh client1

Bu komut, ~/client-configs/files/client1.ovpn dosyasını oluşturacaktır.

Adım 4: İstemci Yapılandırma Dosyasını İndirme

Oluşturduğunuz .ovpn dosyasını OpenVPN istemcinizi kuracağınız yerel bilgisayarınıza veya mobil cihazınıza indirmeniz gerekmektedir. Bunu yapmak için scp veya sftp gibi güvenli dosya transfer protokollerini kullanabilirsiniz.

Örneğin, yerel makinenizden scp kullanarak indirme:

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

your_username, your_server_ip ve /path/to/local/directory/ değerlerini kendi bilgilerinizle değiştirin.

Test Etme

İstemci yapılandırma dosyasını indirdikten sonra, OpenVPN istemcisini (Windows, macOS, Linux, Android, iOS için mevcuttur) kurun ve .ovpn dosyasını içe aktarın. Bağlantıyı başlatın.

Bağlandıktan sonra, IP adresinizi kontrol edin. Yeni IP adresinizin OpenVPN sunucunuzun IP adresine yakın (10.8.0.0/24 ağından bir IP) ve genel IP adresinizin sunucunuzun genel IP adresi olması gerekir. İnternet erişiminizin sorunsuz çalıştığından emin olun.

İstemci Ekleme/İptal Etme

Yeni İstemci Ekleme

Yeni bir istemci eklemek için, sadece Adım 1’deki istemci sertifikası oluşturma ve Adım 3’teki .ovpn dosyasını oluşturma adımlarını yeni bir istemci adıyla tekrarlamanız yeterlidir:

cd ~/openvpn-ca
source vars
./build-key newclientname # 'newclientname' yerine istediğiniz istemci adını kullanın
~/client-configs/make_config.sh newclientname

Ardından, oluşturulan newclientname.ovpn dosyasını yeni istemcinize aktarın.

İstemci İptal Etme (Revoke)

Bir istemcinin VPN erişimini iptal etmek için, istemci sertifikasını iptal etmeniz ve sunucuya bir Sertifika İptal Listesi (CRL) sağlamanız gerekir.

cd ~/openvpn-ca
source vars
./revoke-full client1 # İptal etmek istediğiniz istemcinin adını kullanın

Bu komut, client1 sertifikasını iptal edecek ve yeni bir CRL oluşturacaktır. Şimdi bu CRL dosyasını OpenVPN yapılandırma dizinine kopyalayın:

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

Ardından, OpenVPN sunucusuna CRL dosyasını kullanmasını söylemek için /etc/openvpn/server.conf dosyasını düzenleyin:

sudo nano /etc/openvpn/server.conf

Dosyaya herhangi bir yere aşağıdaki satırı 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ına sahip istemciler OpenVPN sunucunuza bağlanamayacaktır.

Sorun Giderme

OpenVPN kurulumu sırasında veya sonrasında sorunlarla karşılaşabilirsiniz. İşte bazı yaygın sorunlar ve çözüm önerileri:

* Bağlantı Kurulamıyor:
* Güvenlik Duvarı: Sunucunuzdaki güvenlik duvarının (UFW) 1194/UDP portuna ve NAT kurallarına doğru şekilde izin verdiğinden emin olun. sudo ufw status ile kontrol edin.
* IP Yönlendirme: IP yönlendirmenin etkin olduğundan emin olun (net.ipv4.ip_forward=1 ve sudo sysctl -p).
* Sunucu Logları: OpenVPN sunucu loglarını kontrol edin: sudo journalctl -u openvpn@server veya sudo tail -f /var/log/syslog. Hata mesajları size yol gösterecektir.
* İstemci Yapılandırması: .ovpn dosyasındaki sunucu IP adresinin veya alan adının doğru olduğundan emin olun.
* Sertifikalar/Anahtarlar: Sertifika ve anahtar dosyalarının (ca.crt, server.crt, server.key, dh2048.pem, ta.key) /etc/openvpn/ dizininde doğru isimlerle bulunduğundan ve erişilebilir olduğundan emin olun.
* Bağlanıyor ama İnternet Erişimi Yok:
* NAT Kuralları: /etc/ufw/before.rules dosyasındaki NAT kuralının doğru arayüz (eth0 yerine ens3 gibi) ve doğru VPN ağı (10.8.0.0/24) ile yapılandırıldığından emin olun.
* redirect-gateway: server.conf dosyasında push "redirect-gateway def1 bypass-dhcp" satırının yorum satırı olmadığından emin olun.
* DNS Ayarları: server.conf dosyasındaki push "dhcp-option DNS ..." satırlarının doğru DNS sunucularını gösterdiğinden emin olun.
* Yavaş Bağlantı Hızı:
* Şifreleme Algoritması: Daha güçlü şifrelemeler (örn. AES-256-CBC) daha fazla işlem gücü gerektirebilir. Sunucunuzun donanımına göre cipher ayarını düşünebilirsiniz.
* comp-lzo: İstemci ve sunucu yapılandırmalarında comp-lzo ayarının tutarlı olduğundan emin olun.
* Sunucu Yükü: Sunucunuzun CPU veya ağ bant genişliği kullanımını kontrol edin.

Güvenlik Hususları

OpenVPN sunucunuzu kurarken ve yönetirken dikkate almanız gereken bazı önemli güvenlik hususları vardır:

* Ubuntu 16.04 Desteği: Bu makale Ubuntu 16.04 için yazılmış olsa da, bu sürümün resmi desteği sona ermiştir. Bu, güvenlik güncellemeleri almadığı anlamına gelir ve bilinen güvenlik açıklarına karşı savunmasız kalabilir. Üretim ortamlarında Ubuntu’nun desteklenen bir LTS sürümünü (örn. Ubuntu 20.04 veya 22.04) kullanmanız şiddetle tavsiye edilir. Bu rehber sadece eğitimsel veya eski sistemleri ele almak amaçlıdır.
* Güncel Tutma: Sunucunuzdaki tüm yazılımları, özellikle OpenVPN’i ve işletim sistemini düzenli olarak güncel tutun (ancak 16.04 için artık resmi güncelleme almayacaktır).
* Güçlü Parolalar: CA anahtarınızı ve diğer önemli anahtarlarınızı oluştururken güçlü parolalar kullanın.
* Sertifika Yönetimi: Kullanılmayan veya güvenliği ihlal edilmiş istemci sertifikalarını derhal iptal edin. CRL’nizi düzenli olarak güncelleyin.
* SSH Güvenliği: Sunucunuzun SSH erişimini güvence altına alın. Parola yerine anahtar tabanlı kimlik doğrulama kullanın, varsayılan SSH portunu değiştirin ve root ile doğrudan oturum açmayı devre dışı bırakın.
* Minimum Yetki Prensibi: OpenVPN servisini nobody ve nogroup gibi düşük yetkili bir kullanıcı ve grup altında çalıştırın.
* Log İzleme: OpenVPN sunucunuzun loglarını düzenli olarak izleyin. Anormal etkinlikler veya bağlantı denemeleri hakkında bilgi sağlayabilirler.
* Fiziksel Güvenlik: Sunucunuzun fiziksel güvenliğini sağlayın.

Sonuç

Bu kapsamlı rehberde, Ubuntu 16.04 işletim sistemi üzerinde adım adım kendi OpenVPN sunucunuzu nasıl kuracağınızı, yapılandıracağınızı ve yöneteceğinizi öğrendiniz. Kendi VPN sunucunuza sahip olmak, çevrimiçi gizliliğinizi ve güvenliğinizi artırmanın, internet trafiğinizi şifrelemenin ve coğrafi kısıtlamaları aşmanın güçlü bir yoludur.

Sertifika yetkilisi oluşturmaktan, sunucu ve istemci sertifikalarını yönetmeye, güvenlik duvarı kurallarını ayarlamaya ve istemci yapılandırma dosyalarını oluşturmaya kadar her adımı detaylı bir şekilde ele aldık. Ayrıca, OpenVPN’in güvenli ve verimli bir şekilde çalışmasını sağlamak için önemli güvenlik hususlarına ve sorun giderme ipuçlarına da değindik.

Unutmayın ki Ubuntu 16.04’ün destek süresi dolmuştur ve güvenlik açısından güncel bir işletim sistemi kullanmak her zaman en iyi uygulamadır. Ancak, bu rehber OpenVPN’in temel prensiplerini anlamak ve eski sistemlerdeki kurulum süreçlerini öğrenmek için değerli bir kaynak sunmaktadır. Kendi OpenVPN sunucunuzla, dijital dünyada daha güvenli ve özgür bir deneyimin tadını çıkarabilirsiniz.

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.