Scansione antivirus dei file caricati

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.

Ci sono aggiornamenti su questo argomento dall’anno scorso?

Ciò comporterebbe un costo mensile aggiuntivo per l’hosting enterprise. Desideri attivare questa funzionalità? In tal caso, contatta i nostri canali di supporto per maggiori informazioni.

Sto riscontrando lo stesso problema nella mia organizzazione, ma non siamo autorizzati a effettuare l’hosting enterprise. Mi è stato detto che il sito verrà chiuso se non troveremo una soluzione.
Dove vengono caricati i file in Discourse e un’installazione su AWS potrebbe sfruttare antivirus per scansionare queste posizioni in tempo reale?

Se la scansione dei file caricati è un requisito e l’hosting Enterprise non è un’opzione, potresti prendere in considerazione altre soluzioni di hosting o disabilitare il caricamento di tipi di file pericolosi.

Hai bisogno di eseguire scansioni antivirus su JPG e PNG?

È possibile farlo, anche se non avresti il controllo se utilizzi l’hosting di CDCK.

Se i file caricati fossero in un bucket S3 di tua proprietà, potresti utilizzare l’antivirus di AWS per soddisfare i tuoi requisiti di sicurezza?

L’ultima domanda che hai posto è sostanzialmente anche ciò che intendevo chiedere.
Quindi, la cartella /uploads, dove si trova l’albero dei file caricati, si trova nell’immagine Docker [persistente?] o è montata come volume? Ho dimenticato come funzionano le cose con Docker e non sono chiaro su cosa faccia Discourse per archiviare i file caricati.
Il mio amministratore di sistema sta valutando l’installazione di ClamAv, ma non siamo sicuri se sia necessario installarlo solo nella nostra istanza EC2 o se debba essere installato direttamente nell’immagine Docker (modificando l’immagine per aggiungere ClamAv e ricostruendola???).

Per impostazione predefinita, si trova in un volume mappato su /var/discourse/shared/standalone nell’host. È inoltre possibile inviare i caricamenti a servizi di archiviazione oggetti con la configurazione spiegata in Utilizzo dell’archiviazione oggetti per i caricamenti (S3 e cloni)

Quindi, basterebbe installare ClamAv nel sistema operativo dell’istanza e configurarlo per scansionare i file in /var/discourse/shared/? Non è necessario installarlo più in profondità, cioè direttamente nell’immagine Docker?

La cartella esatta in un’installazione predefinita è /var/discourse/shared/standalone/uploads/default/. Questa è montata come volume nel contenitore ed è dove vengono salvati tutti i file caricati.

Se questo soddisfa il requisito di conformità di cui hai bisogno, procedi pure.

@Falco scusa, sono confuso, confermi che ClamAV non deve essere installato all’interno dell’immagine Docker ma solo nel sistema operativo EC2? (Non uso Docker da un po’…)

Dovrebbe funzionare perfettamente nell’host.

Capito, grazie @Falco, mi è stato detto che questo ci darà maggiore tranquillità durante la nostra revisione della sicurezza…

Disponiamo di un plugin antivirus ufficiale, disponibile esclusivamente per i nostri clienti enterprise tramite il nostro servizio di hosting. La configurazione e la distribuzione sono piuttosto complesse; non abbiamo intenzione di fornire supporto pubblico per questo su Meta.

Tuttavia, offriamo questo servizio ai clienti enterprise ospitati da noi.