server xavfsizligi

Ubuntu serverni noldan xavfsiz sozlash: to'liq qo'llanma

Nodirbek Amonov (ADN HacKeR) · 2026-yil 15-oktabr · ~8 daqiqa

Yangi server internetga ulangan zahoti, bir necha daqiqa ichida unga botlar SSH orqali parol terib kirishga urinishni boshlaydi. Shuning uchun serverga loyiha joylashdan oldin uni himoyalash kerak. Bu qo'llanmada men har bir yangi serverda birinchi bajaradigan qadamlarimni ko'rsataman. Misollar Ubuntu 24.04 LTS uchun, lekin Debian'da ham deyarli bir xil ishlaydi.

Qo'llanma oxirida sizda: alohida admin foydalanuvchi, faqat kalit orqali kiriladigan SSH, yoqilgan firewall, brute-force hujumlardan himoya va avtomatik xavfsizlik yangilanishlari bo'ladi.

1. Tizimni yangilash

Serverga birinchi marta root sifatida kirgach, avval barcha paketlarni yangilang:

apt update && apt full-upgrade -y
reboot

2. Alohida admin foydalanuvchi yaratish

Kundalik ishni root ostida qilish xavfli. O'zingiz uchun foydalanuvchi yarating va unga sudo huquqi bering:

adduser nodirbek
usermod -aG sudo nodirbek

3. SSH kalit bilan kirish

Parol taxmin qilinishi mumkin, kalitni esa taxmin qilib bo'lmaydi. O'z kompyuteringizda (serverda emas) kalit yarating:

ssh-keygen -t ed25519 -C "nodirbek@laptop"

So'ng ochiq kalitni serverga yuboring:

ssh-copy-id nodirbek@SERVER_IP

Endi parolsiz kira olishingizni tekshiring: ssh nodirbek@SERVER_IP.

Muhim: keyingi qadamga o'tishdan oldin kalit bilan kirish ishlayotganiga ishonch hosil qiling va joriy SSH oynasini yopmang. Aks holda serverdan o'zingizni qulflab qo'yishingiz mumkin.

4. SSH'ni qattiqlashtirish

Asosiy sshd_config faylini tahrirlash o'rniga alohida sozlama fayli yaratamiz. Fayl nomi 00- bilan boshlanadi, chunki SSH birinchi o'qigan qiymatni oladi. Ba'zi bulutli serverlarda 50-cloud-init.conf fayli parol bilan kirishni qayta yoqib qo'yadi, bizning faylimiz undan oldin o'qiladi.

sudo nano /etc/ssh/sshd_config.d/00-hardening.conf
PermitRootLogin no
PasswordAuthentication no
KbdInteractiveAuthentication no
PubkeyAuthentication yes
MaxAuthTries 3
LoginGraceTime 30
X11Forwarding no
AllowUsers nodirbek

Sozlamalarni tekshiring va SSH'ni qayta ishga tushiring:

sudo sshd -t
sudo sshd -T | grep -E 'permitrootlogin|passwordauthentication'
sudo systemctl restart ssh

Natijada permitrootlogin no va passwordauthentication no chiqishi kerak. Endi yangi terminal oynasida qayta kirib ko'ring. Kirish ishlasagina eski oynani yoping.

5. UFW firewall

Faqat kerakli portlarni oching, qolganini yoping. SSH'ga ruxsatni firewall'ni yoqishdan oldin bering!

sudo ufw default deny incoming
sudo ufw default allow outgoing
sudo ufw allow OpenSSH
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp
sudo ufw enable
sudo ufw status verbose

Agar serverga faqat ofis IP manzilidan kirsangiz, SSH'ni o'sha IP bilan cheklash yanada xavfsiz:

sudo ufw allow from 203.0.113.10 to any port 22 proto tcp
sudo ufw delete allow OpenSSH
Tashkilot tarmog'ida server Kerio Control kabi perimetr firewall ortida tursa ham, UFW'ni o'chirmang. Bu "chuqur himoya" (defense in depth) tamoyili: bir himoya qatlami buzilsa, ikkinchisi ishlab turadi.

6. Fail2ban: brute-force hujumlardan himoya

Fail2ban loglarni kuzatib boradi va ko'p marta noto'g'ri kirishga uringan IP manzillarni vaqtincha bloklaydi.

sudo apt install fail2ban -y
sudo nano /etc/fail2ban/jail.local
[DEFAULT]
bantime  = 1h
findtime = 10m
maxretry = 5
backend  = systemd

[sshd]
enabled = true
sudo systemctl enable --now fail2ban
sudo fail2ban-client status sshd

7. Avtomatik xavfsizlik yangilanishlari

sudo apt install unattended-upgrades -y
sudo dpkg-reconfigure -plow unattended-upgrades

Bu sozlama xavfsizlik yamoqlarini har kuni avtomatik o'rnatib turadi.

8. Yakuniy tekshiruv

Serverda qaysi portlar tinglayotganini ko'ring. Ro'yxatda siz bilmagan servis bo'lmasligi kerak:

sudo ss -tulpn

Xulosa: tekshiruv ro'yxati

Bu asosiy qadamlar. Keyingi maqolalarda Nginx'ni xavfsiz sozlash, Let's Encrypt bilan bepul HTTPS olish va Kerio Control'da tarmoq qoidalarini yozish haqida gaplashamiz.

Shuningdek o'qing: Kerio Control'da firewall qoidalarini to'g'ri sozlash.

Nodirbek Amonov (ADN HacKeR)

Nodirbek Amonov (ADN HacKeR)
Kiberxavfsizlik mutaxassisi, Denov tadbirkorlik va pedagogika instituti axborot xavfsizligi bo'limi boshlig'i. Bog'lanish →