🔒

إدارة الخوادم (Server Admin)

تأمين ومراقبة وصيانة خوادم الإنتاج كمحترف. حماية، نسخ احتياطي، وأداء مستقر.

متوسط Security Production

🛡️ جدار الحماية (UFW)

Terminal — UFW Setup
# تثبيت UFW apt install ufw -y # السماح بـ SSH أولاً (مهم!) ufw allow 22/tcp # السماح بـ HTTP و HTTPS ufw allow 80/tcp ufw allow 443/tcp # تفعيل الجدار ufw enable # عرض القواعد ufw status verbose # حظر IP معين ufw deny from 192.168.1.100
🚨 احذر! تأكد من السماح بـ SSH (منفذ 22) قبل تفعيل UFW وإلا ستفقد الاتصال بالسيرفر.

🚫 Fail2Ban — الحماية من الهجمات

حظر المحاولات المتكررة

Fail2Ban يراقب سجلات الخادم ويحظر عناوين IP التي تحاول الدخول بشكل متكرر (مثل هجمات القوة الغاشمة على SSH).

Terminal — Fail2Ban Setup
# تثبيت apt install fail2ban -y # إنشاء إعداد مخصص cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local # تعديل الإعدادات nano /etc/fail2ban/jail.local [sshd] enabled = true port = 22 maxretry = 3 bantime = 3600 findtime = 600 # إعادة التشغيل systemctl restart fail2ban # عرض المحظورين fail2ban-client status sshd

🔑 تأمين SSH

/etc/ssh/sshd_config
# تعطيل الدخول بكلمة مرور PasswordAuthentication no # تعطيل الدخول لـ root PermitRootLogin no # تغيير المنفذ الافتراضي Port 2222 # السماح لمستخدمين محددين AllowUsers devops admin # إعادة تشغيل SSH systemctl restart sshd
Terminal — إنشاء مفتاح SSH
# إنشاء زوج مفاتيح ssh-keygen -t ed25519 -C "[email protected]" # نسخ المفتاح للسيرفر ssh-copy-id -p 2222 [email protected] # الدخول بالمفتاح ssh -p 2222 [email protected]

💾 النسخ الاحتياطي (Backups)

Terminal — rsync Backup
# نسخ محلي rsync -avz --delete /var/www/ /backup/www/ # نسخ لسيرفر بعيد rsync -avz -e ssh /var/www/ user@backup:/data/www/ # نسخ قاعدة بيانات PostgreSQL pg_dump -U postgres mydb > /backup/db_$(date +%F).sql # نسخ مضغوط pg_dump -U postgres mydb | gzip > /backup/db_$(date +%F).sql.gz
💡 استخدم قاعدة 3-2-1: 3 نسخ، على وسيطين مختلفين، 1 نسخة خارج الموقع.

📋 إدارة السجلات (Logs)

Terminal — Log Management
# عرض سجلات خدمة journalctl -u nginx -f # عرض آخر 100 سطر journalctl -u nginx -n 100 # عرض من وقت محدد journalctl --since "2025-01-01" --until "2025-01-02" # تنظيف السجلات القديمة journalctl --vacuum-time=7d # logrotate — إعداد تدوير السجلات cat /etc/logrotate.d/nginx /var/log/nginx/*.log { daily rotate 14 compress delaycompress missingok }

قائمة فحص أمان السيرفر

🎯 1. فعّل جدار الحماية (UFW/Firewalld)
2. عطّل تسجيل الدخول بكلمة مرور لـ SSH
3. ثبّت Fail2Ban
4. عطّل المستخدم root
5. حدّث النظام بانتظام
6. فعّل النسخ الاحتياطي التلقائي
7. راقب السجلات بشكل دوري
8. استخدم unattended-upgrades للتحديثات الأمنية
السابق: Docker التالي: CI/CD