Tünel protokolü

Güvenlik kabuğu tüneli

Bir güvenlik kabuğu(SSH) tüneli, SSH protocol bağlantısı boyunca oluşturulmuş bir şifrelenmiş tünel içerir. Kullanıcılar SSH tünelleri, şifrelenmiş kanal boyunca ağ erişimi üzerinde şifrelenmemiş trafik transferini sağlamak için kurabilir. Örneğin;Microsoft Windows makineleri, şifrelenmemiş bir protokol olan Server Message Block(SMB) protokolü üzerinden dosyalar paylaşabilir. Eğer biri internet üzerinden Microsoft Windows dosya-sitemine uzaktan kontrol ile erişebilseydi, bağlantıda gezen herhangi biri transfer edilen dosyaları görebilirdi.
Windows dosya sistemine güvenli şekilde erişim için,tüm SMB trafiğini şifrelenmiş kanal içerisinden uzaktan-kontrol-dosya sunucusuna yönlendirmek için biri SSH tüneli kurabilir. Yine de SMB protokolü hiçbir şifreleme içermez.
SSH tüneli kurmak için, biri belirli bir yerel porttan uzaktan kontrol makinesinin bir portuna doğru ileriye bir SSH client yapılandırması yapar. SSH tünel kurulduğunda, kullanıcı ağ servisine giriş yapmak için belirli bir yerel porta bağlanabilir. Yerel port uzaktan erişim portu gibi aynı port numarasına ihtiyaç duymaz.
Site dışarıya dönük bağlantılara izin verdiği sürece,SSH tünelleri,belirli internet servislerini yasaklayan güvenlik duvarlarını(firewall) atlatmak için kolaylık sağlar. Örneğin;bir organizasyon bir kullanıcının internet sayfasına(port 80) girişini, organizasyonun proxy filtresi içerisinden geçmeden yasaklamak isteyebilir. Ancak kullanıcılar,organizasyonun proxy filtresi tarafından kendi internet trafiğinin görüntülenmesini veya engellenmesini istemeyebilirler.
Eğer kullanıcılar harici bir sunucuya bağlanabilirlerse, kendi yerel makineleri ile verilen porta doğru uzaktaki web sunucusunda olan port 80'e geçiş yapabilmeleri için SSH tüneli oluşturabilirler. Uzaktan web sunucusuna erişim için, kullanıcılar kendi tarayıcılarını http://localhost/'da   yerel porta belirtmelidirler.
SSH client'ların bazıları, kullanıcıların SOCKS 4/5 proxy oluşturmasına izin veren dinamik port iletimini (dynamic port forwarding) desteklemektedirler. Bu durumda kullanıcılar kendi yerel SOCKS proxy sunucularını kullanarak kendi uygulamalarını yapılandırabilirler. Bu durum tek bir porta, belirtilen SSH tüneli oluşturma durumundan daha çok esneklik sağlar. SOCKS, kullanıcının önceden tanımlanmış porta ve sunucuya bağlı bağlantı kısıtlamalarından kurtulmasını sağlar. Eğer bir uygulama SOCKS desteklemiyorsa, yerel SOCKS proxy sunucusuna uygulamanın direkt erişimi için "socksifier" kullanılabilir. Bazı socksifier'ler SSH client ihtiyacını engellemek için SSH'ı direkt olarak destekler.

Güvenlik duvarı önlemine karşı tünelleme

Kullanıcılar tünellemeyi ayrıca güvenlik duvarına sızmak için de kullanabilir. Normalde güvenlik duvarının engel koyacağı protokole, protokol içerisinde "wrapped (paketlenmiş)" kullanımı, güvenlik duvarının engellemesinden kurtarır. HTTP gibi. Eğer güvenlik duvarı poliçesi özellikle "wrapping" tarzı şeyleri harici tutmazsa, bu hile, amaçlanan güvenlik duvarı ilkesinin yasal boşluğundan faydalanmak için fonksiyonel işlem gösterir.
Bir başka HTTP temelli tünelleme metodu, HTTP connect method/command kullanır. Client, HTTP proxy'ye HTTP connect emri yayınlar. Daha sonra proxy belirli sunucu veya porta TCP bağlantısı kurar ve client bağlantısı ile sunucu, port arasındaki veriyi gecikmeye uğratır.
Çünkü bu bir güvenlik çukuru oluşturur. CONNECT-capable HTTP proxy'leri CONNECT metoduna erişim için  kısıtlama meydana getirir. Proxy sadece özel yetkilendirilmiş sunucuların beyaz listesine erişim izni verir.