الأمان ليس ميزة؛ بل هو عملية مستمرة. في مشهد التهديدات الحديث، ترك إعداد لينكس الافتراضي مكشوفًا هو دعوة للاختراق. بصفتنا مطورين ومديري أنظمة، يجب علينا تبنّي عقلية "الرفض الافتراضي". تغطي هذه الدليل طبقات الدفاع الحرجة التي يجب عليك تنفيذها لحماية خوادم الإنتاج ضد الهجمات الشائعة والمتقدمة. سننتقل من الشروحات الأساسية إلى تقنيات تقوية عملية وجاهزة للإنتاج توازن بين الأمان وسهولة الاستخدام.
قفل وصول SSH
الصدفة الآمنة (SSH) هي نقطة الدخول الرئيسية لمعظم الهجمات. سوء تهيئة SSH هو السبب الرئيسي لاختراق الخوادم. خطوتك الأولى هي القضاء على طرق المصادقة الضعيفة.
1. تعطيل المصادقة بكلمة المرور: فرض استخدام تشفير المفتاح العام.
2. تغيير المنفذ الافتراضي: على الرغم من أنه ليس أمانًا عبر الغموض، فإن الانتقال من المنفذ 22 يقلل من الضوضاء الناتجة عن روبوتات المسح الآلي.
3. تقييد المستخدمين: السماح فقط لحسابات إدارية محددة بتسجيل الدخول.
# /etc/ssh/sshd_config
# Disable password and root login
PermitRootLogin no
PasswordAuthentication no
PubkeyAuthentication yes
# Restrict access to specific users
AllowUsers deploy admin
# Change default port (optional)
Port 2222
# Enforce strong key exchange algorithms
KexAlgorithms curve25519-sha256, diffie-hellman-group-exchange-sha256
بعد تعديل هذه الإعدادات، قم بالاختبار في جلسة منفصلة قبل إغلاق جلستك الحالية للتأكد من أنك لم تقفل نفسك خارج النظام.
تنفيذ التحكم الإلزامي في الوصول (MAC)
صلاحيات يونكس التقليدية (قراءة/كتابة/تنفيذ) غير كافية للبيئات المعقدة. أنظمة MAC مثل SELinux (المعيار في RHEL/Fedora) وAppArmor (المعيار في Ubuntu/Debian) تفرض سياسات على العمليات، بغض النظر عن المستخدم الذي ينفذها. إذا تم اختراق خادم ويب، يمنع MAC وصوله إلى الملفات الحساسة مثل /etc/shadow أو تصعيد الصلاحيات.
بالنسبة لـ SELinux، استخدم أدوات semanage وaudit2allow لتحسين السياسات. بالنسبة لـ AppArmor، حدد الملفات الشخصية (profiles) باستخدام الملفات الموجودة في /etc/apparmor.d/.
# Check SELinux status
getenforce
# View recent AVC denials to understand why processes are blocked
ausearch -m avc -ts recent
دفاع طبقة الشبكة: الجدران النارية وFail2ban
يعمل الجدار الناري كحارس بوابتك. استخدم firewalld لأنظمة RHEL أو ufw لأنظمة Debian. تأكد من فتح المنافذ الضرورية فقط لخدماتك (مثل 443 لـ HTTPS، ومنفذ SSH المخصص).
Fail2ban يكمل جدارك الناري من خلال مراقبة ملفات السجلات لمحاولات الوصول الفاشلة وحظر عناوين IP المخالفة ديناميكيًا. وهو أمر حاسم للتخفيف من هجمات القوة الغاشمة (Brute-force).
# Install and enable fail2ban
sudo apt-get install fail2ban
sudo systemctl enable fail2ban
sudo systemctl start fail2ban
# Create /etc/fail2ban/jail.local to customize
[sshd]
enabled = true
port = 2222
filter = sshd
maxretry = 3
bantime = 1h
تقوية النظام والتدقيق
يشمل التقوية تقليل سطح الهجوم. ويتضمن ذلك تعطيل الخدمات غير المستخدمة (مثل FTP أو Telnet)، وتطبيق ضبط معاملات النواة، وتفعيل تسجيل التدقيق.
استخدم auditd لتتبع التغييرات في ملفات النظام الحرجة. يمكنك إعداد قواعد مراقبة لتنبيه المديرين إذا تم تعديل /etc/passwd أو /etc/sudoers.
# Watch for changes to critical files
sudo auditctl -w /etc/passwd -p wa -k identity
sudo auditctl -w /etc/sudoers -p wa -k sudoers
# Check audit logs
sudo ausearch -k identity
بالإضافة إلى ذلك، تأكد من تقوية معاملات النواة. أضف ما يلي إلى /etc/sysctl.conf لمنع هجمات إعادة توجيه ICMP وتمكين حماية انتحال IP:
net.ipv4.conf.all.rp_filter = 1
net.ipv4.conf.all.accept_redirects = 0
net.ipv4.conf.all.send_redirects = 0
الخاتمة
أمان الخوادم ليس مهمة لمرة واحدة بل مسؤولية مستمرة. من خلال الجمع بين إعدادات SSH القوية، والتحكم الإلزامي في الوصول، وحظر عناوين IP الديناميكي عبر Fail2ban، والتدقيق الصارم، تبني دفاعًا متعدد الطبقات. راجع سجلاتك بانتظام، وحافظ على تحديث برامجك، واختبر تدابير التقوية الخاصة بك. تذكر، أفضل استراتيجية أمان هي تلك التي يمكن لفريقك فعليًا الحفاظ عليها. ابدأ بالأساسيات، وأضف التعقيد حسب الحاجة، وأعطِ دائمًا الأولوية لمبدأ أدنى صلاحيات في تصميم نظامك.