OpenSSH Nedir?

0
946
openssh-nedir-1

Microsoft’un Windows 10’daki SSH bağlantılarını nihayet desteklediğini fark etmiş olabilirsiniz. Bu, Windows 10 Güz Oluşturucu Güncelleştirmesi’nin yayımlanmasıyla birlikte gelen Windows 10’da OpenSSH’nin bir bütünleşmesidir. Bu sayede, kullanıcılar artık PuTTY gibi SSH istemci yazılımını İnternet üzerinde barındırılan bir yerel veya bir sunucuya bağlanma seçeneğinden mahrum bırakma seçeneğine sahipler. Bu konuda yeniyseniz, önce SSH veya Secure Shell’in ne olduğunu tartışalım.

OpenSSH Nedir?

SSH veya Secure Shell, bir kaynaktan bir hedefe veri göndermek için kullanılan FTP veya HTTP’ye benzer genel bir protokolden başka bir şey değildir. Ancak burada, gönderilen veriler güçlü bir şekilde şifrelenir. OpenSSH, Linux makinelerinde çalışan geliştiriciler arasında, bir ağdaki uzak bir sunucuya erişmelerine ve kontrol etmelerine olanak sağladığı için oldukça popülerdir.

OpenSSH, hem uzak oturum açma hem de dosya aktarımı için güvenli şifreleme sağlar. İçerdiği yardımcı programlardan bazıları şunlardır:

  • ssh, bir z / OS kabuğuna giriş yapmak için bir z / OS® istemci programı. Diğer platformun UNIX mermilerine giriş yapmak için de kullanılabilir. Rlogin’e bir alternatif.
  • ağlar arasında dosya kopyalamak için Rcp’ye bir alternatiftir.
  • şifreli bir ssh aktarımı üzerinden dosya aktarımı için sftp. Ftp’ye benzer etkileşimli bir dosya transfer programıdır.
  • sshd, istemcilerden gelen bağlantıları dinleyen ssh için bir daemon programı. Sshd’nin z / OS OpenSSH uygulaması SSH protokolü sürüm 2’yi desteklemektedir. SSH protokolü sürüm 1 artık

Ayrıca ssh-add, ssh-agent, ssh-keyign, ssh-keyscan, ssh-keygen ve sftp-server gibi diğer temel uygulamalar da dahildir.

Güvenli şifreli iletişim sağlamak için, OpenSSH, AES, Blowfish ve 3DES gibi şifreleri kullanır.

z / OS OpenSSH, aşağıdaki z / OS uzantılarını sağlar:

  • Sistem Yetki Kolaylığı (SAF) anahtar halkası. OpenSSH, OpenSSH anahtarlarının SAF anahtarlıklarında saklanmasına izin verecek şekilde yapılandırılabilir.
  • Çok düzeyli güvenlik. Hiyerarşik olmayan bir güvenlik kategorileri sistemi ile birlikte hiyerarşik güvenlik seviyeleri sistemine dayanan verilerin ve kullanıcıların sınıflandırılmasını sağlayan bir güvenlik politikasıdır. Sshd arka planını çok düzeyli güvenli bir ortamda çalıştırmak.
  • Sistem Yönetimi Tesisi (SMF). OpenSSH, hem istemci hem de sunucu için SMF Tip 119 kayıtlarını toplayacak şekilde yapılandırılabilir.
  • ICSF şifreleri ve MAC algoritmaları. OpenSSH, bazı şifreleri ve MAC (mesaj doğrulama kodu) algoritmalarını uygulamak için Entegre Şifreleme Servis Tesisi (ICSF) kullanmak üzere ayarlanabilir. Bu uzantı, OpenSSH’nin uygun olduğunda donanım desteği kullanmasını sağlar.
  • FIPS 140-2 OpenSSH, tüm şifreleme işlemlerini FIPS modunda çalışan ICSF ve System SSL arabirimlerine yönlendirmek için ayarlanabilir. Bu uzantı, OpenSSH’nin FIPS 140-2 şartnamelerini karşılamasını sağlar.
  • CPACF şifreleri ve MAC algoritmaları. Varsayılan olarak, OpenSSH belirli şifreleri ve MAC algoritmalarını uygulamak için CPACF komutlarını kullanacaktır. Bu uzantı, bu algoritmalar için gelişmiş performans ve daha düşük CPU kullanımı sağlar.

