Anasayfa » nasıl » Kısıtlı Sunuculara Erişmek ve Güvenli Bir Şekilde Gezinmek İçin SSH Tünelini Kullanma

    Kısıtlı Sunuculara Erişmek ve Güvenli Bir Şekilde Gezinmek İçin SSH Tünelini Kullanma

    Bir SSH istemcisi, Terminal komutlarını başka bir bilgisayarın önünde oturuyormuş gibi çalıştırmanıza izin veren Secure Shell sunucusuna bağlanır. Ancak bir SSH istemcisi ayrıca yerel sisteminiz ve uzak SSH sunucusu arasındaki bir bağlantı noktasını "tünellemenizi" sağlar.

    Üç farklı SSH tüneli türü vardır ve hepsi farklı amaçlar için kullanılır. Her biri trafiği bir ağ bağlantı noktasından diğerine yönlendirmek için bir SSH sunucusu kullanmayı içerir. Trafik şifreli SSH bağlantısı üzerinden gönderilir, bu nedenle aktarım sırasında izlenemez veya değiştirilemez.

    Bunu ile yapabilirsiniz sSH Linux, macOS ve diğer UNIX benzeri işletim sistemlerinde bulunur. Dahili bir ssh komutu içermeyen Windows'ta, PuHTY'nin SSH sunucularına bağlanmasını tavsiye ederiz. SSH tünellemeyi de destekler.

    Yerel Port Yönlendirme: Yerel Sisteminizde Uzaktan Kaynakları Erişilebilir Yapın

    “Yerel bağlantı noktası iletme”, Internet’e maruz kalmayan yerel ağ kaynaklarına erişmenizi sağlar. Örneğin, ofisinizdeki bir veritabanı sunucusuna evinizden erişmek istediğinizi varsayalım. Güvenlik nedeniyle, bu veritabanı sunucusu yalnızca yerel ofis ağından gelen bağlantıları kabul edecek şekilde yapılandırılmıştır. Ancak ofisteki bir SSH sunucusuna erişiminiz varsa ve bu SSH sunucusu ofis ağının dışından bağlantılara izin veriyorsa, bu SSH sunucusuna evden bağlanabilir ve veritabanı sunucusuna ofisteymiş gibi erişebilirsiniz. Bu genellikle bir durumdur, çünkü tek bir SSH sunucusunu saldırılara karşı korumak, çeşitli ağ kaynaklarını korumaktan daha kolaydır..

    Bunu yapmak için, SSH sunucusuyla bir SSH bağlantısı kurar ve istemciye, yerel PC'nizden belirli bir bağlantı noktasından (örneğin, 1234 bağlantı noktası) trafiği veritabanının sunucusunun adresine ve ofis ağındaki bağlantı noktasına iletmesini söylersiniz. Bu nedenle, bağlantı noktası 1234'teki veri tabanı sunucusuna mevcut PC'niz, “localhost” olan erişiminiz olduğunda, bu trafik SSH bağlantısı üzerinden otomatik olarak “tünellenir” ve veri tabanı sunucusuna gönderilir. SSH sunucusu ortada oturur ve trafiği ileri geri iletir. Herhangi bir komut satırını veya grafik aracını, yerel bilgisayarınızda çalışıyormuş gibi veritabanı sunucusuna erişmek için kullanabilirsiniz..

    Yerel yönlendirmeyi kullanmak için, SSH sunucusuna normal şekilde bağlanın, ancak -L argüman. Sözdizimi:

    ssh -L local_port: remote_adresi: remote_port [email protected]

    Örneğin, ofisinizdeki veritabanı sunucusunun ofis ağındaki 192.168.1.111 adresinde bulunduğunu varsayalım. Ofisin SSH sunucusuna erişebilirsiniz. ssh.youroffice.com , ve SSH sunucusundaki kullanıcı hesabınız şilin . Bu durumda, emriniz şöyle görünür:

    ssh -L 8888: 192.168.1.111: 1234 [email protected]

    Bu komutu çalıştırdıktan sonra, 8888 numaralı bağlantı noktasından localhost'taki veritabanı sunucusuna erişebileceksiniz. Dolayısıyla, veritabanı sunucusu web erişimi sağladıysa, erişmek için http: // localhost: 8888'i web tarayıcınıza takabilirsiniz. Bir veritabanının ağ adresini gerektiren bir komut satırı aracınız olsaydı, bunu localhost: 8888'e işaret ederdiniz. Bilgisayarınızdaki 8888 numaralı bağlantı noktasına gönderilen tüm trafik, ofis ağınızda 192.168.1.111:1234’e tünellenecek.

    SSH sunucusuyla aynı sistemde çalışan bir sunucu uygulamasına bağlanmak istiyorsanız biraz daha kafa karıştırıcı olabilir. Örneğin, ofis bilgisayarınızda 22 numaralı bağlantı noktasında çalışan bir SSH sunucunuz olduğunu, ancak aynı adresteki aynı sistemdeki 1234 numaralı bağlantı noktasında çalışan bir veritabanı sunucunuzun olduğunu varsayalım. Evden veritabanı sunucusuna erişmek istiyorsunuz, ancak sistem yalnızca 22 numaralı bağlantı noktasındaki SSH bağlantılarını kabul ediyor ve güvenlik duvarı başka herhangi bir dış bağlantıya izin vermiyor.

    Bu durumda, aşağıdakine benzer bir komut çalıştırabilirsiniz:

    ssh -L 8888: yerel ana bilgisayar: 1234 [email protected]

    Geçerli PC'nizdeki 8888 portundaki veritabanı sunucusuna erişmeye çalıştığınızda, trafik SSH bağlantısı üzerinden gönderilecektir. SSH sunucusunu çalıştıran sisteme ulaştığında, SSH sunucusu onu SSH sunucusunu çalıştıran aynı bilgisayar olan “localhost” üzerindeki 1234 numaralı bağlantı noktasına gönderir. Dolayısıyla yukarıdaki komuttaki “localhost” uzak sunucunun bakış açısından “localhost” anlamına gelir..

    Bunu Windows'taki PuTTY uygulamasında yapmak için Bağlantı> SSH> Tüneller'i seçin. “Yerel” seçeneğini seçin. “Kaynak Bağlantı Noktası” için yerel bağlantı noktasını girin. “Hedef” için, varış yeri adresini ve portunu remote_adresi formunda girin: remote_port.

    Örneğin, yukarıdakiyle aynı SSH tünelini kurmak istiyorsanız, giriş 8888 kaynak bağlantı noktası olarak ve localhost: 1234 hedef olarak. Daha sonra “Ekle” ye tıklayınız ve SSH bağlantısını açmak için “Aç” a tıklayınız. Ayrıca, bağlanmadan önce, ana “Oturum” ekranına SSH sunucusunun adresini ve bağlantı noktasını girmeniz gerekecektir..

    Uzak Bağlantı Noktası Yönlendirme: Yerel Kaynakları Uzak bir Sistem üzerinde Erişilebilir Yap

    “Uzak port yönlendirme”, yerel yönlendirme işleminin tam tersidir ve sık kullanılmaz. Yerel bilgisayarınızda SSH sunucusunda bir kaynak bulunmasını sağlar. Mesela, önünde oturduğunuz yerel bilgisayarda bir web sunucusu çalıştırdığınızı varsayalım. Ancak, bilgisayarınız sunucu yazılımına gelen trafiğe izin vermeyen bir güvenlik duvarının arkasında.

    Uzak bir SSH sunucusuna erişebildiğinizi varsayarsak, bu SSH sunucusuna bağlanabilir ve uzak bağlantı noktası iletmeyi kullanabilirsiniz. SSH istemciniz, sunucuya SSH sunucusundaki 1234 numaralı bağlantı noktasını belirli bir bağlantı noktasına, mevcut PC'nizdeki veya yerel ağınızdaki belirli bir adres ve bağlantı noktasına iletmesini söyleyecektir. Birisi SSH sunucusundaki 1234 numaralı bağlantı noktasına eriştiğinde, bu trafik otomatik olarak SSH bağlantısı üzerinden “tünellenir”. SSH sunucusuna erişimi olan herkes PC'nizde çalışan web sunucusuna erişebilecek. Bu, güvenlik duvarları yoluyla tünel açmanın etkili bir yoludur..

    Uzaktan iletmeyi kullanmak için sSH ile komut -R, argüman. Sözdizimi, yerel yönlendirmeyle büyük ölçüde aynıdır:

    ssh -R remote_port: local_adresi: local_port [email protected]

    Yerel PC'nizdeki 1234 numaralı bağlantı noktasını dinleyerek uzak SSH sunucusundaki 8888 numaralı bağlantı noktasında kullanılabilen bir sunucu uygulaması yapmak istediğinizi varsayalım. SSH sunucusunun adresi ssh.youroffice.com ve SSH sunucusundaki kullanıcı adınız şilin. Aşağıdaki komutu çalıştırırsınız:

    ssh -R 8888: yerel ana bilgisayar: 1234 [email protected]

    Birisi daha sonra 8888 numaralı bağlantı noktasındaki SSH sunucusuna bağlanabilir ve bu bağlantı, bağlantıyı kurduğunuz yerel PC'de 1234 numaralı bağlantı noktasında çalışan sunucu uygulamasına tünellenir..

    Bunu Windows'ta PuTTY'de yapmak için Bağlantı> SSH> Tüneller'i seçin. “Uzak” seçeneğini seçin. “Kaynak Bağlantı Noktası” için uzak bağlantı noktasına girin. “Hedef” için, varış yeri adresini ve portu local_address: local_port formuna girin.

    Örneğin, yukarıdaki örneği kurmak isterseniz, 8888 kaynak bağlantı noktası olarak ve localhost: 1234 hedef olarak. Daha sonra “Ekle” ye tıklayınız ve SSH bağlantısını açmak için “Aç” a tıklayınız. Ayrıca, bağlanmadan önce, ana “Oturum” ekranına SSH sunucusunun adresini ve bağlantı noktasını girmeniz gerekecektir..

    İnsanlar daha sonra SSH sunucusundaki 8888 numaralı bağlantı noktasına bağlanabilir ve trafiği yerel sisteminizdeki 1234 numaralı bağlantı noktasına tünellenirdi.

    Varsayılan olarak, uzak SSH sunucusu yalnızca aynı ana bilgisayardan bağlantıları dinler. Başka bir deyişle, yalnızca SSH sunucusuyla aynı sistemde bulunan kişiler bağlanabilecektir. Bu güvenlik nedeniyle. Bu davranışı geçersiz kılmak istiyorsanız, uzak SSH sunucusunda sshd_config'de “GatewayPorts” seçeneğini etkinleştirmeniz gerekir..

    Dinamik Port Yönlendirme: SSH Sunucunuzu Proxy Olarak Kullanın

    Bir proxy veya VPN'ye benzer şekilde çalışan “dinamik bağlantı noktası iletme” de var. SSH istemcisi, uygulamaları kullanmak için yapılandırabileceğiniz bir SOCKS proxy oluşturacak. Proxy üzerinden gönderilen tüm trafik SSH sunucusu üzerinden gönderilir. Bu, yerel yönlendirmeye benzer; PC'nizdeki belirli bir bağlantı noktasına gönderilen yerel trafiği alır ve SSH bağlantısı üzerinden uzak bir konuma gönderir..

    Örneğin, halka açık bir Wi-Fi ağı kullandığınızı varsayalım. Gizlenmeden güvenli bir şekilde göz atmak istiyorsunuz. Evde bir SSH sunucusuna erişiminiz varsa, ona bağlanabilir ve dinamik bağlantı noktası iletmeyi kullanabilirsiniz. SSH istemcisi PC'nizde bir SOCKS proxy oluşturacaktır. Bu proxy’ye gönderilen tüm trafik SSH sunucusu bağlantısı üzerinden gönderilir. Genel Wi-Fi ağını izleyen hiç kimse göz atmanızı izleyemez veya erişebileceğiniz web sitelerini sansürleyemez. Ziyaret ettiğiniz web sitelerinin perspektifinden bakıldığında, sanki PC'nizin önünde evdeymiş gibi görüneceksiniz. Bu aynı zamanda, bu hileyi, yalnızca ABD dışındaki web sitelerine erişmek için kullanabileceğiniz anlamına gelirken, ABD dışında tabii ki ABD'deki bir SSH sunucusuna erişiminiz olduğunu varsayalım..

    Başka bir örnek olarak, ev ağınızdaki bir medya sunucusu uygulamasına erişmek isteyebilirsiniz. Güvenlik nedeniyle, yalnızca Internet’e maruz kalmış bir SSH sunucunuz olabilir. İnternet'ten medya sunucusu uygulamanıza gelen bağlantılara izin vermezsiniz. Dinamik bağlantı noktası iletmeyi ayarlayabilir, SOCKS proxy'sini kullanmak için bir web tarayıcısı yapılandırabilir ve ardından evdeki ağınızda çalışan sunuculara, sanki SSH sisteminizin önünde oturuyormuş gibi web tarayıcısı üzerinden erişebilirsiniz. Örneğin, medya sunucunuz ev ağınızdaki 192.168.1.123 numaralı bağlantı noktasındaysa, adresi bağlayabilirsiniz. 192.168.1.123 SOCKS proxy'sini kullanan herhangi bir uygulamaya girdiğinizde, medya sunucusuna ev ağınızdaymış gibi erişirsiniz.

    Dinamik iletme kullanmak için, ssh komutunu -D tartışma, bunun gibi:

    ssh -D local_port [email protected]

    Örneğin, adresindeki bir SSH sunucusuna erişiminiz olduğunu varsayalım. ssh.yourhome.com ve SSH sunucusundaki kullanıcı adınız şilin . Geçerli PC'de 8888 numaralı bağlantı noktasında bir SOCKS proxy açmak için dinamik iletimi kullanmak istiyorsunuz. Aşağıdaki komutu çalıştırırsınız:

    ssh -D 8888 [email protected]/tr

    Daha sonra yerel IP adresinizi (127.0.01) ve port 8888'i kullanacak şekilde bir web tarayıcısını veya başka bir uygulamayı yapılandırabilirsiniz. Bu uygulamadan gelen tüm trafik tünel üzerinden yönlendirilir.

    Bunu Windows'ta PuTTY'de yapmak için Bağlantı> SSH> Tüneller'i seçin. “Dinamik” seçeneğini seçin. “Kaynak Bağlantı Noktası” için yerel bağlantı noktasını girin.

    Örneğin, 8888 numaralı bağlantı noktasında bir SOCKS proxy oluşturmak istiyorsanız, 8888 kaynak bağlantı noktası olarak. Daha sonra “Ekle” ye tıklayınız ve SSH bağlantısını açmak için “Aç” a tıklayınız. Ayrıca, bağlanmadan önce, ana “Oturum” ekranına SSH sunucusunun adresini ve bağlantı noktasını girmeniz gerekecektir..

    Yerel PC'nizdeki SOCKS proxy'sine erişmek için bir uygulamayı yapılandırabilirsiniz (yani, yerel bilgisayarınıza işaret eden IP adresi 127.0.0.1) ve doğru bağlantı noktasını belirleyebilirsiniz..

    Örneğin, Firefox'u SOCKS proxy'sini kullanacak şekilde yapılandırabilirsiniz. Bu özellikle yararlıdır çünkü Firefox kendi proxy ayarlarına sahip olabilir ve sistem genelinde proxy ayarlarını kullanmak zorunda değildir. Firefox trafiğini SSH tüneli üzerinden gönderirken, diğer uygulamalar İnternet bağlantınızı normal şekilde kullanacak.

    Bunu Firefox'ta yaparken “Manual proxy configuration” seçeneğini seçin, SOCKS ana bilgisayar kutusuna “127.0.0.1” yazın ve dinamik bağlantı noktasını “Port” kutusuna girin. HTTP Proxy, SSL Proxy ve FTP Proxy kutularını boş bırakın.

    SSH oturum bağlantısı açık olduğu sürece tünel aktif kalacaktır. SSH oturumunuzu sonlandırdığınızda ve bir sunucu bağlantısını kestiğinizde, tünel de kapanacaktır. Tüneli yeniden açmak için uygun komutla (veya PuTTY'deki uygun seçeneklerle) tekrar bağlanın.