OpenSSH va OSSH - Linux server boshqaruvi

OpenSSH va OSSH
1999 yilda dasturchilar bepul dasturiy ta'minot versiyasiga ega bo'lishni
xohlab, dasturiy ta'minotni ishlab chiqishni ochiq kodli litsenziya ostida so'nggi
bo'lgan original SSH dasturining 1.2.12 versiyasidan boshlab qayta
boshladilar . Bu Björn Grönvallning OSSH dasturi uchun kod bazasi bo'lib
xizmat qildi. Ko'p o'tmay, OpenBSD ishlab chiquvchilari Grönvall kodini ajratib
oldilar va OpenSSH ni yaratdilar
,
u
OpenBSD 2.6 relizi bilan jo'natilgan.
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.
SSH - bu ko'plab platformalarda ko'plab ilovalar uchun ishlatilishi mumkin
bo'lgan protokol bo'lib, ko'pgina Unix variantlari ( Linux , BSD , 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 , bu 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 (aka FISH) orqali uzatiladigan 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.
SSH protokoli uchta alohida komponentdan iborat qatlamli arxitekturaga ega:
● Transport qatlami (RFC 4253) odatda TCP/IP ning Transmission
Control Protocol (TCP) protokolidan foydalanadi va server tinglash porti
sifatida 22- raqamli portni saqlaydi. 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) mijoz
autentifikatsiyasini boshqaradi va autentifikatsiya algoritmlari to'plamini
taqdim etadi. Autentifikatsiya mijoz tomonidan boshqariladi : agar parol
so'ralsa, bu server emas, balki SSH mijozi so'rashi mumkin. Server
faqat mijozning autentifikatsiya so'rovlariga javob beradi. Keng
qo'llaniladigan 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): server ma'lumot kiritish uchun bir yoki
bir nechta so'rovlarni yuboradigan va mijoz ularni ko'rsatadigan va
foydalanuvchi tomonidan kiritilgan javoblarni qaytarib yuboradigan ko'p
qirrali usul. S/Key yoki SecurID kabi bir martalik parol
autentifikatsiyasini ta'minlash uchun foydalaniladi . Ba'zi OpenSSH
konfiguratsiyalarida PAM asosiy xost-autentifikatsiya provayderi bo'lsa,
parol autentifikatsiyasini samarali ta'minlash uchun ishlatiladi, ba'zida
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 darajasi (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.
Qo’llaniluvchi shifrlash algorithmlari
● EdDSA ,Ochiq kalitli kriptografiya uchun ECDSA , RSA va DSA.
●
Kalit almashinuvi
uchun ECDH va Diffie-Hellman .
● MAC uchun HMAC , AEAD va UMAC .
●
Simmetrik shifrlash uchun AES (va eskirgan RC4 , 3DES , DES ) .
● AEAD shifrlash uchun AES-GCM va ChaCha20-Poly1305 .
● Kalit barmoq izi uchun SHA (va eskirgan MD5 ) .
Xulosa
Bilamizki Linux va linuxga asoslangan distributivlar open source ya’ni
ochiq kodli operatsion tizimlardir. Mustaqil ish bajarish jarayonida bir qancha
ochiq kodli distributivlardan foydalandim. Ular Fedora, Debian, Ubuntu,
CentOS va .hk. Ularda ssh serverni sozlash va ularga ssh-client orqali
ulanish, scp orqali fayl jo’natish, ssh-copy-id orqali kalit faylni
authorizatsiyadan o’tkazish amallarini amaliyotda bajarib ko’rdim. Bunda
fayllarni shifrlab uzatish xavfsizlikni ta’minlash haqida ko’p qo’shimcha
bilimlarga ega bo’ldim.
Foydalanilgan adabiyotlar
1. “Linux, express kurs”. Valentin Solomenchuchuk
2.
https://flypods.ru/uz/osnovnye-osobennosti-linux-operacionnaya-sistem
a-linux-operacionnaya/
3. Linux Operatsion tizimi. Boynazarov I.M
http://hozir.org