Skip to content

16. Linux xavfsizligi — 15 ta savol-javob

Avval javobni o'zingiz ayting, so'ng ochib solishtiring.

1. Eng kam imtiyoz (least privilege) tamoyili nima?

Javob

Har bir foydalanuvchi, xizmat va jarayon faqat o'z vazifasi uchun zarur minimal huquqqa ega bo'lishi kerak. Amalda: xizmatlar root'da emas, alohida cheklangan foydalanuvchida; sudo da faqat kerakli buyruqlar; fayl ruxsatlari 640/750; keraksiz xizmatlar o'chirilgan. Zaiflik yoki xato bo'lsa, zarar doirasi kichik bo'ladi.

2. Hujum yuzasi (attack surface) nima va uni qanday kamaytirasiz?

Javob

Hujumchi ta'sir qila oladigan barcha nuqtalar: ochiq portlar, ishlayotgan xizmatlar, o'rnatilgan paketlar, foydalanuvchilar, SUID fayllar. Kamaytirish: keraksiz xizmat va paketlarni olib tashlash, ss -ltnp bilan ochiq portlarni audit qilish, firewall (default deny), faqat kerakli interfeysga bog'lash, muntazam yangilash.

3. DAC va MAC modellari farqi nima?

Javob

DAC (Discretionary Access Control) — an'anaviy Linux ruxsatlari: resurs egasi kimga ruxsat berishni o'zi hal qiladi; root hamma narsani chetlab o'tadi. MAC (Mandatory Access Control) — SELinux/AppArmor: markaziy siyosat jarayon nima qila olishini belgilaydi, hatto egasi yoki root bo'lsa ham siyosatdan o'ta olmaydi. MAC DAC'ni almashtirmaydi, uning ustiga qo'shimcha qatlam bo'ladi.

4. SELinux va AppArmor farqi nima?

Javob

SELinux (RHEL oilasi) har bir fayl va jarayonga xavfsizlik konteksti (yorliq) beradi va siyosat yorliqlar orasidagi ruxsatlarni belgilaydi; kuchli, lekin murakkab. AppArmor (Ubuntu/SUSE) yo'lga asoslangan profillar ishlatadi: sodda, o'rganish oson. Rejimlar: SELinux Enforcing/Permissive/Disabled; AppArmor enforce/complain. Muammoni tashxislashda Permissive ga vaqtincha o'tish mumkin, lekin doimiy o'chirish tavsiya etilmaydi.

5. Fayl SELinux sababli ochilmasa, qanday aniqlaysiz?

Javob

Oddiy ruxsatlar to'g'ri, lekin Permission denied chiqsa: getenforce, ls -Z (kontekst), ausearch -m avc yoki /var/log/audit/audit.log dagi AVC denied yozuvlari. Faylni boshqa joydan mv qilsangiz, eski konteksti qoladi; restorecon -Rv to'g'ri kontekstni tiklaydi. Doimiy qoida uchun semanage fcontext; setenforce 0 faqat diagnostika uchun.

6. sudo xavfsizligi bo'yicha eng yaxshi amaliyotlar qaysilar?

Javob

sudoers ni faqat visudo bilan tahrirlash; hamma uchun ALL o'rniga aniq buyruqlar (to'liq yo'l bilan); NOPASSWD ni minimal ishlatish; muharrir yoki shell ochishga imkon beradigan buyruqlarni (vi, less, find -exec) ruxsat etmaslik (shell escape); /etc/sudoers.d/ fayllari uchun 0440; barcha sudo chaqiruvlari jurnalga yoziladi — ularni tekshirish.

7. PAM nima?

Javob

PAM (Pluggable Authentication Modules) — autentifikatsiya, hisob, parol va sessiya qoidalarini moduli tarzda boshqaradigan tizim: login, sshd, sudo kabi dasturlar PAM orqali foydalanuvchini tekshiradi. Sozlama /etc/pam.d/. Modullarni (parol murakkabligi pwquality, urinishlarni cheklash faillock, 2FA) qo'shish dasturlarni qayta yozishsiz mumkin. PAM xatosi tizimga kirishni butunlay buzishi mumkin, shu sabab o'zgartirishda ochiq root sessiyasini saqlang.

8. Yaxshi parol siyosati nimalardan iborat?

Javob

