VPN kullanmadan SOCKS tüneli kullanarak web trafiğini güvenli bir şekilde nasıl yönlendirirsiniz?

0 Hisse senetleri
0
0
0
0

giriiş

Bir noktada, kendinizi güvenli olmayan veya çok kısıtlayıcı bir güvenlik duvarına sahip bir ağda bulabilirsiniz ve trafiğinizi kimsenin izlemediğinden emin olmak isteyebilirsiniz. Bir çözüm, Ubuntu 22.04 / 20.04 / 18.04'te bir VPN kurmaktır, ancak birçok VPN, makinenizde kurulum izniniz olmayabilecek özel bir istemci yazılımı gerektirir. Ancak, tek yapmanız gereken internette güvenli bir şekilde gezinmekse, hızlı, ücretsiz ve kullanışlı bir alternatif var: SOCKS 5 proxy tüneli.

SOCKS proxy'si, yapılandırılmış uygulamaların trafiğini yönlendirdiği ve ardından sunucu tarafında trafiği genel internete ilettiği şifreli bir SSH tünelidir. Bir VPN'den farklı olarak, bir SOCKS proxy'si istemci cihazında uygulama bazında yapılandırılmalıdır, ancak uygulama SOCKS proxy'sini kullanabildiği sürece, herhangi bir özel istemci yazılımına gerek kalmadan uygulamaları başlatabilirsiniz. Sunucu tarafında ise yapılandırmanız gereken tek şey SSH'dir.

Bu eğitimde, Ubuntu 22.04 çalıştıran bir sunucu (SSH üzerinden erişebileceğiniz herhangi bir Linux dağıtımı çalışacaktır) ve istemci uygulaması olarak Firefox web tarayıcısını kullanacaksınız. Eğitimin sonunda, şifreli bir SSH tüneli aracılığıyla web sitelerine göz atabileceksiniz.

Ön koşullar
  • Kullanıcıya Ubuntu (diğer dağıtımlar da çalışır) çalıştıran bir Linux sunucusu sudo ve SSH erişimi.
  • Firefox web tarayıcısı gibi bir SOCKS proxy ile yapılandırılacak bir program.
  • Windows kullanıcıları için PuTTY aracına veya Linux için Windows Alt Sistemi'ne (WSL) de ihtiyacınız olacak.

PuTTY, Windows kullanıcıları için bir proxy tüneli kurmak amacıyla kullanılır. macOS veya Linux kullanıcıları için tüneli kurmak için önceden yüklenmiş araçlar bulunur.

Adım 1 (macOS/Linux) – Tünelin kurulumu

Yerel bilgisayarınızda, Droplet'inizi henüz oluşturmadıysanız, bir SSH anahtarı oluşturun. Anahtar oluşturulduktan sonra, genel anahtarın SSH Droplet'inizdeki "authorized_keys" dosyasına eklendiğinden emin olun. Ardından, SOCKS proxy'si etkinleştirilmiş bir SSH tüneli oluşturmak için bir terminal uygulaması açın.

Tüneli şu komutla başlatın:

ssh -i ~/.ssh/id_rsa -D 1337 -f -C -q -N sammy@your_domain
İspatın açıklaması
  • -Ben: Ana bilgisayara bağlanmak için SSH anahtar yolu
  • -D: SSH'ye belirtilen port numarasında bir SOCKS tüneli istediğimizi söyler (1025 ile 65536 arasında bir sayı seçebilirsiniz)
  • -F: İşlemi arka plana taşır
  • -C: Verileri göndermeden önce sıkıştırır
  • -Q: Sessiz modu kullanır
  • -N: Tünel kapatıldıktan sonra SSH'ye hiçbir komut gönderilmeyeceğini söyler.

Tünelin çalıştığını şu komutla kontrol edin:

ps aux | grep ssh

Çıktıda şu şekilde bir satır göreceksiniz:

Output
sammy 14345 0.0 0.0 2462228 452 ?? Ss 6:43AM 0:00.00 ssh -i ~/.ssh/id_rsa -D 1337 -f -C -q -N sammy@your_domain

