Introducción
Este documento describe cómo configurar filtros de mensajes y contenido mediante expresiones regulares para mitigar ataques de bomba de correo electrónico en Cisco Secure Email Gateway (ESA).
Prerequisites
Requirements
Cisco recomienda que tenga conocimiento sobre estos temas:
Componentes Utilizados
La información de este documento se basa en todas las versiones compatibles de AsyncOS.
The information in this document was created from the devices in a specific lab environment. All of the devices used in this document started with a cleared (default) configuration. If your network is live, make sure that you understand the potential impact of any command.
¿Qué es un ataque de bomba por correo electrónico?
Una bomba de correo electrónico es una forma de abuso de la red que envía grandes volúmenes de correo electrónico a una dirección para desbordarse el buzón, saturar el servidor donde se aloja la dirección de correo electrónico en un ataque de denegación de servicio (ataque DoS) o como una pantalla de humo para distraer la atención de los mensajes de correo electrónico importantes que indican una brecha en la seguridad.
Los ataques con bombas de lista (también conocidos como bombas de suscripción, bombas de racimo de correo electrónico) pueden ser muy perjudiciales para los usuarios afectados. Sus buzones de entrada se llenan con un gran volumen de mensajes de confirmación de suscripción, lo que dificulta encontrar el correo deseado, a veces abrumando a los clientes de correo o excediendo las cuotas de los buzones de correo. Dado que los mensajes de confirmación de suscripción (generalmente) provienen de fuentes legítimas y se envían en respuesta a una acción de registro, los sistemas antispam no pueden defenderse eficazmente contra ellos sin el riesgo de falsos positivos generalizados.
Utilizar expresiones regulares (regex) para buscar coincidencias de cuerpos
A menudo es deseable reducir el volumen entregado a la bandeja de entrada del objetivo para que siga funcionando sin afectar el flujo de correo de los usuarios no afectados. Un mensaje o filtro de contenido es la herramienta recomendada para este caso práctico. Las expresiones regulares proporcionadas son ejemplos de lo que ha funcionado bien en el pasado para identificar confirmaciones de suscripción:
(?i)(task=activat|click the confirmation|click on the confirmation|Confirm Subscription|confirm your subscription|Confirm my subscription|activate your subscription|If you did not sign up for|Gracias por suscribirse|cliquez pas sur le lien de confirmation|votre inscription|hiermit Ihre Newsletter-Registrierung|After activation you may|Benutzerkonto zu aktivieren|sie haben den Newsletter|Registrierung auf|start receiving the newsletter)
Según el volumen del ataque y la tolerancia de los FP, términos genéricos adicionales como en la siguiente expresión regular ayudarían a capturar mensajes de manera más agresiva:
(?i)(register|registr|subscri|suscri|inscri|confirm|aktiv|activ|newsletter|news.letter)
Estas expresiones regulares se pueden utilizar en un "only-body-include" condición de filtro de mensaje o en un "Cuerpo del mensaje > Contiene texto" en un filtro de contenido. El filtro se puede configurar para desviar mensajes de confirmación de suscripción a un buzón de correo diferente, a una cuarentena, o para agregar un encabezado o etiqueta de asunto que permita mover el mensaje a una subcarpeta dedicada dentro del buzón del usuario.
Precaución: Tenga en cuenta que estas expresiones regulares son sólo ejemplos y que tendrían que ajustarse para reflejar tanto el tipo de ataque visto como el flujo de correo normal para minimizar los FP. Su objetivo es proporcionar un punto de referencia para empezar, pero sin garantías.
Ejemplo de Filtro de Mensaje
Los filtros de mensajes se crean y administran a través de la CLI con los filtros de comandos.
Para ver los pasos para crear filtros de mensajes, consulte el artículo aquí. A continuación se muestra el filtro de mensaje de ejemplo:
lab.esa01.local> 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.
Email_Bomb: if (sendergroup != "RELAYLIST" and (only-body-contains("(?i)(task=activat|click the confirmation|click on the confirmation|Confirm Subscription|confirm your subscription|Confirm my subscription|activate your subscription|If you did not sign up for|Gracias por suscribirse|cliquez pas sur le lien de confirmation|votre inscription|hiermit Ihre Newsletter-Registrierung|After activation you may|Benutzerkonto zu aktivieren|sie haben den Newsletter|Registrierung auf|start receiving the newsletter)", 1))
{
log-entry("$MatchedContent");
log-entry("Message Filter Email_Bomb matched");
quarantine("Policy");
}
.
1 filters added.
lab.esa01.local> commit
Please enter some comments describing your changes:
[]> Added message filter
Do you want to save the current configuration for rollback? [Y]>
Changes committed: Mon Jan 10 22:31:04 2022 EST
Nota: La condición de grupo de remitentes en el ejemplo es evitar una coincidencia de filtro contra los correos de retransmisión/de salida. Se necesitarían condiciones o modificaciones adicionales en función de la configuración del dispositivo.
Ejemplo de Filtro de Contenido Entrante
Los filtros de contenido para los correos entrantes se pueden crear directamente desde la GUI en Políticas de correo > Filtros de contenido entrante.
1. Click Add Filter, enter a Filter name such as Email_Bomb.
2. Click Add Condition, select Message Body, radio button Contains text, enter regex you wish to match the email body against. Click Ok when done.
3. Click Add Action, select an action you wish to perform when the filter matches such as quarantine, Add/Edit Header, Notify, and so on. Click Ok when done.
4. Repeat Step 3 to add as many actions as needed, click Submit once done.
5. Navigate to Mail Policies -> Incoming Mail Policies, click the Content Filters column to checkmark and enable the new filter for one or multiple policies.
6. Submit and commit changes.
Nota: "(?i)" en las expresiones regulares indica que la coincidencia debe no distinguir entre mayúsculas y minúsculas.
Información Relacionada