🔒 SSH Port Yönlendirme: Yerel, Uzak ve Dinamik Tüneller Açıklamaları
SSH Port Yönlendirme (veya SSH Tünelleme), cihazların güvensiz ağlar üzerinden bile güvenli şekilde iletişim kurmasını sağlayan bir yöntemdir.
Bu teknikle, ağ trafiğiniz şifrelenmiş bir SSH tüneli üzerinden geçer ve veri gizliliği korunur.
💡 Bu Rehberde Ne Öğreneceksiniz?
- Yerel (-L), Uzak (-R) ve Dinamik (-D) SSH tünel türlerini öğreneceksiniz.
- Her bir tünelin kullanım senaryosu, yapılandırma adımları ve güvenlik püf noktalarını uygulayabileceksiniz.
- Bu yöntemlerle güvenlik duvarlarını aşmayı, trafiği şifrelemeyi ve uzaktaki servislere güvenli erişimi öğreneceksiniz.
🧠 Teknik Özet
| Kategori | Açıklama |
|---|---|
| Ana Teknik Konu | SSH Port Yönlendirme (Tünelleme): Yerel (-L), Uzak (-R) ve Dinamik (-D) türleri |
| Çözülen Problem | Güvenli olmayan ağlarda şifreli veri iletimi ve güvenlik duvarı kısıtlamalarını aşma |
| Özet | Yerel tünel uzak servislere erişim sağlar, uzak tünel yerel hizmetleri paylaşır, dinamik tünel güvenli proxy oluşturur. |
🌐 1. SSH Port Yönlendirme Nedir?
SSH Tünelleme, ağ trafiğini şifreli bir SSH bağlantısından geçirerek güvenli hale getirir.
Bu, özellikle halka açık Wi-Fi gibi güvensiz ortamlarda veri güvenliğini sağlar.
🔑 Üç temel tür:
- Yerel Port Yönlendirme (ssh -L): Yerelden uzak servise trafik gönderir.
- Uzak Port Yönlendirme (ssh -R): Uzak sunucudan yerel servise trafik yönlendirir.
- Dinamik Port Yönlendirme (ssh -D): SOCKS proxy oluşturur ve tüm trafiği tüneller.
🧩 2. Yerel Port Yönlendirme (Local Port Forwarding / ssh -L)
Yerel port yönlendirme, yerel porttaki trafiği uzak bir sunucuya şifreli şekilde iletir.
💼 Kullanım Senaryoları
- Veritabanı Erişimi: Uzak bir PostgreSQL/MySQL veritabanına güvenli bağlantı.
- Güvenlik Duvarı Bypass: Kısıtlanmış servislere erişim.
- Test Ortamı: Uzak uygulamaları lokalde test etmek.
⚙️ Söz Dizimi
ssh -L yerel_port:hedef_host:hedef_port kullanici@ssh_sunucu
Bu komut, yerel porttaki trafiği SSH tüneliyle hedef porta gönderir.
🧠 Örnek
ssh -L 5433:localhost:5432 [email protected]
Yerel 5433 portuna gelen trafik, uzak sunucudaki 5432 portuna şifreli şekilde yönlendirilir. Artık localhost:5433 üzerinden uzak veritabanına erişebilirsiniz.
✅ Sonuç: Yerel port yönlendirme, uzaktaki kaynaklara güvenli erişim sağlar.
🌍 3. Uzak Port Yönlendirme (Remote Port Forwarding / ssh -R)
Uzak port yönlendirme, yerel servislerinizi uzak bir SSH sunucusu üzerinden dış dünyaya açar.
💡 Kullanım Senaryoları Yerel web uygulamasını paylaşmak
NAT/Güvenlik duvarı arkasındaki sistemlere dış erişim sağlamak
⚙️ Söz Dizimi
ssh -R uzak_port:yerel_host:yerel_port kullanici@uzak_sunucu
Bu komut, uzak porttan gelen trafiği yerel porta tüneller.
🧠 Örnek
ssh -R 9090:localhost:8080 [email protected]
uzak-ssh.cloud üzerindeki 9090 portu, yerel 8080 portuna yönlendirilir. Böylece dışarıdaki kullanıcılar web uygulamanıza erişebilir.
⚙️ Sunucu Yapılandırması
sudo nano /etc/ssh/sshd_config
GatewayPorts yes
sudo systemctl restart sshd
Bu ayar, uzak portların dış ağlardan erişilebilir olmasını sağlar.
✅ Sonuç: Uzak port yönlendirme, yerel servisleri güvenli şekilde internetten erişilebilir kılar.
🌀 4. Dinamik Port Yönlendirme (Dynamic Port Forwarding / ssh -D)
Dinamik port yönlendirme, SOCKS proxy oluşturur ve tüm ağ trafiğini SSH tünelinden geçirir.
💼 Kullanım Senaryoları Güvenli Web Tarama: Halka açık Wi-Fi ağlarında tüm trafiği şifrelemek.
Ağ Kısıtlamalarını Aşmak: Engelli sitelere veya kaynaklara erişim.
⚙️ Söz Dizimi
ssh -D yerel_port kullanici@ssh_sunucu
Bu komut, yerel portta SOCKS proxy başlatır.
🧠 Örnek
ssh -D 1080 [email protected]
Tarayıcınızı 127.0.0.1:1080 SOCKS5 proxy olarak ayarlayarak trafiği şifreleyin.
✅ Sonuç: Dinamik yönlendirme, güvenli ve anonim internet erişimi sağlar.
🧰 5. SSH Yapılandırma Dosyasıyla Kolay Kullanım
Sık kullanılan tünelleri .ssh/config dosyasına ekleyebilirsiniz:
Host veritabani-tuneli
HostName uzak-veritabani.cloud
User rabisu-admin
LocalForward 5433 localhost:5432
Artık ssh veritabani-tuneli yazarak tüneli otomatik başlatabilirsiniz.
🔐 6. Güvenlik En İyi Uygulamaları
| Öneri | Açıklama |
|---|---|
| Anahtar Kimlik Doğrulama | Şifre yerine SSH anahtarları kullanın. |
| Erişimi Kısıtlayın | Tünelleme yetkisini belirli kullanıcılarla sınırlayın. |
| Sınırlı Port Açın | Gereksiz port yönlendirmeleri açmayın. |
| Güncellemeleri Uygulayın | SSH istemci ve sunucusunu güncel tutun. |
| Bağlantıları İzleyin | netstat -tulpn komutu ile aktif SSH tünellerini kontrol edin. |
✅ Sonuç: Güvenlik kurallarını doğru uygularsanız, SSH tünelleriniz yüksek seviyede koruma sağlar.
❓ Sıkça Sorulan Sorular (SSS)
1. Aynı anda birden fazla port yönlendirebilir miyim?
Evet. Tek bir SSH bağlantısında birden fazla -L veya -R parametresi kullanılabilir.
ssh -L 80:localhost:8080 -L 3306:localhost:3306 admin@server
2. Port çakışması nedir ve nasıl önlenir?
Aynı port başka bir servis tarafından kullanılıyorsa çakışma olur.
sudo lsof -i :5433
Bu komut, portun kullanımda olup olmadığını gösterir.
3. SSH tünelleme VPN yerine geçer mi?
Kısmen. Dinamik tünelleme (SOCKS proxy), belirli uygulamaların trafiğini şifreler. Ancak tam bir VPN gibi tüm sistem trafiğini yönlendirmez.
🏁 Sonuç
SSH Port Yönlendirme, ağ güvenliğini ve uzaktan erişimi artıran esnek bir çözümdür. Yerel (-L), Uzak (-R) ve Dinamik (-D) tüneller sayesinde:
Güvenli bağlantılar kurabilir,
Verilerinizi şifreleyebilir,
Geliştirme süreçlerinizi daha güvenli hale getirebilirsiniz.
☁️ Rabisu Bulut platformunda SSH tünelleme tekniklerini hemen test edin ve güvenli ağ yönetiminin avantajlarını keşfedin.