İnternet Mühendisliği Görev Gücü (IETF) The Internet Engineering Task Force, hedefi popüler SSH protokolünü güncellemek ve standart hale getirmek olan bir Güvenli Kabuk (SECSH) çalışma grubuna sahiptir. SECSS’nin RFC’leri ve internet taslaklarına OpenSSH ile uyumluluk hakkında bilgi için, bkz. RFC’ler ve İnternet taslakları.

AKS SSH TÜNELİNDEN(AKA SSH TUNNELING ) SSH LİMANI NEDİR(SSH PORT FORWARDING)?

SSH bağlantı noktası iletme, uygulama bağlantı noktalarını istemci makineden sunucu makineye tünellemek için SSH’deki bir mekanizmadır veya bunun tersi de geçerlidir. Eski uygulamalara şifreleme eklemek, güvenlik duvarlarından geçmek için kullanılabilir ve bazı sistem yöneticileri ve BT uzmanları onu iç mekan ağlarına ev makinelerinde açmak için kullanırlar. İnternetten dahili ağa erişimi açmak için bilgisayar korsanları ve kötü amaçlı yazılımlar tarafından da kötüye kullanılabilir.

LOCAL FORWARDING

Yerel yönlendirme, bir portu istemci makineden sunucu makineye iletmek için kullanılır. Temel olarak, SSH istemcisi yapılandırılmış bir porttaki bağlantıları dinler ve bir bağlantı aldığında, bağlantıyı bir SSH sunucusuna ayarlar. Sunucu yapılandırılmış bir hedef bağlantı noktasına, muhtemelen SSH sunucusundan farklı bir makinede bağlanır.

Yerel port yönlendirme için tipik kullanımlar:

  • Atlama sunucuları üzerinden tünelleme oturumları ve dosya aktarımı
  • Dahili bir ağdaki bir servise dışarıdan bağlanma
  • İnternet üzerinden uzak bir dosya paylaşımına bağlanma

Tek bir atlama sunucusundan gelen tüm SSH erişimi için oldukça az sayıda kuruluş. Sunucu, genellikle bazı ekstra sertleştirme, izinsiz giriş tespiti ve / veya günlük kaydı olan standart bir Linux / Unix kutusu olabilir veya ticari bir atlama sunucusu çözümü olabilir. Örneğin, CryptoAuditor bir atlama sunucusu olarak hareket edebilir, tüm oturumları kaydedebilir ve şüpheli etkinliklerin erken uyarısı için oturum içeriğini analitiklere aktarabilir.

Birçok atlama sunucusu, bağlantı doğrulandıktan sonra, gelen bağlantı noktası iletme işlemine izin verir. Bu tür bağlantı noktası iletme kullanışlıdır, çünkü teknoloji meraklısı kullanıcıların iç kaynakları oldukça şeffaf bir şekilde kullanmalarını sağlar. Örneğin, yerel makinelerindeki bir bağlantı noktasını şirket intranet web sunucusuna, bir iç posta sunucusunun IMAP bağlantı noktasına, yerel bir dosya sunucusunun 445 ve 139 bağlantı noktalarına, bir yazıcıya, bir sürüm kontrol havuzuna veya neredeyse iç ağdaki herhangi bir sistem. Sıklıkla, port dahili bir makinedeki bir SSH portuna tünellenir.

OpenSSH’de yerel port yönlendirme -L seçeneği kullanılarak konfigüre edilir:

 

ssh -L 80:intra.example.com:80 gw.example.com

 

Bu örnek, gw.example.com atlama sunucusuyla bir bağlantı açar ve yerel makinedeki bağlantı noktası 80 ile herhangi bir bağlantıyı intra.example.com’daki bağlantı noktası 80’e iletir.