Terminal uygulamanızdan çıkabilirsiniz ve tünel etkin kalacaktır. Bunun nedeni, SSH oturumunu arka plana atan -f argümanını kullanmamızdır.

Adım 1 (Windows) – Tünelin kurulumu

PuTTY'yi açın. Henüz yüklemediyseniz, PuTTY'yi indirin ve istediğiniz bir konuma kaydedin. PuTTY'nin kurulumu için yönetici hakları gerekmez. .exe İndirin ve çalıştırın.

Bir tünel kurmak için şu adımları izleyin:

Oturum bölümünden sunucunuzun ana bilgisayar adını (veya IP adresini) ve SSH portunu (genellikle 22) ekleyin.


Solda şuraya gidin: Bağlantı > SSH > Tüneller

1025 ile 65536 arasında herhangi bir kaynak bağlantı noktası numarası girin, örneğin 1337.


Dinamik Radyo butonunu seçin.

Ekle butonuna tıklayın.

Soldaki Oturuma geri dönün.

Kaydedilen Oturumlar alanına bir isim ekleyin ve Kaydet butonuna tıklayın.

Şimdi bağlantıyı kurmak için Aç butonuna tıklayın.

Kullanıcı adı sudo ve giriş yapmak için sunucu şifrenizi girin

Adım 2 – Firefox'u tüneli kullanacak şekilde yapılandırın

Artık bir SSH tüneliniz olduğuna göre, Firefox'u bu tüneli kullanacak şekilde yapılandırmanın zamanı geldi. Bir SOCKS 5 tünelinin çalışması için tüneli uygulayabilen yerel bir uygulama kullanmanız gerektiğini unutmayın. Firefox'un şu özelliği vardır:

Bu adım Windows, macOS ve Linux için aynıdır.

SSH komutunuzda kullandığınız port numarasının doğru olduğundan emin olun. Örneklerimizde 1337 kullandık.

(Aşağıdaki adımlar Firefox sürüm 80 ile gerçekleştirildi, ancak seçeneklerin konumu değişebilse de diğer sürümlerde de çalışması gerekir.)

Firefox'u açın.
  1. Sağ üst köşedeki hamburger simgesine tıklayarak Firefox menüsüne ulaşabilirsiniz.
  2. Tercihler veya Seçenekler menü öğesine tıklayın.
  3. Aşağı kaydırın ve Ağ Ayarları bölümünde Ayarlar… düğmesini seçin.
  4. "İnternete proxy erişimini yapılandır" başlığı altında Manuel proxy yapılandırması'nı seçin.
  5. SOCKS Host için localhost veya 127.0.0.1 girin ve Port için tünelinizde belirtilen özel portu, 1337'yi kullanın.
  6. Alt tarafa yakın bir yerde "SOCKS v5 kullanırken DNS proxy" kutusunu işaretleyin
  7. Ayarlarınızı kaydedip kapatmak için Tamam butonuna tıklayın.

Şimdi Firefox'ta başka bir sekme açın ve internette gezinmeye başlayın. SSH tüneli üzerinden güvenli bir şekilde gezinmeye hazır olmalısınız. Web sitesinden aldığınız veriler şifrelenir. Ayrıca, Proxy DNS seçeneğini işaretlediğiniz için, DNS aramalarınız da şifrelenir, böylece İnternet Servis Sağlayıcınız ne görüntülediğinizi veya bunları nereden alacağınızı göremez.

Proxy kullandığınızı doğrulamak için Firefox'taki ağ ayarlarına geri dönün, farklı bir bağlantı noktası numarası girin ve ayarları kaydedin. Artık web'de gezinmeye çalıştığınızda şu hata mesajını almalısınız: "Proxy sunucusu bağlantıları reddediyor." Bu, Firefox'un varsayılan bağlantıyı değil, bir proxy kullandığını kanıtlar. Alternatif olarak, ipecho.net gibi genel bir IP adresine gidebilirsiniz; döndürdüğü IP, artık proxy'niz olarak işlev gördüğü için SSH Droplet IP'niz olmalıdır.

Adım 3 – Firefox'ta Proxy'yi Sıfırlayın

