Web Geliştirme Ekibiniz için VPN Nasıl Kurulur

Yayınlanan: 2021-10-11

Modern İnternet'in ana özelliği, sürekli kullanılabilirliğidir. Ağ üzerinden hızlı bir şekilde erişilebilen verileri yerel olarak depolamaya gerek yoktur. Bu veriler öngörülemeyen bir anda aniden kullanılamaz hale gelirse daha fazla sorun ortaya çıkar. Çoğu geliştirici uzaktan çalışır ve belirli bölümlerden geliyorlarsa kaynaklara sahip olmayabilirler. Bu yazıda, web geliştirme ekibiniz için nasıl VPN kurabileceğinize bakacağız.

Yaygın İnternet Sorunları

Bir İnternet kaynağının erişilemezliği pratikte ne anlama geliyor?

- Bazı kütüphaneler indirilmiyor - projenin geliştirme ortamı gerçekleşmeyecek. Asıl ve en büyük sorun bu!

- Yakınlaştırma, Slack veya Telegram çalışmıyor - iş arkadaşlarınızla iletişim kuramayacaksınız.

- Bazı siteler kullanılamıyor, örneğin GitHub - çalışmanızı yayınlamak imkansız.

Bunların hepsi olası örnekler değildir, ancak takımın üretkenliğini önemli ölçüde azaltabilirler.

Kim Suçlu?

Uygulamada, yukarıda açıklanan kısıtlamalar genellikle İnternet sağlayıcısı tarafından uygulanmaktadır. Ve bunlar için sağlayıcıyı suçlamak mantıklı değil çünkü kısıtlamalar devletlerin idari işlemleriyle getirildi. Sağlayıcı, siyasi mücadeleyle değil, işle meşgul olmalıdır.

Ancak bazen, sağlayıcı bir kötü adam olur. Örneğin, bilinmeyen bir nedenden dolayı belirli TCP portlarındaki trafiği engelleyebilir veya şifrelenmemiş http trafiğini değiştirebilir ve sayfanın html kodunu değiştirebilir, reklam ekleyebilirler. Bu, bazı dolandırıcılardan beklediğiniz şeydir, ancak kesinlikle büyük bir şirketten değil, bu yüzden iki kat tatsız (ilgileniyorsanız, google "başkalarının siteleri üzerinden reklam vermek").

Ne yapalım?

Sorunun ölçeği, şirket düzeyinde çözülmesi gerektiğini ve ekip üyelerinin insafına bırakılmaması gerektiğini açıkça belirttikten sonra, VPN teknolojisini kullanabilirsiniz.

VPN sanal bir özel ağdır. Bu, var olan bir fiziksel bilgisayar ağına dayalı olarak sanal, var olmayan bir fiziksel (bindirme) bilgisayar ağı oluşturmanıza izin veren bir teknolojiler grubunun adıdır.

Bu, gizliliği artırmak için ek fırsatlar sağlar. Fiziksel bir ağda, ilk yaklaşım olarak, trafiğiniz ağ alışverişindeki tüm katılımcılar, tüm yönlendiriciler vb. için kullanılabilir durumdadır. Sanal ağda ek katılımcı yoktur, yalnızca siz ve bağlandığınız nokta vardır. Web geliştirme ekibiniz için bir tane kuruyorsanız, bu bir VPN sunucusudur. İkiniz arasında şifreli bir tünel döşeniyor.

TUN sanal ağ arayüzleri, istemci makine ve sunucu üzerinde oluşturulur. Şifreli veri alışverişi doğrudan bunlar arasında gerçekleşir. Verileriniz ortadaki adam (MITM) saldırılarına karşı etkin bir şekilde korunur. Trafiğinizin geçtiği ekipmana fiziksel erişimi olan hiç kimse bilgilerinizi engelleyemez veya değiştiremez.

Ayrıca, ev ağınızda bulunmayan ancak VPN sunucusunda bulunan kaynaklara erişmenizi sağlar.

VPN teknolojisi ile istemci, sunucunun bir parçası olduğu alt ağın bir parçası olur. Ve bu alt ağın kaynaklarına erişebilir. Bu, kısıtlamaları atlamak ve bir alt ağa uzak ve güvenli bağlantı gerektiren diğer sorunları çözmek için kullanılabilir.

Bir VPN Uygulaması Seçme

Karar vermek, yapmamaktır. Birkaç yaygın ücretsiz VPN teknolojisi uygulaması vardır. Bu Surfshark VPN ücretsiz denemesine bir şans vererek neler elde edebileceğinize dair bir deneyim yaşayabilirsiniz.

Doğru VPN'i aldıktan sonra başka ne seçebilirsiniz?

