10 خطوات أساسية لأمان الخادم
10 خطوات أساسية لتأمين خادم Linux: مصادقة مفتاح SSH، جدار الحماية، Fail2ban، التحديثات التلقائية، حماية DDoS والمزيد. دليل مع الأوامر والشروحات.
جدول المحتويات
10 خطوات أساسية لأمان الخادم
عند إعداد خادم Linux جديد، لا يكون التكوين الافتراضي محسّناً للأمان. كل خادم متصل بالإنترنت يصبح هدفاً لأدوات المسح الآلي في غضون دقائق. يشرح هذا الدليل الخطوات العشر الأساسية التي تحتاج إلى تنفيذها لتأمين خادمك، مع الأوامر.
كن حذراً لعدم فقدان الوصول إلى خادمك أثناء تطبيق هذه الخطوات. خاصةً عند تغيير تكوين SSH، احتفظ بجلستك الحالية مفتوحة واختبر بنافذة طرفية جديدة.
الخطوة 1: مصادقة مفتاح SSH وتعطيل تسجيل الدخول بكلمة المرور
تسجيل الدخول عبر SSH بكلمة مرور عرضة لهجمات القوة الغاشمة. استخدام زوج مفاتيح SSH أكثر أماناً بكثير.
إنشاء زوج مفاتيح SSH (على الجهاز المحلي)
# إنشاء مفتاح Ed25519
ssh-keygen -t ed25519 -C "server-name@rexe"
# أو إذا أردت استخدام RSA
ssh-keygen -t rsa -b 4096 -C "server-name@rexe"
نسخ المفتاح العام إلى الخادم
# تشغيل من الجهاز المحلي
ssh-copy-id -i ~/.ssh/id_ed25519.pub user@server-ip
تعطيل تسجيل الدخول بكلمة المرور
# تحرير /etc/ssh/sshd_config
sudo nano /etc/ssh/sshd_config
# تغيير هذه الأسطر:
PasswordAuthentication no
PubkeyAuthentication yes
PermitRootLogin no
# إعادة تشغيل خدمة SSH
sudo systemctl restart sshd
الخطوة 2: تكوين جدار الحماية (UFW)
# تثبيت UFW
sudo apt install ufw -y
# تعيين السياسات الافتراضية
sudo ufw default deny incoming
sudo ufw default allow outgoing
# السماح بـ SSH
sudo ufw allow 22/tcp
# منافذ خادم الويب
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp
# تفعيل UFW
sudo ufw enable
الخطوة 3: تثبيت وتكوين Fail2ban
# تثبيت Fail2ban
sudo apt install fail2ban -y
# إنشاء ملف التكوين
sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local
[DEFAULT]
bantime = 3600
findtime = 600
maxretry = 5
[sshd]
enabled = true
maxretry = 3
bantime = 86400
sudo systemctl enable fail2ban
sudo systemctl start fail2ban
الخطوة 4: التحديثات الأمنية التلقائية
sudo apt install unattended-upgrades -y
sudo dpkg-reconfigure -plow unattended-upgrades
الخطوة 5: تعطيل الخدمات غير المستخدمة
# قائمة الخدمات الجارية
sudo systemctl list-units --type=service --state=running
# فحص المنافذ المفتوحة
sudo ss -tlnp
# إيقاف وتعطيل الخدمات غير الضرورية
sudo systemctl stop bluetooth
sudo systemctl disable bluetooth
الخطوة 6: كلمات مرور قوية والمصادقة الثنائية
sudo apt install libpam-pwquality -y
minlen = 12
ucredit = -1
lcredit = -1
dcredit = -1
ocredit = -1
المصادقة الثنائية مع Google Authenticator
sudo apt install libpam-google-authenticator -y
google-authenticator
الخطوة 7: النسخ الاحتياطي المنتظم
# نسخ احتياطي محلي مع rsync
rsync -avz --delete /var/www/ /backup/www/
# مهمة cron للنسخ الاحتياطي التلقائي
0 2 * * * rsync -avz /var/www/ /backup/www/
# نسخ احتياطي لقاعدة البيانات
mysqldump -u root -p --all-databases | gzip > /backup/db_$(date +%Y%m%d).sql.gz
طبّق قاعدة النسخ الاحتياطي 3-2-1: 3 نسخ، 2 وسائط مختلفة، موقع مختلف واحد.
الخطوة 8: مراقبة السجلات
tail -f /var/log/auth.log
tail -f /var/log/syslog
grep "Failed password" /var/log/auth.log | tail -20
الخطوة 9: حماية DDoS
# حماية من SYN flood
sudo iptables -A INPUT -p tcp --syn -m limit \
--limit 1/s --limit-burst 3 -j ACCEPT
sudo iptables -A INPUT -p tcp --syn -j DROP
# حد عدد الاتصالات (لكل IP)
sudo iptables -A INPUT -p tcp --dport 80 -m connlimit \
--connlimit-above 50 -j REJECT
قد تكون الحماية من DDoS المستندة إلى البرمجيات غير كافية ضد الهجمات واسعة النطاق. توفر البنية التحتية لـ Path.net من REXE تصفية DDoS على مستوى الشبكة، مما يُنظّف حركة مرور الهجوم قبل وصولها إلى خادمك.
الخطوة 10: تكوين SSL/TLS
sudo apt install certbot python3-certbot-nginx -y
sudo certbot --nginx -d example.com -d www.example.com
server {
listen 443 ssl http2;
ssl_protocols TLSv1.2 TLSv1.3;
add_header Strict-Transport-Security "max-age=63072000" always;
add_header X-Frame-Options DENY;
add_header X-Content-Type-Options nosniff;
}
قائمة التحقق الأمنية
- مصادقة مفتاح SSH نشطة، تسجيل الدخول بكلمة المرور معطّل
- تسجيل دخول root عبر SSH معطّل
- جدار الحماية مُكوَّن
- Fail2ban مثبت ويعمل
- التحديثات الأمنية التلقائية نشطة
- الخدمات غير المستخدمة معطّلة
- سياسة كلمة مرور قوية مطبّقة
- المصادقة الثنائية مفعّلة
- خطة نسخ احتياطي منتظمة منشأة
- مراقبة السجلات مُكوَّنة
- حماية DDoS نشطة
- شهادة SSL/TLS مثبتة
مقالات ذات صلة
فحص البرامج الضارة والـ Rootkit: دليل rkhunter و ClamAV
احمِ خادم Linux من البرامج الضارة والـ Rootkit. تثبيت rkhunter و ClamAV، إعداد الفحص، تفسير النتائج، الفحص المجدول والاستجابة للحوادث.
إعداد Fail2Ban: دليل حماية SSH من هجمات Brute-Force
احمِ خادمك من هجمات SSH Brute-Force باستخدام Fail2Ban. التثبيت، إعداد jail.local، جيلات Nginx/Apache، القائمة البيضاء للـ IP، مراقبة الحظر وتنبيهات البريد الإلكتروني.
إعداد خادم WireGuard VPN: دليل خطوة بخطوة
أنشئ خادم WireGuard VPN: توليد المفاتيح، إعداد الخادم والعميل، توجيه IP، قواعد جدار الحماية وإعداد عملاء Windows/Linux/Android.