SSH tünel ile bağlantı güvenliği (SSH Tunnel)

SSH ile bağlantımızı tünelleyerek, istediğimiz noktalar arasında ağ trafiğini kriptolu geçirebiliriz. Bu yöntem hangi durumlar için kullanılabilir;

sshtunnel

• Güvensiz bir İnternet bağlantısı kullandığımız konumlarda bağlantı güvenliğimizi arttırmak
• Ağ filtrelerine takılmamak (ağ filtrelerini aşmak, varsa “kullanım politikası sözleşmenize” aykırı olabilir)
• NAT arkasından gerçek dünyaya soket açmak (NAT arkasından dışarıya servis vermek)
• İnternet çıkışını farklı ülkelere taşıyarak testler yapmak
• Sistemlere uzaktan erişim için bir zıplama noktası oluşturmak (VPN alternatifi)

SSH Tunnel in 3 farklı tipi bulunuyor, bunlar;

• Yerel port yönlendirme (Local port forwarding)
• Uzak port yönlendirme (Remote port forwarding | Reverse Tunnelling)
• Dinamik port yönlendirme (Dynamic port forwarding)

Yerel port yönlendirme (Local port forwarding):

ssh -L 9001:domain.com:80 sshServerIP

Bağlı bulunduğunuz ağdan domain.com adresine erişiminiz yoksa, bu adrese erişimi olan bir SSH sunucu üzerinden erişim sağlanabilir. Yukarıdaki örnekte sshServerIP sunucusuna kurduğum SSH bağlantısı üzerinden domain.com‘a 80. port üzerinden tünel açtık. Bu komutu çalıştırdıktan sonra tarayıcınıza http://localhost:9001 yazdığınızda domain.com yüklenecektir. https protokolü için de aynı yöntem uygulanabilir. (kötü haber facebook.com gibi dağıtık yapıdaki sistemler bu yöntemle çalışmıyor, onlara erişim için dinamik port yönlendirme kullanılmalı )

Uzak port yönlendirme (Remote port forwarding | Reverse Tunnelling):

ssh -R 9001:localhost:80 sshServerIP

NAT veya firewall arkasından dış dünyaya bulunduğunuz ağdaki veya kendi makinenizden hizmet sağlanabilir. Dış dünyadaki gerçek IP adresine (sunucu) istek gönderenler tünelin ucundaki makine ile konuşabilirler. Yukarıdaki örnekte güvenli ağ arkasındaki makineden sshServerIP sunucusunun 80. portuna ters tünel açtık. Kurulan bu bağlantı ile dış dünyada bulunan sunucumuza tarayıcı ile ulaşanlar, güvenlikli bölgedeki makinemizin üzerinde çalışan web sunucudan hizmet alabilecekler.

Yukarıdaki örneği biraz değiştirerek iş yerinizdeki intranet sayfalarına evden erişim sağlanabilir. VPN erişimi alınamadığı durumlarda zorlukları aşmada kuvvetli bir alternatif olacaktır.

Dinamik port yönlendirme (Dynamic port forwarding):

ssh -D 9001 sshServerIP

En çok işimize yarayacak bağlantı tipi dinamik port yönlendirmedir. Yerel makinede açılan bir soket uzak makine üzerinden tüm hedeflere ulaştırılır. Yerel soket üzerinden SOCKS proxy protokolü kullanılarak bağlantı karşı tarafa ulaştırılır. Özetle uzak makinenin İnternet erişimi kullanılabilir. Yerel makinede tarayıcıya SOCKS proxy ayarlarının girilmesi gerekir. Firefox kendi bağlantı ayarlarını içsel olarak kullandığından bu iş için kolaylık sağlar. Ayrıca tarayıcılar için proxy uzantıları kullanılabilir. Veya yerel makinenin tüm trafiğinin proxy üzerinden geçirilmesi tercih edilebilir.

Firefox ağ ayarlarından SOCKS proxy tanımlandığında DNS sorguları bu proxy üzerinden geçirilmez. DNS sorgularının da tünelden geçmesi için adres satırına “about:config” yazıp, “network.proxy.socks_remote_dns” true olarak ayarlanmalıdır.

ssh komutuna -N parametresi eklenerek uzaktaki sunucuda başka hiçbir komut çalıştırmadan sadece port yönlendirmesi yapılabilir.

Bağlantısını kullanacağımız uzak makine için bir VPS yeterli olacaktır. Avrupa konumlu DigitalOcean planlarını incelemenizi tavsiye ederim.

Linux istemcilerde doğrudan komut satırından SSH komutu (OpenSSH) ile tünelleme kolayca yapılabilir. Windows istemcilerde Putty yukarıda bahsettiğim tüm bağlantı tiplerini kurabilecek yeteneğe sahip.

RDP yazılımlarından içsel olarak SSH tünel özelliğine sahip olanlara örnek; RemminaMobaXterm .

SSH’ın standart portu 22 dir. Bu port ile geçiş yapamıyorsanız, OpenSSH ayar dosyasında küçük bir değişiklikle 80 veya 443 kullanmanız pek çok engeli aşmanıza yardımcı olacaktır. Sıkı firewall cihazlarına karşı (deep packet inspection),  SSH tüneli HTTP tünelinden geçirilebilir.

Bağlantınızı istediğiniz yerden istediğiniz gizlilikte geçirebilme özgürlüğünü muhakkak yaşamalısınız.



Yorumlar

  1. ellerine sağlık hocam güzel yazı olmuş.
    fakat ben şurada takıldım.

    Firefox ağ ayarlarından SOCKS proxy tanımlandığında DNS sorguları bu proxy üzerinden geçirilmez. DNS sorgularının da tünelden geçmesi için adres satırına “about:config” yazıp, “network.proxy.socks_remote_dns” true olarak ayarlanmalıdır.

    Bağlantısını kullanacağımız uzak makine için bir VPS yeterli olacaktır. Avrupa konumlu DigitalOcean planlarını incelemenizi tavsiye ederim.

    keşke video lu anlatımda olsaydı..

Hamdi için bir yanıt yazın Yanıtı iptal et

(gerekli)