web-dev-qa-db-fra.com

Analyser un fichier sur Internet par son URL à l'aide de ClamAV

Parfois, j'ai besoin d'analyser les fichiers sur Internet compte tenu de leurs URL. Je n'ai trouvé aucune information sur cette capacité dans la documentation de ClamAV. Cela permet-il de faire cela? Comment obtenir le résultat de la numérisation?

1
アレックス

Pour numériser un fichier, vous devez le télécharger. Vous ne pouvez le scanner sur le serveur que s'il s'agit de votre serveur et que vous y avez accès à distance. Donc, si vous souhaitez le télécharger à partir du terminal et exécuter une analyse dès qu'il est téléchargé, vous devez utiliser une commande comme:

wget -O /tmp/filetoscan http://LINK_TO_THE_FILE && clamscan /tmp/filetoscan

ou si vous n'avez pas besoin du fichier après le téléchargement, vous pouvez le diriger vers clamscan:

 wget -qO- http://LINK_TO_THE_FILE | clamscan -

Ce qui précède téléchargera toujours le fichier, la seule différence est qu'il ne le stockera pas sur votre stockage. (Ainsi, votre bande passante sera toujours utilisée pendant le processus, et si vous décidez que le fichier est propre, vous devez le télécharger à nouveau si vous en avez besoin sur votre PC.)

Si vous ne voulez pas le télécharger, vous devez utiliser un service cloud qui le télécharge et le scanne pour vous, par exemple virustotal le fait et il scanne également le fichier avec ClamAV. Virustotal possède également une API publique que vous pouvez utiliser pour lancer des analyses à partir de votre terminal ou de tout programme que vous écrivez.

S'il s'agit de votre serveur sur lequel clamAV est installé et que vous y avez accès ssh, il vous suffit de ssh sur le serveur et d'analyser le fichier comme vous le feriez sur votre client. Vous pouvez utiliser quelque chose comme:

ssh YOUR_USER@`echo "example.com/file1" | awk -F "/" '{print $1}'` "clamscan /var/www`echo "example.com/file1" | awk -F ".com" '{print $2}'`"

Bien sûr, cela dépend de la racine de votre serveur (/var/www) et s'il existe d'autres paramètres sur le serveur qui doivent être pris en compte lors de la reconstruction du chemin de fichier à partir de l'URL, mais parce que vous savez comment votre serveur est configuré, vous pouvez le faire.

3
falconer

Vous pouvez utiliser curl pour ce faire:

curl http://example.com/file | clamscan -

Par défaut, curl n'enregistrera pas le fichier sur votre espace disque.

3
user12345