OpenSSH

Aktuální verze stránky ještě nebyla zkontrolována zkušenými přispěvateli a může se výrazně lišit od verze recenzované 17. října 2019; kontroly vyžadují 9 úprav .
OpenSSH
Typ démon a klient
Vývojář Projekt OpenBSD [d]
Zapsáno v C [2]
Operační systém Linux , macOS , FreeBSD , OpenBSD atd. UNIXové ,
První vydání 1. prosince 1999
Nejnovější verze
Licence licence ISC
webová stránka openssh.com
 Mediální soubory na Wikimedia Commons

OpenSSH ( anglicky  Open Security Shell - open secure shell ) - sada programů, které zajišťují šifrování komunikačních relací přes počítačové sítě pomocí protokolu SSH . Byl vytvořen pod vedením Thea de Raadta jako open source alternativa k proprietárnímu softwaru od SSH Communications Security .

Historie

OpenSSH byl vytvořen týmem OpenBSD jako alternativa k SSH, což je stále proprietární software. Vývojáři OpenSSH tvrdí, že je bezpečnější než původní Secure Shell díky jejich zásadám čištění a auditu kódu . Přestože zdrojový kód byl dlouhou dobu dostupný i pro původní SSH [3] , omezení jeho licence zpočátku učinilo OpenSSH atraktivnějším projektem pro většinu programátorů.

OpenSSH se poprvé objevil v OpenBSD 2.6.

Verze 5.9, která byla vydána 6. září 2011, zavedla experimentální režim „ sandbox “ s omezeními na určitá systémová volání . Účelem je zabránit útokům na jiné uzly v síti, například spuštěním proxy nebo otevřením soketů .

Ochranné známky

V únoru 2001 Tatu Ylönen ( Fin. Tatu Ylönen ), předseda představenstva a CTO SSH Communications Security, prostřednictvím mailing listu OpenSSH oznámil, že po rozhovoru s hlavními vývojáři OpenSSH společnost schválila vlastnictví „SSH“ a „Secure ochranné známky Shell. Hledal také způsoby, jak změnit název protokolu na SecSH nebo secsh a navrhl změnu názvu OpenSSH, aby se vyhnul soudním sporům.

Zároveň byly „SSH“, „Secure Shell“ a „ssh“ použity v dokumentech definujících protokol jako otevřený standard a mnoho práce bylo provedeno bez ochranné známky. O správnosti tvrzení se objevily pochybnosti, protože od založení společnosti a okamžiku, kdy začala bránit ochrannou známku proti svobodným alternativám, jako je OpenSSH, uplynulo 6 let a že pouze OpenSSH bylo vystaveno jejich právním útokům.

Jak vývojáři OpenSSH, tak Ylönen byli členy pracovní skupiny pro nové standardy IETF , která po nějaké diskusi odmítla jakýkoli Ylönenův požadavek na přejmenování protokolu s odkazem na to, že by to vytvořilo nežádoucí precedens pro jiné značky. Členové pracovní skupiny tvrdili, že označení „Secure Shell“ a „SSH“ jsou základními pojmy a nemohou být ochrannými známkami.

Přenositelnost

Částečně proto, že OpenSSH potřebuje provádět autentizaci, která se může v různých operačních systémech velmi lišit, byla vytvořena silná infrastruktura umožňující přenositelnost . Co nebylo přímo zahrnuto v OpenBSD, bylo vybráno vývojovým týmem Damiena Millera ,  Philipa Handse a dalších jako dílčí projekt OpenSSH Portable .  Nyní, paralelně a současně s vydáním OpenSSH "pro OpenBSD", začaly být vydávány tzv. " portable releases ". Tato vydání jsou označena "p" na konci, například: OpenSSH_5.1p1 . Tato organizace vývojového procesu byla později použita v jiných projektech vyvinutých uvnitř OpenBSD, jako je OpenNTPD .

Složení

Sada OpenSSH obsahuje následující součásti:

ssh Náhrada za rlogin a telnet . scp Náhrada za rcp , který používá protokol SFTP v moderních verzích OpenSSH (dříve se používal méně spolehlivý a flexibilní SCP ). sftp Náhrada za FTP klienta, který používá protokol SFTP . sshd Démon , který ve skutečnosti poskytuje bezpečný přístup ke zdrojům. Zahrnuje implementaci backendu SFTP vhodnou pro uživatele chrootování , aniž by museli kopírovat jakékoli soubory uvnitř chrootu . sftp-server Samostatná implementace subsystému SFTP ( serverová část). Má více funkcí než vestavěný sshd . ssh-keygen Generátor párů klíčů. ssh-keysign Nástroj pro kontrolu hostitelských klíčů. Povoleno při použití ověřování hostitele (podobně jako rsh ) namísto výchozího ověřování uživatele. ssh-keyscan Pomocná utilita. Umožňuje shromažďovat veřejné klíče od jiných hostitelů. ssh-agent Pomocná utilita. Udržuje mezipaměť soukromých klíčů . Ukládání do mezipaměti vám umožňuje vyhnout se častému zadávání hesla k dešifrování klíčů před jejich použitím. ssh přidat Pomocná utilita. Přidá klíče do mezipaměti ssh-agent .

Zabezpečené tunely

Přesměrování portů

Většina programů používá k navázání spojení protokol TCP , jehož provoz lze přenášet zabezpečeným tunelem. Tímto způsobem lze vytvořit mnoho dalších TCP spojení nad jedním SSH spojením. To je užitečné pro skrytí připojení a šifrování protokolů, které jsou nezabezpečené, a také pro obcházení omezení brány firewall . Připojení UDP lze někdy také tunelovat pomocí dalších programů, jako je netcat . Jednoduché tunelovací protokoly jsou HTTP , POP3 a VNC .

Přesměrování portů je možné v libovolném směru.

Kromě toho může některý software automaticky používat OpenSSH k vytvoření tunelu. Například DistCC , CVS , rsync a fetchmail .

Z protokolů, které jsou obtížněji tunelovatelné, stojí za zmínku FTP , který lze často nahradit SFTP , a SMB . Na některých operačních systémech lze vzdálené souborové systémy připojit pomocí ssh pomocí shfs , lufs a dalších podobných komponent.

X Window System

OpenSSH vám umožňuje bezpečně organizovat připojení k systému X Window, přičemž bere v úvahu „převrácení“ sémantiky: hostitelský klient SSH pro systém X Window je server a naopak. Za tímto účelem OpenSSH provádí další operace, jako je nastavení proměnné prostředí DISPLAY.

PONOŽKY

OpenSSH lze použít jako speciální SOCKS proxy server, který podporuje flexibilnější proxy než jen přesměrování portů.

VPN

Počínaje verzí 4.3 může OpenSSH používat tunelová síťová rozhraní vrstvy 2 a 3 modelu OSI ( tun ). Můžete tak uspořádat zabezpečenou VPN a obejít se bez nutnosti předělávat aplikace na podporu SOCKS.

Autentizace

Server OpenSSH může autentizovat uživatele pomocí vestavěných autentizačních mechanismů:

Kromě toho může OpenSSH Portable obvykle používat autentizační metody dostupné na konkrétním operačním systému, jako je BSD Authentication nebo PAM .

Poznámky

  1. OpenSSH 9.1 – 2022.
  2. https://www.openhub.net/p/openssh/analyses/latest/languages_summary
  3. Seznam implementací SSH pro systémy Unix  (anglicky)  (odkaz není k dispozici) . Archivováno z originálu 22. února 2012.

Na základě článku:

Odkazy