Ajouté dans la version 2.4 de Discourse en février, la fonctionnalité Téléchargements Sécurisés offre un niveau de sécurité accru pour TOUS les fichiers téléchargés (images, vidéos, audio, texte, PDF, ZIP, etc.) au sein d’une instance Discourse.
Prérequis
Vous devez avoir activé les téléchargements S3 sur votre site, ce qui nécessite de remplir les paramètres suivants :
- Clé d’accès S3 (S3 access key id)
- Clé secrète d’accès S3 (S3 secret access key)
- Région S3
- Bac de téléchargement S3 (S3 upload bucket)
Vous devez également utiliser un bac S3 qui ne possède pas de politique de bac publique, et vous devez vous assurer que tous les téléchargements existants ont une ACL S3 de type public-read. Consultez la section « Activation des téléchargements sécurisés » ci-dessous.
Une fois ces prérequis satisfaits, vous pouvez activer le paramètre de site « téléchargements sécurisés ».
Activation des téléchargements sécurisés
ICÔNE DE DRAGON : ATTENTION AUX DANGERS
![]()
Il s’agit d’une fonctionnalité avancée et le support en dehors de notre offre Entreprise sera très limité. N’activez les téléchargements sécurisés que si vous êtes un utilisateur expert.
Pour activer les téléchargements sécurisés, vous devez suivre ces étapes :
- Assurez-vous que les téléchargements S3 sont configurés.
- Notez si votre bac S3 possède une politique de bac publique. Si c’est le cas, une étape supplémentaire est requise (étape 4).
- Exécutez la tâche rake
uploads:sync_s3_acls. Cela garantira que tous vos téléchargements ont la bonne ACL dans S3. C’est important ; si vous effectuez l’étape 4 avant celle-ci, certains téléchargements pourraient devenir inaccessibles sur votre forum. - Supprimez la politique de bac publique de votre bac si elle était présente à l’étape 1.
- Activez le paramètre de site « téléchargements sécurisés ». Activez optionnellement le paramètre de site « empêcher les anonymes de télécharger des fichiers » pour empêcher les utilisateurs anonymes de télécharger des pièces jointes à partir de publications publiques. Tous les téléchargements effectués à partir de maintenant pourraient être marqués comme sécurisés selon les conditions ci-dessous.
- Si vous souhaitez que tous les téléchargements soient rétrospectivement analysés et éventuellement marqués comme sécurisés, exécutez la tâche rake
uploads:secure_upload_analyse_and_update.
Note sur la politique de bac S3 
Vous devez vous assurer que le bac vers lequel vous téléchargez ne possède pas de politique de bac publique. Une politique de bac publique ressemblera à ceci :
{
"Version": "2012-10-17",
"Id": "ComputedBucketPolicy",
"Statement": [
{
"Sid": "AllowWorldRead",
"Effect": "Allow",
"Principal": "*",
"Action": "s3:GetObject",
"Resource": "arn:aws:s3:::your-bucket-name/*"
}
]
}
La partie importante ici est que nous autorisons * à obtenir l’objet (GetObject), ce qui signifie que n’importe qui peut télécharger n’importe quoi dans le bac. Cette étiquette indiquera également si la politique est publique :
Les paramètres ici ne doivent pas être modifiés. L’image ci-dessous montre l’état idéal pour l’onglet « Bloquer l’accès public » :
Ce que cela fait
Une fois que vous avez activé les téléchargements sécurisés, tout fichier téléchargé via le compositeur sera marqué comme sécurisé ou non sécurisé selon les critères suivants :
- Si vous avez activé le paramètre de site « connexion requise », tous les téléchargements seront marqués comme sécurisés, et les utilisateurs anonymes ne pourront pas y accéder.
- Si vous téléchargez quelque chose dans un message privé, il sera marqué comme sécurisé.
- Si vous téléchargez quelque chose dans un sujet situé dans une catégorie privée, il sera marqué comme sécurisé.
Le téléchargement sur S3 aura une ACL privée, de sorte que les liens directs vers le fichier sur S3 renverront une erreur 403 accès refusé. Tout accès aux téléchargements sécurisés se fera via une URL signée S3. Cela sera cependant caché à vos utilisateurs ; si un téléchargement est sécurisé, toute référence à celui-ci sera faite via l’URL Discourse /secure-uploads/.
Permissions et contrôle d’accès
L’URL /secure-uploads/ déterminera si l’utilisateur actuel est autorisé à accéder au média et le servira s’il l’est. Lors de la création du téléchargement, la publication dans laquelle il apparaît en premier sera définie comme sa « publication de contrôle d’accès » et toutes les permissions seront basées sur cette publication.
- Si vous avez activé le paramètre de site « connexion requise », les utilisateurs anonymes recevront toujours une erreur 404 en accédant à l’URL.
- Si vous accédez à un média dont la publication de contrôle d’accès est un message privé, l’utilisateur doit faire partie de ce sujet de message privé pour accéder au média, sinon l’utilisateur recevra une erreur 403.
- Si vous accédez à un média dont la publication de contrôle d’accès est dans un sujet situé dans une catégorie privée, l’utilisateur doit avoir accès à cette catégorie pour accéder au média, sinon l’utilisateur recevra une erreur 403.
Copier les URL /secure-uploads/ entre des publications et des sujets est imprudent, car différents utilisateurs auront différents niveaux d’accès au sein de vos forums Discourse. Les nouveaux téléchargements doivent toujours être créés via le compositeur. Les Oneboxes et les images liées directement respecteront également les règles des téléchargements sécurisés. Les paramètres de site, les émojis et les téléchargements de thèmes sont non affectés par les téléchargements sécurisés, car ils doivent être publics.
Si une publication de contrôle d’accès est supprimée, le téléchargement attaché ne sera plus accessible. ![]()
Déplacement de publications avec des téléchargements sécurisés
Si vous déplacez une « publication de contrôle d’accès » entre différents contextes de sécurité, le téléchargement attaché peut éventuellement être changé en sécurisé ou non sécurisé. Voici les situations qui peuvent modifier la sécurité d’un téléchargement :
- Changer la catégorie d’un sujet. Cela parcourra tous les sujets du sujet et mettra à jour l’état de sécurité des téléchargements en conséquence.
- Changer un sujet entre un sujet public et un message privé. Cela fera la même chose que ci-dessus.
- Déplacer des publications d’un sujet vers un autre sujet nouveau ou existant. Cela exécutera la même opération que ci-dessus sur le sujet cible.
Téléchargements sécurisés dans les e-mails
L’intégration d’images sécurisées dans les e-mails est activée par défaut. Vous pouvez configurer ces paramètres de site pour un contrôle plus poussé :
secure_uploads_allow_embed_images_in_emails: Désactivez ceci pour censurer les images sécurisées dans les e-mails.secure_uploads_max_email_embed_image_size_kb: La limite de taille de l’image sécurisée que nous intégrerons, par défaut 1 Mo, afin que l’e-mail ne devienne pas trop volumineux. Le maximum est de 10 Mo. Fonctionne de concert avecemail_total_attachment_size_limit_kb.
Les images sécurisées seront ajoutées en tant que pièces jointes aux e-mails et intégrées en utilisant le format d’URL cid: car le support des URL base64 dans les clients de messagerie est encore instable.
Si vous n’avez pas activé secure_uploads_allow_embed_images_in_emails, ou si les images commencent à dépasser les limites de taille, voici ce que vous verrez à la place des images sécurisées (également pour l’audio et la vidéo sécurisés qui ne sont pas intégrés) :
![]()
Clients hébergés
Pour le moment, les téléchargements sécurisés sont disponibles uniquement pour nos clients de l’offre Entreprise. Veuillez nous contacter pour plus de détails.


ADVANCED thing, not for the faint of
, and there is a limit to how much we will support it outside our enterprise tier. Bring your own expertise…