Yetarli uzunlik (uzunlik murakkablikdan muhimroq, parol-ibora yaxshi), taniqli parollarni rad etish, ketma-ket xato urinishlarda bloklash (faillock), parolni takroran ishlatmaslik, muddat (chage) va shaxsiy hisoblar. Imkon bo'lsa, SSH uchun parolni butunlay o'chirib, kalit va 2FA ishlatish eng yaxshi variant.

9. Firewall: stateful nima? Default deny nima uchun muhim?

Javob

Stateful firewall ulanish holatini kuzatadi: chiqayotgan so'rovga javob paketlari avtomatik ruxsat etiladi (ESTABLISHED), yangi kiruvchi ulanishlar esa qoidalar bo'yicha. Default deny — aniq ruxsat berilmagan hamma narsa taqiqlanadi; yangi xizmat tasodifan ochiq qolmaydi. Teskarisi (default allow) har bir xizmat uchun taqiq yozishni talab qiladi, ya'ni xavfsizlik xatoga moyil.

10. ufw, iptables va nftables orasidagi farq nima?

Javob

iptables — Netfilter'ning an'anaviy interfeysi (zanjirlar va jadvallar). nftables — uning zamonaviy davomchisi (yagona sintaksis, yaxshiroq unumdorlik); ko'p distributivda iptables buyrug'i nft ustida ishlaydi. ufw (Ubuntu) va firewalld (RHEL) — oddiy yuqori darajali boshqaruv. Qoidalar tartibi muhim: birinchi mos kelgan ishlaydi; qoidalarni doimiy saqlash alohida qadam.

11. fail2ban qanday ishlaydi?

Javob

Log fayllarini (masalan, SSH auth) kuzatadi, belgilangan vaqt ichida ko'p muvaffaqiyatsiz urinish qilgan IP ni topadi va firewall qoidasi orqali vaqtincha bloklaydi (bantime). jail lar bilan sozlanadi, ignoreip ishonchli manzillarni himoya qiladi. U brute-force shovqinini kamaytiradi, lekin kalit asosidagi kirish va firewall o'rnini bosmaydi; taqsimlangan hujumlarga qarshi cheklangan.

12. auditd nima va nimaga kerak?

Javob

Linux audit tizimi: kernel darajasida muhim hodisalarni (fayl o'zgarishi, system call, kirish, buyruq bajarilishi) qoidalar asosida yozadi. auditctl -w /etc/passwd -p wa -k kalit fayl o'zgarishini kuzatadi, ausearch -k kalit bilan qidiriladi. Muvofiqlik (compliance) va hodisa tekshiruvi uchun kerak. Qoidalar doimiy bo'lishi uchun /etc/audit/rules.d/ ga yoziladi.

13. Qaysi fayllar va sozlamalar muntazam ruxsat auditida tekshiriladi?

Javob

SUID/SGID fayllar (kutilmagan yangilari), hamma yoza oladigan fayllar va kataloglar, egasi yo'q fayllar, /etc/shadow va SSH kalitlari ruxsatlari, sudoers mazmuni, authorized_keys fayllari, ochiq portlar, UID 0 ga ega bir nechta hisob va paroli yo'q hisoblar. Natijani asosiy holat (baseline) bilan solishtirish o'zgarishlarni ko'rsatadi.

14. Server hardening uchun asosiy qadamlar qaysilar?

Javob

Muntazam xavfsizlik yangilanishlari (avtomatik), SSH qotirish (kalit, root yopiq), firewall default deny, keraksiz xizmat va paketlarni olib tashlash, MAC (SELinux/AppArmor) yoqilgan holda, eng kam imtiyoz, kuchli parol siyosati, fail2ban, audit va markazlashgan log, kernel parametrlari (sysctl), va muntazam tekshiruv. Hech biri yagona kumush o'q emas: chuqurlashgan himoya (defense in depth).

15. Hodisa (buzilish shubhasi) bo'lsa, loglardan nimani qidirasiz?

Javob

Autentifikatsiya loglari (auth.log/secure: kutilmagan kirishlar, Accepted vaqt va manba IP), last/lastb, sudo chaqiruvlari, yangi foydalanuvchi yoki kalit (authorized_keys) o'zgarishlari, noodatiy jarayonlar va ochiq portlar (ss -ltnp), cron o'zgarishlari, yangi SUID fayllar, fayl o'zgarish vaqtlari. Dalilni saqlash: loglarni nusxalash va tizimni keraksiz o'zgartirmaslik.