الاتصال بخادم VDS عبر SSH: PuTTY والطرفية والمفاتيح
دليل شامل للاتصال بخادم Linux VDS عبر SSH: PuTTY، الطرفية، المصادقة بالمفتاح، إنشاء قاعدة تصفية Path Panel، تغيير المنفذ ونصائح الأمان الأساسية.
تثبيت وإعداد unattended-upgrades وتحديثات الأمان فقط وإشعارات البريد الإلكتروني والاختبار والمخاطر والتخفيف منها.
أحد المتطلبات الأساسية لأمان الخادم هو التطبيق الفوري لتصحيحات الأمان. نسيان التحديث اليدوي قد يُعرّض خادمك لثغرات أمنية معروفة. تُطبّق حزمة unattended-upgrades تحديثات الأمان تلقائياً على أنظمة Ubuntu وDebian. يغطي هذا الدليل التثبيت والإعداد وأفضل الممارسات.
unattended-upgrades هو ملحق APT يُنزّل تحديثات الأمان ويثبّتها تلقائياً دون تدخل بشري. مثالي لـ:
قد تتسبب التحديثات التلقائية أحياناً في انقطاع الخدمة. تحديثات النواة بالذات تتطلب إعادة تشغيل. قم بالإعداد بعناية في بيئات الإنتاج.
# تثبيت الحزمة
sudo apt update
sudo apt install unattended-upgrades apt-listchanges -y
# التحقق من التثبيت
dpkg -l unattended-upgrades
# التحقق من حالة الخدمة
systemctl status unattended-upgrades
# إعداد الإعدادات الأساسية تلقائياً
sudo dpkg-reconfigure -plow unattended-upgrades
# اختر "Yes"
ملف الإعداد الرئيسي: /etc/apt/apt.conf.d/50unattended-upgrades
sudo nano /etc/apt/apt.conf.d/50unattended-upgrades
Unattended-Upgrade::Allowed-Origins {
// تحديثات أمان Ubuntu
"${distro_id}:${distro_codename}-security";
// جميع التحديثات (غير موصى به — يُفضَّل الأمان فقط)
// "${distro_id}:${distro_codename}";
// "${distro_id}:${distro_codename}-updates";
};
// استثناء حزم معينة من التحديثات
Unattended-Upgrade::Package-Blacklist {
// "nginx";
// "mysql-server";
// "php*";
};
// إعادة التشغيل التلقائية بعد التحديثات
Unattended-Upgrade::Automatic-Reboot "false";
// وقت إعادة التشغيل (فقط إذا كان Automatic-Reboot صحيحاً)
Unattended-Upgrade::Automatic-Reboot-Time "02:00";
// إزالة التبعيات غير المستخدمة
Unattended-Upgrade::Remove-Unused-Dependencies "true";
// إزالة حزم النواة غير المستخدمة
Unattended-Upgrade::Remove-Unused-Kernel-Packages "true";
// إشعار البريد الإلكتروني
Unattended-Upgrade::Mail "admin@rexe.tr";
// إرسال بريد إلكتروني عند التغييرات فقط
Unattended-Upgrade::MailReport "on-change";
// الخيارات: "always" أو "only-on-error" أو "on-change"
// الاحتفاظ بسجل التحديثات
Unattended-Upgrade::SyslogEnable "true";
يُعدَّ تكرار التحديثات في /etc/apt/apt.conf.d/20auto-upgrades:
sudo nano /etc/apt/apt.conf.d/20auto-upgrades
// تحديث قائمة الحزم يومياً
APT::Periodic::Update-Package-Lists "1";
// تنزيل الحزم القابلة للترقية يومياً
APT::Periodic::Download-Upgradeable-Packages "1";
// تشغيل unattended-upgrades يومياً
APT::Periodic::Unattended-Upgrade "1";
// تنظيف ذاكرة التخزين المؤقت القديمة كل 7 أيام
APT::Periodic::AutocleanInterval "7";
القيم بالأيام. "1" = يومياً، "7" = أسبوعياً، "0" = معطّل.
تطبيق تحديثات الأمان فقط تلقائياً هو النهج الأكثر أماناً لخوادم الإنتاج:
Unattended-Upgrade::Allowed-Origins {
// تحديثات الأمان فقط
"${distro_id}:${distro_codename}-security";
};
// تعليق جميع مصادر التحديثات الأخرى
// "${distro_id}:${distro_codename}";
// "${distro_id}:${distro_codename}-updates";
yتطلب mailutils أو postfix لإشعارات التحديث:
# تثبيت mailutils
sudo apt install mailutils -y
# لإعداد SMTP بسيط
sudo apt install ssmtp -y
sudo nano /etc/ssmtp/ssmtp.conf
root=admin@rexe.tr
mailhub=smtp.gmail.com:587
AuthUser=بريدك@gmail.com
AuthPass=كلمة-مرور-التطبيق
UseTLS=YES
UseSTARTTLS=YES
# اختبار البريد الإلكتروني
echo "رسالة اختبار" | mail -s "اختبار تحديث الخادم" admin@rexe.tr
# محاكاة دون تحديث فعلي
sudo unattended-upgrade --dry-run --debug
# ناتج أكثر تفصيلاً
sudo unattended-upgrade -d --dry-run
# تشغيل unattended-upgrades فوراً
sudo unattended-upgrade -d
# التشغيل في الوضع التفصيلي
sudo unattended-upgrade --verbose
# ملف السجل الرئيسي
cat /var/log/unattended-upgrades/unattended-upgrades.log
# سجلات الأخطاء
cat /var/log/unattended-upgrades/unattended-upgrades-dpkg.log
# مراقبة السجل في الوقت الفعلي
tail -f /var/log/unattended-upgrades/unattended-upgrades.log
تحديثات النواة تتطلب اهتماماً خاصاً:
# التحقق من الحاجة لإعادة التشغيل
cat /var/run/reboot-required
# الحزم التي تتطلب إعادة تشغيل
cat /var/run/reboot-required.pkgs
# فحص الحاجة لإعادة التشغيل
if [ -f /var/run/reboot-required ]; then
echo "إعادة التشغيل مطلوبة!"
fi
// تفعيل إعادة التشغيل التلقائية
Unattended-Upgrade::Automatic-Reboot "true";
// وقت إعادة التشغيل (2:00 صباحاً)
Unattended-Upgrade::Automatic-Reboot-Time "02:00";
// عدم إعادة التشغيل إذا كان المستخدمون مسجلين
Unattended-Upgrade::Automatic-Reboot-WithUsers "false";
قبل تفعيل إعادة التشغيل التلقائية، قيّم ما إذا كان تطبيقك يتحمل إعادة التشغيل. تُفضَّل إعادة التشغيل اليدوية لأنظمة الإنتاج الحرجة.
Unattended-Upgrade::Package-Blacklist {
// خادم قاعدة البيانات الحرج
"mysql-server";
"postgresql";
// خادم الويب
"nginx";
"apache2";
// النواة (للتحديثات اليدوية)
"linux-image*";
"linux-headers*";
};
# التحقق من حالة الخدمات بعد التحديثات
systemctl --failed
# مراجعة السجلات بانتظام
tail -100 /var/log/unattended-upgrades/unattended-upgrades.log
تستخدم الأنظمة المستندة إلى RPM dnf-automatic:
# التثبيت
sudo dnf install dnf-automatic -y
# الإعداد
sudo nano /etc/dnf/automatic.conf
[commands]
# تحديثات الأمان فقط
upgrade_type = security
# تطبيق التحديثات تلقائياً
apply_updates = yes
[emitters]
# إشعار البريد الإلكتروني
emit_via = email
email_to = admin@rexe.tr
# تفعيل الخدمة
sudo systemctl enable --now dnf-automatic.timer
# التحقق من الحالة
sudo systemctl status dnf-automatic.timer
على أنظمة Ubuntu وCentOS، راقب ملفات السجل عن كثب خلال الأسبوع الأول بعد تفعيل التحديثات التلقائية. هذا يساعدك على اكتشاف المشاكل غير المتوقعة مبكراً.
unattended-upgrades أداة قوية للحفاظ على أمان خوادم REXE. من خلال التطبيق التلقائي لتحديثات الأمان فقط وإضافة الحزم الحرجة إلى القائمة السوداء وتفعيل إشعارات البريد الإلكتروني، يمكنك الحفاظ على بيئة خادم آمنة ومستقرة. المراجعة المنتظمة للسجلات والتحقق في بيئة الاختبار يجعل عملية التحديث التلقائي أكثر موثوقية.
بشكل افتراضي، يثبّت تحديثات الأمان فقط. يمكنك التحكم في مصادر التحديثات المستخدمة في قسم Allowed-Origins من ملف /etc/apt/apt.conf.d/50unattended-upgrades. يُنصح لخوادم الإنتاج بإبقاء مصدر '-security' نشطاً فقط.
بشكل افتراضي، مرة واحدة يومياً. يختلف الوقت الدقيق بناءً على مؤقت APT للنظام (عادةً في الليل). يمكنك ضبط التكرار في /etc/apt/apt.conf.d/20auto-upgrades.
أضف اسم الحزمة إلى قسم Package-Blacklist في ملف 50unattended-upgrades. لاستثناء nginx، أضف '"nginx";'. يمكنك استخدام wildcards: '"php*";' يستثني جميع حزم PHP.
اضبط 'Unattended-Upgrade::Automatic-Reboot "false";' في ملف 50unattended-upgrades. هذا يمنع أي تحديث، بما في ذلك تحديثات النواة، من تشغيل إعادة تشغيل تلقائية.
عدة طرق: تحقق من حالة الخدمة بـ 'systemctl status unattended-upgrades'، راجع ملف السجل بـ 'cat /var/log/unattended-upgrades/unattended-upgrades.log'، أو شغّل محاكاة بـ 'sudo unattended-upgrade --dry-run'.
دليل شامل للاتصال بخادم Linux VDS عبر SSH: PuTTY، الطرفية، المصادقة بالمفتاح، إنشاء قاعدة تصفية Path Panel، تغيير المنفذ ونصائح الأمان الأساسية.
دليل خطوة بخطوة للاتصال بـ Windows Server VDS عبر RDP: الإعداد الكامل، تفعيل NLA للأمان، إنشاء قاعدة تصفية Path Panel واستكشاف الأخطاء وإصلاحها.
تغيير نظام تشغيل خادم VDS عبر لوحة REXE: نصائح النسخ الاحتياطي قبل التثبيت، توزيعات Linux المدعومة وإصدارات Windows Server المتاحة للتثبيت الآن.