Linux Server Xavfsizligi: VPS Uchun 7 Muhim Qadam
Muallif: Javohir Abdullayev · · Server va DevOps

Nega Server Xavfsizligi Birinchi O'rinda Turishi Kerak?
Ko'plab yangi boshlagan dasturchilar va frilanserlar o'zlarining Telegram boti yoki Django loyihasini yangi VPS (Virtual Private Server) ga joylashtirgach, xavfsizlik masalasini unutib qo'yadilar. Biroq, fakt shuki: yangi server ochilganidan bir necha daqiqa o'tib, avtomatlashtirilgan botlar uning 22-portiga ulanishga va standart parollarni taxmin qilishga (brute-force) urinishni boshlaydi.
Agar serveringizda standart root foydalanuvchisi va oddiy parol saqlanib qolsa, serveringiz xakerlar qo'liga o'tishi, spambotga aylanishi yoki ma'lumotlar bazangiz o'chirib yuborilishi hech gap emas. Ushbu amaliy qo'llanmada Ubuntu/Debian serveringizni himoya qilish bo'yicha amaliyotda sinalgan 7 ta eng muhim qadamni ko'rib chiqamiz.
1. Tizimni Yangilash va Avtomatik Xavfsizlik Paketlari
Serverga ilk bor ulanganingizda eng birinchi bajarilishi shart bo'lgan vazifa — tizim paketlarini eng so'nggi barqaror versiyalarga yangilashdir. Bu tizimdagi ma'lum zaifliklarni zudlik bilan yopadi:
sudo apt update && sudo apt upgrade -yShuningdek, muhim xavfsizlik yangilanishlarini avtomatik o'rnatish uchun unattended-upgrades paketini sozlash tavsiya etiladi:
sudo apt install unattended-upgrades -y
sudo dpkg-reconfigure --priority=low unattended-upgrades2. Yangi Foydalanuvchi Yaratish va Unga Sudo Berish
Serverda kundalik vazifalarni bajarish uchun doimiy ravishda root hisobidan foydalanish juda xavfli amaliyot hisoblanadi. Birinchidan, bitta noto'g'ri buyruq butun operatsion tizimni ishdan chiqarishi mumkin. Ikkinchidan, tajovuzkorlar birinchi navbatda aynan root nomiga hujum qilishadi.
Yangi foydalanuvchi oching va unga administrator (sudo) huquqini bering:
# Yangi foydalanuvchi qo'shish (masalan: developer)
adduser developer
# Foydalanuvchini sudo guruhiga qo'shish
usermod -aG sudo developerShundan so'ng yangi foydalanuvchi bilan tizimga kirib ko'ring va barcha operatsiyalarni shu hisobdan boshqaring.
3. SSH Kalitlari (SSH Keys) Orqali Kirishni Yoqish
Parollar qanchalik uzun bo'lmasin, ularni topish, o'g'irlash yoki kalitlar bilan solishtirganda buzish ehtimoli yuqori. SSH kalitlari (Ed25519 yoki RSA 4096) orqali kirish esa deyarli buzib bo'lmas darajadagi himoyani ta'minlaydi.
O'z shaxsiy kompyuteringizda yangi kalit juftligini yarating:
ssh-keygen -t ed25519 -C "sizning_emailingiz@example.com"Hosil bo'lgan ochiq kalitni serverga nusxalang:
ssh-copy-id -i ~/.ssh/id_ed25519.pub developer@SERVER_IP_MANZILIKalit bilan muvaffaqiyatli kirganingizga ishonch hosil qilganingizdan keyin, parollar orqali kirishni butunlay o'chirib qo'yish shart.
4. Standart SSH Sozlamalarini Qat'iylashtirish
Serverning /etc/ssh/sshd_config faylini tahrirlab, root kirishini va parol orqali autentifikatsiyani taqiqlang:
sudo nano /etc/ssh/sshd_configFayl ichidagi quyidagi parametrlarni toping va ularni o'zgartiring:
PermitRootLogin no— root orqali to'g'ridan-to'g'ri kirishni bloklaydi.PasswordAuthentication no— faqat SSH kaliti bilan kirishga ruxsat beradi.Port 2222(ixtiyoriy) — standart 22-portni o'zgartirish botlarning ommaviy skanerlaridan qutqaradi.
O'zgarishlarni saqlab, SSH xizmatini qayta ishga tushiring:
sudo systemctl restart sshMuhim eslatma: Hozirgi ochiq terminalni yopmasdan turib, boshqa bir oynada yangi SSH sessiyasini ochib, ulanish ishlayotganini albatta tekshiring!
5. UFW (Uncomplicated Firewall) Sozlash
Firewall — bu sizning serveringizning tashqi eshigi. Unda faqat ruxsat berilgan portlargina ochiq bo'lishi kerak. Masalan, agar siz veb-sayt yuritayotgan bo'lsangiz, faqat SSH, HTTP (80) va HTTPS (443) portlariga ruxsat berilishi yetarli.
UFW orqali barcha kiruvchi ulanishlarni yopib, faqat keraklilarini ochamiz:
# Barcha kiruvchi ulanishlarni taqiqlash, chiquvchilarga ruxsat berish
sudo ufw default deny incoming
sudo ufw default allow outgoing
# SSH portiga ruxsat berish (agar portni o'zgartirgan bo'lsangiz, shu raqamni yozing)
sudo ufw allow 22/tcp
# Veb-trafik uchun ruxsat berish
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp
# Firewallni faollashtirish
sudo ufw enableFirewall holatini tekshirish uchun sudo ufw status verbose buyrug'idan foydalaning.
6. Fail2ban Bilan Brute-Force Hujumlarini To'xtatish
Fail2ban dasturi server loglarini doimiy ravishda kuzatib boradi. Agar biror IP-manzil qisqa vaqt ichida bir necha bor noto'g'ri parol kiritishga urinsa, Fail2ban ushbu IP-manzilni firewall darajasida ma'lum vaqtga bloklaydi.
O'rnatish va yoqish juda oson:
sudo apt install fail2ban -y
sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local
sudo systemctl enable --now fail2banFail2ban orqali qancha botlar bloklanganini ko'rish uchun quyidagi buyruqni bering:
sudo fail2ban-client status sshd7. Tizim Loglarini Monitoring Qilish
Serveringizda nima sodir bo'layotganidan doimo xabardor bo'lishingiz zarur. Muvaffaqiyatsiz kirish urinishlarini tekshirish uchun ushbu log fayllarini kuzatib turing:
sudo tail -f /var/log/auth.logAgar kutilmagan faollik yoki g'alati IP-manzillarni sezsangiz, darhol ularni tahlil qiling va zarur bo'lsa butunlay bloklang.
Xulosa
Ushbu 7 ta qadamni bajarish yangi serverni sozlashda sizga atigi 10-15 daqiqa vaqt oladi. Ammo bu oddiy qoidalar loyihangiz xavfsizligini 99% ga oshiradi va kutilmagan ma'lumotlar yo'qotilishidan asraydi. Esda tuting: xavfsizlik — bir martalik ish emas, balki tizimli amaliyotdir.
Teglar: #Linux #DevOps #VPS #Server Xavfsizligi #Ubuntu