iptables — netfilter ustidagi klassik vosita
iptables Linux yadrosidagi netfilter modulida ishlovchi paketlarni filtrlash vositasidir. U INPUT, OUTPUT va FORWARD zanjirlarida ishlaydi va har bir paket uchun qoidalarni ketma-ket tekshiradi. Server ma'muri uchun iptables har bir port, har bir IP va har bir protokolni alohida boshqarish imkonini beradi, lekin sintaksisi murakkab va xatoga moyil.
Oddiy misol sifatida quyidagi qoidalar to'plamini ko'rib chiqing: avval barcha chiquvchi trafikka ruxsat berasiz, keyin localhost'ga ishonasiz, o'rnatilgan ulanishlarni saqlaysiz, SSH va HTTP/HTTPS portlarini ochasiz va qolgan barcha kiruvchi trafikni rad etasiz. Bu yondashuv "default deny" siyosati deb ataladi va eng xavfsiz konfiguratsiya hisoblanadi.
UFW — sodda va tushunarli
UFW Ubuntu jamoasi tomonidan iptables ustiga yozilgan qobiq bo'lib, oddiy buyruqlar yordamida murakkab qoidalarni yaratish imkonini beradi. Masalan, ufw allow 22/tcp buyrug'i SSH portini ochadi, ufw deny from 1.2.3.4 esa muayyan IP'ni bloklaydi. UFW yangi boshlovchilar va kichik loyihalar uchun ideal yechim, chunki u xatolar sonini sezilarli darajada kamaytiradi.
UFW'ni yoqishdan oldin albatta SSH portiga ruxsat berishni unutmang, aks holda serverdan uzilib qolasiz. Buyruq: ufw allow OpenSSH yoki ufw allow 22. Shundan keyin ufw enable bilan firewall'ni faollashtirasiz. Holatni ko'rish uchun ufw status verbose ishlatiladi.
Asosiy qoidalar to'plami
Har qanday production serverda quyidagi qoidalar majburiy: SSH portini standart 22'dan o'zgartirib qo'ying yoki kalit autentifikatsiyasidan foydalaning, faqat zarur portlarni oching (web server uchun 80 va 443), MySQL va Redis kabi xizmatlarni faqat localhost'ga bog'lang, rate limiting orqali brute-force hujumlarini cheklang. Bu qoidalar minimal himoya qatlamini ta'minlaydi.
Qo'shimcha himoya uchun fail2ban'ni iptables yoki UFW bilan birga ishlating. Fail2ban log fayllarni kuzatib boradi va shubhali harakatlarni avtomatik ravishda bloklaydi. Masalan, SSH'ga 5 marta noto'g'ri parol bilan urinish bo'lsa, IP 1 soatga bloklanadi. Bu juda samarali himoya choralaridan biri.
NAT va portni yo'naltirish
Agar serverda bir nechta xizmatlar bo'lsa va ularni turli portlarda ichki tarmoqqa yo'naltirish kerak bo'lsa, iptables PREROUTING zanjiridan foydalanasiz. UFW'da esa /etc/ufw/before.rules faylini tahrirlash orqali NAT qoidalarini qo'shasiz. Bu konteynerlar va virtual mashinalar bilan ishlashda muhim.
Sayt.uz amaliyot
Sayt.uz xosting xizmati barcha mijoz serverlarida UFW yoqilgan holatda taqdim etiladi va standart sifatida faqat 22, 80, 443 portlari ochiq bo'ladi. VPS xizmati buyurtma qilgan mijozlar uchun biz boshlang'ich firewall sozlamalarini bepul o'rnatib beramiz va fail2ban'ni faollashtiramiz. Murakkabroq qoidalar yoki maxsus portlar kerak bo'lsa, texnik yordam jamoamizga murojaat qiling.