Linux VPS’da SSH xavfsizligini ta’minlash
Ochiq VPS ishga tushgandan so‘ng bir necha daqiqa ichida avtomatik kirish urinishlarini qabul qila boshlaydi. Quyidagi qadamlar SSH ga hujum qilishni ancha qiyinlashtiradi. Ular Ubuntu yoki Debian uchun yozilgan. Agar server hali yaratilmagan bo‘lsa, Linux VPS ijaraga oling va toza imijdan boshlang. Yangi sozlamalarni ikkinchi oynadan sinab ko‘rmaguncha joriy SSH sessiyangizni yopmang.
1. sudo huquqiga ega oddiy foydalanuvchi yarating
adduser deploy
usermod -aG sudo deploy2. Parollar o‘rniga SSH kalitlaridan foydalaning
Kompyuteringizda:
ssh-keygen -t ed25519 -C "you@example.com"
ssh-copy-id deploy@YOUR_SERVER_IP
ssh deploy@YOUR_SERVER_IPParollarni o‘chirishdan oldin kalit bilan bir marta kirib, u ishlashiga ishonch hosil qiling.
3. Parol va root kirishni o‘chiring
Quyidagi faylni yarating: /etc/ssh/sshd_config.d/99-hardening.conf
PasswordAuthentication no
PermitRootLogin no
PubkeyAuthentication yes
MaxAuthTries 3Sintaksisni tekshiring va xizmatni qayta yuklang. Xizmat Ubuntu va Debian’da ssh, RHEL asosidagi tizimlarda esa sshd deb ataladi:
sudo sshd -t && sudo systemctl reload sshIkkinchi terminal oynasini oching va qayta kiring. Faqat shundan keyin eski sessiyani yoping.
4. Firewall’ni yoqing
sudo ufw default deny incoming
sudo ufw default allow outgoing
sudo ufw allow OpenSSH
sudo ufw enable
sudo ufw status verboseFaqat kerakli portlarni oching, masalan veb-server uchun 80 va 443. Bundan tashqari, bulut boshqaruv panelidagi firewall qoidasi orqali SSH ga faqat o‘zingizning IP manzilingizdan kirishga ruxsat berishingiz mumkin.
5. Fail2ban bilan takroriy xatolarni bloklang
sudo apt install -y fail2banQuyidagi faylni yarating: /etc/fail2ban/jail.local
[sshd]
enabled = true
maxretry = 5
findtime = 10m
bantime = 1hsudo systemctl enable --now fail2ban
sudo fail2ban-client status sshd6. Xavfsizlik yangilanishlarini avtomatik o‘rnating
sudo apt install -y unattended-upgrades
sudo dpkg-reconfigure --priority=low unattended-upgrades7. Qo‘shimcha imkoniyatlar (ixtiyoriy)
- SSH portini o‘zgartirish log shovqinini kamaytiradi, ammo o‘zi xavfsizlik chorasi emas.
- Shaxsiy kalitni parol bilan himoyalang va zaxira nusxasini xavfsiz joyda saqlang.
- Kirishlarni
lastvasudo journalctl -u ssh --since todaybuyruqlari bilan tekshiring. - Server sozlangandan so‘ng snapshot oling, shunda toza boshlang‘ich holatni tiklay olasiz.
Agar kirish imkoni yo‘qolsa, bulut panelidagi brauzer konsolidan foydalanib tizimga kiring va sozlamalarni tuzating. Keyingi himoya qatlami haqida esa DDoS himoyasi bo‘yicha qo‘llanma ma’lumot beradi.
Tez-tez so‘raladigan savollar
Root kirishni o‘chirish xavfsizmi?
Ha, agar avval sudo foydalanuvchi yaratib, uning kaliti ishlashini tekshirgan bo‘lsangiz. Administrativ buyruqlarni baribir sudo orqali bajarishingiz mumkin.
Faqat kalitlardan foydalansam, Fail2ban kerakmi?
Bu ixtiyoriy. Parol orqali kirish o‘chirilgan bo‘lsa, brute force muvaffaqiyatga erisha olmaydi, ammo Fail2ban log shovqini va yuklamani kamaytiradi.
SSH kalitimni yo‘qotsam-chi?
Bulut panelidagi konsoldan tizimga kiring, yangi ochiq kalitni ~/.ssh/authorized_keys fayliga qo‘shing va eskisini o‘chiring.