Varsayılan olarak, herhangi biri (farklı makinelerde bile) SSH istemci makinesinde belirtilen bağlantı noktasına bağlanabilir. Bununla birlikte, bu, bir bağlantı adresi sağlayarak aynı ana bilgisayardaki programlarla sınırlandırılabilir:

ssh -L 127.0.0.1:80:intra.example.com:80 gw.example.com

 

OpenSSH istemci yapılandırma dosyasındaki LocalForward seçeneği, komut satırında belirtmek zorunda kalmadan iletimi yapılandırmak için kullanılabilir.

REMOTE FORWARDING

OpenSSH’de, uzak SSH portu yönlendirmeleri -R seçeneği kullanılarak belirtilir. Örneğin:

ssh -R 8080:localhost:80 public.example.com

 

Bu, uzak sunucudaki herkesin uzak sunucudaki 8080 numaralı TCP bağlantı noktasına bağlanmasını sağlar. Bağlantı daha sonra istemci ana bilgisayara geri tünellenecek ve istemci daha sonra localhost’taki port 80’e bir TCP bağlantısı yapacaktır. Bağlanılacak ana bilgisayarı belirtmek için localhost yerine başka bir ana bilgisayar adı veya IP adresi kullanılabilir.

Bu özel örnek, dışarıdan birisine bir iç web sunucusuna erişim izni vermek için faydalı olacaktır. Veya bir dahili web uygulamasını kamuya açık internete maruz bırakmak. Bu, evden çalışan bir çalışan tarafından veya bir saldırgan tarafından yapılabilir.

Varsayılan olarak, OpenSSH yalnızca sunucu ana bilgisayarından uzak iletilen bağlantı noktalarına bağlanmaya izin verir. Ancak, sunucu yapılandırma dosyasındaki GatewayPorts seçeneği sshd_config bunu kontrol etmek için kullanılabilir. Aşağıdaki alternatifler mümkündür:

GatewayPorts no

Bu, iletilen bağlantı noktalarına sunucu bilgisayarın dışından bağlanmayı önler.

GatewayPorts yes

Bu, herkesin iletilen bağlantı noktalarına bağlanmasına izin verir. Sunucu genel İnternet’te ise, İnternet’teki herkes bağlantı noktasına bağlanabilir.

GatewayPorts clientspecified

Bu, istemcinin bağlantı noktasına bağlantılara izin verilen bir IP adresi belirtebileceği anlamına gelir. Bunun için sözdizimi:

ssh -R 52.194.1.73:8080:localhost:80 host147.aws.example.com

 

Bu örnekte, sadece 52.194.1.73 IP adresinden 8080 portuna bağlantılara izin verilir.

OpenSSH ayrıca iletilen uzak bağlantı noktasının 0 olarak belirtilmesine de izin verir.

Bu durumda, sunucu bir bağlantı noktasını dinamik olarak tahsis eder ve bunu müşteriye rapor eder -0 forward seçeneği ile kullanıldığında, istemci tahsis edilen port numarasını standart çıktıya yazdıracaktır.

İŞLETMEYE AÇILAN ARKA PLANLAR

Uzak SSH bağlantı noktası iletme, çalışanlar tarafından arka kapıları şirkete açmak için yaygın olarak kullanılır. Örneğin, çalışan Amazon AWS’den ücretsiz bir katmanlı sunucu ayarlayabilir ve sunucudaki bir bağlantı noktasından dahili bir kurumsal ağdaki bir sunucuya veya uygulamaya uzaktan iletmeyi belirleyerek ofisten o sunucuya giriş yapabilir. Birden fazla uygulamaya erişimi açmak için birden fazla uzaktan iletme belirtilebilir.

Çalışan aynı zamanda sunucuda GatewayPorts’u yes olarak ayarlayacaktır (çoğu çalışanın evde sabit IP adresi yoktur, bu nedenle IP adresini kısıtlayamazlar).

Örneğin, aşağıdaki komut 5432 numaralı bağlantı noktasındaki dahili bir Postgres veritabanına ve 2222 numaralı bağlantı noktasındaki dahili bir SSH bağlantı noktasına erişimi açar.

