Derinlemesine
VPN protokolleri nerede bulunur ve ağda nasıl tanınır

İçindekiler
Windows ayarlarında bir VPN bağlantısı eklediğinizde sistem sizden bir tür seçmenizi ister: PPTP, L2TP/IPsec, SSTP veya IKEv2. Bunlar, işletim sisteminizin ek bir yazılım olmadan kendiliğinden bildiği VPN protokolleridir. VPN hizmetlerinin uygulamaları ise genellikle başka protokollerle çalışır. Protokolün sistemde mi yoksa bir uygulamada mı bulunduğu, onu kimin kuracağını, hangi ağlardan geçebileceğini ve nasıl tanınacağını belirler.
Protokol, şifreleme algoritmasıyla aynı şey değil
Şifreleme algoritması, verilerinizi anahtarı olmayan kimsenin işine yaramayacak baytlara dönüştürür. Çoğu zaman bu AES ya da ChaCha20’dir, yani sıradan siteleri HTTPS üzerinden koruyan algoritmaların ta kendisi. Geri kalan her şeyle protokol ilgilenir. Her iki tarafın da kendini nasıl kanıtlayacağına (parola, sertifika ya da anahtarla), oturum için bir anahtar üzerinde nasıl anlaşacaklarına, paketlerin hangi portu kullanacağına ve şifrelenmemiş başlıklarında ne yazacağına protokol karar verir.
Bu yüzden aynı şifreleme algoritmasını kullanan iki protokol ağda çok farklı davranabilir. Fark genellikle algoritmada değil, onu çevreleyen her şeydedir. Şifreli bir isteğin bir siteye nasıl ulaştığını VPN nedir yazımızda anlattık.
Sisteminizde yerleşik protokoller
Yerleşik bir protokol için hiçbir şey kurmanız gerekmez. Sunucu adresini, giriş bilgilerini ve anahtarı doğrudan sistem ayarlarına yazarsınız. Bu yüzden şirketler bu bağlantıları sıkça kullanır ve VPN profilini çalışanlara bir yönetici dağıtır. Her sistem farklı bir protokol setini destekler.
| Sistem | Uygulama olmadan ekleyebilecekleriniz | Bilmekte fayda var |
|---|---|---|
| Windows | PPTP, L2TP/IPsec, SSTP, IKEv2 | Otomatik modda Windows bunları daha güvenli olanlardan başlayarak tek tek dener |
| iPhone, iPad ve Mac | L2TP, IPsec, IKEv2 | Apple, 2016’da iOS 10 ve macOS Sierra ile birlikte PPTP desteğini kaldırdı |
| Android 12 ve sonrası | Yalnızca IKEv2/IPsec türleri | Sistem ayarlarında artık PPTP veya L2TP bağlantısı oluşturulamıyor |
Güçlü parolanın bile kurtaramadığı PPTP
PPTP, 1999’da RFC 2637 olarak yayımlandı ve güvenliği MS-CHAPv2 giriş yöntemine dayanır. 2012’de DEF CON konferansında bu giriş yöntemi kırıldı. Kaydedilmiş bir girişi çözmek için tek bir 56 bitlik DES anahtarını bulmak yeterli, uzun ve karmaşık bir parola hiçbir şeyi değiştirmez. Araştırmacıların tavsiyesi netti: PPTP trafiğini şifrelenmemiş kabul edin. Dört yıl sonra Apple, PPTP’yi sistemlerinden kaldırdı. Windows’ta istemci hâlâ var, ancak Microsoft 2024’te PPTP’yi Windows Server için kullanımdan kaldırılanlar listesine aldı.
L2TP/IPsec ve NAT sorunu
L2TP (RFC 2661, o da 1999’dan) yalnızca tüneli kurar, şifrelemeyi onun için IPsec yapar. Ayarlarda ikisini çift olarak görmenizin nedeni bu (RFC 3193, 2001). Windows bu çiftin iki sürümünü sunar, biri sertifikalı, diğeri önceden paylaşılan anahtarlı. Çiftin en büyük derdi NAT, yani birkaç cihazı tek bir adresin arkasına toplayan yönlendiriciler. Bu durumda IPsec paketlerinin 4500 portunda UDP içine sarılması gerekir. Sunucunun kendisi NAT arkasındaysa Windows varsayılan olarak bağlantıyı kurmaz ve Microsoft’un 926179 numaralı destek makalesi buna izin vermek için kayıt defterinde değişiklik yapmanızı önerir.
Yalnızca Windows’ta olan SSTP
SSTP, Windows Vista SP1 ve Windows Server 2008 ile geldi. PPTP’nin de üzerine kurulduğu veri bağlantısı katmanı protokolü PPP’yi, TCP 443 portunda HTTPS içinde taşır. Ne Apple’ın sistemlerinde ne de Android’de yerleşik bir SSTP istemcisi var. Ayrıca TCP üzerinden çalışan bir tüneldir ve paket kaybı olan bir hatta bu tür tüneller yavaşlar (nedenini aşağıda anlatıyoruz).
Her sistemde bulunan IKEv2
Yerleşik protokoller arasında tablodaki her sistemde bulunan tek protokol IKEv2’dir. RFC 7296’da (2014) tanımlanmıştır. Sunucu kimliğini genellikle bir sertifikayla kanıtlar, siz de bir sertifikayla ya da EAP üzerinden kullanıcı adı ve parolayla giriş yaparsınız. Bağlantı kurulumu UDP 500 portunda başlar ve iki taraf yolda NAT tespit ederse 4500 portuna geçer. MOBIKE uzantısı (RFC 4555), cihazınızın IP adresi değiştiğinde oturumun yeniden giriş yapmadan devam etmesini sağlar. İşin öbür yüzü, IKEv2’nin UDP olmadan hiç çalışmamasıdır.
Uygulama gerektiren protokoller
Geri kalan protokolleri sisteminiz kendiliğinden bilmez. Onları ayrı bir program getirir, örneğin bir OpenVPN istemcisi, bir VPN hizmetinin uygulaması ya da bir yönlendiricinin aygıt yazılımı. Avantajı, yeni bir sistem sürümünü beklemeden o programın her güncellemesiyle değişebilmeleridir.
OpenVPN
OpenVPN, James Yonan’ın geliştirdiği ve ilk kez 2001’de yayımlanan açık kaynaklı bir yazılımdır. Bir sunucuya bağlantı genellikle adresi, portu ve anahtarları içeren tek bir .ovpn dosyasında tanımlanır, siz de bu dosyayı bilgisayar, telefon ya da yönlendiricideki bir istemciye içe aktarırsınız. Anahtar alışverişi TLS üzerinden yapılır, veriler UDP veya TCP üzerinden gider ve standart port 1194’tür. 2022’de USENIX Security’de sunulan bir makalede, bir milyon abonesi olan bir internet sağlayıcısıyla çalışan araştırmacılar OpenVPN akışlarının %85’inden fazlasını neredeyse hiç yanlış pozitif olmadan ayırt etti. Bunun için bir bayt deseni, paket boyutları ve sunucunun yanıtları yetti. Gizlenmiş (obfuscated) diye satılan 41 yapılandırmadan 34’ünü de bu şekilde yakaladılar.
WireGuard
WireGuard, IPsec ve OpenVPN protokollerine daha hızlı ve daha basit bir alternatif olarak tasarlanmış modern bir protokoldür. Anahtar değişiminde Curve25519 kullanılır, veriler ChaCha20 ve Poly1305 ile korunur, paketler yalnızca UDP üzerinden gider. WireGuard, 2020 baharında yayımlanan 5.6 sürümünden beri Linux çekirdeğinin bir parçası. OpenWrt ve KeeneticOS (3.3 ve sonraki sürümler) gibi yönlendirici aygıt yazılımları onu destekler, Windows, macOS, iOS ve Android için de resmi uygulamaları var. Her oturumun ilk mesajı her zaman aynı türde ve aynı boyuttadır, bu yüzden ağda kolayca fark edilir. Rusya’da WireGuard 2023’ten beri engelleniyor. O yılın ağustosunda OpenVPN ile birlikte mobil ağlarda yaklaşık bir gün boyunca bağlanamadı, eylül sonunda ise ikinci bir engelleme dalgası başladı.
Shadowsocks
Shadowsocks, 2012’de SOCKS proxy’nin şifreli bir alternatifi olarak ortaya çıktı (proxy ile VPN arasındaki farkı VPN ve proxy farkı yazısında anlattık). Kurulumu çok basittir, yalnızca bir adres, bir port, bir parola ve bir şifreleme algoritması gerekir. Akışında şifrelenmemiş başlık yoktur ve bu, bir filtre için kamufladan çok ele veren bir işarettir. Sıradan trafik neredeyse her zaman bir miktar okunabilir metin içerir, bu yüzden tamamen rastgele baytlardan oluşan bir akış göze batar. 2023 tarihli bir USENIX Security makalesi, Çin’deki bir filtreleme sisteminin Kasım 2021’den beri bu tür akışları 1 olan bitlerin ve yazdırılabilir karakterlerin oranına bakarak nasıl ayıkladığını anlatıyor. Shadowsocks da bu kurala takıldı.
VLESS + REALITY
VLESS protokolü Ağustos 2020’de V2Ray 4.27.0 ile çıktı. Her kullanıcıyı harf ve rakamlardan oluşan uzun bir dize olan UUID ile tanır. Tipik bir kurulumda kendi şifrelemesi kapalıdır, bu yüzden verileri dıştaki bir TLS katmanı korur. REALITY bu katmanın nasıl görüneceğini belirler. Sunucuda bir X25519 anahtar çifti bulunur, istemci ise genel anahtarı ve shortId adlı kısa bir kimliği bilir. Sunucunun ayarlarında başka birine ait gerçek bir site belirtilir ve TLS el sıkışması o siteye yapılan bir ziyarete benzer. Bir bağlantı anahtar kontrolünden geçemezse sunucu onu o siteye aktarır ve yanıtı site kendisi verir.
XHTTP
XHTTP, Xray projesinin bir veri taşıma yöntemidir ve 2024’te SplitHTTP adıyla biliniyordu. Dışarıdan bir siteyle yapılan sıradan bir alışverişe, yani HTTP istek ve yanıtlarına benzer. HTTP ara cihazlarının çoğu ve birçok CDN bu tür trafiği geçirir. Gönderilen ve alınan veriler farklı yollardan bile gidebilir, örneğin biri bir CDN üzerinden, diğeri doğrudan.
Hysteria2
Hysteria2, QUIC’in kendine özgü bir türevi üzerinden UDP ile çalışır. Dışarıdan, sitelerin yüklendiği protokolün en yeni sürümü olan HTTP/3’e benzer. İstemci, başlığında parola taşıyan tek bir HTTP/3 isteğiyle giriş yapar. Parola yanlışsa sunucunun sıradan bir web sunucusu gibi davranması ya da gerçek bir sitenin yanıtını döndürmesi beklenir, böylece hiçbir şey proxy’yi ele vermez. Geliştiricileri Hysteria2’yi yüksek paket kaybı olan hatlar için tasarladı, ama UDP’nin tamamen engellendiği yerlerde o da IKEv2 gibi geçemez.
Bağlantının önüne ne çıkar
Ağ yalnızca web trafiğine izin veriyor
Oteller, konferans mekânları ve bazı ofisler dışarıya yalnızca TCP 80 ve 443 portlarındaki web trafiğine izin verir. UDP 500 ve 4500 portlarını kullanan IKEv2 ve L2TP/IPsec burada bağlanmaz, standart 1194 portundaki OpenVPN de bağlanmaz. Geçebilenler SSTP, TCP 443’e ayarlanmış OpenVPN ve aynı portu kullanıp HTTPS gibi görünen protokollerdir. Microsoft SSTP’yi tam da bu tür ağlar için geliştirdi.
Protokol deseninden tanınıyor
Ofis ağları için tasarlanmış protokoller sabit portlar kullanır ve oturumlarını tanınabilir bir şekilde açar. Bir sağlayıcının derin paket inceleme (DPI) ekipmanı bu işaretleri anında kontrol eder ve internetin geri kalanına dokunmadan tek bir protokolü kapatabilir. OpenVPN makalesinin gösterdiği gibi bunun için hiçbir şeyin şifresini çözmek gerekmez. Bu yüzden yeni protokoller, tanınmış bir siteye giden HTTPS trafiğine ya da HTTP/3’e benzemeye çalışır. Shadowsocks ise yukarıda gördüğünüz gibi fazla tekdüze rastgeleliği yüzünden yakalanır.
Paket kaybı ve TCP
TCP her paketin yerine ulaşmasını sağlar ve kaybolanları yeniden gönderir. Tünelin kendisi de TCP üzerinden çalıştığında (SSTP ve TCP modundaki OpenVPN gibi), kendi yeniden gönderimleri olan başka TCP bağlantılarını taşır. Kayıplı bir hatta iki katman da aynı verileri bekler ve yeniden gönderir, gecikme de basamak basamak sıçrar. Bu yüzden klasik bir tünel için UDP daha iyidir, TCP ise UDP’nin engellendiği ağlara saklanmalıdır.
Daha yeni protokoller paket değil akış taşır. Cihazınızdaki uygulama programların TCP bağlantılarını kendisi devralır ve tünelden yalnızca içeriklerini gönderir, böylece çifte yeniden gönderim yaşanmaz. Yine de oyunların ve aramaların UDP trafiği, VLESS + REALITY gibi TCP tabanlı bir taşımanın içinde kaybolan bir parçanın yeniden gelmesini beklemek zorundadır. Böyle hatlarda Hysteria2 gibi UDP tabanlı bir taşıma daha akıcı çalışır.
Bebra neyle çalışır
Bebra, VLESS + REALITY, XHTTP, Hysteria2 ve Shadowsocks üzerinden bağlanır. Protokolü ve rotayı uygulama kendisi seçer, bir rota çalışmayı bırakırsa başka birine geçer. Bu yüzden protokolü sizin seçmeniz gerekmez. Ayrıntılar teknolojiler sayfasında.
Keenetic, OpenWrt ve MikroTik yönlendiricileri için doğrudan yönlendiricinin üzerinde çalışan bir Bebra uygulaması var. Yalnızca yerleşik protokolleri destekleyen modeller için sitedeki hesabınızın “Yönlendirici” bölümünde OpenVPN (UDP ve TCP) ve PPTP içeren bir “Diğer yönlendiriciler” sekmesi var. Bu ikisinden yalnızca OpenVPN verilerinizi güvenilir şekilde şifreler.
Tüm 187 ülke her plana dahil. 10 ₽ karşılığındaki deneme süresi, bağlantının kendi ağınızda nasıl davrandığını gösterir. 3 gün tam erişim, ardından aylık 500 ₽. Abonelik otomatik olarak yenilenir.
Sorular ve yanıtlar
Protokol ile şifreleme algoritması aynı şey mi?
Hayır. AES veya ChaCha20 gibi bir şifreleme algoritması verileri anahtar olmadan okunamaz hale getirir. Protokol ise geri kalan her şeyi belirler: iki tarafın birbirini nasıl tanıyacağını, bir anahtar üzerinde nasıl anlaşacaklarını, paketlerin hangi portu kullanacağını ve nasıl görüneceğini. Bu yüzden aynı algoritmayı kullanan protokoller ağda çok farklı davranabilir.
Evde çalışan VPN otelde neden bağlanmıyor?
Misafir ağları çoğu zaman dışarıya yalnızca TCP 80 ve 443 portlarındaki web trafiğine izin verir. UDP 500 ve 4500 portlarındaki IKEv2 ve L2TP/IPsec ile 1194 portundaki OpenVPN orada geçemez. SSTP, TCP 443 üzerinden OpenVPN ve HTTPS gibi görünen protokoller ise genellikle geçer.
Android’de neden PPTP veya L2TP ekleyemiyorum?
Android 12’den itibaren sistem ayarları yalnızca IKEv2/IPsec bağlantıları oluşturmanıza izin verir. OpenVPN ve diğer protokoller için ayrı bir uygulama gerekir.
Uzun bir parola PPTP’yi güvenli hale getirir mi?
Hayır. PPTP’nin zayıf noktası MS-CHAPv2 giriş yönteminin kendisidir. Kaydedilmiş bir giriş, 56 bitlik anahtarların tamamı denenerek kırılabilir ve parolanın gücü bunun ne kadar süreceğini değiştirmez. En iyisi PPTP trafiğini okunabilir kabul etmektir.




