{"id":871,"date":"2026-06-02T13:00:25","date_gmt":"2026-06-02T16:00:25","guid":{"rendered":"https:\/\/jrtx.com.br\/blog\/2026\/06\/02\/aula-12-fail2ban-actions-e-notificacoes-por-e-mail-e-telegra\/"},"modified":"2026-06-02T13:00:25","modified_gmt":"2026-06-02T16:00:25","slug":"aula-12-fail2ban-actions-e-notificacoes-por-e-mail-e-telegra","status":"publish","type":"post","link":"https:\/\/jrtx.com.br\/blog\/2026\/06\/02\/aula-12-fail2ban-actions-e-notificacoes-por-e-mail-e-telegra\/","title":{"rendered":"Aula 12: fail2ban \u2014 Actions e Notifica\u00e7\u00f5es por E-mail e Telegram"},"content":{"rendered":"<p>Na Aula 12 do curso &#8220;Firewall, fail2ban e CrowdSec \u2014 Do Zero ao Avan\u00e7ado&#8221;, voc\u00ea vai se aprofundar em como o <strong>fail2ban<\/strong> pode ser configurado para executar <strong>actions<\/strong> espec\u00edficas e enviar notifica\u00e7\u00f5es por e-mail e Telegram. Este conhecimento \u00e9 crucial para profissionais que buscam prote\u00e7\u00e3o proativa e resposta r\u00e1pida a eventos de seguran\u00e7a em suas infraestruturas. Vamos explorar de forma pr\u00e1tica e detalhada, facilitando a aplica\u00e7\u00e3o imediata em ambientes reais.<\/p>\n<h3>O que voc\u00ea vai aprender nesta aula<\/h3>\n<ul>\n<li>Configura\u00e7\u00e3o de <strong>actions<\/strong> no fail2ban<\/li>\n<li>Integra\u00e7\u00e3o com servidores de e-mail para notifica\u00e7\u00f5es autom\u00e1ticas<\/li>\n<li>Configura\u00e7\u00e3o de notifica\u00e7\u00f5es via Telegram<\/li>\n<li>Exemplos pr\u00e1ticos e dicas de implementa\u00e7\u00e3o<\/li>\n<\/ul>\n<h3>Entendendo as Actions no fail2ban<\/h3>\n<p>No <strong>fail2ban<\/strong>, as <strong>actions<\/strong> s\u00e3o as respostas que seu sistema dar\u00e1 ap\u00f3s a identifica\u00e7\u00e3o de um comportamento suspeito. Elas v\u00e3o desde o simples bloqueio de IPs at\u00e9 notifica\u00e7\u00f5es atrav\u00e9s de e-mail ou aplicativos de mensagem como o Telegram. Configurar a\u00e7\u00f5es eficazes \u00e9 fundamental para uma resposta proativa e automatizada a incidentes de seguran\u00e7a.<\/p>\n<h3>Configurando Actions no fail2ban<\/h3>\n<p>Para configurar as <strong>actions<\/strong> no <strong>fail2ban<\/strong>, come\u00e7amos editando o arquivo de configura\u00e7\u00e3o em <strong>\/etc\/fail2ban\/jail.conf<\/strong> ou, preferencialmente, usando arquivos na pasta <strong>jail.d<\/strong> para configura\u00e7\u00f5es customizadas. Vamos criar uma <strong>action<\/strong> personalizada que envia um e-mail quando um IP \u00e9 banido:<\/p>\n<pre><code>[DEFAULT]\naction = %(action_mwl)s\n\n[ssh]\nenabled = true\nport = ssh\nlogpath = \/var\/log\/auth.log\naction = %(action_mw)s<\/code><\/pre>\n<p>No exemplo acima, usamos a a\u00e7\u00e3o <strong>action_mwl<\/strong> no bloco <strong>DEFAULT<\/strong>, que inclui o envio de e-mail. Para fins de aprendizado, tamb\u00e9m configuramos uma <strong>action<\/strong> espec\u00edfica para o bloco <strong>ssh<\/strong> usando <strong>action_mw<\/strong> (banimento + e-mail).<\/p>\n<h3>Configurando Notifica\u00e7\u00f5es por E-mail<\/h3>\n<p>Enviar notifica\u00e7\u00f5es por e-mail \u00e9 um meio eficaz de ser alertado sobre tentativas de invas\u00e3o. Em nossos projetos na JRT Technology Solutions, configuramos o fail2ban para trabalhar com servidores de e-mail comumente dispon\u00edveis. Edite o arquivo <strong>\/etc\/fail2ban\/action.d\/mail.conf<\/strong> para configurar seu servidor SMTP:<\/p>\n<pre><code>[Definition]\nactionstart =\nactionstop =\nactioncheck =\nactionban = echo \"Subject: IP banido: <ip>!\" | sendmail dest@example.com\nactionunban =<\/code><\/pre>\n<p>No exemplo acima, estamos usando um comando simples para enviar o e-mail. Adapte o servidor SMTP conforme necess\u00e1rio para o seu ambiente.<\/p>\n<h3>Integra\u00e7\u00e3o com Telegram<\/h3>\n<p>O <strong>fail2ban<\/strong> tamb\u00e9m pode enviar notifica\u00e7\u00f5es diretamente para o Telegram. Primeiro, voc\u00ea deve criar um bot no Telegram e obter o token de API. Depois, encontre seu <strong>chat ID<\/strong> usando a API do Telegram. Com as informa\u00e7\u00f5es em m\u00e3os, vamos adicionar uma nova <strong>action<\/strong>:<\/p>\n<pre><code>[Definition]\nactionban = \/usr\/bin\/curl -s -X POST https:\/\/api.telegram.org\/bot<your_token>\/sendMessage -d chat_id=<your_chat_id> -d text=\"IP banido: <ip>\"\nactionunban =<\/code><\/pre>\n<p>Este comando usa <strong>curl<\/strong> para enviar uma mensagem ao Telegram. Em nossos projetos na JRT Technology Solutions, essa integra\u00e7\u00e3o provou ser r\u00e1pida e eficiente para alertas em tempo real.<\/p>\n<h3>Resumo da Aula 12<\/h3>\n<p>Nesta aula, abordamos como configurar <strong>actions<\/strong> eficazes no <strong>fail2ban<\/strong> e integrar notifica\u00e7\u00f5es por e-mail e Telegram. Estes conhecimentos s\u00e3o essenciais para ter um sistema de resposta a incidentes de seguran\u00e7a automatizado. Na pr\u00f3xima aula, vamos explorar como personalizar as regras de filtragem no fail2ban para atender necessidades espec\u00edficas.<\/p>\n<div style=\"margin:48px 0 32px;padding:32px 24px;background:#f0fdf4;border:1px solid #bbf7d0;border-radius:16px;text-align:center;\">\n<p style=\"margin:0 0 8px;font-size:17px;color:#111827;font-weight:700;\">Quer aprender na pr\u00e1tica com especialistas?<\/p>\n<p style=\"margin:0 0 24px;font-size:15px;color:#1f2937;font-weight:400;\">A JRT Technology Solutions oferece treinamentos e implementa\u00e7\u00e3o de Firewall, fail2ban e CrowdSec para equipes corporativas.<\/p>\n<p>  <a href=\"https:\/\/api.whatsapp.com\/send\/?phone=5521980606699&#038;text=Ol%C3%A1%21+Tenho+interesse+no+treinamento+de+Firewall%2C%20fail2ban%20e%20CrowdSec.&#038;type=phone_number&#038;app_absent=0\"\n     target=\"_blank\" rel=\"noopener noreferrer\"\n     style=\"display:inline-flex;align-items:center;gap:12px;background:#25D366;color:#ffffff;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;font-size:16px;font-weight:600;padding:14px 28px;border-radius:100px;text-decoration:none;box-shadow:0 4px 12px rgba(37,211,102,0.4);letter-spacing:0.01em;\"><br \/>\n    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"22\" height=\"22\" viewBox=\"0 0 24 24\" fill=\"#ffffff\">\n      <path d=\"M17.472 14.382c-.297-.149-1.758-.867-2.03-.967-.273-.099-.471-.148-.67.15-.197.297-.767.966-.94 1.164-.173.199-.347.223-.644.075-.297-.15-1.255-.463-2.39-1.475-.883-.788-1.48-1.761-1.653-2.059-.173-.297-.018-.458.13-.606.134-.133.298-.347.446-.52.149-.174.198-.298.298-.497.099-.198.05-.371-.025-.52-.075-.149-.669-1.612-.916-2.207-.242-.579-.487-.5-.669-.51-.173-.008-.371-.01-.57-.01-.198 0-.52.074-.792.372-.272.297-1.04 1.016-1.04 2.479 0 1.462 1.065 2.875 1.213 3.074.149.198 2.096 3.2 5.077 4.487.709.306 1.262.489 1.694.625.712.227 1.36.195 1.871.118.571-.085 1.758-.719 2.006-1.413.248-.694.248-1.289.173-1.413-.074-.124-.272-.198-.57-.347m-5.421 7.403h-.004a9.87 9.87 0 01-5.031-1.378l-.361-.214-3.741.982.998-3.648-.235-.374a9.86 9.86 0 01-1.51-5.26c.001-5.45 4.436-9.884 9.888-9.884 2.64 0 5.122 1.03 6.988 2.898a9.825 9.825 0 012.893 6.994c-.003 5.45-4.437 9.884-9.885 9.884m8.413-18.297A11.815 11.815 0 0012.05 0C5.495 0 .16 5.335.157 11.892c0 2.096.547 4.142 1.588 5.945L.057 24l6.305-1.654a11.882 11.882 0 005.683 1.448h.005c6.554 0 11.89-5.335 11.893-11.893a11.821 11.821 0 00-3.48-8.413z\"\/>\n    <\/svg><br \/>\n    Falar no WhatsApp<br \/>\n  <\/a>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>Aprenda a configurar o fail2ban para a\u00e7\u00f5es automatizadas e receber notifica\u00e7\u00f5es por e-mail e Telegram. Explore essa aula imperd\u00edvel!<\/p>\n","protected":false},"author":1,"featured_media":870,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"iawp_total_views":0,"footnotes":""},"categories":[50],"tags":[1520,1522,1521,1523,6],"class_list":["post-871","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-firewall","tag-acoes-fail2ban","tag-alertas-telegram-fail2ban","tag-notificacoes-e-mail-fail2ban","tag-proteger-servidor-com-fail2ban","tag-seguranca-de-servidor-linux"],"_links":{"self":[{"href":"https:\/\/jrtx.com.br\/blog\/wp-json\/wp\/v2\/posts\/871","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/jrtx.com.br\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/jrtx.com.br\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/jrtx.com.br\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/jrtx.com.br\/blog\/wp-json\/wp\/v2\/comments?post=871"}],"version-history":[{"count":0,"href":"https:\/\/jrtx.com.br\/blog\/wp-json\/wp\/v2\/posts\/871\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/jrtx.com.br\/blog\/wp-json\/wp\/v2\/media\/870"}],"wp:attachment":[{"href":"https:\/\/jrtx.com.br\/blog\/wp-json\/wp\/v2\/media?parent=871"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/jrtx.com.br\/blog\/wp-json\/wp\/v2\/categories?post=871"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/jrtx.com.br\/blog\/wp-json\/wp\/v2\/tags?post=871"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}