فحص الملفات المرفوعة بواسطة الفيروسات

I’m currently looking into integrating Discourse with our existing web systems to provide a discussion forum for our site’s users. One of the requirements of our platform is that all uploaded files are checked for viruses prior to being made available for anyone to download.

Looking through the documentation, I can’t see any way to configure Discourse to use a virus scanner on uploaded files. Am I missing something?

Discourse doesn’t have such feature. You’d have to build a plugin to scan uploaded files for viruses.

Has anyone built such a plugin?

Not that I am aware of.

I am also interested in this question.

Locally - this is clamav, calling ruby gem.

And GitHub - ifad/clammit: ClamAV HTTP filter

Found a suitable plugin?

As far as I know there is no virus scanning plugin for Discourse.

هل هناك أي تحديثات حول هذا الموضوع منذ العام الماضي؟

سيكون هذا رسومًا شهرية إضافية على الاستضافة المؤسسية. هل ترغب في إضافة هذه الميزة؟ في حال كان الأمر كذلك، يرجى التواصل مع قنوات دعمنا للاستفسار.

أواجه نفس المشكلة في مؤسستنا، لكننا غير مخوّلين لاستضافة الحلول على مستوى المؤسسة. أُبلغت بأن الموقع سيتم إيقافه إذا لم نجد حلاً.
أين تُحمّل الملفات في Discourse؟ وهل يمكن لنسخة مثبتة على AWS الاستفادة من برامج مكافحة الفيروسات لفحص هذه المواقع في الوقت الفعلي؟

إذا كان فحص الملفات المرفوعة مطلبًا ولم تكن الاستضافة المؤسسية خيارًا متاحًا، فيمكنك النظر في خيارات استضافة أخرى أو تعطيل رفع أنواع الملفات الخطرة.

هل تحتاج إلى تشغيل فحوصات فيروسات على ملفات JPG و PNG؟

من الممكن القيام بذلك، لكنك لن تملك التحكم في ذلك إذا استخدمت استضافة CDCK.

إذا كانت الملفات المرفوعة مخزنة في سلة S3 تسيطر عليها، فهل يمكنك استخدام برنامج مكافحة الفيروسات الخاص بـ AWS لتلبية متطلبات الأمان لديك؟

السؤال الأخير الذي طرحته هو في جوهره ما كنت أقصده.
إذن، هل مجلد /uploads الذي يحتوي على شجرة الملفات المرفوعة موجود داخل صورة Docker [الدائمة] أم أنه موصول بحجم (volume mounted)؟ لقد نسيت كيف تعمل الأمور مع Docker وغير واضح لي ما الذي يفعله Discourse لتخزين الملفات المرفوعة.
مدير النظام لدينا يفكر في تثبيت ClamAv، لكننا غير متأكدين مما إذا كنا بحاجة لتثبيته فقط في مثيل EC2 الخاص بنا، أم أنه يجب تثبيته داخل صورة Docker نفسها (عن طريق تعديل الصورة لإضافة ClamAv وإعادة بنائها؟؟؟).

بشكل افتراضي، يكون الملف في وحدة تخزين تُعادل /var/discourse/shared/standalone في المضيف. يمكنك أيضًا إرسال الملفات المرفقة إلى خدمات تخزين الكائنات مع التكوين الموضح في استخدام تخزين الكائنات للملفات المرفقة (S3 وما شابه)

إذن، هل سيكون ذلك كافيًا لتثبيت ClamAv في نظام تشغيل المثيل (instance) ومسح الملفات الموجودة في /var/discourse/shared/؟ لا حاجة لتثبيته بشكل أعمق، أي داخل صورة Docker نفسها؟

المجلد الدقيق في التثبيت الافتراضي هو /var/discourse/shared/standalone/uploads/default/. وهو مُحمّل كحجم في الحاوية، وهو المكان الذي تُحفظ فيه جميع الملفات المرفوعة.

إذا كان ذلك يلبي شرط الامتثال الذي تحتاجه، فابدأ به.

@Falco آسف، أنا مرتبك، هل تؤكد أن ClamAV لا يحتاج إلى التثبيت داخل صورة Docker بل فقط على نظام تشغيل EC2؟ (لم أستخدم Docker منذ فترة…)

يجب أن يعمل بشكل جيد على المضيف.

حسناً، شكراً لك @Falco، لقد أُخبرت أن هذا سيوفر المزيد من الطمأنينة في مراجعة أمننا…

لدينا إضافة رسمية لمكافحة الفيروسات، متاحة فقط لعملائنا من الشركات ضمن خدمة الاستضافة الخاصة بنا. يُعد إعدادها ونشرها معقدين للغاية، ولا نعتزم دعمها علنًا على موقع Meta.

ومع ذلك، فإننا نقدم هذه الخدمة لعملائنا من الشركات الذين يستخدمون استضافتنا.