Tarmoqqa ruxsatsz kirishni aniqlash protocolari. Ruxsatsz kirishni bartaraf etish vositalari


Download 39.12 Kb.
bet3/4
Sana16.06.2023
Hajmi39.12 Kb.
#1512423
1   2   3   4
Bog'liq
bilmasammm

Xavfsiz Shell
"SSH" bu yerga yo'naltiradi. Boshqa foydalanish uchun SSH (aniq ajratish) ga qarang .
Xavfsiz Shell
Protokol to'plami
Maqsad xavfsiz ulanish, masofadan kirish
Dasturchi(lar) Tatu Ylonen, Internet muhandisligi bo'yicha ishchi guruhi (IETF)
Kirish 1995 yil
OSI qatlami Ilova qatlami orqali tashish qatlami
Port(lar) 22
RFC(lar) RFC 4250, RFC 4251, RFC 4252, RFC 4253, RFC 4254
Internet protokollar to'plami
Ilova qatlami
BGPDHCP ( v6 )DNSFTPHTTP ( HTTP/3 )HTTPSIMAPARMLDAPMGCPMQTTNNTPNTPOSPFPOPPTPONC/RPCRTPRTSPJOYI JANNATDA BO'LSINSIPSMTPSNMPSSHTelnetTLS/SSLXMPPKo'proq...
Transport qatlami
TCPUDPDCCPSCTPtaklifga javob beringJSSVKo'proq...
Internet qatlami
IP v4v6ICMP ( v6 )NDPECNIGMPIPsecKo'proq...
Bog'lanish qatlami
TunnellarPPPMACKo'proq...
vtBu
Secure Shell Protocol ( SSH ) - bu himoyalanmagan tarmoq orqali tarmoq xizmatlarini xavfsiz ishlatish uchun kriptografik tarmoq protokoli . Uning eng ko'zga ko'ringan ilovalari masofadan kirish va buyruq qatorini bajarishdir.
SSH ilovalari mijoz-server arxitekturasiga asoslangan bo'lib , SSH mijoz nusxasini SSH serveri bilan bog'laydi . SSH uchta asosiy ierarxik komponentdan iborat qatlamli protokollar to'plami sifatida ishlaydi: transport qatlami server autentifikatsiyasi, maxfiyligi va yaxlitligini ta'minlaydi; foydalanuvchini autentifikatsiya qilish protokoli foydalanuvchini serverga tasdiqlaydi; va ulanish protokoli shifrlangan tunnelni bir nechta mantiqiy aloqa kanallariga multiplekslaydi.
SSH Telnet va Berkeley Remote Shell (rsh) va tegishli rlogin va rexec protokollari kabi himoyalanmagan masofaviy Unix qobiq protokollarini almashtirish uchun Unix-ga o'xshash operatsion tizimlarda ishlab chiqilgan bo'lib , ularning barchasi autentifikatsiya tokenlarini xavfsiz, ochiq matnli uzatishdan foydalanadi. .
SSH birinchi marta 1995 yilda fin kompyuter olimi Tatu Ylonen tomonidan ishlab chiqilgan. Protokollar to'plamining keyingi rivojlanishi bir nechta ishlab chiquvchilar guruhlarida davom etdi va amalga oshirishning bir nechta variantlarini ishlab chiqdi. Protokol spetsifikatsiyasi SSH-1 va SSH-2 deb ataladigan ikkita asosiy versiyani ajratib turadi. Eng ko'p qo'llaniladigan dasturiy ta'minot to'plami OpenSSH bo'lib, 1999 yilda OpenBSD ishlab chiquvchilari tomonidan ochiq kodli dasturiy ta'minot sifatida chiqarilgan . Amalga oshirishlar umumiy foydalanishdagi barcha turdagi operatsion tizimlar, jumladan, o'rnatilgan tizimlar uchun taqsimlanadi.
Ta'rif
SSH masofaviy kompyuterni autentifikatsiya qilish uchun ochiq kalitli kriptografiyadan foydalanadi va agar kerak bo'lsa, foydalanuvchini autentifikatsiya qilish imkonini beradi.
SSH bir nechta metodologiyada ishlatilishi mumkin. Eng sodda tarzda, aloqa kanalining ikkala uchi tarmoq ulanishini shifrlash uchun avtomatik tarzda yaratilgan umumiy-xususiy kalit juftliklaridan foydalanadi va keyin foydalanuvchini autentifikatsiya qilish uchun paroldan foydalanadi.
Ommaviy-xususiy kalitlar juftligi foydalanuvchi tomonidan qo'lda yaratilganda, autentifikatsiya asosan kalit juftligi yaratilganda amalga oshiriladi va seans parol so'ramasdan avtomatik ravishda ochilishi mumkin. Ushbu stsenariyda ochiq kalit barcha kompyuterlarga joylashtiriladi, bu esa egasi maxfiy saqlaydigan mos keladigan shaxsiy kalit egasiga kirishga ruxsat berishi kerak. Autentifikatsiya shaxsiy kalitga asoslangan bo'lsa-da, autentifikatsiya paytida kalit hech qachon tarmoq orqali uzatilmaydi. SSH faqat ochiq kalitni taklif qilgan shaxs mos keladigan shaxsiy kalitga ham ega ekanligini tasdiqlaydi.
SSH ning barcha versiyalarida noma'lum ochiq kalitlarni tekshirish , ya'ni ularni haqiqiy deb qabul qilishdan oldin ochiq kalitlarni identifikatorlar bilan bog'lash muhim ahamiyatga ega. Tajovuzkorning ochiq kalitini tasdiqlashsiz qabul qilish ruxsatsiz tajovuzkorga haqiqiy foydalanuvchi sifatida ruxsat beradi.
Autentifikatsiya: OpenSSH kalitlarini boshqarish
Unix-ga o'xshash tizimlarda ruxsat berilgan ochiq kalitlar ro'yxati odatda foydalanuvchining faylda masofadan kirishga ruxsat berilgan uy katalogida saqlanadi ~/.ssh/authorized_keys. Bu fayl SSH tomonidan faqat egasi va ildizdan boshqa hech narsa yoza olmasagina hurmat qilinadi. Ochiq kalit masofaviy uchida va mos keladigan shaxsiy kalit mahalliy uchida mavjud bo'lsa, parolni kiritish endi talab qilinmaydi. Biroq, qo'shimcha xavfsizlik uchun shaxsiy kalitning o'zi parol bilan qulflanishi mumkin.
Shaxsiy kalitni standart joylarda ham qidirish mumkin va uning to'liq yo'li buyruq qatori sozlamalari ( -issh uchun variant) sifatida ko'rsatilishi mumkin. Ssh -keygen yordam dasturi umumiy va shaxsiy kalitlarni har doim juft holda ishlab chiqaradi.
SSH shuningdek, avtomatik ravishda yaratilgan kalitlar tomonidan shifrlangan parolga asoslangan autentifikatsiyani qo'llab-quvvatlaydi. Bunday holda, tajovuzkor qonuniy server tomoniga taqlid qilishi, parolni so'rashi va uni olishi mumkin ( o'rtadagi odam hujumi ). Biroq, bu faqat ikki tomon ilgari hech qachon autentifikatsiya qilmagan bo'lsa mumkin, chunki SSH server tomoni ilgari ishlatgan kalitni eslab qoladi. SSH mijozi yangi, ilgari noma'lum server kalitini qabul qilishdan oldin ogohlantirish beradi. Parol autentifikatsiyasini server tomonidan o'chirib qo'yish mumkin.
dan foydalaning
SSH odatda masofaviy mashinaga kirish va buyruqlarni bajarish uchun ishlatiladi, lekin u tunnellashni , TCP portlarini va X11 ulanishlarini yo'naltirishni ham qo'llab-quvvatlaydi; u tegishli SSH fayl uzatish (SFTP) yoki xavfsiz nusxa ko'chirish (SCP) protokollari yordamida fayllarni uzatishi mumkin. SSH mijoz-server modelidan foydalanadi .
SSH mijoz dasturi odatda SSH demoniga ulanishlarni o'rnatish uchun ishlatiladi , masalan, sshd, masofaviy ulanishlarni qabul qilish. Ikkalasi ham ko'pincha zamonaviy operatsion tizimlarda , jumladan macOS , Linux , OpenBSD , FreeBSD , NetBSD , Solaris va OpenVMS ning ko'pgina tarqatishlarida mavjud . Shunisi e'tiborga loyiqki, Windows 10-ning 1709-versiyasidan oldingi versiyalari sukut bo'yicha SSH-ni o'z ichiga olmaydi. Xususiy , bepul va ochiq manba (masalan, PuTTY , va Cygwinning bir qismi bo'lgan OpenSSH versiyasi) turli darajadagi murakkablik va to'liqlik versiyalari mavjud. UNIX-ga o'xshash tizimlar uchun fayl boshqaruvchilari (masalan, Konqueror ) sudrab olib tashlash bilan ajratilgan panelli grafik interfeysni ta'minlash uchun FISH protokolidan foydalanishi mumkin. Ochiq kodli Windows dasturi WinSCP xuddi shunday fayllarni boshqarish (sinxronizatsiya, nusxa ko'chirish, masofadan o'chirish) imkoniyatlarini PuTTY-ni backend sifatida taqdim etadi. WinSCP va PuTTY ikkalasi ham mijoz mashinasiga o'rnatishni talab qilmasdan to'g'ridan-to'g'ri USB drayvdan ishga tushirish uchun paketlangan holda mavjud. Chrome uchun xavfsiz qobiq kengaytmasibrauzer, shuningdek, hech qanday dasturiy ta'minotni o'rnatmasdan SSH ulanishiga ruxsat beradi va hatto Chromebook kompyuteridan SSHga ruxsat beradi. Windowsda SSH serverini o'rnatish odatda Sozlamalar ilovasida funksiyani yoqishni o'z ichiga oladi. Windows 10 1709 versiyasida OpenSSH ning rasmiy Win32 porti mavjud.
SSH bulutli hisoblashda ulanish muammolarini hal qilishda muhim ahamiyatga ega , bu esa bulutga asoslangan virtual mashinani to'g'ridan-to'g'ri Internetda ko'rsatish bilan bog'liq xavfsizlik muammolarini oldini oladi. SSH tunneli virtual mashinaga xavfsizlik devori orqali Internet orqali xavfsiz yo'lni ta'minlashi mumkin.
IANA ushbu protokol uchun TCP port 22, UDP port 22 va SCTP port 22 ni tayinlagan . IANA 2001-yildayoq SSH serverlari uchun standart TCP port 22 ni taniqli portlardan biri sifatida sanab oʻtgan edi. SSH ulanishga yoʻnaltirilgan transport qatlami protokoli sifatida TCP oʻrniga SCTP yordamida ham ishga tushirilishi mumkin .
Tarixiy rivojlanish
1-versiya
1995 yilda Finlyandiyaning Xelsinki Texnologiya Universiteti tadqiqotchisi Tatu Ylönen o'z universitet tarmog'iga parolni o'g'irlash hujumidan kelib chiqqan holda protokolning birinchi versiyasini (hozir SSH-1 deb ataladi ) ishlab chiqdi . SSH ning maqsadi avvalgi rlogin , TELNET , FTP [14] va rsh protokollarini almashtirish edi, ular kuchli autentifikatsiyani va maxfiylikni kafolatlamaydi. Ylonen o'z dasturini bepul dastur sifatida chiqardi1995 yil iyul oyida va vosita tezda mashhurlikka erishdi. 1995 yil oxiriga kelib, SSH foydalanuvchilari bazasi ellikta mamlakatda 20 000 foydalanuvchiga yetdi. [ iqtibos kerak ]
1995 yil dekabr oyida Ylönen SSHni sotish va rivojlantirish uchun SSH Communications Security kompaniyasiga asos soldi. SSH dasturiy ta'minotining asl versiyasida GNU libgmp kabi bepul dasturiy ta'minotning turli qismlari ishlatilgan, ammo SSH Communications Security tomonidan chiqarilgan keyingi versiyalar borgan sari xususiy dasturiy ta'minotga aylandi .
Hisob-kitoblarga ko'ra, 2000 yilga kelib foydalanuvchilar soni 2 millionga etgan versiya
"Secsh" SSH protokolining 2-versiyasi uchun mas'ul bo'lgan IETF ishchi guruhi uchun Internet muhandislik bo'yicha ishchi guruhining (IETF) rasmiy nomi edi . 2006 yilda SSH-2 protokolining qayta ko'rib chiqilgan versiyasi standart sifatida qabul qilindi. Ushbu versiya SSH-1 bilan mos kelmaydi. SSH-2 SSH-1ga nisbatan xavfsizlik va xususiyatlarni yaxshilaydi. Yaxshiroq xavfsizlik, masalan, Diffie-Hellman kalit almashinuvi va xabar autentifikatsiya kodlari orqali kuchli yaxlitlikni tekshirish orqali ta'minlanadi . SSH-2 ning yangi xususiyatlari bitta SSH ulanishi orqali istalgan sonli qobiq seanslarini ishga tushirish qobiliyatini o'z ichiga oladi . SSH-2 ning SSH-1 dan ustunligi va mashhurligi tufayli libssh (v0.8.0+), Lsh va Dropbear [20] kabi ba'zi ilovalar faqat SSH-2 protokolini qo'llab-quvvatlaydi.
Versiya 1.99
2006 yil yanvar oyida, 2.1 versiyasi o'rnatilgandan so'ng, RFC 4253 2.0 va oldingi versiyalarni qo'llab-quvvatlaydigan SSH serveri uning protokol versiyasini 1.99 sifatida aniqlashi kerakligini ko'rsatdi. Bu versiya raqami dasturiy taʼminotning tarixiy qayta koʻrib chiqilishini aks ettirmaydi, balki orqaga qarab muvofiqlikni aniqlash usulidir .
OpenSSH va OSSH
1999 yilda dasturchilar bepul dasturiy ta'minot versiyasi mavjudligini istab, dasturiy ta'minotni ishlab chiqishni SSH dasturining 1.2.12 versiyasidan boshlab qayta boshladilar, bu ochiq kodli litsenziya ostida oxirgi bo'lgan . Bu Björn Grönvallning OSSH dasturi uchun kod bazasi bo'lib xizmat qildi. Oradan koʻp oʻtmay, OpenBSD ishlab chiquvchilari Grönvall kodini forklashdi va OpenBSD ning 2.6 relizi bilan birga kelgan OpenSSH ni yaratdilar. Ushbu versiyadan OpenSSH ni boshqa operatsion tizimlarga o'tkazish uchun "portativlik" filiali shakllantirildi.
2005 yil holatiga ko'ra , OpenSSH yagona eng mashhur SSH ilovasi bo'lib, ko'p sonli operatsion tizim distributivlarida standart versiya edi. Ayni paytda OSSH eskirgan. OpenSSH saqlanishda davom etmoqda va OpenSSH 7.6 versiyasida kod bazasidan SSH-1 qo'llab-quvvatlashini o'chirib tashlagan holda SSH-2 protokolini qo'llab-quvvatlaydi.
Foydalanadi
X11 ilovasini SSH orqali tunnel qilish misoli : "josh" foydalanuvchisi xeyes ni ishga tushirish uchun mahalliy "foofighter" mashinasidan "tengwar" masofaviy mashinasiga "SSHed" ga ega .
Windows- da ishlaydigan PuTTY -dan foydalanib, OpenWrt- ga SSH orqali kirish .
SSH - bu ko'plab platformalarda ko'plab ilovalar uchun ishlatilishi mumkin bo'lgan protokol bo'lib, ko'pgina Unix variantlari ( Linux , BSD , shu jumladan Apple macOS va Solaris ), shuningdek, Microsoft Windows . Quyidagi ilovalardan ba'zilari faqat mavjud yoki muayyan SSH mijozlari yoki serverlari bilan mos keladigan xususiyatlarni talab qilishi mumkin. Masalan, VPN-ni amalga oshirish uchun SSH protokolidan foydalanish mumkin, ammo hozirda faqat OpenSSH serveri va mijozni amalga oshirish bilan.
Masofaviy xostdagi qobiqga kirish uchun ( Telnet va rlogin o'rnini bosadi )
Masofaviy xostda bitta buyruqni bajarish uchun ( rsh o'rniga )
Masofaviy serverga avtomatik (parolsiz) kirishni sozlash uchun (masalan, OpenSSH yordamida )
Rsync bilan birgalikda fayllarni samarali va xavfsiz zaxiralash, nusxalash va aks ettirish
Portni yo'naltirish uchun
Tunnel o'tkazish uchun ( VPN bilan adashtirmaslik kerak , u paketlarni turli tarmoqlar o'rtasida yo'naltiradi yoki ikkita translyatsiya domenini biriga bog'laydi ).
To'liq huquqli shifrlangan VPN sifatida foydalanish uchun. Shuni yodda tutingki, faqat OpenSSH serveri va mijozi bu xususiyatni qo'llab-quvvatlaydi.
X-ni masofaviy xostdan yo'naltirish uchun (bir nechta oraliq xostlar orqali mumkin)
SOCKS protokolini qo'llab-quvvatlaydigan SSH mijozlari bilan shifrlangan proksi-ulanish orqali internetni ko'rish uchun .
SSHFS yordamida mahalliy kompyuterda fayl tizimi sifatida uzoq serverga katalogni xavfsiz o'rnatish uchun .
Yuqorida muhokama qilingan bir yoki bir nechta mexanizmlar orqali serverlarni avtomatlashtirilgan masofadan kuzatish va boshqarish uchun.
SSH-ni qo'llab-quvvatlaydigan mobil yoki o'rnatilgan qurilmada ishlab chiqish uchun.
Fayl uzatish protokollarini himoya qilish uchun.
Fayl uzatish protokollari
Secure Shell protokollari bir nechta fayl uzatish mexanizmlarida qo'llaniladi.
SSH orqali RCP protokolidan ishlab chiqilgan xavfsiz nusxa (SCP).
rsync , SCP ga qaraganda samaraliroq bo'lishi uchun mo'ljallangan. Odatda SSH ulanishi orqali ishlaydi.
SSH File Transfer Protocol (SFTP), FTP ga xavfsiz alternativa ( SSH yoki FTPS orqali FTP bilan adashtirmaslik kerak )
1998 yilda chiqarilgan qobiq protokoli (FISH) orqali uzatilgan fayllar , SSH orqali Unix qobiq buyruqlaridan kelib chiqqan.
Tez va xavfsiz protokol (FASP), ya'ni Aspera , boshqaruv uchun SSH va ma'lumotlarni uzatish uchun UDP portlaridan foydalanadi.
Arxitektura
SSH-2 ikkilik paketining diagrammasi.
SSH protokoli uchta alohida komponentdan iborat qatlamli arxitekturaga ega:
Transport qatlami ( RFC 4253 ) odatda server tinglash porti sifatida 22- raqamli portni zahiraga olib, TCP/IP ning Transmission Control Protocol (TCP) protokolidan foydalanadi. Bu qatlam dastlabki kalit almashinuvini, shuningdek, server autentifikatsiyasini boshqaradi va shifrlash, siqish va yaxlitlikni tekshirishni o'rnatadi. U yuqori qatlamga har birining o'lchami 32 768 baytgacha bo'lgan ochiq matnli paketlarni jo'natish va qabul qilish interfeysini ochib beradi, lekin har bir amalga oshirish orqali ko'proq ruxsat berilishi mumkin. Transport qatlami kalitlarni qayta almashishni ham tashkil qiladi, odatda 1 Gb ma'lumot uzatilgandan keyin yoki bir soat o'tgandan keyin, qaysi biri birinchi bo'lib sodir bo'lsa.
Foydalanuvchi autentifikatsiya qatlami ( RFC 4252 ) mijozning autentifikatsiyasini boshqaradi va autentifikatsiya algoritmlari to'plamini taqdim etadi. Autentifikatsiya mijoz tomonidan boshqariladi : parol so'ralganda, bu server emas, balki SSH mijozi so'rashi mumkin. Server faqat mijozning autentifikatsiya so'rovlariga javob beradi. Keng tarqalgan foydalanuvchi autentifikatsiya usullari quyidagilarni o'z ichiga oladi:
parol : parolni to'g'ridan-to'g'ri autentifikatsiya qilish usuli, shu jumladan parolni o'zgartirish imkonini beruvchi vosita. Barcha dasturlar bu usulni qo'llamaydi.
publickey : umumiy kalitga asoslangan autentifikatsiya usuli , odatda kamida DSA , ECDSA yoki RSA kalit juftlarini qo'llab-quvvatlaydi, boshqa ilovalar ham X.509 sertifikatlarini qo'llab-quvvatlaydi.
klaviatura-interaktiv ( RFC 4256 ): ko'p qirrali usul bo'lib, server ma'lumot kiritish uchun bir yoki bir nechta so'rovlarni yuboradi va mijoz ularni ko'rsatadi va foydalanuvchi tomonidan kiritilgan javoblarni qaytarib yuboradi. S/Key yoki SecurID kabi bir martalik parol autentifikatsiyasini ta'minlash uchun foydalaniladi . Ba'zi OpenSSH konfiguratsiyalarida PAM asosiy xost-autentifikatsiya provayderi bo'lsa, parolni autentifikatsiya qilishni samarali ta'minlash uchun ishlatiladi, ba'zan esa oddiy parolni autentifikatsiya qilish usulini qo'llab-quvvatlaydigan mijoz bilan tizimga kira olmaslikka olib keladi.
Kerberos 5 yoki NTLM kabi tashqi mexanizmlar yordamida SSH autentifikatsiyasini amalga oshirish uchun kengaytiriladigan sxemani ta'minlovchi GSSAPI autentifikatsiya usullari, SSH seanslariga bir marta kirish imkoniyatini beradi . Ushbu usullar odatda tashkilotlarda foydalanish uchun tijorat SSH ilovalari tomonidan amalga oshiriladi, ammo OpenSSHda ishlaydigan GSSAPI ilovasi mavjud.
Ulanish qatlami ( RFC 4254 ) taqdim etilgan SSH xizmatlarini belgilaydigan kanallar, kanal so'rovlari va global so'rovlar tushunchasini belgilaydi. Bitta SSH ulanishi bir vaqtning o'zida bir nechta mantiqiy kanallarga ko'paytirilishi mumkin, ularning har biri ma'lumotlarni ikki tomonlama uzatadi. Kanal so'rovlari tarmoqdan tashqari kanalga xos ma'lumotlarni uzatish uchun ishlatiladi, masalan, terminal oynasining o'zgartirilgan o'lchami yoki server tomonidagi jarayonning chiqish kodi. Bundan tashqari, har bir kanal qabul qilish oynasi o'lchamidan foydalangan holda o'z oqim nazoratini amalga oshiradi. SSH mijozi global so'rov yordamida server tomonidagi portni yo'naltirishni so'raydi. Standart kanal turlariga quyidagilar kiradi:
terminal qobiqlari, SFTP va exec so'rovlari uchun qobiq (shu jumladan SCP o'tkazmalari)
mijozdan serverga yo'naltirilgan ulanishlar uchun direct-tcpip
serverdan mijozga yo'naltirilgan ulanishlar uchun forwarded-tcpip
SSHFP DNS yozuvi (RFC 4255) xostning haqiqiyligini tekshirishga yordam berish uchun umumiy xost kaliti barmoq izlarini taqdim etadi .
Ushbu ochiq arxitektura sezilarli moslashuvchanlikni ta'minlaydi, bu SSH dan xavfsiz qobiqdan tashqari turli maqsadlarda foydalanishga imkon beradi. Faqat transport qatlamining funksionalligi Transport Layer Security (TLS) bilan solishtirish mumkin; foydalanuvchi autentifikatsiya qatlami maxsus autentifikatsiya usullari bilan yuqori darajada kengaytiriladi; va ulanish qatlami ko'plab ikkilamchi seanslarni bitta SSH ulanishiga multiplekslash imkoniyatini beradi, bu xususiyat BEEP bilan taqqoslanadigan va TLSda mavjud emas.


Download 39.12 Kb.

Do'stlaringiz bilan baham:

1   2   3   4




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling