Introduction
Il se peut que certains spammeurs envoient des messages très volumineux sans pièces jointes afin de passer l'analyse antispam. S'ils peuvent envoyer un message dont la taille est supérieure à la taille maximale d'analyse antispam du moteur antispam ESA, l'analyse antispam sera ignorée pour ce message. Au moment de la rédaction de cet article, nous ne recommandons pas d'augmenter la taille maximale d'analyse antispam au-dessus de 2 Mo, sauf indication contraire. Pour cette raison, les messages de plus de 2 Mo peuvent facilement contourner l'antispam dans la plupart des cas.
Cet article explique un concept permettant d'agir sur ces types de messages à l'aide d'un filtre de messages.
Exigences
- Accès en ligne de commande à l'appliance de sécurité de la messagerie (ESA).
- Connaissances de base sur l'écriture de filtres de messages.
- Connaissance de base de l'expression régulière (RegEx).
Création du filtre de message
Dans cette section, nous allons créer le filtre de messages. Ce filtre de message correspond à tous les messages dont la taille est supérieure à 2 Mo et qui ne contiennent pas de pièce jointe :
- Ouvrez un éditeur de texte et copiez/collez le filtre de message suivant :
large_spam_no_attachment:
if ((body-size > 2097152) AND NOT (attachment-size > 0)) {
quarantine("large_spam");
log-entry("*****This is a large message with no attachments*****");
}
Remarque : Vous devez créer une quarantaine de stratégie, de virus et d'attaque (PVO) correspondant au nom de la quarantaine utilisée dans l'action de quarantaine du filtre de messages pour que le filtre de messages fonctionne tel quel. Sinon, vous devez utiliser un autre type d'action. Une fois que cette quarantaine PVO est créée et que le filtre de messages est appliqué à l'ESA, nous vous recommandons vivement de surveiller la quarantaine PVO et de libérer ou supprimer les messages mis en quarantaine si nécessaire.
- À partir de là, vous pouvez modifier ce filtre de messages pour l'adapter à vos besoins spécifiques. Par exemple, si la taille maximale d'analyse antispam est définie sur 1 Mo, vous pouvez réduire la taille du corps à 1 Mo.
- Vous pouvez également souhaiter que ce filtre de message s'applique uniquement aux messages d'un groupe d'expéditeurs ou d'un écouteur particulier. Voici deux autres exemples qui pourraient convenir à vos besoins :
large_spam_no_attachment:
if (recv-listener == "IncomingMail") AND ((body-size > 2097152) AND NOT (attachment-size > 0)) {
quarantine("large_spam");
log-entry("*****This is a large message with no attachments*****");
}
large_spam_no_attachment:
if (sendergroup != "RELAYLIST") AND ((body-size > 2097152) AND NOT (attachment-size > 0)) {
quarantine("large_spam");
log-entry("*****This is a large message with no attachments*****");
}
- Si vous souhaitez apporter d'autres modifications, je vous recommande de consulter la section relative au filtre de messages dans le Guide d'utilisation finale de l'ESA. Le guide contient des sections qui fournissent une liste de conditions et d'actions pouvant être utilisées.
Appliquer le filtre de message à l'ESA
Dans cette section, nous allons appliquer le filtre de messages créé dans la section précédente à l'ESA. Les filtres de messages ne peuvent être appliqués à l'ESA que via la ligne de commande. Vous aurez donc besoin d'un accès en ligne de commande à l'ESA.
- Connectez-vous à ESA via la ligne de commande.
- Exécutez les commandes mises en surbrillance suivantes pour appliquer le filtre de message à l'ESA :
ironport.example.com> filters
Choose the operation you want to perform:
- NEW - Create a new filter.
- IMPORT - Import a filter script from a file.
[]> NEW
Enter filter script. Enter '.' on its own line to end.
large_spam_no_attachment:
if ((body-size > 2097152) AND NOT (attachment-size > 0)) {
quarantine("large_spam");
log-entry("*****This is a large message with no attachments*****");
}
.
1 filters added.
- À partir d'ici, vous pouvez afficher le filtre de message et vérifier qu'il est actif et valide. Pour ce faire, exécutez les commandes suivantes :
ironport.example.com> filters
Choose the operation you want to perform:
- NEW - Create a new filter.
- DELETE - Remove a filter.
- IMPORT - Import a filter script from a file.
- EXPORT - Export filters to a file
- MOVE - Move a filter to a different position.
- SET - Set a filter attribute.
- LIST - List the filters.
- DETAIL - Get detailed information on the filters.
- LOGCONFIG - Configure log subscriptions used by filters.
- ROLLOVERNOW - Roll over a filter log file.
[]> LIST
Num Active Valid Name
1 Y Y large_spam_no_attachment
Choose the operation you want to perform:
- NEW - Create a new filter.
- DELETE - Remove a filter.
- IMPORT - Import a filter script from a file.
- EXPORT - Export filters to a file
- MOVE - Move a filter to a different position.
- SET - Set a filter attribute.
- LIST - List the filters.
- DETAIL - Get detailed information on the filters.
- LOGCONFIG - Configure log subscriptions used by filters.
- ROLLOVERNOW - Roll over a filter log file.
[]> DETAIL
Enter the filter name, number, or range:
[]> 1
Num Active Valid Name
1 Y Y large_spam_no_attachment
large_spam_no_attachment: if (body-size > 2097152) AND NOT (attachment-size > 0)) {
quarantine("large_spam");
log-entry("*****This is a large message with no attachments*****");
}
- Exécutez la commande commit et ajoutez les commentaires de validation appropriés :
ironport.example.com> commit
Please enter some comments describing your changes:
[]> Applied large_spam_no_attachment message filter
Ressources supplémentaires
Guide de l'utilisateur final ESA