Linux'ta SSH Jump Sunucusu Nasıl Kurulur


Atlama ana bilgisayarı (ayrıca atlama sunucusu olarak da bilinir), uzak bir ağa giden bir aracı ana bilgisayar veya SSH ağ geçididir ve üzerinden bir ağdaki başka bir ana makineye bağlantı yapılabilir. farklı bir güvenlik bölgesi, örneğin askerden arındırılmış bölge (DMZ). Birbirine benzemeyen iki güvenlik bölgesini birbirine bağlar ve aralarında kontrollü erişim sunar.

Bir atlama ana bilgisayarı, özellikle özel bir ağa ve internetteki kullanıcılara hizmet sağlayan sunucuların bulunduğu bir DMZ'ye yayıldığında yüksek düzeyde güvenli olmalı ve izlenmelidir.

Klasik bir senaryo, masaüstünüzden veya dizüstü bilgisayarınızdan, şirketinizin güvenlik duvarlarıyla yüksek düzeyde güvenliği sağlanan dahili ağının içinden bir DMZ'ye bağlanmaktır. DMZ'deki bir sunucuyu kolayca yönetmek için, sunucuya bir atlama ana bilgisayarı aracılığıyla erişebilirsiniz.

Özetle SSH Jump sunucusu, SSH Protokolü üzerinden özel bir ağdaki diğer Linux sunucularına ağ geçidi olarak kullanılan bir Linux sunucusudur.

Bu makalede, uzak bir Linux sunucusuna atlama ana bilgisayarı aracılığıyla nasıl erişileceğini göstereceğiz ve ayrıca kullanıcı başına SSH istemci yapılandırmalarınızda gerekli ayarları yapılandıracağız.

SSH Atlama Sunucusu Kurulumu

Aşağıdaki senaryoyu düşünün.

Daha fazla netlik sağlamak için aşağıda SSH Jump sunucusunun rolünü gösteren basit bir kurulum bulunmaktadır.

SSH Jump Sunucusunu Yapılandırma Nedenleri

Jump sunucusu, altyapınıza bir ağ geçidi sağlar ve kaynaklarınıza yönelik potansiyel saldırı yüzeyini azaltır. Ayrıca cihazların şeffaf yönetiminin yanı sıra kaynaklarınıza tek bir giriş noktası sağlar.

Altyapınıza bir atlama sunucusu eklerken sunucunun güçlendirilmiş olduğundan emin olun, aksi takdirde hiç kullanmamak kadar iyi olacağını unutmayın. Bu derste buna daha sonra geri döneceğiz.

Basit Bir SSH Jump Sunucusu Nasıl Oluşturulur

Şimdi basit bir SSH Jump sunucusunu nasıl oluşturabileceğinize odaklanalım. İşte basit kurulumumuz.

  • Kaynak IP: 105.68.76.85.
  • Jump Sunucusu IP'si (buna ana bilgisayar atlama adını vereceğiz): 173.82.232.55.
  • Hedef IP (buna host_destination adını vereceğiz): 173.82.227.89.

Yukarıdaki senaryoda, HOST 2 (173.82.227.89)'e bağlanmak istiyorsunuz ancak güvenlik duvarı nedeniyle HOST 1 (173.82.232.55) üzerinden geçmeniz gerekiyor. yönlendirme ve erişim ayrıcalıkları. Jump ana bilgisayarlarına ihtiyaç duyulmasının birkaç geçerli nedeni vardır.

Dinamik Jumphost Listesi

Bir atlama ana bilgisayarı aracılığıyla hedef sunucuya bağlanmanın en basit yolu, komut satırından -A ve -J işaretlerini kullanmaktır. Bu, ssh'ye atlama ana bilgisayarıyla bağlantı kurmasını ve ardından hedef sunucuya oradan bir TCP yönlendirmesi kurmasını söyler (makineler arasında Parolasız SSH Oturum Açma işlemi yaptığınızdan emin olun).

ssh -A -J user@jump-server  user@destination server

Örneğin, kurulumumuzda, Jump Sunucusu'nda yapılandırılmış james adlı kullanıcıyı ve hedef veya hedef sistemde tecmint'i yapılandırdık.

Komut, kaynak IP'den aşağıdaki gibi görünecektir.

