1. حدّث النظام
bash
sudo apt update && sudo apt upgrade -y2. أنشئ مستخدمًا غير جذري
bash
adduser deploy
usermod -aG sudo deployالعمل اليومي بحساب root عادة سيئة: أي خطأ في أمر، أو أي سكربت خبيث، يملك كل شيء فورًا.
3. مفاتيح SSH بدل كلمات المرور
على جهازك (لا على الخادم):
bash
ssh-keygen -t ed25519 -C "laptop"
ssh-copy-id deploy@SERVER_IPثم على الخادم عطّل كلمات المرور وتسجيل دخول root:
99-hardening.conf
sudo tee /etc/ssh/sshd_config.d/99-hardening.conf <<EOF
PermitRootLogin no
PasswordAuthentication no
MaxAuthTries 3
EOF
sudo systemctl restart ssh4. جدار ناري: افتح ما تحتاجه فقط
bash
sudo ufw default deny incoming
sudo ufw default allow outgoing
sudo ufw allow 22/tcp
sudo ufw allow 80,443/tcp
sudo ufw enable5. fail2ban ضد التخمين
bash
sudo apt install -y fail2ban
sudo systemctl enable --now fail2ban
sudo fail2ban-client status sshd6. تحديثات أمنية تلقائية
bash
sudo apt install -y unattended-upgrades
sudo dpkg-reconfigure -plow unattended-upgrades7. مزامنة الوقت وسجلات نظيفة
سجلات بتوقيت خاطئ تعقّد أي تحقيق لاحق. تأكد أن timedatectl يعرض System clock synchronized: yes.
8. اختبر من الخارج
bash
# من جهازك: يجب أن يظهر منفذا 22 و443 فقط
nmap -Pn SERVER_IPما بعد الثلاثين دقيقة
- نسخ احتياطية خارج الخادم، ومحاولة استعادة فعلية مرة كل ربع سنة.
- مراقبة بسيطة: تنبيه إن توقفت الخدمة أو امتلأ القرص.
- مراجعة
lastوjournalctl -u sshأسبوعيًا لملاحظة ما هو غير مألوف.
«الخادم غير المحصَّن ليس خادمك؛ أنت فقط أول من يستخدمه.»