SSH tünelinin gizliliğini koruma ihtiyacınız bittiğinde, Firefox'taki Ağ Proxy ayarlarına geri dönün. "Sistem proxy ayarlarını kullan" seçeneğini tıklayın ve Tamam'a tıklayın. Artık Firefox SOCKS tünelini kullanmadığına göre, onu da kapatabiliriz. Firefox'ta proxy'yi etkinleştirip devre dışı bırakmak için tüneli açık bırakabilirsiniz, ancak tüneli çok uzun süre boşta bırakırsanız kendi kendine kapanabilir.

Tüneli kapatın (macOS/Linux)

Yerel makinemizde daha önce oluşturduğumuz tünel arka plana gönderildiğinden, tüneli açmak için kullandığınız terminal penceresini kapatmak tüneli sonlandırmayacaktır. Tüneli sonlandırmak için, ps komutunu kullanarak işlem kimliğini (PID) belirlememiz ve ardından öldürmek İşlemi sonlandıralım.

Makinemizde aktif olan tüm ssh süreçlerini arayalım:

ps aux |grep ssh

Tüneli oluşturmak için daha önce girdiğiniz komuta benzer satırı bulun. İşte örnek çıktı:

Output
sammy 14345 0.0 0.0 2462228 452 ?? Ss 6:43AM 0:00.00 ssh -i ~/.ssh/id_rsa -D 1337 -f -C -q -N sammy@your_domain

Satırın başından itibaren, ilk iki sütundan birinde 3-5 haneli bir sayı bulunur. Bu, PID'dir. Örnekteki 14345'in PID'si burada vurgulanmıştır.

Artık PID'nin ne olduğunu bildiğinize göre, tüneli kapatmak için kill komutunu kullanabilirsiniz. İşlemi sonlandırırken PID'sini kullanın:

kill 14345
Tüneli kapatın (Windows)

Tüneli oluşturmak için kullandığınız PuTTY penceresini kapatın. İşte bu kadar.

Adım 4 (macOS/Linux) – Sık kullanım için bir kısayol oluşturun

macOS veya Linux sistemleri için, tüneli hızlı bir şekilde oluşturmak üzere bir takma ad oluşturabilir veya bir komut dosyası oluşturabiliriz. Tünelleme sürecini otomatikleştirmenin iki yolu vardır:

Bu kısayol yöntemlerinin her ikisi de sunucuya şifresiz/parolasız SSH anahtar kimlik doğrulaması gerektirir.

Tıklanabilir BASH Komut Dosyası

Tıkladığınızda tüneli başlatan bir simge istiyorsanız, bu işi yapacak küçük bir BASH betiği oluşturabiliriz. Betik, tüneli başlatacak ve ardından Firefox'u başlatacaktır; ancak yine de ilk seferde Firefox'ta proxy ayarlarını manuel olarak eklemeniz gerekecektir.

macOS'ta, komut satırından başlatabileceğimiz Firefox ikili dosyası Firefox.app içindedir. Uygulamanın Uygulamalar klasöründe olduğunu varsayarsak, ikili dosya şu konumdadır: /Uygulamalar/Firefox.app/İçerikler/MacOS/firefox Bulundu.

Linux sistemlerinde, Firefox'u bir depoda kurduysanız veya zaten kuruluysa, konumu şu şekilde olmalıdır: /usr/bin/firefox Firefox standart konumda değilse, Firefox'un sisteminizde nerede bulunduğunu bulmak için find firefox komutunu her zaman kullanabilirsiniz.

Bu betikte, Firefox yolunu sisteminiz için uygun olan yolla değiştirin. Ayrıca, daha önce tünel oluşturmak için kullandığınız başarılı komutu yansıtmak için SSH satırını da ayarlamanız gerekebilir.

Bir metin düzenleyici kullanma

Nano ile yeni bir dosya oluşturun:

nano ~/socks.sh

Aşağıdaki satırları ekleyin:

#!/bin/bash -e
ssh -i ~/.ssh/id_rsa -D 1337 -f -C -q -N sammy@`your_domain`
/Applications/Firefox.app/Contents/MacOS/firefox &
  • Port numarasını istediğiniz numara ile değiştirin. 1337 (Firefox'ta ayarladığınızla aynı olmalıdır)
  • SSH kullanıcısını@ana bilgisayar adınız veya IP'nizle değiştirin sammy@alan_adınız Yapmak
  • /Uygulamalar/Firefox.app/İçerikler/MacOS/firefox Sisteminiz için Firefox ikili yolunu kullanarak değiştirin.

Betiğinizi kaydedin. Nano için CONTROL + o tuşlarına basın ve ardından çıkmak için CONTROL + x tuşlarına basın.

Betiği çift tıkladığınızda çalışacak şekilde yürütülebilir hale getirin. Komut satırından, yürütme izinleri eklemek için chmod komutunu kullanın:

chmod +x /path/to/socks.sh

macOS'ta, bir .sh dosyasının bir düzenleyicide değil, bir program olarak çalıştırılması gerektiğini belirtmek için ek bir adım atmanız gerekebilir. Bunu yapmak için socks.sh dosyanıza sağ tıklayın ve "Bilgi Al"ı seçin.

"Birlikte aç:" bölümünü bulun ve açıklama üçgeni aşağıyı göstermiyorsa, açılır menüyü görmek için üzerine tıklayın. Xcode varsayılan uygulama olarak ayarlanmış olabilir.


Terminal.app olarak değiştirin. Terminal.app listede yoksa, "Diğer"i seçin ve ardından Uygulamalar > Yardımcı Programlar > Terminal.app'e gidin (önerilen uygulamalar yerine "Etkin" açılır menüsünü "Tüm Uygulamalar" olarak ayarlamanız gerekebilir).

SOCKS proxy'nizi açmak için dosyaya tıklayın çoraplar.sh Çift tıklayın. Komut dosyası bir terminal penceresi açacak, bir SSH bağlantısı başlatacak ve Firefox'u başlatacaktır. Bu noktada terminal penceresini kapatabilirsiniz. Firefox'taki proxy ayarlarınızı koruduğunuz sürece, güvenli bağlantınız üzerinden gezinmeye başlayabilirsiniz:

Bu betik proxy'yi hızlı bir şekilde durdurmanıza yardımcı olacaktır, ancak yine de ssh işlemini bulmak ve bittiğinde sonlandırmak için yukarıda listelenen manuel adımları izlemeniz gerekecektir.

Komut satırı takma adı

Kendinizi sık sık komut satırında buluyor ve tüneli açmak istiyorsanız, sizin için bu işi yapacak bir komut satırı takma adı oluşturabilirsiniz. Takma ad oluşturmanın en zor kısmı, takma ad komutunun nerede saklanacağını bulmaktır.

Farklı Linux dağıtımları ve macOS sürümleri, takma adları farklı konumlarda depolar. En iyi seçeneğiniz aşağıdaki dosyalardan birini aramaktır. takma ad Diğer takma adların şu anda nerede saklandığını görmek için arama yapın. Özellikler şunlardır:

  • ~/.bashrc
  • ~/.zshrc
  • ~/.bash_alma adları
  • ~/.bash_profile
  • ~/.profil

Doğru dosyayı bulduktan sonra, halihazırda sahip olduğunuz herhangi bir dosyaya veya dosyanın sonuna aşağıdaki takma adı ekleyin. Aşağıdaki örnekte, SOCKS tünelini temsil etmek için "firesox" takma adını kullanıyoruz, ancak takma adınız olarak istediğiniz herhangi bir kelimeyi kullanabilirsiniz:

alias firesox='ssh -i ~/.ssh/id_rsa -D 1337 -f -C -q -N sammy@your_domain && /Applications/Firefox.app/Contents/MacOS/firefox &'
  • 1337'yi istediğiniz port numarasıyla değiştirin (Firefox'a girdiğiniz numarayla eşleşmelidir)
  • sammy@your_domain kısmını SSH kullanıcınızın ana bilgisayar adı veya IP adresiyle değiştirin.
  • /Applications/Firefox.app/Contents/MacOS/firefox'u Firefox ikili dosyasının yoluyla değiştirin.

Takma adınız yalnızca yeni bir kabuk başlattığınızda yüklenecektir, bu nedenle terminal oturumunuzu kapatın ve yeni bir kabuk başlatın. Şimdi şunu yazdığınızda:

firesox

Bu, tünel takma adınızı ayarlayacak, ardından Firefox'u başlatacak ve sizi komut satırına döndürecektir. Firefox'un proxy'yi kullanmaya devam edecek şekilde ayarlandığından emin olun. Artık güvenli bir şekilde gezinebilirsiniz.

Adım 5 (İsteğe bağlı) – Sorun Giderme: Güvenlik Duvarlarını Atlatma

Bağlantınız çalışıyorsa, okumaya devam edebilirsiniz. Ancak, kısıtlayıcı bir güvenlik duvarı nedeniyle SSH bağlantısı kuramıyorsanız, tüneli kurmak için gereken 22 numaralı bağlantı noktasının engellenmiş olması muhtemeldir. SSH proxy sunucu ayarlarını kontrol edebiliyorsanız (bunu DigitalOcean Droplet'inize root erişimiyle yapabilirsiniz), SSH'yi 22 dışındaki bir bağlantı noktasını dinleyecek şekilde yapılandırabilirsiniz.

Engellenmemiş hangi portu kullanabilirsiniz?

Genellikle açık olan portlar arasında 80 (genel web trafiği) ve 443 (TLS, güvenli web trafiği) bulunur.

Eğer SSH sunucunuz web içeriği sunmuyorsa, SSH'ye iletişim için varsayılan 22 portu yerine bu web portlarından birini kullanmasını söyleyebiliriz. 443 en iyi seçimdir çünkü bu portta şifreli trafik olması beklenir. SSH trafiği şifrelenecektir.

Güvenlik duvarı olmayan bir konumdan, proxy için kullandığınız DigitalOcean Droplet'e SSH ile bağlanın veya Digital Ocean kontrol panelindeki yerleşik konsolu kullanın.

SSH sunucu ayarlarını düzenleyin:

sudo nano /etc/ssh/sshd_config

Port 22 satırını arayın.

"22"yi tamamen değiştirebilir veya SSH'nin dinleyeceği ikinci bir port ekleyebiliriz. SSH'nin birden fazla portu dinlemesini tercih ettiğimiz için, 22 portunun altına 443 portunu okuyan yeni bir satır ekliyoruz. İşte bir örnek:

. . .
Port 22
Port 443
. . .

Az önce düzenlediğiniz SSH yapılandırmasını yeniden yüklemek için SSH'yi yeniden başlatın. Dağıtımınıza bağlı olarak, SSH sunucusunun adı farklı olabilir, ancak büyük olasılıkla ssh veya sshd'dir. Biri işe yaramazsa, diğerini deneyin:

sudo service ssh restart

Yeni SSH portunuzun çalıştığını doğrulamak için yeni bir kabuk açın (şimdilik mevcut olanı kapatmayın, yanlışlıkla kendinizi kilitlemiş olmanız ihtimaline karşı) ve yeni portu kullanarak SSH'yi açın:

ssh sammy@your_domain -p 443

Başarılı olduysanız, artık her iki kabuktan da çıkıp yeni portu kullanarak SSH tünelinizi açabilirsiniz:

ssh -i ~/.ssh/id_rsa -D 1337 -f -C -q -N sammy@your_domain -p 443

Firefox ayarları aynı olacak, SSH portuna değil, sadece tünel portuna (yukarıdaki 1337) bağlı olacak.

Sonuç

Günümüzde, potansiyel olarak tehlikeli bir ağda, örneğin bir kafedeki halka açık Wi-Fi ağında güvenli bir şekilde gezinmenin birçok yolu vardır. Çoğu durumda, tüm trafiğinizi güvence altına almak ve korumak için bir VPN kullanabiliyorsanız, onu kullanmak tercih edilir. Ancak bir SOCKS tüneli, bir VPN kullanamadığınız veya güvenemediğiniz zamanlarda internette gezinirken ihtiyacınız olan güvenliği sağlar. Bir SOCKS tüneli hızlı bir şekilde kurulur ve kullanımı kolaydır ve üzerinde tam kontrole sahip olursunuz. Güvenli gezinme için harika bir seçenektir.

Bir yanıt yazın

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

Ayrıca Şunları da Beğenebilirsiniz