ssh -A -J [email  [email 

Komut sizden atlama sunucusunun kullanıcı şifresini ve ardından hedef sisteme erişim izni alacağınız hedef sistemin şifresini isteyecektir.

Makinelerdeki kullanıcı adları veya bağlantı noktaları farklıysa, bunları gösterildiği gibi terminalde belirtin.

ssh -J username@host1:port username@host2:port	  

Çoklu Jumphost Listesi

Aynı sözdizimi birden fazla sunucu üzerinden geçiş yapmak için kullanılabilir.

ssh -J username@host1:port,username@host2:port username@host3:port

Statik Jumphost Listesi

Statik atlama sunucusu listesi, bir makineye bağlanmak için ihtiyaç duyduğunuz atlama sunucusunu veya atlama sunucusunu bildiğiniz anlamına gelir. Bu nedenle, ~/.ssh/config dosyasına aşağıdaki statik atlama ana bilgisayarı 'yönlendirmesini' eklemeniz ve ana bilgisayar takma adlarını gösterildiği gibi belirtmeniz gerekir.

### First jumphost. Directly reachable
Host vps1
  HostName vps1.example.org

### Host to jump to via jumphost1.example.org
Host contabo
  HostName contabo.example.org
  ProxyJump vps1

Şimdi gösterildiği gibi bir atlama ana bilgisayarı aracılığıyla hedef sunucuya bağlanmayı deneyin.

ssh -J vps1 contabo

İkinci yöntem ise jumphost yapılandırmasını ~.ssh/config veya $HOME/ dosyanıza eklemek için ProxyCommand seçeneğini kullanmaktır. ssh/config dosyasını gösterildiği gibi düzenleyin.

Bu örnekte, hedef ana makine contabo'dur ve jumphost da vps1'dir.

Host vps1
	HostName vps1.example.org
	IdentityFile ~/.ssh/vps1.pem
	User ec2-user

Host contabo
	HostName contabo.example.org	
	IdentityFile ~/.ssh/contabovps
	Port 22
	User admin	
	Proxy Command ssh -q -W %h:%p vps1

Değişiklikleri kaydedin ve dosyadan çıkın. Değişiklikleri uygulamak için SSH arka plan programını yeniden başlatın.

sudo systemctl restart ssh

Yapılandırma dosyasında kullanılan seçenekleri inceleyelim:

  • -q – Bu, sessiz mod anlamına gelir. Uyarıları ve teşhis mesajlarını bastırır.
  • -W – İstemcideki standart giriş ve çıkışın güvenli kanal üzerinden PORT'taki HOST'a iletilmesini ister.
  • %h – Bağlanılacak ana bilgisayarı belirtir.
  • %p – Uzak ana makinede bağlanılacak bağlantı noktasını belirtti.

Jump Sunucusu aracılığıyla Kaynak IP'nizden hedef sisteme 'atlamak' için aşağıdaki komutu çalıştırmanız yeterlidir:

ssh contabo

Yukarıdaki komut ilk olarak ProxyCommand'dan etkilenen arka planda vps1'e bir ssh bağlantısı açacak ve ardından contabo hedef sunucusunda ssh oturumunu başlatacaktır. güçlü>.

SSH Jump Sunucusunu Daha Güvenli Hale Getirme

Bu kurulumu daha güvenli hale getirmenin yollarından biri, Genel SSH anahtarını Kaynak sistemden Jump Sunucusuna ve son olarak hedef sisteme kopyalamak ve ardından şifre kimlik doğrulamasını devre dışı bırakmaktır. SSH şifresiz kimlik doğrulamanın nasıl etkinleştirileceğine ilişkin kılavuzumuza göz atın.

Ayrıca SSH sunucusu güçlendirme ipuçlarına da göz atın.

Ayrıca, Jump sunucusunda hiçbir hassas verinin barındırılmadığından emin olun; aksi takdirde bu, kullanıcı adları ve şifreler gibi erişim bilgilerinin sızmasına ve sistem genelinde ihlale yol açabilir.

Daha fazla bilgi için ssh kılavuz sayfasına bakın veya şu adrese bakın: OpenSSH/Cookbxook/Proxies ve Jump Hosts.

Şimdilik bu kadar! Bu yazıda, uzaktaki bir sunucuya bir atlama ana bilgisayarı aracılığıyla nasıl erişileceğini gösterdik. Soru sormak veya düşüncelerinizi bizimle paylaşmak için aşağıdaki geri bildirim formunu kullanın.