ssh -R 2222:d76767.nyc.example.com:22 -R 5432:postgres3.nyc.example.com:5432 aws4.mydomain.net

 

SUNUCU YAN YAPILANDIRMASI (SERVER-SIDE CONFIGURATION)

OpenSSH sunucusu yapılandırma dosyasındaki AllowTcpForwarding seçeneği, bağlantı noktası iletmeye izin vermek için sunucuda etkinleştirilmelidir. Varsayılan olarak, iletmeye izin verilir. Bu seçenek için olası değerler, tüm TCP yönlendirmelerine izin vermek, yes tüm TCP iletimlerini engellemek için No, yerel iletimlere izin vermek için yerel ve uzak iletimlere izin vermek için uzaktan kumanda için yes veya all olabilir.

İlgilenilen bir başka seçenek, Unix alan soketlerini iletmek için kullanılabilen AllowStreamLocalForwarding‘dir. AllowTcpForwarding ile aynı değerlere izin verir. Varsayılan Yes.

Örneğin:

AllowTcpForwarding remote AllowStreamLocalForwarding no

 

Yukarıda açıklandığı gibi GatewayPorts yapılandırma seçeneği aynı zamanda uzaktaki port iletimlerini etkiler. Olası değerler; No (yalnızca sunucu ana bilgisayardan yerel bağlantılara izin verilir; varsayılan), Yes (İnternet’teki herkes uzak iletilen bağlantı noktalarına bağlanabilir) ve istemciler tarafından belirlenir (istemci, bağlanabilecek bir IP adresi belirleyebilir, herhangi bir kişi belirtilmezse)

DEVRE YANGIN SİSTEMLERİNDEN YOLCULUK SSH LİMANI NASIL ÖNLEME ALINIR? HOW TO PREVENT SSH PORT FORWARDING FROM CIRCUMVENTING FIREWALLS ?

Gerekmediğinde bağlantı noktası yönlendirmenin açıkça devre dışı bırakılmasını öneririz. Bağlantı noktası yönlendirmeyi etkin bırakmak, kuruluşu güvenlik risklerine ve arka kapılara maruz bırakabilir. Örneğin, yalnızca SFTP dosya aktarımı sağlamayı amaçlayan bir sunucu bağlantı noktası iletmelerine izin veriyorsa, bu iletimler, Intranet’ten iç ağa istenmeyen erişim sağlamak için kullanılabilir.

Sorun, port yönlendirmenin pratikte yalnızca bir sunucu veya güvenlik duvarı tarafından önlenebilmesidir. Bir işletme İnternetteki tüm sunucuları kontrol edemez. Çoğu firmanın Amazon AWS ve diğer bulut hizmetlerinde sunucuları olduğundan ve bu sunuculara genellikle SSH kullanılarak erişildiğinden, Firewall tabanlı kontrol de zor olabilir.

CryptoAuditor® uygun bir çözüm sunar. Port yönlendirme işleminin engellenmesini sağlamak için kullanılabilir. SSH bağlantılarını denetleyebilir, kaydedebilir ve kontrol edebilir ve diğer kullanımları aksatmadan granüler bir seviyede liman iletimini önleyebilir. Bu nedenle, genel bulutta sunucuları olan kuruluşlarda veya harici ortaklar veya servis sağlayıcılarla SFTP dosya transferleri kullanan kuruluşlarda özellikle yararlıdır.

CryptoAuditor, giden bağlantılar için uzaktan iletmeyi kontrol etmek için bilinen az sayıdaki çözümden biridir. Bu tür bağlantılar, İnternet’ten dahili ağa geri tünelleme için en yüksek riskli bağlantılardır. Geliştiriciler ve yöneticilerin harici bulut sunucularına erişmesi gerektiğinde, giden SSH bağlantılarını tamamen bir güvenlik duvarında engellemek mümkün değildir.

 

 

 

 

 

 

 

 

 

 

 

 

CEVAP VER

Lütfen yorumunuzu giriniz!
Lütfen isminizi buraya giriniz