[{"data":1,"prerenderedAt":183},["ShallowReactive",2],{"seo-verification":3,"blog-تحديثات-أمان-تلقائية-vps-debian-ubuntu-ar":6},{"google":4,"bing":5},"EycwPY2XMyTkVzas3n1ygeNJFGAH513qrMjfDljzsMQ","",{"key":7,"data":8},"blog-تحديثات-أمان-تلقائية-vps-debian-ubuntu-ar",{"id":9,"slug":10,"slugs":11,"title":15,"excerpt":16,"readTime":17,"views":18,"isPinned":19,"publishedAt":20,"updatedAt":21,"category":22,"categories":28,"featuredImage":30,"bgImage":31,"posterImage":32,"relatedSolution":30,"intro":33,"sections":34,"ctaTitle":123,"ctaBody":124,"ctaButton":125,"ctaUrl":126,"relatedPosts":127},382,"تحديثات-أمان-تلقائية-vps-debian-ubuntu",{"fr":12,"en":13,"ar":10,"es":14},"securite-vps-mises-a-jour-automatiques-debian-ubuntu","vps-automatic-security-updates-debian-ubuntu","actualizaciones-seguridad-vps-debian-ubuntu","تحديثات الأمان التلقائية على VPS بنظام Debian\u002FUbuntu","قم بتكوين unattended-upgrades على خوادم VPS الخاصة بك لأتمتة تصحيحات الأمان وتقليل سطح الهجوم عبر أسطول عملائك.",10,0,false,"2026-09-26T00:00:00+00:00","2026-09-29T14:40:42+00:00",{"id":23,"name":24,"slug":25,"color":26,"icon":27},8,"الأمان والمراقبة","securite-monitoring","bg-rose-500\u002F10 text-rose-400","security",[29],{"id":23,"name":24,"slug":25,"color":26,"icon":27},null,"\u002Fblog\u002Fcovers\u002Fbg.svg","\u002Fblog\u002Fcovers\u002Fsecurite-vps-mises-a-jour-automatiques-debian-ubuntu-poster.svg","خادم VPS مكشوف على الإنترنت دون سياسة تحديث هو سطح هجوم مفتوح. يتم استغلال الثغرات الحرجة في غضون ساعات من نشر CVE، قبل أي تدخل يدوي ممكن. تكوين **unattended-upgrades** على كل خادم Debian أو Ubuntu في أسطولك هو أبسط طريقة لتقليص نافذة التعرض هذه آليًا، دون التخلي عن التحكم فيما يُطبَّق.",[35,39,49,52,55,74,77,81,84,120],{"type":36,"title":37,"body":38},"h2","لماذا أتمتة تصحيحات الأمان","دورة حياة الثغرة قصيرة. بين نشر CVE حرج وأولى محاولات الاستغلال الجماعي، لا تتجاوز النافذة الزمنية بضع ساعات. بالنسبة لوكالة تدير عشرة أو عشرين أو خمسين خادم VPS، انتظار تدخل يدوي مجدول أسبوعيًا يعني إتاحة أيام من التعرض على كل جهاز.\n\nتعزز اللوائح هذا المطلب. يلزم **قانون المرونة السيبرانية** الأوروبي المشغّلين بإثبات سياسة تصحيح موثقة ومُطبَّقة. بالنسبة للوكالات التي تستضيف تطبيقات العملاء، قد يُعرّض غياب إمكانية تتبع التصحيحات مسؤوليتها التعاقدية للخطر في حالة وقوع حادث.\n\nالحجة التقنية بسيطة: غالبية اختراقات خوادم Linux تستغل ثغرات توفر تصحيح لها منذ أكثر من 30 يومًا. أداة `unattended-upgrades`، المضمّنة في مستودعات Debian وUbuntu، تثبّت تصحيحات الأمان تلقائيًا من المستودعات الرسمية دون المساس بترقيات الإصدارات الرئيسية أو الحزم التي استثنيتها صراحةً.",{"type":40,"title":41,"items":42},"ul","فوائد ملموسة للوكالات التي تدير أسطول عملاء",[43,44,45,46,47,48],"**تقليص وقت المعالجة**: تُطبَّق تصحيحات الأمان في غضون ساعات من نشرها في المستودعات المستقرة، دون تذكرة صيانة.","**تتبع تلقائي**: كل عملية تثبيت مسجّلة في `\u002Fvar\u002Flog\u002Funattended-upgrades\u002F`، قابلة للاطلاع في أي وقت للتدقيق أو التقارير.","**نطاق محكوم**: يُطبَّق افتراضيًا فقط التحديثات المصنّفة `security` — تبقى ترقيات الإصدار تحت السيطرة اليدوية.","**تخفيف العبء التشغيلي**: لا يحتاج أسطول من 50 VPS بعد الآن إلى 50 اتصال SSH أسبوعي لتنفيذ `apt upgrade`.","**امتثال قابل للتوثيق**: السياسة محددة في ملف تكوين قابل للإصدار ولإعادة الإنتاج عبر Ansible أو أي أداة إدارة تكوين.","**إشعارات موجهة**: يمكن أن تطلق أخطاء التثبيت أو عمليات إعادة التشغيل المطلوبة بريدًا إلكترونيًا، دون إغراق الفريق بتقارير روتينية.",{"type":36,"title":50,"body":51},"كيف يعمل unattended-upgrades","`unattended-upgrades` هو خدمة Debian\u002FUbuntu تعمل عبر مؤقت `systemd` (أو `cron` على الأنظمة الأقدم). يستعلم عن مستودعات APT المكوّنة، يصفّي الحزم وفق **الأصول المسموح بها** المحددة في تكوينه، ثم يثبّت التحديثات دون تفاعل المستخدم.\n\nتعتمد منطق التصفية على **ملفات APT Release**. كل مستودع يكشف بيانات وصفية (`Origin` و`Suite` و`Codename`) يقارنها `unattended-upgrades` بقائمته البيضاء. افتراضيًا على Ubuntu، لا تُفعَّل إلا أصول `${distro_id}:${distro_codename}-security` — وهو ما يتوافق تمامًا مع أرشيفات الأمان الرسمية لـ Canonical، دون تضمين تحديثات backport أو حزم طرف ثالث.\n\nتسير العملية في ثلاث مراحل: تحديث ذاكرة التخزين المؤقت لـ APT، حل التبعيات للحزم المؤهلة، التثبيت مع تسجيل مفصل. في حالة خطأ (تعارض تبعية، حزمة مقفلة، مساحة قرص غير كافية)، تتوقف عملية التثبيت ويمكن إرسال إشعار حسب التكوين.",{"type":36,"title":53,"body":54},"المتطلبات الأساسية","التكوين الموصوف في هذا المقال ينطبق على **Debian 11\u002F12** و**Ubuntu 22.04\u002F24.04 LTS**. الأنظمة الأقدم (Debian 10، Ubuntu 20.04) متوافقة لكن دعمها ينتهي — يُنصح بالترحيل قبل الاستثمار في تكوينها.\n\nالوصول المطلوب: اتصال SSH بصلاحيات `root` أو حساب `sudo`. لا توجد تبعيات خارجية للتشغيل الأساسي؛ تكوين SMTP اختياري ولا يتدخل إلا في إشعارات البريد الإلكتروني.\n\nإذا كنت تدير أسطولك من Ansible، يمكن إعادة إنتاج الخطوات الموضحة أدناه مباشرة في دور مخصص — بنية ملفات التكوين مستقرة عبر الإصدارات الرئيسية لـ Debian وUbuntu.",{"type":56,"title":57,"steps":58},"steps","تثبيت وتكوين unattended-upgrades",[59,62,65,68,71],{"title":60,"body":61},"تثبيت الحزمة","على Debian وUbuntu، الحزمة متاحة في المستودعات القياسية:\n\n```bash\napt-get update\napt-get install -y unattended-upgrades apt-listchanges\n```\n\nحزمة `apt-listchanges` اختيارية لكن موصى بها: تتيح تضمين ملخص التغييرات في إشعارات البريد الإلكتروني.",{"title":63,"body":64},"تكوين الأصول المسموح بها","عدّل `\u002Fetc\u002Fapt\u002Fapt.conf.d\u002F50unattended-upgrades`. يتحكم القسم `Unattended-Upgrade::Allowed-Origins` في المستودعات المؤهلة. على Ubuntu 22.04، التكوين الأدنى الموصى به:\n\n```\nUnattended-Upgrade::Allowed-Origins {\n    \"${distro_id}:${distro_codename}-security\";\n    \"${distro_id}ESMApps:${distro_codename}-apps-security\";\n    \"${distro_id}ESM:${distro_codename}-infra-security\";\n};\n```\n\nعلى Debian 12، استبدل بـ:\n\n```\nUnattended-Upgrade::Allowed-Origins {\n    \"Debian:${distro_codename}-security\";\n};\n```\n\nلاستثناء حزم حساسة (مثل نواة مخصصة أو إصدار PHP مثبّت):\n\n```\nUnattended-Upgrade::Package-Blacklist {\n    \"linux-image\";\n    \"php8.2-fpm\";\n};\n```",{"title":66,"body":67},"تفعيل المؤقت الدوري","يتحكم ملف `\u002Fetc\u002Fapt\u002Fapt.conf.d\u002F20auto-upgrades` في تكرار التنفيذ. أنشئه أو تحقق من محتواه:\n\n```\nAPT::Periodic::Update-Package-Lists \"1\";\nAPT::Periodic::Unattended-Upgrade \"1\";\nAPT::Periodic::AutocleanInterval \"7\";\n```\n\nالقيمة `\"1\"` تعني التنفيذ اليومي. على Ubuntu، يُفعَّل الخدمة `apt-daily-upgrade.timer` تلقائيًا بعد هذا التكوين. تحقق من حالته:\n\n```bash\nsystemctl status apt-daily-upgrade.timer\n```",{"title":69,"body":70},"فحص السجلات","تُكتب سجلات التثبيت في `\u002Fvar\u002Flog\u002Funattended-upgrades\u002F`. الملف الرئيسي:\n\n```bash\ntail -50 \u002Fvar\u002Flog\u002Funattended-upgrades\u002Funattended-upgrades.log\n```\n\nسطر نجاح يبدو كالتالي:\n\n```\n2026-09-25 04:12:31,847 INFO Packages that will be upgraded: libssl3 openssl\n2026-09-25 04:12:45,021 INFO Package libssl3 upgraded to 3.0.2-0ubuntu1.17\n```\n\nفي حالة الفشل، يحتفظ ملف `unattended-upgrades-dpkg.log` بالمخرجات الكاملة لـ `dpkg` للتشخيص.",{"title":72,"body":73},"اختبار التنفيذ عند الطلب","لتشغيل فوري دون انتظار المؤقت والتحقق من أن التكوين يعمل:\n\n```bash\nunattended-upgrade --dry-run --debug 2>&1 | head -60\n```\n\nخيار `--dry-run` يحاكي التثبيت دون إجراء أي تغييرات. أزله للتنفيذ الفعلي:\n\n```bash\nunattended-upgrade -v\n```\n\nإذا أظهرت المخرجات `No packages found that can be upgraded unattended`، فالنظام محدّث أو لا توجد حزمة مؤهلة — وهو النتيجة المتوقعة على خادم تم توفيره مؤخرًا.",{"type":36,"title":75,"body":76},"تكوين إشعارات البريد الإلكتروني","تتيح إشعارات البريد الإلكتروني للفريق استقبال تنبيه عند فشل تحديث أو عند الحاجة لإعادة تشغيل. لا ترسل شيئًا في حالة النجاح الصامت — مما يتجنب إغراق صندوق البريد بتقارير يومية.\n\nفي `\u002Fetc\u002Fapt\u002Fapt.conf.d\u002F50unattended-upgrades`، فعّل الخيار:\n\n```\nUnattended-Upgrade::Mail \"ops@your-agency.com\";\nUnattended-Upgrade::MailReport \"only-on-error\";\n```\n\nالقيمة `only-on-error` (الموصى بها) ترسل بريدًا فقط في حالة الخطأ. القيمة `on-change` ترسل بريدًا مع كل تثبيت. القيمة `always` ترسل بريدًا حتى عندما لا يُثبَّت شيء — تجنب هذا على أسطول من عشرات الأجهزة.\n\nلكي يعمل الإرسال، يجب أن يمتلك الخادم MTA محليًا قادرًا على توجيه رسائل البريد. على VPS بسيط، `postfix` في وضع `satellite` هو الخيار الأخف:\n\n```bash\napt-get install -y postfix\n# اختر \"Satellite system\" في المعالج\n# أدخل تتابع SMTP الخاص بمزودك أو بنيتك التحتية\n```\n\nبديلًا، يمكن لـ `msmtp` أن يعمل كوسيط لخدمة بريد تحويلية (Mailgun أو Postmark أو SendGrid) دون تثبيت MTA كامل.",{"type":78,"title":79,"body":80},"tip","مراقبة عمليات إعادة التشغيل المطلوبة مع needrestart","بعض تصحيحات الأمان — خاصةً تلك الخاصة بالنواة أو libc أو OpenSSL — تتطلب إعادة تشغيل لتكون فعّالة بالكامل. تكشف أداة `needrestart` الخدمات والعمليات التي لا تزال تستخدم الإصدارات القديمة في الذاكرة.\n\nثبّتها بـ:\n\n```bash\napt-get install -y needrestart\n```\n\nبعد كل تحديث، تسرد `needrestart` الخدمات التي تحتاج إلى إعادة تشغيل. في الوضع التلقائي (`$nrconf{restart} = 'a';` في `\u002Fetc\u002Fneedrestart\u002Fneedrestart.conf`)، تعيد تشغيل الخدمات المتأثرة دون تدخل. بالنسبة للنوى، لا تعيد تشغيل الجهاز تلقائيًا أبدًا دون تكوين صريح — وهو السلوك المتوقع على VPS الإنتاجي.\n\nادمج `needrestart` مع إشعارات `unattended-upgrades`: بريد إلكتروني يشير إلى الحاجة لإعادة تشغيل يسمح للفريق بجدولة التدخل في الوقت المناسب.",{"type":36,"title":82,"body":83},"إعادة التشغيل التلقائية لتصحيحات النواة","إعادة التشغيل التلقائية بعد تصحيح النواة هي القرار الأكثر حساسية في سياسة التحديث. تضمن أن الإصلاح نشط فورًا، لكنها تقاطع الخدمات الجارية — مما قد يكون غير مقبول لبعض أعباء العمل.\n\nفي `\u002Fetc\u002Fapt\u002Fapt.conf.d\u002F50unattended-upgrades`، الخيارات المعنية:\n\n```\nUnattended-Upgrade::Automatic-Reboot \"true\";\nUnattended-Upgrade::Automatic-Reboot-WithUsers \"false\";\nUnattended-Upgrade::Automatic-Reboot-Time \"03:00\";\n```\n\n`Automatic-Reboot-Time` يجدول إعادة التشغيل في ساعة هادئة. `Automatic-Reboot-WithUsers \"false\"` يمنع إعادة التشغيل إذا كانت جلسة مستخدم مفتوحة.\n\n**احتياطات أساسية قبل تفعيل هذا الخيار**:\n- تحقق من أن خدماتك تعيد الإقلاع تلقائيًا (`systemctl is-enabled \u003Cservice>`).\n- اختبر وقت إعادة التشغيل الكاملة على خادم staging قبل النشر في الإنتاج.\n- إذا كان تطبيقك يتطلب ترتيب إقلاع محددًا، وثّق هذا السيناريو واختبره.\n- لأسطول VPS متعدد، وزّع أوقات إعادة التشغيل — انظر القسم التالي.",{"type":85,"title":86,"headers":87,"rows":91},"comparison","التحديثات اليدوية مقابل التلقائية: مقارنة",[88,89,90],"المعيار","التحديث اليدوي","التحديث التلقائي (unattended-upgrades)",[92,96,100,104,108,112,116],[93,94,95],"وقت التطبيق","يعتمد على جدول الصيانة — غالبًا 3 إلى 7 أيام","ساعات قليلة بعد النشر في المستودعات المستقرة",[97,98,99],"قابلية التتبع","تعتمد على دقة ملاحظات الصيانة","سجل موقّت تلقائيًا في `\u002Fvar\u002Flog\u002Funattended-upgrades\u002F`",[101,102,103],"خطر التراجع","محكوم: كل تحديث يُتحقق منه قبل التطبيق","منخفض على التصحيحات المستقرة، تحدّه القائمة السوداء",[105,106,107],"العبء التشغيلي","مرتفع على أسطول أكثر من 5 VPS","لا يُذكر بعد نشر التكوين",[109,110,111],"تصحيحات النواة الفعّالة","فورية إذا تمت جدولة إعادة التشغيل","تتطلب تكوين إعادة التشغيل التلقائي أو تدخلًا يدويًا",[113,114,115],"تغطية CVE الحرجة","غير كافية إذا كانت الدورة أسبوعية","مثلى — تُطبَّق التصحيحات في أضيق نافذة ممكنة",[117,118,119],"الامتثال الموثّق","صعب الإثبات دون أدوات إضافية","ملفات سجل وتكوين قابلان للإصدار والتدقيق",{"type":36,"title":121,"body":122},"نشر وإدارة unattended-upgrades عبر أسطول VPS متعدد","التكوين الموضح حتى الآن ينطبق على خادم واحد. لأسطول من عشرات خوادم VPS العميل، تصبح قابلية الإعادة والتنسيق تحديات قائمة بذاتها.\n\n**الأتمتة مع Ansible**\n\nدور Ansible بسيط يكفي لنشر التكوين عبر الأسطول بالكامل في دقائق. خزّن ملفات `50unattended-upgrades` و`20auto-upgrades` في `templates\u002F` واجعل خيارات إعادة التشغيل قابلة للتكوين عبر متغيرات الجرد:\n\n```yaml\n- name: نشر unattended-upgrades\n  hosts: vps_clients\n  become: true\n  tasks:\n    - name: تثبيت unattended-upgrades\n      apt:\n        name: [unattended-upgrades, apt-listchanges]\n        state: present\n        update_cache: true\n    - name: نشر التكوين\n      template:\n        src: 50unattended-upgrades.j2\n        dest: \u002Fetc\u002Fapt\u002Fapt.conf.d\u002F50unattended-upgrades\n        owner: root\n        mode: '0644'\n    - name: نشر apt-periodic\n      copy:\n        src: 20auto-upgrades\n        dest: \u002Fetc\u002Fapt\u002Fapt.conf.d\u002F20auto-upgrades\n        owner: root\n        mode: '0644'\n```\n\n**توزيع أوقات إعادة التشغيل**\n\nإذا كانت إعادة التشغيل التلقائية مُفعّلة، لا تكوّن نفس الوقت على جميع خوادمك. إعادة تشغيل متزامنة لـ 30 VPS يمكن أن تولّد حمل إعادة اتصال غير معتادة. وزّع الأوقات على نافذة ساعتين باستخدام متغير Ansible لكل مجموعة أو خادم.\n\n**الاختبار على staging قبل أسطول الإنتاج**\n\nللتكوينات التي تُفعّل إعادة التشغيل التلقائي أو تعدّل قائمة الحزم المستثناة، تحقق أولًا على خادم staging تمثيلي. VPS بسعر 99 درهم\u002Fشهر مخصص لاختبارات التكوين يتجنب نشر خطأ عبر الأسطول بأكمله.\n\n**مركزة التنبيهات**\n\nبدلًا من استقبال رسائل بريد فردية من كل خادم، كوّن اسمًا مستعارًا للبريد يجمع التنبيهات في قناة مراقبة واحدة. إذا كانت بنيتك التحتية تستخدم بالفعل مجمّع سجلات (Loki أو OpenSearch)، يمكن توجيه ملفات سجل `unattended-upgrades` إليه عبر عميل خفيف لعرض مركزي للأسطول.\n\nلمزيد من تأمين VPS، راجع \u003Ca href=\"\u002Fblog\u002Flinux-hardening-vps-checklist\">قائمة تدقيق تصليب Linux\u003C\u002Fa> ومقارنتنا \u003Ca href=\"\u002Fblog\u002Fcrowdsec-vs-fail2ban-securite-vps\">CrowdSec مقابل Fail2ban\u003C\u002Fa>. إذا كنت تدير أيضًا تطبيقات self-hosted، \u003Ca href=\"\u002Fblog\u002Froutine-correctifs-apps-self-hosted\">روتين تصحيح تطبيقات self-hosted\u003C\u002Fa> يكمل هذا النهج.","أدر أسطول VPS لعملائك بسلاسة","ServOrbit.com يقدم VPS مُدارة من 99 درهم\u002Fشهر، مع توفير تلقائي ولوحة تحكم مركزية للوكالات والموزعين.","إدارة أسطول VPS الخاص بي","\u002Fsolutions\u002Fagences",[128,145,168],{"id":129,"slug":130,"slugs":131,"title":135,"excerpt":136,"readTime":137,"views":138,"isPinned":19,"publishedAt":139,"updatedAt":140,"category":141,"categories":142,"featuredImage":30,"bgImage":31,"posterImage":144,"relatedSolution":30},317,"قائمة-تصليب-خادم-لينكس-للوكالات-بعد-التسليم",{"fr":132,"en":133,"ar":130,"es":134},"linux-hardening-vps-checklist","linux-vps-hardening-checklist-for-agencies","hardening-linux-vps-checklist-para-agencias-tras-la-entrega","قائمة تصليب خادم لينكس للوكالات بعد التسليم","قائمة تدقيق لتصليب لينكس قابلة للتكرار للوكالات: auditd وsudo ومفتاح SSH وUFW وfail2ban وإلغاء تفعيل root — مع إمكانية التتبع لكل عميل.",11,1,"2026-08-30T00:00:00+00:00","2026-09-07T11:26:10+00:00",{"id":23,"name":24,"slug":25,"color":26,"icon":27},[143],{"id":23,"name":24,"slug":25,"color":26,"icon":27},"\u002Fblog\u002Fcovers\u002Flinux-hardening-vps-checklist-poster.svg",{"id":146,"slug":147,"slugs":148,"title":152,"excerpt":153,"readTime":154,"views":155,"isPinned":19,"publishedAt":156,"updatedAt":157,"category":158,"categories":163,"featuredImage":30,"bgImage":31,"posterImage":165,"relatedSolution":166},348,"crowdsec-مقابل-fail2ban-ايهما-تختار-لخادمك",{"fr":149,"en":150,"ar":147,"es":151},"crowdsec-vs-fail2ban-securite-vps","crowdsec-vs-fail2ban-which-to-choose-for-your-vps","crowdsec-vs-fail2ban-cual-elegir-para-tu-vps","CrowdSec مقابل Fail2ban: أيهما تختار لحماية خادمك الافتراضي","CrowdSec أم Fail2ban على خادمك الافتراضي؟ مقارنة حسب حالة الاستخدام: قائمة الحجب المجتمعية أم البساطة المحلية — شجرة القرار لاختيار الأداة المناسبة.",7,3,"2026-09-11T00:00:00+00:00","2026-09-11T11:34:13+00:00",{"id":159,"name":160,"slug":161,"color":162,"icon":161},5,"مقارنات","comparatif","bg-info\u002F10 text-info",[164],{"id":159,"name":160,"slug":161,"color":162,"icon":161},"\u002Fblog\u002Fcovers\u002Fcrowdsec-vs-fail2ban-securite-vps-poster.svg",{"categorySlug":167,"appSlug":30},"الأمن-السيبراني-والحصن",{"id":169,"slug":170,"slugs":171,"title":175,"excerpt":176,"readTime":177,"views":138,"isPinned":19,"publishedAt":178,"updatedAt":140,"category":179,"categories":180,"featuredImage":30,"bgImage":31,"posterImage":182,"relatedSolution":30},224,"التطبيقات-المستضافة-ذاتيا-روتين-التصحيحات",{"fr":172,"en":173,"ar":170,"es":174},"routine-correctifs-apps-self-hosted","self-hosted-apps-the-patching-routine","apps-self-hosted-rutina-de-parches","التطبيقات المستضافة ذاتيًا: روتين التصحيحات","الجرد ونشرات الأمان ونافذة التصحيح والنسخ الاحتياطي والتحقق: الروتين الذي تفتقده معظم المنظومات المستضافة ذاتيًا.",4,"2026-08-05T00:00:00+00:00",{"id":23,"name":24,"slug":25,"color":26,"icon":27},[181],{"id":23,"name":24,"slug":25,"color":26,"icon":27},"\u002Fblog\u002Fcovers\u002Froutine-correctifs-apps-self-hosted-poster.svg",1790693160565]