{"id":1372,"date":"2026-07-03T17:52:16","date_gmt":"2026-07-03T20:52:16","guid":{"rendered":"https:\/\/jrtx.com.br\/blog\/2026\/07\/03\/aula-21-sshguard-protecao-nativa-contra-ataques-ssh-ftp-smtp\/"},"modified":"2026-07-03T17:52:16","modified_gmt":"2026-07-03T20:52:16","slug":"aula-21-sshguard-protecao-nativa-contra-ataques-ssh-ftp-smtp","status":"publish","type":"post","link":"https:\/\/jrtx.com.br\/blog\/2026\/07\/03\/aula-21-sshguard-protecao-nativa-contra-ataques-ssh-ftp-smtp\/","title":{"rendered":"Aula 21: SSHGuard \u2014 prote\u00e7\u00e3o nativa contra ataques SSH, FTP, SMTP e outros servi\u00e7os"},"content":{"rendered":"<p>Bem-vindo \u00e0 Aula 21 do curso <strong>Seguran\u00e7a Linux \u2014 Do Zero ao Avan\u00e7ado<\/strong>. Nesta etapa avan\u00e7ada, vamos mergulhar profundamente em uma das ferramentas mais subestimadas e eficientes do ecossistema Linux: o <strong>SSHGuard<\/strong>. Diferente de solu\u00e7\u00f5es populares como o Fail2ban, o <strong>SSHGuard<\/strong> opera em um n\u00edvel significativamente mais baixo, monitorando logs do sistema e reagindo instantaneamente a tentativas de intrus\u00e3o contra servi\u00e7os como <strong>SSH<\/strong>, <strong>FTP<\/strong>, <strong>SMTP<\/strong>, <strong>Dovecot<\/strong> e muitos outros. Ao final desta aula, voc\u00ea ter\u00e1 a capacidade de implementar uma camada de prote\u00e7\u00e3o proativa em seus servidores, utilizando o <strong>SSHGuard<\/strong> integrado nativamente ao firewall do sistema operacional. Este \u00e9 um divisor de \u00e1guas para quem administra servidores expostos \u00e0 internet, e em nossos projetos na JRT Technology Solutions, consideramos o dom\u00ednio dessa ferramenta um pr\u00e9-requisito para qualquer profissional de seguran\u00e7a da informa\u00e7\u00e3o que atua com hardening de sistemas Linux.<\/p>\n<p>O problema que o <strong>SSHGuard<\/strong> resolve \u00e9 cl\u00e1ssico: servi\u00e7os de rede como o OpenSSH s\u00e3o alvos constantes de ataques de for\u00e7a bruta, varreduras automatizadas e bots maliciosos que testam combina\u00e7\u00f5es de usu\u00e1rios e senhas 24 horas por dia. Sem uma resposta automatizada, o servidor acumula logs gigantescos, desperdi\u00e7a recursos de CPU com tentativas de autentica\u00e7\u00e3o fracassadas e corre o risco real de comprometimento se uma credencial fraca existir. O <strong>SSHGuard<\/strong> bloqueia essas amea\u00e7as temporariamente, utilizando o pr\u00f3prio firewall do kernel para cortar a comunica\u00e7\u00e3o do atacante antes que ele consiga causar dano real. Vamos entender por que, em muitos cen\u00e1rios, ele \u00e9 superior a outras abordagens e como voc\u00ea pode extrair o m\u00e1ximo dessa ferramenta.<\/p>\n<p>O que torna o <strong>SSHGuard<\/strong> \u00fanico \u00e9 sua arquitetura em espa\u00e7o de usu\u00e1rio combinada com regras din\u00e2micas de firewall. Ele n\u00e3o depende de scripts excessivamente complexos nem consome grandes quantidades de mem\u00f3ria. Em vez disso, l\u00ea pipes de log diretamente, suporta m\u00faltiplos backends de firewall \u2014 incluindo <strong>iptables<\/strong>, <strong>nftables<\/strong>, <strong>firewalld<\/strong>, <strong>pf<\/strong> e <strong>ipfw<\/strong> \u2014 e pode ser integrado com praticamente qualquer sistema de logging. Se voc\u00ea j\u00e1 sentiu frustra\u00e7\u00e3o ao configurar regras de bloqueio manualmente ou achou o Fail2ban muito pesado para ambientes embarcados ou cont\u00eaineres, o <strong>SSHGuard<\/strong> ser\u00e1 uma revela\u00e7\u00e3o. Em nossa experi\u00eancia na JRT Technology Solutions, essa ferramenta brilha especialmente em servidores VPS de baixo custo, dispositivos IoT rodando Linux e em ambientes de alta disponibilidade onde a simplicidade \u00e9 cr\u00edtica.<\/p>\n<p>Antes de colocarmos a m\u00e3o na massa, \u00e9 fundamental entender o contexto. Voc\u00ea j\u00e1 concluiu as aulas anteriores do curso, ent\u00e3o domina conceitos como <strong>chroot<\/strong>, <strong>AppArmor<\/strong>, <strong>SELinux<\/strong> e configura\u00e7\u00e3o avan\u00e7ada de firewalls com <strong>iptables<\/strong> e <strong>nftables<\/strong>. Estamos no m\u00f3dulo avan\u00e7ado de seguran\u00e7a proativa, e esta aula far\u00e1 a ponte entre a prote\u00e7\u00e3o de servi\u00e7os individuais e a defesa perimetral inteligente que ser\u00e1 explorada nas pr\u00f3ximas aulas sobre Honeypots e sistemas de detec\u00e7\u00e3o de intrus\u00e3o. Ao terminar esta aula, voc\u00ea ser\u00e1 capaz de instalar, configurar, testar e solucionar problemas do <strong>SSHGuard<\/strong> em distribui\u00e7\u00f5es baseadas em Debian e Red Hat, garantindo que seus servi\u00e7os permane\u00e7am protegidos sem interven\u00e7\u00e3o manual constante.<\/p>\n<h3>O que voc\u00ea vai aprender nesta aula<\/h3>\n<ul>\n<li>Compreender a arquitetura interna do <strong>SSHGuard<\/strong> e como ele difere de solu\u00e7\u00f5es como <strong>Fail2ban<\/strong> e <strong>DenyHosts<\/strong><\/li>\n<li>Instalar o <strong>SSHGuard<\/strong> a partir dos reposit\u00f3rios oficiais no <strong>Ubuntu 24.04 LTS<\/strong>, <strong>Debian 12<\/strong>, <strong>CentOS Stream 9<\/strong> e <strong>Rocky Linux 9<\/strong><\/li>\n<li>Configurar backends de firewall para <strong>iptables<\/strong>, <strong>nftables<\/strong>, <strong>firewalld<\/strong> e <strong>UFW<\/strong><\/li>\n<li>Personalizar o arquivo de configura\u00e7\u00e3o principal, definindo limiares de bloqueio, tempo de blacklist e whitelist de IPs confi\u00e1veis<\/li>\n<li>Interpretar logs e mensagens de bloqueio geradas pelo daemon<\/li>\n<li>Simular um ataque de for\u00e7a bruta contra o SSH e verificar o bloqueio autom\u00e1tico em tempo real<\/li>\n<li>Diagnosticar e corrigir os erros mais comuns na opera\u00e7\u00e3o do <strong>SSHGuard<\/strong><\/li>\n<li>Aplicar boas pr\u00e1ticas de otimiza\u00e7\u00e3o para ambientes de produ\u00e7\u00e3o com alto volume de acessos leg\u00edtimos<\/li>\n<\/ul>\n<h3>Pr\u00e9-requisitos e Ambiente<\/h3>\n<p>Para executar todos os procedimentos desta aula sem contratempos, voc\u00ea precisar\u00e1 de um ambiente Linux funcional com acesso <strong>root<\/strong> ou privil\u00e9gios <strong>sudo<\/strong>. As demonstra\u00e7\u00f5es ser\u00e3o conduzidas em duas fam\u00edlias de distribui\u00e7\u00f5es: <strong>Debian\/Ubuntu<\/strong> (usaremos Ubuntu 24.04 LTS e Debian 12 Bookworm) e <strong>RHEL\/Rocky Linux<\/strong> (CentOS Stream 9 e Rocky Linux 9). \u00c9 altamente recomend\u00e1vel que voc\u00ea utilize uma m\u00e1quina virtual isolada da sua rede de produ\u00e7\u00e3o para os testes de simula\u00e7\u00e3o de ataque, pois os bloqueios gerados pelo <strong>SSHGuard<\/strong> afetar\u00e3o diretamente o tr\u00e1fego de rede local.<\/p>\n<p>Al\u00e9m do sistema base, voc\u00ea dever\u00e1 ter os servi\u00e7os-alvo instalados e em execu\u00e7\u00e3o. Nesta aula, focaremos no <strong>OpenSSH Server<\/strong> como servi\u00e7o prim\u00e1rio, mas mostraremos como estender a prote\u00e7\u00e3o para <strong>vsftpd<\/strong> (FTP), <strong>Postfix<\/strong> (SMTP) e <strong>Dovecot<\/strong> (IMAP\/POP3). O entendimento pr\u00e9vio de como analisar arquivos de log com ferramentas como <strong>journalctl<\/strong>, <strong>tail<\/strong> e <strong>grep<\/strong> \u00e9 necess\u00e1rio, pois exploraremos os mecanismos internos de detec\u00e7\u00e3o de padr\u00f5es do <strong>SSHGuard<\/strong>. Se voc\u00ea n\u00e3o est\u00e1 confort\u00e1vel com a leitura de logs do sistema, recomendamos revisar a Aula 8 do curso, que trata de auditoria e logging no Linux.<\/p>\n<p>O firewall do sistema deve estar ativo, mas sem regras que possam conflitar com as inser\u00e7\u00f5es din\u00e2micas do <strong>SSHGuard<\/strong>. Se voc\u00ea utiliza custom chains no <strong>iptables<\/strong> ou tabelas personalizadas no <strong>nftables<\/strong>, tenha cuidado para n\u00e3o sobrescrever as regras gerenciadas pelo daemon. Vamos abordar como integrar corretamente cada backend. Prepare tamb\u00e9m um segundo terminal ou m\u00e1quina para simular o atacante; isso \u00e9 crucial para a se\u00e7\u00e3o de verifica\u00e7\u00e3o da configura\u00e7\u00e3o. Em nossos treinamentos na JRT Technology Solutions, sempre orientamos os alunos a terem um ambiente de laborat\u00f3rio espelhado para este tipo de teste pr\u00e1tico.<\/p>\n<h3>Arquitetura do SSHGuard: como a prote\u00e7\u00e3o realmente funciona<\/h3>\n<p>O <strong>SSHGuard<\/strong> opera como um daemon leve que monitora fluxos de log \u2014 tipicamente o <strong>journald<\/strong> ou arquivos em <strong>\/var\/log\/<\/strong> \u2014 em busca de padr\u00f5es que indiquem tentativas de autentica\u00e7\u00e3o mal-sucedidas. Diferente de ferramentas que analisam logs via polling (leitura peri\u00f3dica de arquivos), o <strong>SSHGuard<\/strong> utiliza pipes nomeados e leitura cont\u00ednua de streams, o que reduz a lat\u00eancia entre a detec\u00e7\u00e3o do ataque e o bloqueio para fra\u00e7\u00f5es de segundo. Quando um determinado n\u00famero de falhas \u00e9 excedido dentro de uma janela de tempo configur\u00e1vel, o endere\u00e7o IP ofensor \u00e9 inserido em uma regra de firewall que rejeita todo o tr\u00e1fego proveniente dele por um per\u00edodo de tempo definido.<\/p>\n<p>Internamente, o <strong>SSHGuard<\/strong> \u00e9 dividido em dois componentes principais: o <strong>parser de logs<\/strong> e o <strong>backend de firewall<\/strong>. O parser \u00e9 respons\u00e1vel por interpretar as mensagens de log de cada servi\u00e7o suportado \u2014 o OpenSSH gera mensagens como &#8220;Failed password for root from 192.168.1.100 port 22 ssh2&#8221;, enquanto o Postfix produz &#8220;warning: unknown[203.0.113.5]: SASL LOGIN authentication failed&#8221;. O <strong>SSHGuard<\/strong> extrai o IP da fonte, classifica o tipo de falha e decide se aquele evento deve ser contabilizado para um poss\u00edvel bloqueio. A beleza est\u00e1 na simplicidade: ele n\u00e3o precisa conhecer a sem\u00e2ntica completa da aplica\u00e7\u00e3o, apenas padr\u00f5es de falha definidos em express\u00f5es regulares altamente otimizadas.<\/p>\n<p>O segundo componente, o backend de firewall, \u00e9 abstra\u00eddo por uma interface comum que permite trocar entre diferentes sistemas de filtragem de pacotes sem alterar a l\u00f3gica de detec\u00e7\u00e3o. Na vers\u00e3o atual (2.4.x), o <strong>SSHGuard<\/strong> suporta os seguintes backends: <strong>iptables<\/strong> (modo legacy), <strong>nftables<\/strong>, <strong>firewalld<\/strong>, <strong>ufw<\/strong>, <strong>pf<\/strong> (BSD), <strong>ipfw<\/strong> e at\u00e9 mesmo <strong>hosts.deny<\/strong> para compatibilidade com sistemas antigos. A escolha do backend impacta diretamente a performance e a coexist\u00eancia com outras regras de firewall, e dedicaremos uma se\u00e7\u00e3o inteira a essa decis\u00e3o. Em nossos projetos na JRT Technology Solutions, padronizamos o <strong>nftables<\/strong> como backend preferencial em novas implementa\u00e7\u00f5es devido \u00e0 sua atomicidade e performance superior.<\/p>\n<p>Um aspecto crucial que diferencia o <strong>SSHGuard<\/strong> do <strong>Fail2ban<\/strong> \u00e9 a aus\u00eancia de depend\u00eancias Python. O <strong>SSHGuard<\/strong> \u00e9 escrito em C, o que o torna extremamente compacto (bin\u00e1rio inferior a 100 KB) e com consumo m\u00ednimo de mem\u00f3ria. Em cont\u00eaineres Docker minimalistas ou em sistemas embarcados com poucos recursos, essa caracter\u00edstica \u00e9 determinante. Al\u00e9m disso, o bloqueio \u00e9 aplicado diretamente no firewall do kernel, n\u00e3o em n\u00edvel de aplica\u00e7\u00e3o, o que significa que o tr\u00e1fego ofensivo \u00e9 descartado antes mesmo de chegar ao espa\u00e7o de usu\u00e1rio, economizando ciclos de CPU que seriam gastos processando pacotes maliciosos.<\/p>\n<p>Outro ponto de destaque \u00e9 a capacidade nativa de <strong>blacklist tempor\u00e1ria<\/strong>. Ao detectar um ataque, o <strong>SSHGuard<\/strong> insere o IP em uma tabela de bloqueio com um <strong>TTL<\/strong> (time-to-live) configur\u00e1vel, tipicamente 120 segundos. Durante esse per\u00edodo, qualquer novo tr\u00e1fego daquele IP \u00e9 sumariamente rejeitado. Se o atacante insistir ap\u00f3s o TTL expirar, o ciclo se repete, e o tempo de bloqueio pode ser incrementado progressivamente em algumas configura\u00e7\u00f5es avan\u00e7adas. Essa abordagem evita que IPs leg\u00edtimos sejam banidos permanentemente por engano \u2014 um funcion\u00e1rio que errou a senha tr\u00eas vezes n\u00e3o ficar\u00e1 impedido de acessar o servidor para sempre, apenas por alguns minutos.<\/p>\n<h3>Instala\u00e7\u00e3o do SSHGuard no Ubuntu, Debian, CentOS e Rocky Linux<\/h3>\n<p>A instala\u00e7\u00e3o do <strong>SSHGuard<\/strong> varia ligeiramente entre as fam\u00edlias de distribui\u00e7\u00f5es, mas o processo \u00e9 simples em todas elas. Vamos come\u00e7ar pelos sistemas baseados em Debian. No <strong>Ubuntu 24.04 LTS<\/strong> e no <strong>Debian 12<\/strong>, o pacote est\u00e1 dispon\u00edvel nos reposit\u00f3rios oficiais e pode ser instalado diretamente com o <strong>apt<\/strong>. Antes de prosseguir, certifique-se de que seu sistema est\u00e1 atualizado e que o servi\u00e7o <strong>ssh<\/strong> est\u00e1 em execu\u00e7\u00e3o. Em nossos ambientes na JRT Technology Solutions, sempre recomendamos a execu\u00e7\u00e3o de um <strong>apt update<\/strong> completo antes de qualquer instala\u00e7\u00e3o de pacotes de seguran\u00e7a, para garantir que voc\u00ea est\u00e1 obtendo as vers\u00f5es mais recentes com corre\u00e7\u00f5es de vulnerabilidades.<\/p>\n<h4>Passo a passo no Ubuntu\/Debian<\/h4>\n<ol>\n<li><strong>Atualize a lista de pacotes e o sistema:<\/strong> Execute o comando abaixo para garantir que o \u00edndice de reposit\u00f3rios esteja sincronizado.<\/li>\n<li><strong>Instale o pacote sshguard:<\/strong> O gerenciador de pacotes resolver\u00e1 automaticamente as depend\u00eancias, que incluem o backend de firewall padr\u00e3o (<strong>iptables<\/strong> ou <strong>nftables<\/strong>, dependendo da vers\u00e3o).<\/li>\n<li><strong>Habilite e inicie o servi\u00e7o:<\/strong> O <strong>SSHGuard<\/strong> \u00e9 instalado como um servi\u00e7o systemd, mas n\u00e3o inicia automaticamente em algumas distribui\u00e7\u00f5es. Vamos garantir que ele esteja ativo e configurado para iniciar no boot.<\/li>\n<\/ol>\n<pre><code># Atualizar o \u00edndice de pacotes e fazer upgrade completo do sistema\nsudo apt update && sudo apt upgrade -y\n\n# Instalar o pacote sshguard\nsudo apt install sshguard -y\n\n# Habilitar o servi\u00e7o para iniciar automaticamente no boot\nsudo systemctl enable sshguard\n\n# Iniciar o servi\u00e7o imediatamente\nsudo systemctl start sshguard\n\n# Verificar o status do servi\u00e7o\nsudo systemctl status sshguard\n<\/code><\/pre>\n<pre><code class=\"output\">\u25cf sshguard.service - SSHGuard - monitors daemons from their logging activity\n     Loaded: loaded (\/lib\/systemd\/system\/sshguard.service; enabled; vendor preset: enabled)\n     Active: active (running) since Fri 2026-07-03 10:15:22 UTC; 5s ago\n       Docs: man:ssdguard(8)\n   Main PID: 12543 (sshguard)\n      Tasks: 1 (limit: 4653)\n     Memory: 1.2M\n        CPU: 30ms\n     CGroup: \/system.slice\/sshguard.service\n             \u2514\u250012543 \/usr\/sbin\/sshguard -i \/run\/sshguard.pid\n<\/code><\/pre>\n<p><strong>An\u00e1lise do comando:<\/strong> O utilit\u00e1rio <strong>apt install sshguard<\/strong> instala o bin\u00e1rio principal, os parsers de log e os arquivos de configura\u00e7\u00e3o padr\u00e3o em <strong>\/etc\/sshguard\/<\/strong>. A op\u00e7\u00e3o <strong>-y<\/strong> evita a confirma\u00e7\u00e3o interativa. O <strong>systemctl enable<\/strong> cria os symlinks necess\u00e1rios para que o daemon seja iniciado durante o boot, e o <strong>systemctl start<\/strong> dispara o processo imediatamente. A sa\u00edda mostra que o servi\u00e7o est\u00e1 <strong>active (running)<\/strong> com PID 12543 e consumo de apenas 1.2 MB de RAM, confirmando a natureza leve da ferramenta.<\/p>\n<h4>Passo a passo no CentOS\/RHEL\/Rocky Linux<\/h4>\n<p>Nos sistemas da fam\u00edlia Red Hat, o <strong>SSHGuard<\/strong> est\u00e1 dispon\u00edvel nos reposit\u00f3rios <strong>EPEL<\/strong> (Extra Packages for Enterprise Linux). Se voc\u00ea ainda n\u00e3o habilitou o EPEL em sua m\u00e1quina, o primeiro passo ser\u00e1 instal\u00e1-lo. Em seguida, o procedimento \u00e9 similar ao dos sistemas Debian. Vamos demonstrar em um <strong>Rocky Linux 9<\/strong>, mas os comandos s\u00e3o id\u00eanticos para <strong>CentOS Stream 9<\/strong> e <strong>RHEL 9<\/strong> (com assinatura ativa).<\/p>\n<ol>\n<li><strong>Instale o reposit\u00f3rio EPEL:<\/strong> Este \u00e9 um pr\u00e9-requisito obrigat\u00f3rio, pois o pacote <strong>sshguard<\/strong> n\u00e3o faz parte dos reposit\u00f3rios base da Red Hat.<\/li>\n<li><strong>Instale o pacote sshguard:<\/strong> Com o EPEL configurado, o <strong>dnf<\/strong> encontrar\u00e1 o pacote e suas depend\u00eancias.<\/li>\n<li><strong>Configure o backend de firewall:<\/strong> Nos sistemas RHEL 9, o backend padr\u00e3o pode ser o <strong>firewalld<\/strong> ou o <strong>nftables<\/strong>. Vamos ajustar conforme necess\u00e1rio.<\/li>\n<li><strong>Habilite e inicie o servi\u00e7o systemd.<\/strong><\/li>\n<\/ol>\n<pre><code># Instalar o reposit\u00f3rio EPEL (Extra Packages for Enterprise Linux)\nsudo dnf install epel-release -y\n\n# Atualizar o cache de pacotes do DNF\nsudo dnf makecache\n\n# Instalar o pacote sshguard\nsudo dnf install sshguard -y\n\n# Habilitar e iniciar o servi\u00e7o\nsudo systemctl enable sshguard --now\n\n# Confirmar que o servi\u00e7o est\u00e1 rodando\nsudo systemctl status sshguard\n<\/code><\/pre>\n<pre><code class=\"output\">\u25cf sshguard.service - SSHGuard - monitors daemons from their logging activity\n     Loaded: loaded (\/usr\/lib\/systemd\/system\/sshguard.service; enabled; vendor preset: disabled)\n     Active: active (running) since Fri 2026-07-03 10:22:47 UTC; 3s ago\n       Docs: man:ssdguard(8)\n   Main PID: 3845 (sshguard)\n      Tasks: 1 (limit: 23145)\n     Memory: 988.0K\n        CPU: 18ms\n     CGroup: \/system.slice\/sshguard.service\n             \u2514\u25003845 \/usr\/sbin\/sshguard -i \/run\/sshguard.pid\n<\/code><\/pre>\n<p><strong>Explica\u00e7\u00e3o dos comandos:<\/strong> O <strong>dnf install epel-release -y<\/strong> adiciona o reposit\u00f3rio EPEL ao sistema. O <strong>dnf makecache<\/strong> for\u00e7a a atualiza\u00e7\u00e3o dos metadados de todos os reposit\u00f3rios. O <strong>dnf install sshguard<\/strong> instala o pacote e suas depend\u00eancias. A flag <strong>&#8211;now<\/strong> no <strong>systemctl enable<\/strong> combina a habilita\u00e7\u00e3o (enable) e a inicializa\u00e7\u00e3o (start) em um \u00fanico comando, uma sintaxe conveniente do systemd. Note que o consumo de mem\u00f3ria neste sistema \u00e9 de apenas 988 KB, ainda menor que no Debian, provavelmente devido a diferen\u00e7as na aloca\u00e7\u00e3o de mem\u00f3ria das bibliotecas C utilizadas.<\/p>\n<h3>Configura\u00e7\u00e3o Detalhada do SSHGuard: arquivo sshguard.conf e par\u00e2metros essenciais<\/h3>\n<p>Com o <strong>SSHGuard<\/strong> instalado e em execu\u00e7\u00e3o, a pr\u00f3xima etapa \u00e9 personalizar seu comportamento de acordo com as necessidades do seu ambiente. O arquivo de configura\u00e7\u00e3o principal est\u00e1 localizado em <strong>\/etc\/sshguard\/sshguard.conf<\/strong> no Ubuntu\/Debian e em <strong>\/etc\/sshguard.conf<\/strong> no CentOS\/RHEL\/Rocky. Em algumas distribui\u00e7\u00f5es, o caminho pode ser <strong>\/etc\/sshguard\/sshguard<\/strong>. Vamos padronizar o caminho do Debian para esta demonstra\u00e7\u00e3o, mas voc\u00ea pode ajustar conforme sua distribui\u00e7\u00e3o. O arquivo \u00e9 bem documentado e utiliza uma sintaxe simples de atribui\u00e7\u00e3o de vari\u00e1veis. Abaixo, mostro o conte\u00fado completo de uma configura\u00e7\u00e3o otimizada para um servidor de produ\u00e7\u00e3o que recebe conex\u00f5es SSH leg\u00edtimas de diversos locais.<\/p>\n<pre><code># \/etc\/sshguard\/sshguard.conf\n# Configura\u00e7\u00e3o otimizada para servidor de produ\u00e7\u00e3o\n# JRT Technology Solutions - Template de hardening de servi\u00e7os\n\n# Backend de firewall: iptables, nftables, firewalld, ufW, pf, hostsdeny\nBACKEND=\"\/usr\/libexec\/sshguard\/sshg-fw-nft-sets\"\n\n# Arquivo de log a ser monitorado (journald recomendado para systemd)\nLOGREADER=\"LANG=C \/usr\/bin\/journalctl -afb -p info -n1 -t sshd\"\n\n# Limiar de bloqueio: n\u00famero de tentativas antes de banir (padr\u00e3o: 4)\n# Valores mais baixos aumentam a seguran\u00e7a mas podem gerar falsos positivos\nTHRESHOLD=30\n\n# Tempo de bloqueio em segundos ap\u00f3s atingir o limiar (padr\u00e3o: 120)\n# 300 segundos = 5 minutos; ideal para ambientes com muitos usu\u00e1rios\nBLACKLIST_THRESHOLD=300\n\n# Intervalo em segundos durante o qual as ofensas s\u00e3o acumuladas (padr\u00e3o: 30)\n# 1800 segundos = 30 minutos\nBLOCKTIME=1800\n\n# Tempo de detec\u00e7\u00e3o: janela em segundos para contar ofensas\n# Ajustado para 3600 (1 hora)\nDETECTION_TIME=3600\n\n# Whitelist de IPs nunca banidos (arquivo com um IP por linha)\nWHITELIST_FILE=\/etc\/sshguard\/whitelist.txt\n\n# Caminho do arquivo PID\nPID_FILE=\/run\/sshguard.pid\n\n# N\u00edvel de log do pr\u00f3prio SSHGuard (0=quiet, 1=verbose, 2=debug)\nLOG_LEVEL=1\n\n# Habilitar logs no syslog (valores: yes, no)\nLOGFACILITY=-p daemon.debug\n\n# Permitir que o SSHGuard gerencie a cria\u00e7\u00e3o e limpeza da chain de firewall\n# N\u00e3o alterar a menos que saiba o que est\u00e1 fazendo\nFILES=\/var\/log\/auth.log\n<\/code><\/pre>\n<p><strong>Explica\u00e7\u00e3o linha por linha:<\/strong> A diretiva <strong>BACKEND<\/strong> define qual script de firewall o <strong>SSHGuard<\/strong> utilizar\u00e1 para inserir e remover regras de bloqueio. O valor <strong>\/usr\/libexec\/sshguard\/sshg-fw-nft-sets<\/strong> indica o uso do <strong>nftables<\/strong> com conjuntos (sets) at\u00f4micos, a abordagem mais moderna e recomendada. Se voc\u00ea prefere <strong>iptables<\/strong>, use <strong>\/usr\/libexec\/sshguard\/sshg-fw-iptables<\/strong>; para <strong>firewalld<\/strong>, o caminho \u00e9 <strong>sshg-fw-firewalld<\/strong>. A vari\u00e1vel <strong>LOGREADER<\/strong> merece aten\u00e7\u00e3o especial: estamos utilizando o <strong>journalctl<\/strong> para ler os logs do <strong>sshd<\/strong> diretamente do journal do systemd, com as flags <strong>-afb<\/strong> (all, follow, boot), <strong>-p info<\/strong> (prioridade m\u00ednima) e <strong>-n1<\/strong> (\u00faltimas linhas, mas em modo follow ele transmitir\u00e1 continuamente). Essa abordagem \u00e9 mais eficiente que monitorar arquivos em disco, pois evita I\/O desnecess\u00e1rio.<\/p>\n<p>O <strong>THRESHOLD=30<\/strong> \u00e9 um valor moderadamente agressivo: um IP ser\u00e1 bloqueado ap\u00f3s 30 tentativas mal-sucedidas. Em servidores com autentica\u00e7\u00e3o por chave exclusivamente, pode-se reduzir para 10 ou at\u00e9 5, pois qualquer tentativa de senha j\u00e1 \u00e9 suspeita. O <strong>BLACKLIST_THRESHOLD=300<\/strong> mant\u00e9m o IP bloqueado por 5 minutos (300 segundos). O <strong>BLOCKTIME=1800<\/strong> define o intervalo de libera\u00e7\u00e3o de bloqueios. O <strong>WHITELIST_FILE<\/strong> aponta para um arquivo onde voc\u00ea pode listar IPs confi\u00e1veis (ex: IPs de escrit\u00f3rios corporativos, VPNs, seus pr\u00f3prios IPs de administra\u00e7\u00e3o) que jamais ser\u00e3o banidos. A manuten\u00e7\u00e3o dessa whitelist \u00e9 uma pr\u00e1tica de seguran\u00e7a fundamental que reduz falsos positivos drasticamente.<\/p>\n<p>A diretiva <strong>FILES<\/strong> define quais arquivos de log adicionais, al\u00e9m do journal, devem ser monitorados. O arquivo <strong>\/var\/log\/auth.log<\/strong> \u00e9 o local padr\u00e3o no Debian\/Ubuntu para logs de autentica\u00e7\u00e3o. No CentOS\/Rocky, esse arquivo pode ser <strong>\/var\/log\/secure<\/strong>. Ajuste conforme seu sistema. Se voc\u00ea utiliza servi\u00e7os que logam em outros arquivos (ex: <strong>\/var\/log\/maillog<\/strong> para Postfix), deve adicion\u00e1-los aqui. Lembre-se de que o <strong>LOGREADER<\/strong> baseado em journalctl j\u00e1 cobre a maior parte dos servi\u00e7os no systemd, mas adicionar o arquivo f\u00edsico garante redund\u00e2ncia e compatibilidade com servi\u00e7os que ainda escrevem diretamente em disco.<\/p>\n<h3>Configura\u00e7\u00e3o do Backend de Firewall e Integra\u00e7\u00e3o com iptables, nftables, firewalld e UFW<\/h3>\n<p>A escolha do backend de firewall \u00e9 uma das decis\u00f5es mais impactantes na implementa\u00e7\u00e3o do <strong>SSHGuard<\/strong>. Cada backend possui caracter\u00edsticas espec\u00edficas de performance, atomicidade e intera\u00e7\u00e3o com regras existentes. Nesta se\u00e7\u00e3o, vamos configurar e testar os quatro backends mais comuns em ambientes Linux modernos. Em nossa consultoria na JRT Technology Solutions, padronizamos o uso do <strong>nftables<\/strong> em todas as novas implementa\u00e7\u00f5es, mas mantemos suporte a <strong>iptables<\/strong> para ambientes legados e <strong>firewalld<\/strong> para sistemas RHEL que j\u00e1 utilizam essa ferramenta de gerenciamento de firewall por padr\u00e3o.<\/p>\n<p>Antes de alterar o backend, \u00e9 essencial garantir que o daemon do <strong>SSHGuard<\/strong> esteja parado, pois mudan\u00e7as com o servi\u00e7o em execu\u00e7\u00e3o podem deixar regras \u00f3rf\u00e3s no firewall. Utilize <strong>sudo systemctl stop sshguard<\/strong> antes de modificar o arquivo de configura\u00e7\u00e3o. Ap\u00f3s editar o <strong>sshguard.conf<\/strong>, reinicie o servi\u00e7o com <strong>sudo systemctl start sshguard<\/strong>. Vamos configurar cada backend em detalhes.<\/p>\n<h4>Backend iptables (modo legacy)<\/h4>\n<p>O backend <strong>iptables<\/strong> \u00e9 o mais tradicional e compat\u00edvel com todas as distribui\u00e7\u00f5es Linux. Ele cria uma chain personalizada chamada <strong>sshguard<\/strong> na tabela <strong>filter<\/strong> e adiciona regras de DROP para os IPs ofensores. Para utiliz\u00e1-lo, edite o <strong>sshguard.conf<\/strong> e defina:<\/p>\n<pre><code>BACKEND=\"\/usr\/libexec\/sshguard\/sshg-fw-iptables\"\n<\/code><\/pre>\n<p>Ap\u00f3s reiniciar o servi\u00e7o, verifique se a chain foi criada com <strong>sudo iptables -L sshguard -n<\/strong>. Inicialmente, ela estar\u00e1 vazia. Quando um bloqueio for acionado, voc\u00ea ver\u00e1 entradas como <strong>DROP all \u2014 203.0.113.5 anywhere<\/strong>. O <strong>SSHGuard<\/strong> tamb\u00e9m adiciona regras na chain <strong>INPUT<\/strong> para encaminhar o tr\u00e1fego suspeito para a chain <strong>sshguard<\/strong>. Esse backend \u00e9 robusto, mas n\u00e3o \u00e9 at\u00f4mico: as regras s\u00e3o inseridas uma a uma, o que em cen\u00e1rios de ataques massivos pode causar uma janela de race condition. Para servidores com tr\u00e1fego muito alto, considere o <strong>nftables<\/strong>.<\/p>\n<h4>Backend nftables com sets at\u00f4micos (recomendado)<\/h4>\n<p>O <strong>nftables<\/strong> substitui o iptables no kernel Linux moderno e oferece opera\u00e7\u00f5es at\u00f4micas, onde m\u00faltiplas regras s\u00e3o aplicadas em uma \u00fanica transa\u00e7\u00e3o. O <strong>SSHGuard<\/strong> utiliza <strong>nft sets<\/strong> para armazenar IPs banidos, o que permite bloqueios e libera\u00e7\u00f5es instant\u00e2neos e consistentes. Configure assim:<\/p>\n<pre><code>BACKEND=\"\/usr\/libexec\/sshguard\/sshg-fw-nft-sets\"\n<\/code><\/pre>\n<p>Ap\u00f3s a reinicializa\u00e7\u00e3o, voc\u00ea pode inspecionar o ruleset com <strong>sudo nft list ruleset<\/strong>. Procure pela tabela <strong>sshguard<\/strong> e pelo set din\u00e2mico. A grande vantagem aqui \u00e9 que opera\u00e7\u00f5es de adi\u00e7\u00e3o e remo\u00e7\u00e3o s\u00e3o at\u00f4micas \u2014 nenhum pacote escapar\u00e1 durante a atualiza\u00e7\u00e3o das regras. Al\u00e9m disso, o <strong>nftables<\/strong> consome menos CPU que o <strong>iptables<\/strong> em cen\u00e1rios com milhares de IPs bloqueados. Em nossos projetos na JRT Technology Solutions, observamos uma redu\u00e7\u00e3o de at\u00e9 30% no overhead de firewall em servidores com mais de 10 mil IPs em blacklist simult\u00e2nea.<\/p>\n<h4>Backend firewalld (padr\u00e3o em RHEL\/CentOS)<\/h4>\n<p>Se o seu sistema utiliza o <strong>firewalld<\/strong>, voc\u00ea pode integrar o <strong>SSHGuard<\/strong> sem abrir m\u00e3o da gest\u00e3o de zonas e servi\u00e7os. O backend firewalld adiciona os IPs ofensores como <strong>rich rules<\/strong> na zona ativa. Configure:<\/p>\n<pre><code>BACKEND=\"\/usr\/libexec\/sshguard\/sshg-fw-firewalld\"\n<\/code><\/pre>\n<p>Verifique as regras geradas com <strong>sudo firewall-cmd &#8211;list-all<\/strong>. Voc\u00ea ver\u00e1 entradas do tipo <strong>rule family=&#8221;ipv4&#8243; source address=&#8221;203.0.113.5&#8243; drop<\/strong>. A integra\u00e7\u00e3o \u00e9 limpa e respeita a hierarquia de zonas. No entanto, a remo\u00e7\u00e3o de regras pelo firewalld pode ser mais lenta que nos backends nativos, pois o firewalld gerencia suas pr\u00f3prias estruturas internas. Para ambientes onde o firewalld \u00e9 obrigat\u00f3rio por pol\u00edtica corporativa, essa \u00e9 a melhor escolha.<\/p>\n<h4>Backend UFW (Uncomplicated Firewall)<\/h4>\n<p>O <strong>UFW<\/strong> \u00e9 popular em distribui\u00e7\u00f5es Debian e Ubuntu por sua simplicidade. O <strong>SSHGuard<\/strong> pode inserir regras diretamente no <strong>ufw<\/strong> utilizando o backend correspondente. Configure:<\/p>\n<pre><code>BACKEND=\"\/usr\/libexec\/sshguard\/sshg-fw-ufw\"\n<\/code><\/pre>\n<p>Ap\u00f3s ativar esse backend, o <strong>SSHGuard<\/strong> executar\u00e1 comandos <strong>ufw insert<\/strong> para adicionar regras de bloqueio. Voc\u00ea pode verific\u00e1-las com <strong>sudo ufw status numbered<\/strong>. Embora funcional, essa abordagem \u00e9 mais lenta que as nativas, pois cada inser\u00e7\u00e3o dispara um script em Python que reconstr\u00f3i as regras do iptables. Para servidores de produ\u00e7\u00e3o com alto volume de bloqueios, evite o UFW e opte por <strong>nftables<\/strong> ou <strong>iptables<\/strong> diretamente.<\/p>\n<p>Segue uma tabela comparativa para ajud\u00e1-lo na decis\u00e3o:<\/p>\n<table border=\"1\" cellpadding=\"8\" cellspacing=\"0\" style=\"border-collapse: collapse; width: 100%;\">\n<caption><strong>Comparativo de Backends de Firewall suportados pelo SSHGuard<\/strong><\/caption>\n<thead>\n<tr>\n<th>Backend<\/th>\n<th>Atomicidade<\/th>\n<th>Performance<\/th>\n<th>Complexidade<\/th>\n<th>Compatibilidade<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td><strong>iptables<\/strong><\/td>\n<td>N\u00e3o (regra por regra)<\/td>\n<td>Boa<\/td>\n<td>Baixa<\/td>\n<td>Todas as distros<\/td>\n<\/tr>\n<tr>\n<td><strong>nftables (sets)<\/strong><\/td>\n<td>Sim (transa\u00e7\u00f5es at\u00f4micas)<\/td>\n<td>Excelente<\/td>\n<td>M\u00e9dia<\/td>\n<td>Kernel 3.13+, nft userspace<\/td>\n<\/tr>\n<tr>\n<td><strong>firewalld<\/strong><\/td>\n<td>N\u00e3o<\/td>\n<td>Moderada<\/td>\n<td>Baixa<\/td>\n<td>RHEL\/CentOS\/Fedora<\/td>\n<\/tr>\n<tr>\n<td><strong>UFW<\/strong><\/td>\n<td>N\u00e3o<\/td>\n<td>Baixa<\/td>\n<td>Muito baixa<\/td>\n<td>Debian\/Ubuntu<\/td>\n<\/tr>\n<tr>\n<td><strong>pf (BSD)<\/strong><\/td>\n<td>Sim<\/td>\n<td>Excelente<\/td>\n<td>Alta<\/td>\n<td>FreeBSD\/OpenBSD<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<h3>Monitoramento e Logs: entendendo o que o SSHGuard est\u00e1 fazendo<\/h3>\n<p>Uma vez que o <strong>SSHGuard<\/strong> esteja em execu\u00e7\u00e3o e configurado, \u00e9 cr\u00edtico saber como monitorar suas a\u00e7\u00f5es. O daemon registra suas pr\u00f3prias atividades no syslog (ou journal do systemd), e voc\u00ea pode acompanh\u00e1-las em tempo real para verificar bloqueios, desbloqueios e poss\u00edveis erros. Dependendo da configura\u00e7\u00e3o de <strong>LOG_LEVEL<\/strong>, voc\u00ea ter\u00e1 mais ou menos detalhes. Com <strong>LOG_LEVEL=1<\/strong>, eventos de bloqueio e libera\u00e7\u00e3o s\u00e3o registrados. Com <strong>LOG_LEVEL=2<\/strong> (debug), cada ofensa contabilizada \u00e9 impressa, o que gera um volume enorme de logs e deve ser usado apenas para troubleshooting.<\/p>\n<p>Para visualizar os logs do <strong>SSHGuard<\/strong> no jornal do systemd, utilize:<\/p>\n<pre><code># Acompanhar logs do SSHGuard em tempo real\nsudo journalctl -fu sshguard\n\n# Exibir as \u00faltimas 50 entradas do servi\u00e7o\nsudo journalctl -u sshguard -n 50 --no-pager\n\n# Filtrar por mensagens de bloqueio (BLOCK)\nsudo journalctl -u sshguard | grep BLOCK\n<\/code><\/pre>\n<pre><code class=\"output\">Jul 03 10:45:12 server sshguard[12543]: Blocking 203.0.113.5:4 for 300 secs (30 attacks in 1800 secs, last offense: 'Failed password for root from 203.0.113.5 port 22 ssh2').\nJul 03 10:50:12 server sshguard[12543]: Releasing 203.0.113.5 after 300 secs.\nJul 03 10:52:30 server sshguard[12543]: Blocking 198.51.100.10:4 for 300 secs (35 attacks in 1800 secs, last offense: 'Failed password for admin from 198.51.100.10 port 22 ssh2').\n<\/code><\/pre>\n<p><strong>Interpreta\u00e7\u00e3o da sa\u00edda:<\/strong> Cada linha de bloqueio (<strong>Blocking<\/strong>) mostra o IP bloqueado, o n\u00famero de ofensas acumuladas dentro da janela de detec\u00e7\u00e3o, o tempo de bloqueio em segundos e a \u00faltima mensagem de log que acionou o banimento. A entrada <strong>203.0.113.5:4<\/strong> indica que o IP foi classificado com n\u00edvel de perigo 4 (em uma escala interna do SSHGuard). A linha de <strong>Releasing<\/strong> ocorre automaticamente quando o tempo de bloqueio expira. Este comportamento demonstra a natureza autolimpante da ferramenta: voc\u00ea n\u00e3o precisa se preocupar em remover manualmente regras antigas, o que reduz drasticamente a carga administrativa.<\/p>\n<p>Al\u00e9m dos logs do pr\u00f3prio <strong>SSHGuard<\/strong>, \u00e9 importante verificar os logs do servi\u00e7o monitorado para entender o contexto dos bloqueios. Por exemplo, para auditoria completa de uma tentativa de ataque SSH, combine os logs do <strong>sshd<\/strong> com os do <strong>SSHGuard<\/strong>:<\/p>\n<pre><code># Ver todas as falhas de autentica\u00e7\u00e3o SSH das \u00faltimas horas\nsudo journalctl -u sshd --since \"1 hour ago\" | grep \"Failed password\"\n\n# Cruzar com bloqueios do SSHGuard no mesmo per\u00edodo\nsudo journalctl -u sshguard --since \"1 hour ago\" --until \"now\"\n<\/code><\/pre>\n<p>Essa correla\u00e7\u00e3o \u00e9 essencial para identificar falsos positivos ou ajustar os limiares. Se voc\u00ea notar que um IP leg\u00edtimo est\u00e1 sendo bloqueado repetidamente, adicione-o \u00e0 whitelist em <strong>\/etc\/sshguard\/whitelist.txt<\/strong> e reinicie o servi\u00e7o. Em nossos clientes na JRT Technology Solutions, configuramos dashboards simples com <strong>awk<\/strong> e scripts que parseiam esses logs para gerar relat\u00f3rios di\u00e1rios de tentativas de intrus\u00e3o por pa\u00eds (integrando com <strong>geoiplookup<\/strong>), uma pr\u00e1tica que voc\u00ea pode implementar como exerc\u00edcio avan\u00e7ado.<\/p>\n<h3>Verificando a Instala\u00e7\u00e3o \/ Testando a Configura\u00e7\u00e3o do SSHGuard<\/h3>\n<p>Agora chegamos \u00e0 etapa mais pr\u00e1tica e empolgante da aula: simular um ataque real de for\u00e7a bruta contra o servidor SSH e verificar se o <strong>SSHGuard<\/strong> bloqueia efetivamente o IP atacante. Para isso, voc\u00ea precisar\u00e1 de uma segunda m\u00e1quina na mesma rede (ou um terminal de loopback, mas o teste em loopback pode n\u00e3o acionar as regras de firewall dependendo do backend). O ideal \u00e9 usar uma VM separada ou um cont\u00eainer em bridge com IP distinto. Neste exemplo, nosso servidor alvo est\u00e1 em <strong>192.168.1.100<\/strong> e o atacante ser\u00e1 a m\u00e1quina <strong>192.168.1.200<\/strong>.<\/p>\n<p><strong>Passo 1:<\/strong> No servidor alvo, eleve o n\u00edvel de log do <strong>SSHGuard<\/strong> para debug temporariamente, para vermos cada ofensa sendo contabilizada. Edite o arquivo <strong>sshguard.conf<\/strong> e mude <strong>LOG_LEVEL=2<\/strong>. Reinicie o servi\u00e7o com <strong>sudo systemctl restart sshguard<\/strong>.<\/p>\n<p><strong>Passo 2:<\/strong> No servidor, abra um terminal e comece a acompanhar os logs do SSHGuard em tempo real:<\/p>\n<pre><code>sudo journalctl -fu sshguard\n<\/code><\/pre>\n<p><strong>Passo 3:<\/strong> Na m\u00e1quina atacante, utilize uma ferramenta como o <strong>hydra<\/strong> ou um simples script bash para realizar m\u00faltiplas tentativas de login SSH com senhas erradas. Vamos usar o <strong>hydra<\/strong> por sua facilidade:<\/p>\n<pre><code># Instalar hydra na m\u00e1quina atacante (Ubuntu\/Debian)\nsudo apt install hydra -y\n\n# Lan\u00e7ar ataque de for\u00e7a bruta contra o SSH do alvo\n# -l root: usu\u00e1rio alvo\n# -P \/usr\/share\/wordlists\/rockyou.txt.gz: wordlist de senhas (descompacte se necess\u00e1rio)\n# ssh:\/\/192.168.1.100: protocolo e IP\nhydra -l root -P \/usr\/share\/wordlists\/rockyou.txt -t 4 ssh:\/\/192.168.1.100\n<\/code><\/pre>\n<p><strong>Passo 4:<\/strong> Observe, no terminal do servidor, o fluxo de logs do <strong>SSHGuard<\/strong>. Inicialmente, voc\u00ea ver\u00e1 mensagens de <strong>Offense<\/strong> sendo registradas para cada falha. Ap\u00f3s atingir o limiar configurado (30 tentativas), uma mensagem de <strong>Blocking<\/strong> ser\u00e1 exibida e o ataque ser\u00e1 interrompido, pois o firewall passar\u00e1 a descartar os pacotes SYN do IP atacante.<\/p>\n<pre><code class=\"output\">Jul 03 11:15:30 server sshguard[12543]: Offense from 192.168.1.200:1 (1 attacks in 1800 secs).\nJul 03 11:15:31 server sshguard[12543]: Offense from 192.168.1.200:2 (2 attacks in 1800 secs).\n...\nJul 03 11:16:02 server sshguard[12543]: Offense from 192.168.1.200:30 (30 attacks in 1800 secs).\nJul 03 11:16:02 server sshguard[12543]: Blocking 192.168.1.200:4 for 300 secs (30 attacks in 1800 secs, last offense: 'Failed password for root from 192.168.1.200 port 22 ssh2').\n<\/code><\/pre>\n<p><strong>Passo 5:<\/strong> Confirme que a regra foi inserida no firewall. Dependendo do backend, utilize o comando apropriado. Para <strong>nftables<\/strong>:<\/p>\n<pre><code>sudo nft list set inet filter sshguard\n<\/code><\/pre>\n<pre><code class=\"output\">table inet filter {\n        set sshguard {\n                type ipv4_addr\n                flags timeout\n                elements = { 192.168.1.200 timeout 5m expires 4m58s }\n        }\n}\n<\/code><\/pre>\n<p>Para <strong>iptables<\/strong>:<\/p>\n<pre><code>sudo iptables -L sshguard -n -v\n<\/code><\/pre>\n<pre><code class=\"output\">Chain sshguard (1 references)\n pkts bytes target     prot opt in     out     source               destination\n   47  2820 DROP       all  --  *      *       192.168.1.200        0.0.0.0\/0\n<\/code><\/pre>\n<p><strong>Passo 6:<\/strong> Na m\u00e1quina atacante, o <strong>hydra<\/strong> reportar\u00e1 erros de conex\u00e3o (<strong>Can not connect<\/strong> ou <strong>timeout<\/strong>) porque os pacotes est\u00e3o sendo descartados pelo firewall. Ap\u00f3s 5 minutos (300 segundos), o IP ser\u00e1 liberado automaticamente e o <strong>hydra<\/strong> conseguir\u00e1 conectar novamente, a menos que um novo ciclo de bloqueio se inicie. Este teste comprova o funcionamento completo do sistema.<\/p>\n<h3>Erros Comuns e Como Resolver<\/h3>\n<p>Durante a implementa\u00e7\u00e3o do <strong>SSHGuard<\/strong>, voc\u00ea pode encontrar uma s\u00e9rie de problemas que impedem o bloqueio adequado ou causam efeitos colaterais indesejados. Com base em nossa experi\u00eancia na JRT Technology Solutions resolvendo incidentes em campo, compilamos os quatro erros mais frequentes, seus sintomas, causas raiz e solu\u00e7\u00f5es detalhadas.<\/p>\n<ul>\n<li>\n        <strong>Erro 1:<\/strong> <em>Sintoma:<\/em> O servi\u00e7o <strong>sshguard<\/strong> inicia, mas nenhum bloqueio ocorre mesmo ap\u00f3s in\u00fameras tentativas de for\u00e7a bruta. <em>Causa:<\/em> O <strong>LOGREADER<\/strong> est\u00e1 configurado incorretamente ou apontando para um arquivo\/log que n\u00e3o cont\u00e9m as mensagens do servi\u00e7o monitorado. Isso \u00e9 comum quando se utiliza <strong>journalctl<\/strong> mas o servi\u00e7o alvo (ex: <strong>sshd<\/strong>) est\u00e1 logando em <strong>\/var\/log\/auth.log<\/strong> e o journal est\u00e1 desabilitado. <em>Solu\u00e7\u00e3o:<\/em> Verifique se o journal est\u00e1 ativo com <strong>sudo journalctl &#8211;verify<\/strong>. Se n\u00e3o estiver, ajuste o <strong>LOGREADER<\/strong> para ler o arquivo diretamente: <strong>LOGREADER=&#8221;LANG=C \/usr\/bin\/tail -F \/var\/log\/auth.log&#8221;<\/strong>. Teste manualmente o comando de logreader para garantir que ele produz sa\u00edda.\n    <\/li>\n<li>\n        <strong>Erro 2:<\/strong> <em>Sintoma:<\/em> O bloqueio ocorre, mas o IP bloqueado ainda consegue se conectar e fazer novas tentativas. <em>Causa:<\/em> O backend de firewall n\u00e3o est\u00e1 inserindo as regras na chain correta, ou regras pr\u00e9-existentes com prioridade maior est\u00e3o permitindo o tr\u00e1fego antes que ele alcance a chain do <strong>SSHGuard<\/strong>. Isso \u00e9 frequente no <strong>nftables<\/strong> quando h\u00e1 uma regra <strong>accept<\/strong> precedendo o <strong>jump<\/strong> para a chain do SSHGuard. <em>Solu\u00e7\u00e3o:<\/em> Revise o ruleset do seu firewall. Para <strong>iptables<\/strong>, certifique-se de que a chain <strong>INPUT<\/strong> tenha uma regra <strong>sshguard<\/strong> no topo (ou logo ap\u00f3s as regras de loopback e established\/related). Para <strong>nftables<\/strong>, ajuste a prioridade da chain. Recrie o ruleset base ou permita que o SSHGuard gerencie a cria\u00e7\u00e3o das chains (n\u00e3o defina regras conflitantes manualmente).\n    <\/li>\n<li>\n        <strong>Erro 3:<\/strong> <em>Sintoma:<\/em> O sistema fica lento ap\u00f3s muitas horas de opera\u00e7\u00e3o, com dezenas de milhares de IPs bloqueados. <em>Causa:<\/em> O backend <strong>iptables<\/strong> n\u00e3o foi projetado para lidar com um n\u00famero massivo de regras lineares; cada regra \u00e9 percorrida sequencialmente. Com milhares de IPs, o tempo de processamento de cada pacote aumenta linearmente. <em>Solu\u00e7\u00e3o:<\/em> Mude para o backend <strong>nftables<\/strong> com sets, que utiliza estruturas de hash com lookup O(1). No arquivo de configura\u00e7\u00e3o, altere <strong>BACKEND=&#8221;\/usr\/libexec\/sshguard\/sshg-fw-nft-sets&#8221;<\/strong>. Reinicie o servi\u00e7o e verifique a performance. Outra medida complementar \u00e9 reduzir o <strong>BLOCKTIME<\/strong> e o <strong>THRESHOLD<\/strong> para limitar o n\u00famero de IPs simult\u00e2neos na blacklist.<br \/>\n    <\/<\/ul>\n<div style=\"margin:52px 0 40px;padding:36px 28px;background:linear-gradient(135deg,#0f172a 0%,#1a2744 100%);border:2px solid #25D366;border-radius:18px;text-align:center;box-shadow:0 4px 28px rgba(37,211,102,0.18)\">\n<p style=\"margin:0 0 10px;font-size:18px;color:#ffffff;font-weight:700;line-height:1.4\">Quer aprender na pr\u00e1tica com especialistas?<\/p>\n<p style=\"margin:0 0 28px;font-size:15px;color:#94a3b8;font-weight:400;line-height:1.6\">A JRT Technology Solutions oferece treinamentos e implementa\u00e7\u00e3o de Seguran\u00e7a Linux para equipes corporativas.<\/p>\n<p>  <a href=\"https:\/\/api.whatsapp.com\/send\/?phone=5521980606699&#038;text=Ol%C3%A1!%20Tenho%20interesse%20no%20treinamento%20de%20Seguran%C3%A7a%20Linux.&#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:700;padding:15px 32px;border-radius:100px;text-decoration:none;box-shadow:0 4px 16px rgba(37,211,102,0.45);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\"><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\"\/><\/svg><br \/>\n    Falar no WhatsApp<br \/>\n  <\/a>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>Aprenda a proteger seu servidor com SSHGuard. Descubra como evitar ataques a SSH, FTP, SMTP e mais na Aula 21 do nosso curso de Seguran\u00e7a Linux!<\/p>\n","protected":false},"author":1,"featured_media":1371,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"om_disable_all_campaigns":false,"_monsterinsights_skip_tracking":false,"iawp_total_views":0,"footnotes":""},"categories":[8],"tags":[5,2142,2288,14,2289,575],"class_list":["post-1372","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-falhas-de-seguranca","tag-firewall-linux","tag-monitoramento-de-servicos","tag-protecao-contra-ataques","tag-seguranca-linux","tag-ssh-e-ftp-seguranca","tag-sshguard"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 4.9.10 - aioseo.com -->\n\t<meta name=\"description\" content=\"Aprenda a proteger seu servidor com SSHGuard. Descubra como evitar ataques a SSH, FTP, SMTP e mais na Aula 21 do nosso curso de Seguran\u00e7a Linux!\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Thiago Paes Rodrigues\"\/>\n\t<meta name=\"google-site-verification\" content=\"QKPfpDCzHmzKyfFk5j1KZW3HhROYTPeqwBN5qcJ8qcg\" \/>\n\t<link rel=\"canonical\" href=\"https:\/\/jrtx.com.br\/blog\/2026\/07\/03\/aula-21-sshguard-protecao-nativa-contra-ataques-ssh-ftp-smtp\/\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 4.9.10\" \/>\n\t\t<meta property=\"og:locale\" content=\"pt_BR\" \/>\n\t\t<meta property=\"og:site_name\" content=\"BLOG - JRT Technology Solutions - Um espa\u00e7o dedicado a explorar o universo da tecnologia de forma clara, pr\u00e1tica e atual. Aqui voc\u00ea encontra novidades, an\u00e1lises, tutoriais e reflex\u00f5es sobre inova\u00e7\u00e3o, intelig\u00eancia artificial, gadgets, programa\u00e7\u00e3o e tend\u00eancias digitais. Nosso objetivo \u00e9 simplificar o complexo, ajudar voc\u00ea a se manter atualizado e transformar conhecimento em pr\u00e1tica no seu dia a dia.\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"Aula 21: SSHGuard \u2014 prote\u00e7\u00e3o nativa contra ataques SSH, FTP, SMTP e outros servi\u00e7os - BLOG - JRT Technology Solutions\" \/>\n\t\t<meta property=\"og:description\" content=\"Aprenda a proteger seu servidor com SSHGuard. Descubra como evitar ataques a SSH, FTP, SMTP e mais na Aula 21 do nosso curso de Seguran\u00e7a Linux!\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/jrtx.com.br\/blog\/2026\/07\/03\/aula-21-sshguard-protecao-nativa-contra-ataques-ssh-ftp-smtp\/\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/jrtx.com.br\/blog\/wp-content\/uploads\/2026\/03\/cropped-logo-mini.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/jrtx.com.br\/blog\/wp-content\/uploads\/2026\/03\/cropped-logo-mini.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"100\" \/>\n\t\t<meta property=\"og:image:height\" content=\"75\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2026-07-03T20:52:16+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2026-07-03T20:52:16+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/profile.php?id=61590814880509\" \/>\n\t\t<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n\t\t<meta name=\"twitter:title\" content=\"Aula 21: SSHGuard \u2014 prote\u00e7\u00e3o nativa contra ataques SSH, FTP, SMTP e outros servi\u00e7os - BLOG - JRT Technology Solutions\" \/>\n\t\t<meta name=\"twitter:description\" content=\"Aprenda a proteger seu servidor com SSHGuard. Descubra como evitar ataques a SSH, FTP, SMTP e mais na Aula 21 do nosso curso de Seguran\u00e7a Linux!\" \/>\n\t\t<meta name=\"twitter:image\" content=\"https:\/\/jrtx.com.br\/blog\/wp-content\/uploads\/2026\/03\/cropped-logo-mini.jpg\" \/>\n\t\t<script type=\"application\/ld+json\" class=\"aioseo-schema\">\n\t\t\t{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"BlogPosting\",\"@id\":\"https:\\\/\\\/jrtx.com.br\\\/blog\\\/2026\\\/07\\\/03\\\/aula-21-sshguard-protecao-nativa-contra-ataques-ssh-ftp-smtp\\\/#blogposting\",\"name\":\"Aula 21: SSHGuard \\u2014 prote\\u00e7\\u00e3o nativa contra ataques SSH, FTP, SMTP e outros servi\\u00e7os - BLOG - JRT Technology Solutions\",\"headline\":\"Aula 21: SSHGuard \\u2014 prote\\u00e7\\u00e3o nativa contra ataques SSH, FTP, SMTP e outros servi\\u00e7os\",\"author\":{\"@id\":\"https:\\\/\\\/jrtx.com.br\\\/blog\\\/author\\\/thiago\\\/#author\"},\"publisher\":{\"@id\":\"https:\\\/\\\/jrtx.com.br\\\/blog\\\/#organization\"},\"image\":{\"@type\":\"ImageObject\",\"url\":\"https:\\\/\\\/jrtx.com.br\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/07\\\/ai-image-1783111926995.jpg\",\"width\":1440,\"height\":1024,\"caption\":\"Aula 21: SSHGuard \\u2014 prote\\u00e7\\u00e3o nativa contra ataques SSH, FTP, SMTP e outros servi\\u00e7os\"},\"datePublished\":\"2026-07-03T17:52:16-03:00\",\"dateModified\":\"2026-07-03T17:52:16-03:00\",\"inLanguage\":\"pt-BR\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/jrtx.com.br\\\/blog\\\/2026\\\/07\\\/03\\\/aula-21-sshguard-protecao-nativa-contra-ataques-ssh-ftp-smtp\\\/#webpage\"},\"isPartOf\":{\"@id\":\"https:\\\/\\\/jrtx.com.br\\\/blog\\\/2026\\\/07\\\/03\\\/aula-21-sshguard-protecao-nativa-contra-ataques-ssh-ftp-smtp\\\/#webpage\"},\"articleSection\":\"Falhas de Seguran\\u00e7a, firewall linux, monitoramento de servi\\u00e7os, prote\\u00e7\\u00e3o contra ataques, seguran\\u00e7a linux, SSH e FTP seguran\\u00e7a, SSHGuard\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/jrtx.com.br\\\/blog\\\/2026\\\/07\\\/03\\\/aula-21-sshguard-protecao-nativa-contra-ataques-ssh-ftp-smtp\\\/#breadcrumblist\",\"itemListElement\":[{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/jrtx.com.br\\\/blog#listItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/jrtx.com.br\\\/blog\",\"nextItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/jrtx.com.br\\\/blog\\\/category\\\/falhas-de-seguranca\\\/#listItem\",\"name\":\"Falhas de Seguran\\u00e7a\"}},{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/jrtx.com.br\\\/blog\\\/category\\\/falhas-de-seguranca\\\/#listItem\",\"position\":2,\"name\":\"Falhas de Seguran\\u00e7a\",\"item\":\"https:\\\/\\\/jrtx.com.br\\\/blog\\\/category\\\/falhas-de-seguranca\\\/\",\"nextItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/jrtx.com.br\\\/blog\\\/2026\\\/07\\\/03\\\/aula-21-sshguard-protecao-nativa-contra-ataques-ssh-ftp-smtp\\\/#listItem\",\"name\":\"Aula 21: SSHGuard \\u2014 prote\\u00e7\\u00e3o nativa contra ataques SSH, FTP, SMTP e outros servi\\u00e7os\"},\"previousItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/jrtx.com.br\\\/blog#listItem\",\"name\":\"Home\"}},{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/jrtx.com.br\\\/blog\\\/2026\\\/07\\\/03\\\/aula-21-sshguard-protecao-nativa-contra-ataques-ssh-ftp-smtp\\\/#listItem\",\"position\":3,\"name\":\"Aula 21: SSHGuard \\u2014 prote\\u00e7\\u00e3o nativa contra ataques SSH, FTP, SMTP e outros servi\\u00e7os\",\"previousItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/jrtx.com.br\\\/blog\\\/category\\\/falhas-de-seguranca\\\/#listItem\",\"name\":\"Falhas de Seguran\\u00e7a\"}}]},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/jrtx.com.br\\\/blog\\\/#organization\",\"name\":\"JRT Technology Solutions | Tecnologia e Inova\\u00e7\\u00e3o para Empresas\",\"description\":\"Um espa\\u00e7o dedicado a explorar o universo da tecnologia de forma clara, pr\\u00e1tica e atual. Aqui voc\\u00ea encontra novidades, an\\u00e1lises, tutoriais e reflex\\u00f5es sobre inova\\u00e7\\u00e3o, intelig\\u00eancia artificial, gadgets, programa\\u00e7\\u00e3o e tend\\u00eancias digitais. Nosso objetivo \\u00e9 simplificar o complexo, ajudar voc\\u00ea a se manter atualizado e transformar conhecimento em pr\\u00e1tica no seu dia a dia.\",\"url\":\"https:\\\/\\\/jrtx.com.br\\\/blog\\\/\",\"telephone\":\"+552138277513\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https:\\\/\\\/jrtx.com.br\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/03\\\/cropped-logo-mini.jpg\",\"@id\":\"https:\\\/\\\/jrtx.com.br\\\/blog\\\/2026\\\/07\\\/03\\\/aula-21-sshguard-protecao-nativa-contra-ataques-ssh-ftp-smtp\\\/#organizationLogo\",\"width\":100,\"height\":75},\"image\":{\"@id\":\"https:\\\/\\\/jrtx.com.br\\\/blog\\\/2026\\\/07\\\/03\\\/aula-21-sshguard-protecao-nativa-contra-ataques-ssh-ftp-smtp\\\/#organizationLogo\"},\"sameAs\":[\"https:\\\/\\\/www.facebook.com\\\/profile.php?id=61590814880509\",\"https:\\\/\\\/www.instagram.com\\\/jrtx.tech\\\/\"]},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/jrtx.com.br\\\/blog\\\/author\\\/thiago\\\/#author\",\"url\":\"https:\\\/\\\/jrtx.com.br\\\/blog\\\/author\\\/thiago\\\/\",\"name\":\"Thiago Paes Rodrigues\",\"image\":{\"@type\":\"ImageObject\",\"@id\":\"https:\\\/\\\/jrtx.com.br\\\/blog\\\/2026\\\/07\\\/03\\\/aula-21-sshguard-protecao-nativa-contra-ataques-ssh-ftp-smtp\\\/#authorImage\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/3cdfdf5f766c59d9c9acab959751c31c3442acd94d4b2927c51d2a0c31b50822?s=96&d=mm&r=g\",\"width\":96,\"height\":96,\"caption\":\"Thiago Paes Rodrigues\"}},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/jrtx.com.br\\\/blog\\\/2026\\\/07\\\/03\\\/aula-21-sshguard-protecao-nativa-contra-ataques-ssh-ftp-smtp\\\/#webpage\",\"url\":\"https:\\\/\\\/jrtx.com.br\\\/blog\\\/2026\\\/07\\\/03\\\/aula-21-sshguard-protecao-nativa-contra-ataques-ssh-ftp-smtp\\\/\",\"name\":\"Aula 21: SSHGuard \\u2014 prote\\u00e7\\u00e3o nativa contra ataques SSH, FTP, SMTP e outros servi\\u00e7os - BLOG - JRT Technology Solutions\",\"description\":\"Aprenda a proteger seu servidor com SSHGuard. Descubra como evitar ataques a SSH, FTP, SMTP e mais na Aula 21 do nosso curso de Seguran\\u00e7a Linux!\",\"inLanguage\":\"pt-BR\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/jrtx.com.br\\\/blog\\\/#website\"},\"breadcrumb\":{\"@id\":\"https:\\\/\\\/jrtx.com.br\\\/blog\\\/2026\\\/07\\\/03\\\/aula-21-sshguard-protecao-nativa-contra-ataques-ssh-ftp-smtp\\\/#breadcrumblist\"},\"author\":{\"@id\":\"https:\\\/\\\/jrtx.com.br\\\/blog\\\/author\\\/thiago\\\/#author\"},\"creator\":{\"@id\":\"https:\\\/\\\/jrtx.com.br\\\/blog\\\/author\\\/thiago\\\/#author\"},\"image\":{\"@type\":\"ImageObject\",\"url\":\"https:\\\/\\\/jrtx.com.br\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/07\\\/ai-image-1783111926995.jpg\",\"@id\":\"https:\\\/\\\/jrtx.com.br\\\/blog\\\/2026\\\/07\\\/03\\\/aula-21-sshguard-protecao-nativa-contra-ataques-ssh-ftp-smtp\\\/#mainImage\",\"width\":1440,\"height\":1024,\"caption\":\"Aula 21: SSHGuard \\u2014 prote\\u00e7\\u00e3o nativa contra ataques SSH, FTP, SMTP e outros servi\\u00e7os\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/jrtx.com.br\\\/blog\\\/2026\\\/07\\\/03\\\/aula-21-sshguard-protecao-nativa-contra-ataques-ssh-ftp-smtp\\\/#mainImage\"},\"datePublished\":\"2026-07-03T17:52:16-03:00\",\"dateModified\":\"2026-07-03T17:52:16-03:00\"},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/jrtx.com.br\\\/blog\\\/#website\",\"url\":\"https:\\\/\\\/jrtx.com.br\\\/blog\\\/\",\"name\":\"JRT Technology Solutions | Tecnologia e Inova\\u00e7\\u00e3o para Empresas\",\"alternateName\":\"JRT Technology Solutions | Tecnologia e Inova\\u00e7\\u00e3o para Empresas\",\"description\":\"Um espa\\u00e7o dedicado a explorar o universo da tecnologia de forma clara, pr\\u00e1tica e atual. Aqui voc\\u00ea encontra novidades, an\\u00e1lises, tutoriais e reflex\\u00f5es sobre inova\\u00e7\\u00e3o, intelig\\u00eancia artificial, gadgets, programa\\u00e7\\u00e3o e tend\\u00eancias digitais. Nosso objetivo \\u00e9 simplificar o complexo, ajudar voc\\u00ea a se manter atualizado e transformar conhecimento em pr\\u00e1tica no seu dia a dia.\",\"inLanguage\":\"pt-BR\",\"publisher\":{\"@id\":\"https:\\\/\\\/jrtx.com.br\\\/blog\\\/#organization\"}}]}\n\t\t<\/script>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"Aula 21: SSHGuard \u2014 prote\u00e7\u00e3o nativa contra ataques SSH, FTP, SMTP e outros servi\u00e7os - BLOG - JRT Technology Solutions","description":"Aprenda a proteger seu servidor com SSHGuard. Descubra como evitar ataques a SSH, FTP, SMTP e mais na Aula 21 do nosso curso de Seguran\u00e7a Linux!","canonical_url":"https:\/\/jrtx.com.br\/blog\/2026\/07\/03\/aula-21-sshguard-protecao-nativa-contra-ataques-ssh-ftp-smtp\/","robots":"max-image-preview:large","keywords":"","webmasterTools":{"google-site-verification":"QKPfpDCzHmzKyfFk5j1KZW3HhROYTPeqwBN5qcJ8qcg","miscellaneous":""},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"BlogPosting","@id":"https:\/\/jrtx.com.br\/blog\/2026\/07\/03\/aula-21-sshguard-protecao-nativa-contra-ataques-ssh-ftp-smtp\/#blogposting","name":"Aula 21: SSHGuard \u2014 prote\u00e7\u00e3o nativa contra ataques SSH, FTP, SMTP e outros servi\u00e7os - BLOG - JRT Technology Solutions","headline":"Aula 21: SSHGuard \u2014 prote\u00e7\u00e3o nativa contra ataques SSH, FTP, SMTP e outros servi\u00e7os","author":{"@id":"https:\/\/jrtx.com.br\/blog\/author\/thiago\/#author"},"publisher":{"@id":"https:\/\/jrtx.com.br\/blog\/#organization"},"image":{"@type":"ImageObject","url":"https:\/\/jrtx.com.br\/blog\/wp-content\/uploads\/2026\/07\/ai-image-1783111926995.jpg","width":1440,"height":1024,"caption":"Aula 21: SSHGuard \u2014 prote\u00e7\u00e3o nativa contra ataques SSH, FTP, SMTP e outros servi\u00e7os"},"datePublished":"2026-07-03T17:52:16-03:00","dateModified":"2026-07-03T17:52:16-03:00","inLanguage":"pt-BR","mainEntityOfPage":{"@id":"https:\/\/jrtx.com.br\/blog\/2026\/07\/03\/aula-21-sshguard-protecao-nativa-contra-ataques-ssh-ftp-smtp\/#webpage"},"isPartOf":{"@id":"https:\/\/jrtx.com.br\/blog\/2026\/07\/03\/aula-21-sshguard-protecao-nativa-contra-ataques-ssh-ftp-smtp\/#webpage"},"articleSection":"Falhas de Seguran\u00e7a, firewall linux, monitoramento de servi\u00e7os, prote\u00e7\u00e3o contra ataques, seguran\u00e7a linux, SSH e FTP seguran\u00e7a, SSHGuard"},{"@type":"BreadcrumbList","@id":"https:\/\/jrtx.com.br\/blog\/2026\/07\/03\/aula-21-sshguard-protecao-nativa-contra-ataques-ssh-ftp-smtp\/#breadcrumblist","itemListElement":[{"@type":"ListItem","@id":"https:\/\/jrtx.com.br\/blog#listItem","position":1,"name":"Home","item":"https:\/\/jrtx.com.br\/blog","nextItem":{"@type":"ListItem","@id":"https:\/\/jrtx.com.br\/blog\/category\/falhas-de-seguranca\/#listItem","name":"Falhas de Seguran\u00e7a"}},{"@type":"ListItem","@id":"https:\/\/jrtx.com.br\/blog\/category\/falhas-de-seguranca\/#listItem","position":2,"name":"Falhas de Seguran\u00e7a","item":"https:\/\/jrtx.com.br\/blog\/category\/falhas-de-seguranca\/","nextItem":{"@type":"ListItem","@id":"https:\/\/jrtx.com.br\/blog\/2026\/07\/03\/aula-21-sshguard-protecao-nativa-contra-ataques-ssh-ftp-smtp\/#listItem","name":"Aula 21: SSHGuard \u2014 prote\u00e7\u00e3o nativa contra ataques SSH, FTP, SMTP e outros servi\u00e7os"},"previousItem":{"@type":"ListItem","@id":"https:\/\/jrtx.com.br\/blog#listItem","name":"Home"}},{"@type":"ListItem","@id":"https:\/\/jrtx.com.br\/blog\/2026\/07\/03\/aula-21-sshguard-protecao-nativa-contra-ataques-ssh-ftp-smtp\/#listItem","position":3,"name":"Aula 21: SSHGuard \u2014 prote\u00e7\u00e3o nativa contra ataques SSH, FTP, SMTP e outros servi\u00e7os","previousItem":{"@type":"ListItem","@id":"https:\/\/jrtx.com.br\/blog\/category\/falhas-de-seguranca\/#listItem","name":"Falhas de Seguran\u00e7a"}}]},{"@type":"Organization","@id":"https:\/\/jrtx.com.br\/blog\/#organization","name":"JRT Technology Solutions | Tecnologia e Inova\u00e7\u00e3o para Empresas","description":"Um espa\u00e7o dedicado a explorar o universo da tecnologia de forma clara, pr\u00e1tica e atual. Aqui voc\u00ea encontra novidades, an\u00e1lises, tutoriais e reflex\u00f5es sobre inova\u00e7\u00e3o, intelig\u00eancia artificial, gadgets, programa\u00e7\u00e3o e tend\u00eancias digitais. Nosso objetivo \u00e9 simplificar o complexo, ajudar voc\u00ea a se manter atualizado e transformar conhecimento em pr\u00e1tica no seu dia a dia.","url":"https:\/\/jrtx.com.br\/blog\/","telephone":"+552138277513","logo":{"@type":"ImageObject","url":"https:\/\/jrtx.com.br\/blog\/wp-content\/uploads\/2026\/03\/cropped-logo-mini.jpg","@id":"https:\/\/jrtx.com.br\/blog\/2026\/07\/03\/aula-21-sshguard-protecao-nativa-contra-ataques-ssh-ftp-smtp\/#organizationLogo","width":100,"height":75},"image":{"@id":"https:\/\/jrtx.com.br\/blog\/2026\/07\/03\/aula-21-sshguard-protecao-nativa-contra-ataques-ssh-ftp-smtp\/#organizationLogo"},"sameAs":["https:\/\/www.facebook.com\/profile.php?id=61590814880509","https:\/\/www.instagram.com\/jrtx.tech\/"]},{"@type":"Person","@id":"https:\/\/jrtx.com.br\/blog\/author\/thiago\/#author","url":"https:\/\/jrtx.com.br\/blog\/author\/thiago\/","name":"Thiago Paes Rodrigues","image":{"@type":"ImageObject","@id":"https:\/\/jrtx.com.br\/blog\/2026\/07\/03\/aula-21-sshguard-protecao-nativa-contra-ataques-ssh-ftp-smtp\/#authorImage","url":"https:\/\/secure.gravatar.com\/avatar\/3cdfdf5f766c59d9c9acab959751c31c3442acd94d4b2927c51d2a0c31b50822?s=96&d=mm&r=g","width":96,"height":96,"caption":"Thiago Paes Rodrigues"}},{"@type":"WebPage","@id":"https:\/\/jrtx.com.br\/blog\/2026\/07\/03\/aula-21-sshguard-protecao-nativa-contra-ataques-ssh-ftp-smtp\/#webpage","url":"https:\/\/jrtx.com.br\/blog\/2026\/07\/03\/aula-21-sshguard-protecao-nativa-contra-ataques-ssh-ftp-smtp\/","name":"Aula 21: SSHGuard \u2014 prote\u00e7\u00e3o nativa contra ataques SSH, FTP, SMTP e outros servi\u00e7os - BLOG - JRT Technology Solutions","description":"Aprenda a proteger seu servidor com SSHGuard. Descubra como evitar ataques a SSH, FTP, SMTP e mais na Aula 21 do nosso curso de Seguran\u00e7a Linux!","inLanguage":"pt-BR","isPartOf":{"@id":"https:\/\/jrtx.com.br\/blog\/#website"},"breadcrumb":{"@id":"https:\/\/jrtx.com.br\/blog\/2026\/07\/03\/aula-21-sshguard-protecao-nativa-contra-ataques-ssh-ftp-smtp\/#breadcrumblist"},"author":{"@id":"https:\/\/jrtx.com.br\/blog\/author\/thiago\/#author"},"creator":{"@id":"https:\/\/jrtx.com.br\/blog\/author\/thiago\/#author"},"image":{"@type":"ImageObject","url":"https:\/\/jrtx.com.br\/blog\/wp-content\/uploads\/2026\/07\/ai-image-1783111926995.jpg","@id":"https:\/\/jrtx.com.br\/blog\/2026\/07\/03\/aula-21-sshguard-protecao-nativa-contra-ataques-ssh-ftp-smtp\/#mainImage","width":1440,"height":1024,"caption":"Aula 21: SSHGuard \u2014 prote\u00e7\u00e3o nativa contra ataques SSH, FTP, SMTP e outros servi\u00e7os"},"primaryImageOfPage":{"@id":"https:\/\/jrtx.com.br\/blog\/2026\/07\/03\/aula-21-sshguard-protecao-nativa-contra-ataques-ssh-ftp-smtp\/#mainImage"},"datePublished":"2026-07-03T17:52:16-03:00","dateModified":"2026-07-03T17:52:16-03:00"},{"@type":"WebSite","@id":"https:\/\/jrtx.com.br\/blog\/#website","url":"https:\/\/jrtx.com.br\/blog\/","name":"JRT Technology Solutions | Tecnologia e Inova\u00e7\u00e3o para Empresas","alternateName":"JRT Technology Solutions | Tecnologia e Inova\u00e7\u00e3o para Empresas","description":"Um espa\u00e7o dedicado a explorar o universo da tecnologia de forma clara, pr\u00e1tica e atual. Aqui voc\u00ea encontra novidades, an\u00e1lises, tutoriais e reflex\u00f5es sobre inova\u00e7\u00e3o, intelig\u00eancia artificial, gadgets, programa\u00e7\u00e3o e tend\u00eancias digitais. Nosso objetivo \u00e9 simplificar o complexo, ajudar voc\u00ea a se manter atualizado e transformar conhecimento em pr\u00e1tica no seu dia a dia.","inLanguage":"pt-BR","publisher":{"@id":"https:\/\/jrtx.com.br\/blog\/#organization"}}]},"og:locale":"pt_BR","og:site_name":"BLOG - JRT Technology Solutions - Um espa\u00e7o dedicado a explorar o universo da tecnologia de forma clara, pr\u00e1tica e atual. Aqui voc\u00ea encontra novidades, an\u00e1lises, tutoriais e reflex\u00f5es sobre inova\u00e7\u00e3o, intelig\u00eancia artificial, gadgets, programa\u00e7\u00e3o e tend\u00eancias digitais. Nosso objetivo \u00e9 simplificar o complexo, ajudar voc\u00ea a se manter atualizado e transformar conhecimento em pr\u00e1tica no seu dia a dia.","og:type":"article","og:title":"Aula 21: SSHGuard \u2014 prote\u00e7\u00e3o nativa contra ataques SSH, FTP, SMTP e outros servi\u00e7os - BLOG - JRT Technology Solutions","og:description":"Aprenda a proteger seu servidor com SSHGuard. Descubra como evitar ataques a SSH, FTP, SMTP e mais na Aula 21 do nosso curso de Seguran\u00e7a Linux!","og:url":"https:\/\/jrtx.com.br\/blog\/2026\/07\/03\/aula-21-sshguard-protecao-nativa-contra-ataques-ssh-ftp-smtp\/","og:image":"https:\/\/jrtx.com.br\/blog\/wp-content\/uploads\/2026\/03\/cropped-logo-mini.jpg","og:image:secure_url":"https:\/\/jrtx.com.br\/blog\/wp-content\/uploads\/2026\/03\/cropped-logo-mini.jpg","og:image:width":100,"og:image:height":75,"article:published_time":"2026-07-03T20:52:16+00:00","article:modified_time":"2026-07-03T20:52:16+00:00","article:publisher":"https:\/\/www.facebook.com\/profile.php?id=61590814880509","twitter:card":"summary_large_image","twitter:title":"Aula 21: SSHGuard \u2014 prote\u00e7\u00e3o nativa contra ataques SSH, FTP, SMTP e outros servi\u00e7os - BLOG - JRT Technology Solutions","twitter:description":"Aprenda a proteger seu servidor com SSHGuard. Descubra como evitar ataques a SSH, FTP, SMTP e mais na Aula 21 do nosso curso de Seguran\u00e7a Linux!","twitter:image":"https:\/\/jrtx.com.br\/blog\/wp-content\/uploads\/2026\/03\/cropped-logo-mini.jpg"},"aioseo_meta_data":{"post_id":"1372","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_custom_url":null,"og_image_custom_fields":null,"og_image_url":null,"og_image_width":null,"og_image_height":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_image_url":null,"twitter_title":null,"twitter_description":null,"schema_type":"default","schema_type_options":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"limit_modified_date":false,"ai":null,"breadcrumb_settings":null,"seo_analyzer_scan_date":null,"created":"2026-07-03 20:53:40","updated":"2026-07-03 20:53:40"},"aioseo_breadcrumb":"<div class=\"aioseo-breadcrumbs\"><span class=\"aioseo-breadcrumb\">\n\t\t\t<a href=\"https:\/\/jrtx.com.br\/blog\" title=\"Home\">Home<\/a>\n\t\t<\/span><span class=\"aioseo-breadcrumb-separator\">&raquo;<\/span><span class=\"aioseo-breadcrumb\">\n\t\t\t<a href=\"https:\/\/jrtx.com.br\/blog\/category\/falhas-de-seguranca\/\" title=\"Falhas de Seguran\u00e7a\">Falhas de Seguran\u00e7a<\/a>\n\t\t<\/span><span class=\"aioseo-breadcrumb-separator\">&raquo;<\/span><span class=\"aioseo-breadcrumb\">\n\t\t\tAula 21: SSHGuard \u2014 prote\u00e7\u00e3o nativa contra ataques SSH, FTP, SMTP e outros servi\u00e7os\n\t\t<\/span><\/div>","aioseo_breadcrumb_json":[{"label":"Home","link":"https:\/\/jrtx.com.br\/blog"},{"label":"Falhas de Seguran\u00e7a","link":"https:\/\/jrtx.com.br\/blog\/category\/falhas-de-seguranca\/"},{"label":"Aula 21: SSHGuard \u2014 prote\u00e7\u00e3o nativa contra ataques SSH, FTP, SMTP e outros servi\u00e7os","link":"https:\/\/jrtx.com.br\/blog\/2026\/07\/03\/aula-21-sshguard-protecao-nativa-contra-ataques-ssh-ftp-smtp\/"}],"_links":{"self":[{"href":"https:\/\/jrtx.com.br\/blog\/wp-json\/wp\/v2\/posts\/1372","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=1372"}],"version-history":[{"count":0,"href":"https:\/\/jrtx.com.br\/blog\/wp-json\/wp\/v2\/posts\/1372\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/jrtx.com.br\/blog\/wp-json\/wp\/v2\/media\/1371"}],"wp:attachment":[{"href":"https:\/\/jrtx.com.br\/blog\/wp-json\/wp\/v2\/media?parent=1372"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/jrtx.com.br\/blog\/wp-json\/wp\/v2\/categories?post=1372"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/jrtx.com.br\/blog\/wp-json\/wp\/v2\/tags?post=1372"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}