๐Ÿ—๏ธ
Xavfsizlik

SSH kalit xavfsizligi: public/private key, passphrase va ssh-agent

25.09.2034
โ† Barcha maqolalar

SSH kalit nima va u qanday ishlaydi

SSH kalit autentifikatsiyasi parol o'rniga ikkita kalitdan iborat juftlik ishlatadi: private key (foydalanuvchida) va public key (serverda). Foydalanuvchi serverga ulanmoqchi bo'lganida, server tasodifiy challenge yuboradi. Mijoz uni private key bilan imzolaydi va serverga qaytaradi. Server public key orqali imzoni tekshiradi va to'g'ri bo'lsa, kirishga ruxsat beradi.

Bu mexanizm parolga qaraganda xavfsizroq, chunki private key hech qachon tarmoq orqali uzatilmaydi. Brute force hujumi amalda imkonsiz, chunki 4096-bitli RSA yoki Ed25519 kalitni topish uchun millionlab yillar kerak. Lekin xavf insondan kelib chiqadi: noto'g'ri saqlangan private key barcha himoyalarni buzadi.

Kalit algoritmlari va o'lchamlari

Bugungi kunda eng tavsiya etilgan algoritm โ€” Ed25519. U yangi, tezkor, qisqa (256 bit), lekin RSA-3072 ga teng xavfsizlik beradi. Eski tizimlar uchun RSA ishlatish kerak bo'lsa, kamida 4096 bit bo'lishi shart. DSA va RSA-1024 ham bugun zaif hisoblanadi va ulardan voz kechish kerak.

Sayt.uz amaliyotida barcha yangi kalitlar Ed25519, eski RSA-2048 kalitlar 90 kun ichida qayta yaratiladi. Kalitni yaratish buyrug'i oddiy: ssh-keygen -t ed25519 -C "ish-email@sayt.uz". Tavsif (-C) kalit egasini aniqlashga yordam beradi va auditda foydali.

Passphrase โ€” qo'shimcha himoya qatlami

Private key fayli o'g'irlansa, hujumchi darhol serverga kirishi mumkin. Passphrase โ€” bu kalitni shifrlash uchun ishlatiladigan qo'shimcha parol. Hatto fayl o'g'irlangan taqdirda ham, passphrase bo'lmasa, kalit ishlamaydi. Passphrase kuchli (16+ simvol) va parol menejerda saqlanishi kerak.

Ko'pchilik foydalanuvchilar passphrase yozishni noqulay deb hisoblaydi. Lekin ssh-agent bilan birgalikda passphrase faqat bir marta kiritiladi va keyin sessiya davomida xotirada saqlanadi. Sayt.uz qoidalari: barcha production access kalitlari majburiy passphrase bilan, dev muhitlarida ham tavsiya etiladi.

ssh-agent va kalit menejmenti

ssh-agent โ€” bu fonda ishlovchi xizmat bo'lib, decrypt qilingan kalitlarni xotirada vaqtincha saqlaydi. Bu sizning passphrase ni har safar qayta kiritmasligingizga yordam beradi. Agent ssh-add buyrug'i orqali kalitlarni yuklaydi va sessiya tugagach ularni o'chiradi.

Kichik tafsilot: ssh-agent forwarding xavfli bo'lishi mumkin. Agar siz uzoq serverga ulanib, undan boshqa serverga sakrasangiz, oraliq server sizning agent xotirangizga kirishi mumkin. Yechim โ€” agent forwarding o'rniga ProxyJump (-J) yoki bastion host orqali ulanish.

Kalit rotatsiyasi va audit

Kalitni vaqti-vaqti bilan almashtirish kerak: shaxsiy ishchi kalitlar 1 yilda bir marta, production server kalitlari 6 oyda bir marta. Avtomatik tizimlar uchun (CI/CD, deploy bot) har 90 kunda yangilanadi. Eski kalit darhol server authorized_keys faylidan olib tashlanadi.

Audit muhim: har bir serverda qaysi kalitlar borligi va ular kimga tegishliligi reestrda saqlanishi kerak. Ansible yoki Terraform orqali authorized_keys avtomatik boshqariladi va ortiqcha kalitlar darhol olib tashlanadi. Login urinishlari /var/log/auth.log da yoziladi va anomaliyalar SIEM tizimiga yuboriladi.

Sayt.uz amaliyot

Sayt.uz da SSH siyosati: barcha kalitlar Ed25519, passphrase majburiy, server tomonida PasswordAuthentication=no, root login man, faqat bastion orqali ulanish, har bir ulanish two-factor (Duo) bilan tasdiqlanadi. Authorized_keys Ansible orqali boshqariladi va o'zgarish git da yoziladi. Har 6 oyda kalitlar rotatsiyasi, har oyda audit hisoboti tayyorlanadi.

O'xshash maqolalar

๐Ÿ” Parol menejerlar โ€” Bitwarden, 1Password, LastPass va KeePass tanlovi ๐Ÿฏ Honeypot โ€” formada yashirin maydon, botlarni ushlaydi va spamni to'xtatadi ๐Ÿ“„ /.well-known/security.txt โ€” xavfsizlik bo'yicha bog'lanish standart ๐Ÿ“‹ GDPR moslik โ€” Yevropa ma'lumotlarini himoya qilish majburiyatlari
๐ŸŒ Til
๐Ÿ‡บ๐Ÿ‡ฟ O'zbek โœ“ ๐Ÿ‡บ๐Ÿ‡ฟ ะŽะทะฑะตะบ ๐Ÿ‡ท๐Ÿ‡บ ะ ัƒััะบะธะน ๐Ÿ‡ฌ๐Ÿ‡ง English