في العصر الرقمي، يُعدّ تأمين Linux الخادم الافتراضي الخاص (VPS)
أمراً بالغ الأهمية لحماية بياناتك وبنيتك التحتية. يستعرض هذا
الدليل الشامل الأساليب المتاحة لحماية Linux VPS من
التهديدات الإلكترونية.
حافظ على تحديث
نظامك
من أبرز جوانب تأمين Linux VPS التأكدُ من أن
نظامك محدَّث باستمرار. البرامج القديمة قد تحتوي على
ثغرات يستغلها المهاجمون. إليك كيفية القيام بذلك:
نفِّذ الخطوات التالية:
استخدام مدير الحزم
توفّر معظم توزيعات Linux مدير حزم مدمجاً. على سبيل المثال، إذا كنت
تستخدم نظاماً مبنياً على Debian، يمكنك تشغيل الأوامر التالية
لتحديث الحزم وترقيتها:
sudo apt update
sudo apt upgrade
إذا كنت تستخدم نظام CentOS، فاستعن بـ yum:
sudo yum update
إعداد التحديثات
التحديثات
إعداد التحديثات التلقائية باستخدام unattended-upgrades على
الأنظمة المبنية على Debian:
على الأنظمة المبنية على Debian كـ Ubuntu، يمكنك استخدام
حزمة unattended-upgrades لأتمتة عملية التحديث.
- تثبيت unattended-upgrades:
sudo apt install unattended-upgrades
- ضبط إعدادات التحديث التلقائي. عدِّل ملف الإعداد
:
sudo nano /etc/apt/apt.conf.d/50unattended-upgrades
- تفعيل التحديثات التلقائية للحزم المتعلقة بالأمان:
Unattended-Upgrade::Allowed-Origins {
"${distro_id}:${distro_codename}-security";
"${distro_id}:${distro_codename}-updates";
"${distro_id}:${distro_codename}-proposed";
"${distro_id}:${distro_codename}-backports";
};
- تفعيل خدمة unattended-upgrades وتشغيلها:
sudo dpkg-reconfigure -plow unattended-upgrades
سيطلب منك هذا الأمر تأكيد التغييرات. اختر «نعم» للمتابعة.
تفعيل التحديثات التلقائية.
إعداد التحديثات التلقائية باستخدام yum-cron على
CentOS:
على CentOS، يمكنك استخدام yum-cron للتحديثات التلقائية:
- تثبيت yum-cron:
sudo yum install yum-cron
- تشغيل خدمة yum-cron وتفعيلها عند الإقلاع:
sudo systemctl enable yum-cron
sudo systemctl start yum-cron
استخدم
كلمات مرور قوية ومفاتيح SSH للمصادقة الآمنة
تأمين Linux VPS يستلزم استخدام أساليب مصادقة قوية.
سواء كنت تتصل من عميل Linux أو Windows، إليك كيفية
استخدام كلمات المرور القوية ومفاتيح SSH بفاعلية:
استخدام
كلمات مرور قوية
عند إنشاء حسابات المستخدمين على VPS الخاص بك، تأكد من أن كلمات المرور
معقدة، وتجمع بين الأحرف الكبيرة والصغيرة والأرقام والرموز
الخاصة. تجنب كلمات المرور السهلة التخمين.
استخدام مفتاح SSH
المصادقة
لعميل Linux:
- لإنشاء زوج مفاتيح SSH على عميل Linux الخاص بك، استخدم ssh-keygen
:
ssh-keygen -t rsa -b 2048
سيُخزَّن المفتاح العام افتراضياً في ~/.ssh/id_rsa.pub.
- انسخ مفتاحك العام إلى VPS:
ssh-copy-id user@your_server_ip
- عطِّل تسجيل الدخول عبر SSH بكلمة المرور على VPS من خلال ملف إعداد خادم SSH
(/etc/ssh/sshd_config):
PasswordAuthentication no
لعميل Windows:
- على Windows، استخدم PowerShell للحصول على وظائف مماثلة:
ssh-keygen
- انسخ مفتاحك العام إلى VPS باستخدام PowerShell. استبدل
IP-ADDRESS-OR-FQDN مع الخادم البعيد
العنوان:
type $env:USERPROFILE\.ssh\id_rsa.pub | ssh root@{IP-ADDRESS-OR-FQDN} "cat >> .ssh/authorized_keys"
- عطِّل تسجيل الدخول عبر SSH بكلمة المرور على VPS من خلال ملف إعداد خادم SSH
(/etc/ssh/sshd_config):
PasswordAuthentication no
تطبيق جدار حماية
تأمين Linux VPS يتطلب إعداد جدار حماية للتحكم في
حركة المرور الواردة والصادرة. إليك كيفية تطبيق جدار الحماية لـ
تعزيز الأمان:
استخدم ufw (Uncomplicated Firewall) على Debian/Ubuntu أو
firewalld على CentOS:
- ثبّت أداة إدارة جدار الحماية إن لم تكن مثبتة مسبقاً.
لـ ufw على Debian/Ubuntu:
sudo apt install ufw
لـ firewalld على CentOS:
sudo yum install firewalld
- أضف قواعد للسماح بـ SSH قبل تفعيل جدار الحماية لتجنب
قطع الاتصال بنفسك:
لـ ufw على Debian/Ubuntu:
sudo ufw allow OpenSSH
لـ firewalld على CentOS:
sudo firewall-cmd --permanent --add-service=ssh
- فعّل جدار الحماية وعيّن القواعد الافتراضية:
لـ ufw على Debian/Ubuntu:
sudo ufw enable
sudo ufw default deny incoming
sudo ufw default allow outgoing
لـ firewalld على CentOS:
sudo systemctl start firewalld
sudo systemctl enable firewalld
- أعد تحميل جدار الحماية لتطبيق التغييرات.
لـ ufw على Debian/Ubuntu:
sudo ufw reload
لـ firewalld على CentOS:
sudo systemctl reload firewalld
تعطيل تسجيل الدخول بحساب root
تأمين Linux VPS يتطلب تقييد وصول المستخدم الجذر. إليك كيفية
تعطيل تسجيل الدخول كـ root لتعزيز الأمان:
- إنشاء مستخدم جديد: سجّل الدخول إلى VPS كمستخدم root، ثم أنشئ
حساب مستخدم جديد بصلاحيات sudo. استبدل newuser باسم المستخدم
الذي تريده:
adduser newuser
usermod -aG sudo newuser
- أنشئ مجلد .ssh وملف authorized_keys وعيّن الصلاحيات المناسبة لـ
المستخدم الجديد:
mkdir -p /home/newuser/.ssh
touch /home/newuser/.ssh/authorized_keys
chmod 600 /home/newuser/.ssh/authorized_keys
chown -R newuser:newuser /home/newuser/.ssh
-
تأكد من توليد المفتاح العام ونسخه إلى
VPS. -
سجّل الدخول بالمستخدم الجديد.
-
افصل اتصالك بـ VPS (إن كنت متصلاً كـ root) وأعد
تسجيل الدخول باستخدام حساب المستخدم الجديد. هذا يضمن قدرتك على تنفيذ
المهام الإدارية باستخدام sudo. -
تعديل إعدادات SSH:
افتح ملف إعداد خادم SSH على VPS الخاص بك. يوجد هذا الملف
عادةً في المسار /etc/ssh/sshd_config:
sudo nano /etc/ssh/sshd_config
ابحث عن السطر الذي يحتوي على PermitRootLogin واضبط قيمته على no:
PermitRootLogin no
احفظ الملف واخرج من محرر النصوص.
- إعادة تشغيل خدمة SSH:
بعد إجراء هذا التغيير، يجب إعادة تشغيل خدمة SSH حتى
تسري الإعدادات الجديدة:
على Debian/Ubuntu:
sudo systemctl restart ssh
على CentOS:
sudo systemctl restart sshd
تعزيز أمان SSH
الإعدادات
يتطلب تأمين VPS الخاص بـ Linux تعزيز إعدادات SSH
بشكل أكبر لرفع مستوى الحماية، والتأكد من أن قواعد UFW محدّثة
ومتوافقة مع المتطلبات. إليك كيفية تعزيز إعدادات SSH وتحديث قواعد UFW:
rules:
- السماح بمنفذ SSH الجديد في UFW:
إذا كنت تستخدم UFW (جدار الحماية المبسّط)، فاسمح أولاً بمنفذ SSH الجديد
قبل تعديل المنفذ الافتراضي:
# Allow the new SSH port (e.g., 2222)
sudo ufw allow 2222/tcp
- إزالة OpenSSH من قواعد UFW:
بعد تغيير منفذ SSH، يجب إزالة خدمة OpenSSH القديمة
(المنفذ الافتراضي 22) من قواعد UFW، للتأكد من السماح بمنفذ SSH
الجديد فقط:
# Remove the old OpenSSH service (default port 22)
sudo ufw delete allow OpenSSH
- تغيير منفذ SSH:
يستخدم SSH المنفذ 22 افتراضياً. تغيير هذا المنفذ يضيف طبقة
طبقة حماية إضافية تجعل من الصعب على الروبوتات الآلية اكتشاف
خادم SSH الخاص بك.
افتح ملف إعداد خادم SSH:
sudo nano /etc/ssh/sshd_config
ابحث عن السطر الذي يحتوي على Port 22 وغيّر رقم المنفذ إلى
منفذ آخر غير مستخدم، مثل 2222:
Port 2222
- تفعيل إعادة التحقق بالمفتاح:
يمكنك تحديد مهلة زمنية لإعادة التحقق بالمفتاح لتعزيز أمان
جلسة SSH الخاصة بك. بهذا الشكل، إذا تركت جلسة SSH دون مراقبة،
ستنتهي تلقائياً بعد فترة زمنية محددة.
أضف الأسطر التالية إلى ملف إعداد خادم SSH أو عدّلها،
ثم احفظ الملف:
ClientAliveInterval 300
ClientAliveCountMax 2
- إعادة تحميل قواعد UFW وخدمة SSH:
sudo ufw reload
sudo systemctl restart ssh
- بعد إجراء التغييرات اللازمة، يمكنك إنشاء اتصال SSH جديد
باستخدام الأمر التالي:
ssh -p <new_port> user@your_server_ip
تطبيق Fail2Ban
تأمين Linux VPS يتطلب الحماية من محاولات تسجيل الدخول بالقوة الغاشمة
وغيرها من أنواع النشاط الخبيث. Fail2Ban أداة مفيدة
لهذا الغرض. إليك كيفية تطبيقه:
- تثبيت Fail2Ban:
ابدأ بتحديث قائمة الحزم لديك للتأكد من حصولك على أحدث
الحزم المتاحة:
للأنظمة المبنية على Debian (مثل Ubuntu):
sudo apt update
بالنسبة لـ CentOS:
sudo yum update
تثبيت Fail2Ban:
للأنظمة المبنية على Debian:
sudo apt install fail2ban
بالنسبة لـ CentOS:
sudo yum install fail2ban
- إعداد Fail2Ban:
يقع ملف الإعداد الرئيسي لـ Fail2Ban في
/etc/fail2ban/jail.conf. يمكنك إنشاء ملف تجاوز
في المسار /etc/fail2ban/jail.local لتخصيص الإعدادات
دون تعديل الإعداد الافتراضي. افتح هذا الملف:
sudo nano /etc/fail2ban/jail.local
أضف الإعداد التالي لحظر عناوين IP لمدة 10 دقائق
(600 ثانية) بعد ستة محاولات تسجيل دخول فاشلة. عدّل المعاملات حسب
الحاجة:
[sshd]
enabled = true
maxretry = 6
findtime = 600
bantime = 600
احفظ الملف واخرج من محرر النصوص.
- تشغيل Fail2Ban وتفعيله:
شغّل Fail2Ban وفعّله ليبدأ تلقائياً عند الإقلاع:
sudo systemctl start fail2ban
sudo systemctl enable fail2ban
- التحقق من حالة Fail2Ban:
يمكنك التحقق من حالة Fail2Ban للتأكد من أنه يعمل
على النحو المتوقع:
sudo fail2ban-client status
يجب أن ترى أنه يراقب خدمة SSH.
الأساليب الستة الجوهرية التي ناقشناها هنا توفر حماية متينة
في مواجهة الثغرات المحتملة. بالحفاظ على تحديث نظامك،
واعتماد مصادقة قوية، وضبط جدران الحماية، وتشديد إعدادات SSH،
وتطبيق Fail2Ban، تُحصّن VPS الخاص بك وتحافظ على راحة البال
في عالم متصل باستمرار. إن كانت لديك أي أسئلة، لا
تتردد في التواصل مع فريق الدعم لدينا عبر تقديم
تذكرة دعم.
في قسم الأمان أيضاً
أدلة ذات صلة.
هل تحتاج مساعدة في شيء آخر؟
متوسط وقت الاستجابة أقل من ساعة. بشر حقيقيون، لا روبوتات.