SSH1 vs SSH2
SSH (Secure Shell) нь сүлжээгээр өгөгдөл дамжуулах аюулгүй байдлыг идэвхжүүлэхэд ашигладаг протокол юм. SSH-ийг 1995 онд Тату Илонен (SSH Communications Security Corporation) олсон. Энэхүү протокол нь сүлжээн дэх хоёр компьютерийн хооронд өгөгдөл дамжуулах, алсын зайнаас тушаал гүйцэтгэх, аюулгүй байдлын идэвхжүүлсэн сүлжээний үйлчилгээ үзүүлэх дэд бүтцийг бий болгодог. Харилцааг клиент-серверийн архитектурын дагуу удирддаг (SSH Client ба SSH сервер). SSH протоколыг SSH1 болон SSH2 нэртэй хоёр хувилбараар боловсруулсан.
SSH1 (Secure Shell хувилбар 1)
SSH протоколын 1-р хувилбар нь 1995 онд олдсон бөгөөд SSH-TRANS, SSH-USERAUTH, SSH-CONNECT гэсэн гурван үндсэн протоколоос бүрдэнэ.
SSH-TRANS: Энэ нь үндсэндээ серверийн баталгаажуулалт, нууцлал, бүрэн бүтэн байдлыг хангадаг тээврийн давхаргын протокол (TCP/IP) юм.
SSH-USERAUTH: Энэ нь харилцаа холбооны байгууллагад хэрэглэгчийн нэвтрэлт танилтад ашиглагддаг протокол юм. Энэ протокол нь SSH сервер дэх SSH клиентийг баталгаажуулдаг. Энэ протокол нь мөн тээвэрлэлтийн давхарга дээр ажилладаг.
SSH-CONNECT: Энэ нь шифрлэгдсэн өгөгдлийг зарим логик урсгалд нэгтгэдэг холболтын протокол юм. Энэ протокол нь SSH-USERAUTH протокол дээр ажилладаг.
Аюулгүй холболтыг эхлүүлэхийн тулд үйлчлүүлэгч өөрийн баталгаажуулалтын мэдээллээ SSH сервер рүү 128 бит шифрлэлтээр илгээдэг. Серверийн хост бүр хост түлхүүртэй бөгөөд энэ нь үйлчлүүлэгчийн серверийн зөв холболтыг баталгаажуулах зорилготой юм. Мөн холбогдох SSH серверийн нийтийн түлхүүртэй байх ёстой. Дамжуулсан өгөгдлийн сегмент бүрийг шифрлэлтийн алгоритм (DES, 3DES, IDEA, Blowfish) ашиглан шифрлэдэг.
Алсын зайнаас нэвтрэхээс бусад тохиолдолд SSH-г туннел хийх, X11 холболт, SFTP (SSH файл дамжуулах протокол), SCP (Аюулгүй хуулбар), мөн TCP порт дамжуулахад ашиглаж болно. TCP порт 22 нь анхдагчаар SSH протоколд ашиглагддаг. Өгөгдлийн шахалтыг мөн SSH дэмждэг. Энэ функц нь үйлчлүүлэгч-сервер хоорондын зурвасын өргөн багатай холбоотой үед хэрэгтэй бөгөөд холболтын дамжуулалтыг сайжруулахад ашиглагдана.
SSH 1.5 хувилбар дээр хөгжүүлэгчид зарим нэг эмзэг байдлыг илрүүлсэн. Энэ хувилбарт шифрлэгдсэн өгөгдлийн урсгалын дунд зөвшөөрөлгүй өгөгдөл оруулах боломжтой байсан бөгөөд энэ нь мэдээллийн аюулгүй байдалд өндөр эрсдэл учруулж болзошгүй юм. Мөн 2001 онд зөвшөөрөлгүй, хортой нэвтрэлт танилтын серверийн нэвтрэлт танилтыг өөр сервер рүү дамжуулах эмзэг байдал илэрсэн.
SSH2 (Secure Shell хувилбар 2)
SSH2-г 2006 онд SSH1-тэй харьцуулахад маш олон сайжруулалт хийсэн. Хэдийгээр энэ нь SSH1-ийн сайжруулалт боловч SSH2 нь SSH1-тэй нийцэхгүй байна. SSH2 нь эмзэг байдлаас зайлсхийхийн тулд илүү хамгаалалтын механизмуудыг нэмэн дахин бичигдсэн.
SSH2 нь DSA (Digital Signature Algorithm) гэх мэт шифрлэлт болон баталгаажуулалтад зориулж өөр сайжруулсан, хүчирхэг алгоритмуудыг ашигладаг. SSH2 нь SSH1 шиг үнэгүй програм хангамж байхаа больсон; SSH2-ийн хөгжүүлэгч нь SSH2-г үнэгүй ашиглахыг хязгаарласан. SSH1-ээс ялгаатай нь SFTP (Secure File Transfer) програм нь SSH2 багцад суурилагдсан бөгөөд өгөгдлийн урсгалыг шифрлэхийн тулд SSH2-ийн ашигладаг ижил Шифрлэлтийн протоколуудыг ашигладаг.
SSH1 болон SSH2 хоёрын ялгаа юу вэ?
UNIX-д суурилсан олон үйлдлийн системүүд нь суулгасан SSH чадамжтай бөгөөд Windows системд зориулан SSH-тай олон консолуудыг мөн хөгжүүлсэн (TeraTerm, Putty, OpenSSH, WinSCP гэх мэт).
• Дээр дурдсанчлан SSH2 нь SSH1-ийн сайжруулсан хувилбар юм.
• SSH1-д SSH2-д засч, дахин кодлогдсон тодорхой баримтжуулсан асуудал байна.
• Ер нь ямар ч програмын хамгийн сүүлийн хувилбар нь хуучин хувилбаруудаа дэмждэг боловч SSH2 нь SSH1-тэй бүрэн нийцдэггүй, мөн SSH2-д лиценз шаардлагатай байдаг.