IPsec, güvenli veri iletimi için bir dizi protokoldür. 90'ların ortalarında ortaya çıktı. Büyük ve esnektir ancak yapılandırılması zor ve düşük seviyelidir. Bazı amaçlar için çok karmaşık.

WireGuard, işe hızlı bir şekilde hazırlanmayı amaçlayan genç bir projedir (2015). Veri aktarımında farklı VPN'lerden potansiyel olarak daha hızlıdır, daha modern şifreleme protokolleri kullanır—platformlar arası, tüm büyük sistemlerde mevcuttur. Dezavantaj, avantajla aynıdır. Hızlı ve kolay bir kurulum sağlamak için, programın özünde birçok düşük seviyeli karar verilir. Örneğin, herkes için etkili olmayabilecek UDP protokolünün kullanımı.

Başlama ve Kullanma Yolunu Seçme

manuel olarak

Bunun en bariz yolu VPS kiralamak, SSH üzerinden bağlanmak ve rehberi takip ederek bir sunucu oluşturmaktır. Bu, manuel olarak taşınması gereken birçok komut ve dosya nedeniyle oldukça uzun bir süreçtir.

Bu yöntem ile her yeni sunucu oluşturduğunuzda tekrar yapmanız gerekecektir. Zaman kazanmak için konfigürasyon yönetim sistemlerini veya konteynerizasyon sistemlerini kullanabilirsiniz.

Konfigürasyon yönetim sistemleri, uzak sunucuların (kukla, ansible vb.) konfigürasyonunu otomatikleştirmenizi sağlayan yazılımlardır. Bu yaklaşımın avantajı, uzak bir VPN sunucusunu birkaç komutla yapılandırabilmenizdir. Ve tüm yapılandırmalar, yapılandırma şablonları, kontrol makinesinde açıkça metin biçiminde yerleştirilir. Kendiniz bir dağıtım komut dosyası oluşturabilir veya örneğin GitHub'da hazır bir komut dosyası alabilirsiniz.

Konteynerleştirme sistemlerinde biraz farklı bir yaklaşım benimsenmiştir. En yaygın bu tür sanal konteynerleştirme sistemi docker'dır. Uzak bir sunucuya VPN ile bir liman işçisi konteyneri kurmak, bir sunucuyu ansible aracılığıyla kurmaktan bile daha hızlı olabilir, bu da bir artıdır. Ancak, mevcut konfigürasyonların listesi görüntü geliştiriciler tarafından sınırlandırılabilir. Görüntüler ikili dosyalardır, bu nedenle bazı egzotik yapılandırmaları düzeltmeniz gerekirse çalışmayabilir.

Sunucu Mimarisi

İlk olarak, daha önce belirtildiği gibi, VPN teknolojisi, örneğin, bu alt ağın parçası olan bir bilgisayar aracılığıyla kapalı bir alt ağa ve aynı zamanda bir VPN sunucusuna bağlanmak için kullanılabilir. Alt ağınızda değerli kaynaklarınız varsa, kimsenin VPN sunucusuna bağlanmasını istemezsiniz. Bunu yapmak için, çoğu VPN genellikle onu ayrı bir makine yapar, herhangi bir ağa bağlı değildir, belki de bir kasada (şaka değil). İmzalama ve imzalanmış sertifika istekleri çıkarılabilir ortama aktarılır.

Sunucu Başlangıcı

Ansible betiğini çalıştırmak için bilgisayarınıza ansible yüklemeniz, Debian/Ubuntu ile bir sanal sunucu kiralamanız ve SSH üzerinden sunucuya erişimi yapılandırmanız gerekir. Sunucu kiralarken bazı servislerin tun arabirimi oluşturmanıza veya paket yönlendirme gerçekleştirmenize izin vermediğini unutmayın. Lütfen satın almadan önce bunu kontrol edin.

Sunucuyla tüm etkileşimler üç komutla gerçekleştirilir:

1. Sunucu ve sertifika yetkilisi oluşturmak için komut dosyasını çalıştırın.

2. Yeni bir kullanıcının kaydı.

3. İstemci adına göre bir sertifikayı iptal edin.

Tıkanıklıkları aşmanın yollarının geliştirilmesi, doğadaki avcılar ve avlar arasındaki ilişkiye birçok yönden benzer. Her yeni hamle için bir karşı hamle vardır. VPN bağlantıları istisna değildir.

VPN kullanırken çeşitli ağ kaynaklarını kullanabilirsiniz. Ancak, tüm veriler VPN sunucusundan tünel üzerinden size gittiğinden, sağlayıcı için sadece bir IP adresi ile veri alışverişi yapıyormuşsunuz gibi görünüyor.