{"id":2721,"date":"2026-09-06T17:48:42","date_gmt":"2026-09-06T20:48:42","guid":{"rendered":"https:\/\/jrtx.com.br\/blog\/2026\/09\/06\/aula-31-shorewall-firewall-de-alto-nivel-baseado-em-iptables\/"},"modified":"2026-09-06T17:48:42","modified_gmt":"2026-09-06T20:48:42","slug":"aula-31-shorewall-firewall-de-alto-nivel-baseado-em-iptables","status":"publish","type":"post","link":"https:\/\/jrtx.com.br\/blog\/2026\/09\/06\/aula-31-shorewall-firewall-de-alto-nivel-baseado-em-iptables\/","title":{"rendered":"Aula 31: Shorewall \u2014 firewall de alto n\u00edvel baseado em iptables para redes complexas"},"content":{"rendered":"<p>Quando um profissional de seguran\u00e7a da informa\u00e7\u00e3o atinge o n\u00edvel avan\u00e7ado em Linux, uma das habilidades mais valiosas \u00e9 a capacidade de construir firewalls robustos sem se perder em dezenas de regras do <strong>iptables<\/strong>. \u00c9 exatamente nesse ponto que o <strong>Shorewall<\/strong> entra em cena. O Shorewall \u00e9 uma ferramenta de alto n\u00edvel, escrita em Perl, que atua como uma camada de abstra\u00e7\u00e3o sobre o <strong>iptables<\/strong>, permitindo que voc\u00ea descreva sua topologia de rede, pol\u00edticas de seguran\u00e7a e regras de tr\u00e1fego em arquivos de configura\u00e7\u00e3o leg\u00edveis e organizados. Em vez de memorizar cadeias, tabelas e regras numeradas, voc\u00ea define zonas, pol\u00edticas e regras de forma declarativa \u2014 e o Shorewall gera as regras de iptables de maneira autom\u00e1tica, consistente e otimizada. Nesta aula, voc\u00ea aprender\u00e1 a dominar o <strong>Shorewall<\/strong> do zero ao avan\u00e7ado, construindo um firewall corporativo completo para redes complexas.<\/p>\n<p>Por que o Shorewall importa tanto em ambientes profissionais? A resposta \u00e9 simples: manutenibilidade e redu\u00e7\u00e3o de erros humanos. Um firewall baseado puramente em iptables, com 200 ou 300 regras escritas manualmente, torna-se um pesadelo para auditar, modificar e documentar. O <strong>Shorewall<\/strong> resolve esse problema ao separar conceitos l\u00f3gicos \u2014 zonas, interfaces, pol\u00edticas e regras \u2014 em arquivos independentes que qualquer administrador consegue ler e entender. Em nossos projetos na JRT Technology Solutions, utilizamos o Shorewall diariamente para implantar firewalls em clientes corporativos porque ele reduz drasticamente o tempo de troubleshooting e elimina a maioria dos erros comuns de sintaxe do iptables.<\/p>\n<p>Nesta aula, voc\u00ea vai trabalhar com um cen\u00e1rio realista: um servidor Linux atuando como firewall e gateway para uma rede interna, com uma <strong>DMZ<\/strong> para servidores p\u00fablicos e uma interface externa conectada \u00e0 internet. Vamos configurar o Shorewall para controlar todo o tr\u00e1fego entre essas zonas, aplicar NAT, liberar servi\u00e7os espec\u00edficos e bloquear tudo o que n\u00e3o for explicitamente permitido \u2014 o princ\u00edpio do <em>default deny<\/em>. Ao final desta aula, voc\u00ea ter\u00e1 um firewall funcional, audit\u00e1vel e pronto para produ\u00e7\u00e3o, com configura\u00e7\u00f5es completas comentadas linha por linha.<\/p>\n<p>Os pr\u00e9-requisitos para acompanhar esta aula incluem conhecimento s\u00f3lido de <strong>TCP\/IP<\/strong>, entendimento do funcionamento do <strong>iptables<\/strong> (cadeias, tabelas e pol\u00edtica de alvos), familiaridade com roteamento no Linux e experi\u00eancia com edi\u00e7\u00e3o de arquivos de configura\u00e7\u00e3o via linha de comando. Voc\u00ea tamb\u00e9m precisar\u00e1 de uma m\u00e1quina Linux com pelo menos duas interfaces de rede (ou uma m\u00e1quina virtual com m\u00faltiplas NICs) para testar os cen\u00e1rios pr\u00e1ticos. Se voc\u00ea concluiu as aulas anteriores deste curso, especialmente as que cobrem iptables e roteamento, est\u00e1 plenamente preparado para mergulhar no Shorewall.<\/p>\n<h3>O que voc\u00ea vai aprender nesta aula<\/h3>\n<ul>\n<li>Compreender a arquitetura do <strong>Shorewall<\/strong> e como ele se relaciona com o iptables<\/li>\n<li>Instalar e configurar o Shorewall em <strong>Ubuntu\/Debian<\/strong> e <strong>CentOS\/RHEL\/Rocky Linux<\/strong><\/li>\n<li>Criar um firewall completo com zonas <strong>net<\/strong>, <strong>lan<\/strong> e <strong>dmz<\/strong><\/li>\n<li>Configurar pol\u00edticas de seguran\u00e7a padr\u00e3o (<em>default deny<\/em>) e regras de exce\u00e7\u00e3o<\/li>\n<li>Aplicar <strong>NAT<\/strong> (masquerading) para dar acesso \u00e0 internet \u00e0 rede interna<\/li>\n<li>Verificar e testar a configura\u00e7\u00e3o com comandos de diagn\u00f3stico<\/li>\n<li>Resolver os erros mais comuns em ambientes de produ\u00e7\u00e3o<\/li>\n<li>Aplicar boas pr\u00e1ticas e otimiza\u00e7\u00f5es avan\u00e7adas de configura\u00e7\u00e3o<\/li>\n<\/ul>\n<h3>Pr\u00e9-requisitos e Ambiente<\/h3>\n<p>Antes de iniciar esta aula, certifique-se de que seu ambiente atende aos seguintes requisitos. Primeiro, voc\u00ea precisa de uma distribui\u00e7\u00e3o Linux com os reposit\u00f3rios de pacotes habilitados: <strong>Ubuntu 22.04\/24.04 LTS<\/strong>, <strong>Debian 11\/12<\/strong>, ou <strong>CentOS\/RHEL 8\/9<\/strong> \/ <strong>Rocky Linux 8\/9<\/strong>. Para as distribui\u00e7\u00f5es da fam\u00edlia Red Hat, ser\u00e1 necess\u00e1rio habilitar o reposit\u00f3rio <strong>EPEL<\/strong> (Extra Packages for Enterprise Linux), pois o Shorewall n\u00e3o est\u00e1 nos reposit\u00f3rios oficiais dessas distribui\u00e7\u00f5es. Segundo, sua m\u00e1quina deve ter pelo menos duas interfaces de rede configuradas \u2014 uma para a rede externa (WAN) e outra para a rede interna (LAN). Idealmente, uma terceira interface para a DMZ tornar\u00e1 o cen\u00e1rio mais completo. Terceiro, voc\u00ea deve ter acesso root ou privil\u00e9gios sudo, pois a instala\u00e7\u00e3o e configura\u00e7\u00e3o do Shorewall exigem permiss\u00f5es elevadas. Quarto, certifique-se de que o servi\u00e7o de firewall anterior (como <strong>firewalld<\/strong> ou <strong>ufw<\/strong>) esteja desativado para evitar conflitos. Por fim, recomendamos fortemente que voc\u00ea teste em uma m\u00e1quina virtual ou em um ambiente de laborat\u00f3rio antes de aplicar em produ\u00e7\u00e3o \u2014 um erro de configura\u00e7\u00e3o de firewall pode bloquear completamente o acesso ao servidor.<\/p>\n<p>O ambiente de rede que usaremos como refer\u00eancia nesta aula \u00e9 o seguinte: a interface <strong>eth0<\/strong> est\u00e1 conectada \u00e0 internet (zona <strong>net<\/strong>) com IP p\u00fablico <strong>203.0.113.10\/24<\/strong>; a interface <strong>eth1<\/strong> est\u00e1 conectada \u00e0 rede interna (zona <strong>lan<\/strong>) com IP <strong>10.0.0.1\/24<\/strong>; e a interface <strong>eth2<\/strong> est\u00e1 conectada \u00e0 DMZ (zona <strong>dmz<\/strong>) com IP <strong>192.168.1.1\/24<\/strong>. Os servidores da DMZ incluem um servidor web (192.168.1.10) e um servidor de e-mail (192.168.1.20). A rede interna (10.0.0.0\/24) deve ter acesso total \u00e0 internet via NAT, acesso \u00e0 DMZ para administra\u00e7\u00e3o, mas n\u00e3o deve ser acess\u00edvel diretamente da internet. Os servidores da DMZ devem ser acess\u00edveis da internet apenas nas portas espec\u00edficas de seus servi\u00e7os (80, 443 e 25).<\/p>\n<h3>Conceitos Fundamentais do Shorewall: Zonas, Pol\u00edticas e Regras<\/h3>\n<p>O <strong>Shorewall<\/strong> baseia-se em tr\u00eas conceitos centrais que voc\u00ea precisa dominar antes de escrever qualquer configura\u00e7\u00e3o: <strong>zonas<\/strong>, <strong>pol\u00edticas<\/strong> e <strong>regras<\/strong>. Uma <strong>zona<\/strong> (zone) \u00e9 uma abstra\u00e7\u00e3o l\u00f3gica que agrupa uma ou mais interfaces de rede que compartilham o mesmo n\u00edvel de confian\u00e7a de seguran\u00e7a. Por exemplo, a zona <strong>net<\/strong> representa a internet n\u00e3o confi\u00e1vel, a zona <strong>lan<\/strong> representa a rede interna confi\u00e1vel, e a zona <strong>dmz<\/strong> representa uma \u00e1rea de seguran\u00e7a intermedi\u00e1ria para servidores p\u00fablicos. O Shorewall trata cada zona como um cont\u00eainer de tr\u00e1fego: o tr\u00e1fego que entra por uma interface pertencente a uma zona \u00e9 classificado como origin\u00e1rio daquela zona, e o tr\u00e1fego que sai por uma interface \u00e9 classificado como destinado \u00e0quela zona. \u00c9 crucial entender que uma zona pode conter m\u00faltiplas interfaces, mas uma interface pertence a apenas uma zona.<\/p>\n<p>As <strong>pol\u00edticas<\/strong> (policies) definem o comportamento padr\u00e3o do firewall para o tr\u00e1fego que se move <em>entre<\/em> duas zonas \u2014 e n\u00e3o dentro da mesma zona. Por exemplo, uma pol\u00edtica pode dizer que todo o tr\u00e1fego da zona <strong>lan<\/strong> para a zona <strong>net<\/strong> \u00e9 <strong>ACEITO<\/strong> (ACCEPT), enquanto o tr\u00e1fego da zona <strong>net<\/strong> para a zona <strong>lan<\/strong> \u00e9 <strong>REJEITADO<\/strong> (REJECT) ou <strong>DESCARTADO<\/strong> (DROP). A pol\u00edtica para tr\u00e1fego da internet para o pr\u00f3prio firewall (zona <strong>net<\/strong> para a zona <strong>$FW<\/strong>) \u00e9 tipicamente configurada como DROP, garantindo que apenas conex\u00f5es explicitamente autorizadas por regras espec\u00edficas sejam permitidas. O Shorewall trata o pr\u00f3prio host firewall como uma zona especial chamada <strong>$FW<\/strong>, que \u00e9 implicitamente definida e n\u00e3o precisa ser declarada no arquivo de zonas. Cada par de zonas pode ter uma pol\u00edtica diferente, e o Shorewall gera as cadeias de iptables correspondentes automaticamente.<\/p>\n<p>As <strong>regras<\/strong> (rules) s\u00e3o exce\u00e7\u00f5es \u00e0s pol\u00edticas: elas especificam permiss\u00f5es ou bloqueios espec\u00edficos para tr\u00e1fego que atravessa o firewall ou se destina ao pr\u00f3prio firewall. Uma regra t\u00edpica inclui a zona de origem, a zona de destino, o protocolo (TCP, UDP, ICMP), as portas de origem e destino, e uma a\u00e7\u00e3o (ACCEPT, REJECT, DROP). O Shorewall ordena as regras conforme aparecem no arquivo <strong>rules<\/strong>, e a primeira regra que corresponder ao tr\u00e1fego \u00e9 aplicada. Al\u00e9m disso, o Shorewall suporta <strong>pol\u00edticas de logging<\/strong> \u2014 voc\u00ea pode adicionar o sufixo <strong>:info<\/strong> ou <strong>:debug<\/strong> a qualquer a\u00e7\u00e3o para registrar o tr\u00e1fego correspondente no syslog. Essa capacidade de logging granular \u00e9 extremamente \u00fatil para auditoria e troubleshooting em ambientes de produ\u00e7\u00e3o.<\/p>\n<p>Outro conceito fundamental \u00e9 o de <strong>masquerading<\/strong> (SNAT din\u00e2mico). Quando sua rede interna usa endere\u00e7os IP privados (como 10.0.0.0\/8, 172.16.0.0\/12 ou 192.168.0.0\/16) e precisa acessar a internet, o Shorewall substitui o endere\u00e7o de origem dos pacotes pelo endere\u00e7o IP p\u00fablico da interface de sa\u00edda. Isso \u00e9 configurado no arquivo <strong>masq<\/strong>, onde voc\u00ea especifica qual interface deve sofrer masquerading e para quais redes de origem. Sem o masquerading, os pacotes da rede interna chegariam \u00e0 internet com endere\u00e7os IP privados, e os roteadores da internet simplesmente descartariam essas conex\u00f5es. O Shorewall tamb\u00e9m suporta <strong>SNAT est\u00e1tico<\/strong> e <strong>DNAT<\/strong> (redirecionamento de portas) atrav\u00e9s de regras no arquivo <strong>rules<\/strong> ou <strong>nat<\/strong>, permitindo expor servi\u00e7os da DMZ ou da LAN para a internet de forma controlada.<\/p>\n<h3>Instala\u00e7\u00e3o do Shorewall no Ubuntu\/Debian e CentOS\/RHEL\/Rocky Linux<\/h3>\n<p>A instala\u00e7\u00e3o do <strong>Shorewall<\/strong> varia entre as fam\u00edlias de distribui\u00e7\u00f5es Linux. No <strong>Ubuntu<\/strong> e no <strong>Debian<\/strong>, o pacote est\u00e1 dispon\u00edvel nos reposit\u00f3rios oficiais, o que simplifica bastante o processo. Nas distribui\u00e7\u00f5es <strong>CentOS<\/strong>, <strong>RHEL<\/strong> e <strong>Rocky Linux<\/strong>, ser\u00e1 necess\u00e1rio habilitar o reposit\u00f3rio <strong>EPEL<\/strong> para obter o pacote. Vamos cobrir ambos os cen\u00e1rios em detalhes. Antes de iniciar, certifique-se de desativar qualquer firewall ativo que possa conflitar com o Shorewall, como o <strong>firewalld<\/strong> nas distros Red Hat ou o <strong>ufw<\/strong> no Ubuntu. Em ambientes de produ\u00e7\u00e3o, recomendamos executar a instala\u00e7\u00e3o durante uma janela de manuten\u00e7\u00e3o, pois a desativa\u00e7\u00e3o do firewall existente cria uma breve janela de exposi\u00e7\u00e3o.<\/p>\n<p><strong>Instala\u00e7\u00e3o no Ubuntu 22.04\/24.04 e Debian 11\/12:<\/strong> O processo \u00e9 direto e pode ser conclu\u00eddo em poucos minutos. Primeiro, atualize o \u00edndice de pacotes para garantir que voc\u00ea obter\u00e1 a vers\u00e3o mais recente dispon\u00edvel nos reposit\u00f3rios. Depois, instale o pacote <strong>shorewall<\/strong>. O instalador criar\u00e1 os diret\u00f3rios de configura\u00e7\u00e3o em <strong>\/etc\/shorewall\/<\/strong> e o diret\u00f3rio de documenta\u00e7\u00e3o em <strong>\/usr\/share\/doc\/shorewall\/<\/strong>. Diferentemente de outras ferramentas, o Shorewall n\u00e3o inicia automaticamente ap\u00f3s a instala\u00e7\u00e3o \u2014 ele vem desativado por padr\u00e3o, pois a configura\u00e7\u00e3o padr\u00e3o bloqueia todo o tr\u00e1fego. Isso \u00e9 uma medida de seguran\u00e7a deliberada para evitar que voc\u00ea seja trancado para fora do servidor. Para verificar se o Shorewall est\u00e1 instalado corretamente, use o comando <strong>shorewall version<\/strong>, que exibir\u00e1 a vers\u00e3o instalada.<\/p>\n<pre><code># Atualiza o \u00edndice de pacotes do sistema\nsudo apt update\n\n# Instala o Shorewall no Ubuntu\/Debian\nsudo apt install shorewall -y\n\n# Verifica se o Shorewall foi instalado corretamente\nshorewall version\n\n# Verifica o diret\u00f3rio de configura\u00e7\u00e3o\nls -la \/etc\/shorewall\/<\/code><\/pre>\n<pre><code class=\"output\">Hit:1 http:\/\/archive.ubuntu.com\/ubuntu jammy InRelease\nHit:2 http:\/\/archive.ubuntu.com\/ubuntu jammy-updates InRelease\nHit:3 http:\/\/archive.ubuntu.com\/ubuntu jammy-security InRelease\nReading package lists... Done\nBuilding dependency tree... Done\nReading state information... Done\nThe following NEW packages will be installed:\n  shorewall\n0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded.\nNeed to get 340 kB of archives.\nAfter this operation, 1.247 kB of additional disk space will be used.\nSetting up shorewall (5.2.8-1) ...\nshorewall version: 5.2.8\ntotal 64\ndrwxr-xr-x   2 root root  4096 Sep  6 10:00 .\ndrwxr-xr-x 128 root root 12288 Sep  6 10:00 ..\n-rw-r--r--   1 root root   148 Sep  6 10:00 shorewall.conf\n-rw-r--r--   1 root root   823 Sep  6 10:00 zones\n-rw-r--r--   1 root root   246 Sep  6 10:00 interfaces\n-rw-r--r--   1 root root   331 Sep  6 10:00 policy\n-rw-r--r--   1 root root  1560 Sep  6 10:00 rules\n-rw-r--r--   1 root root   174 Sep  6 10:00 masq<\/code><\/pre>\n<p><strong>Instala\u00e7\u00e3o no CentOS\/RHEL 8\/9 e Rocky Linux:<\/strong> Nas distribui\u00e7\u00f5es da fam\u00edlia Red Hat, o Shorewall n\u00e3o est\u00e1 nos reposit\u00f3rios oficiais. Voc\u00ea precisar\u00e1 habilitar o reposit\u00f3rio <strong>EPEL<\/strong> (Extra Packages for Enterprise Linux), que fornece pacotes adicionais de alta qualidade para essas distribui\u00e7\u00f5es. O processo \u00e9 igualmente simples, mas requer a instala\u00e7\u00e3o do pacote de configura\u00e7\u00e3o do EPEL antes. No CentOS Stream 9, Rocky Linux 9 e RHEL 9, o comando \u00e9 <strong>dnf install epel-release<\/strong>; nas vers\u00f5es 8, tamb\u00e9m funciona com o mesmo comando. Ap\u00f3s habilitar o EPEL, instale o pacote <strong>shorewall<\/strong> com o <strong>dnf<\/strong> ou <strong>yum<\/strong>. Antes de instalar, desative o <strong>firewalld<\/strong> para evitar conflitos de regras \u2014 use <strong>systemctl stop firewalld<\/strong> seguido de <strong>systemctl disable firewalld<\/strong>. Lembre-se de que o Shorewall n\u00e3o inicia automaticamente ap\u00f3s a instala\u00e7\u00e3o, ent\u00e3o voc\u00ea ter\u00e1 controle total sobre quando ativ\u00e1-lo.<\/p>\n<pre><code># Habilita o reposit\u00f3rio EPEL para obter pacotes extras\nsudo dnf install epel-release -y\n\n# Desativa o firewalld para evitar conflito de regras\nsudo systemctl stop firewalld\nsudo systemctl disable firewalld\n\n# Instala o Shorewall no CentOS\/RHEL\/Rocky Linux\nsudo dnf install shorewall -y\n\n# Verifica a vers\u00e3o instalada\nshorewall version\n\n# Lista os arquivos de configura\u00e7\u00e3o\nls -la \/etc\/shorewall\/<\/code><\/pre>\n<pre><code class=\"output\">Last metadata expiration check: 0:05:42 ago on Sun 06 Sep 2026 10:15:00 AM -03.\nDependencies resolved.\n================================================================================\n Package          Architecture   Version                Repository         Size\n================================================================================\n shorewall        noarch         5.2.8-3.el9          epel               340 k\n\nTransaction Summary\n================================================================================\nInstall  1 Package\n\nTotal download size: 340 k\nInstalled size: 1.2 M\nDownloading Packages:\nshorewall-5.2.8-3.el9.noarch.rpm                 340 kB\/s | 340 kB     00:01\n--------------------------------------------------------------------------------\nTotal                                           340 kB\/s | 340 kB     00:01\nRunning transaction check\nTransaction check succeeded.\nRunning transaction test\nTransaction test succeeded.\nRunning transaction\n  Preparing        :                                                        1\/1\n  Installing       : shorewall-5.2.8-3.el9.noarch                          1\/1\n  Running scriptlet: shorewall-5.2.8-3.el9.noarch                          1\/1\n  Verifying        : shorewall-5.2.8-3.el9.noarch                          1\/1\nInstalled:\n  shorewall-5.2.8-3.el9.noarch\n\nComplete!\nshorewall version: 5.2.8\ntotal 64\ndrwxr-xr-x.  2 root root 4096 Sep  6 10:16 .\ndrwxr-xr-x. 14 root root 4096 Sep  6 10:16 ..\n-rw-r--r--.  1 root root  148 Sep  6 10:16 shorewall.conf\n-rw-r--r--.  1 root root  823 Sep  6 10:16 zones\n-rw-r--r--.  1 root root  246 Sep  6 10:16 interfaces\n-rw-r--r--.  1 root root  331 Sep  6 10:16 policy\n-rw-r--r--.  1 root root 1560 Sep  6 10:16 rules\n-rw-r--r--.  1 root root  174 Sep  6 10:16 masq<\/code><\/pre>\n<p>Ap\u00f3s a instala\u00e7\u00e3o em qualquer uma das distribui\u00e7\u00f5es, o Shorewall criar\u00e1 os arquivos de configura\u00e7\u00e3o padr\u00e3o em <strong>\/etc\/shorewall\/<\/strong>. Cada arquivo tem uma finalidade espec\u00edfica que exploraremos em detalhes nas pr\u00f3ximas se\u00e7\u00f5es. Por enquanto, \u00e9 importante entender que o Shorewall <strong>n\u00e3o<\/strong> est\u00e1 ativo por padr\u00e3o \u2014 voc\u00ea precisa configur\u00e1-lo e habilit\u00e1-lo explicitamente. Isso \u00e9 uma salvaguarda cr\u00edtica para evitar que voc\u00ea seja bloqueado do servidor. Antes de ativar o Shorewall, sempre teste a configura\u00e7\u00e3o com o comando <strong>shorewall check<\/strong>, que valida a sintaxe e a l\u00f3gica dos arquivos sem aplicar as regras.<\/p>\n<h3>Configurando o Shorewall Passo a Passo: Arquivo shorewall.conf<\/h3>\n<p>O cora\u00e7\u00e3o da configura\u00e7\u00e3o do <strong>Shorewall<\/strong> est\u00e1 no arquivo <strong>\/etc\/shorewall\/shorewall.conf<\/strong>. Este arquivo cont\u00e9m as configura\u00e7\u00f5es globais do firewall, incluindo o modo de inicializa\u00e7\u00e3o, o tratamento de logs, o suporte a IPv6 e a defini\u00e7\u00e3o de vari\u00e1veis personalizadas. Vamos criar uma configura\u00e7\u00e3o completa para o nosso cen\u00e1rio de rede com tr\u00eas zonas. O par\u00e2metro <strong>STARTUP_ENABLED<\/strong> controla se o Shorewall deve iniciar automaticamente no boot do sistema. Inicialmente, deixaremos como <strong>No<\/strong> durante a fase de testes e depois mudaremos para <strong>Yes<\/strong> quando a configura\u00e7\u00e3o estiver validada. O par\u00e2metro <strong>LOGFILE<\/strong> define onde o Shorewall registra suas mensagens de log; o valor padr\u00e3o <strong>\/var\/log\/messages<\/strong> funciona bem para a maioria dos casos, mas voc\u00ea pode usar <strong>\/var\/log\/syslog<\/strong> em sistemas Debian\/Ubuntu. O par\u00e2metro <strong>LOGRATE<\/strong> limita a taxa de log para evitar que um ataque de nega\u00e7\u00e3o de servi\u00e7o sobrecarregue o sistema de logging \u2014 o valor padr\u00e3o <strong>\/s<\/strong> (ilimitado) deve ser substitu\u00eddo por algo como <strong>10\/minute<\/strong> em produ\u00e7\u00e3o.<\/p>\n<p>Outro par\u00e2metro crucial \u00e9 o <strong>IP_FORWARDING<\/strong>. Quando o Shorewall atua como gateway entre redes, ele precisa habilitar o encaminhamento de pacotes (IP forwarding) no kernel. O Shorewall pode gerenciar isso automaticamente se o par\u00e2metro <strong>IP_FORWARDING<\/strong> estiver configurado como <strong>On<\/strong>. O par\u00e2metro <strong>BLACKLIST_ENABLED<\/strong> habilita o uso de listas negras de endere\u00e7os IP, que veremos mais adiante. O par\u00e2metro <strong>DETECT_DNAT_IPADDRS<\/strong> \u00e9 relevante quando voc\u00ea usa DNAT (redirecionamento de portas), permitindo que o Shorewall detecte automaticamente os endere\u00e7os IP de destino. Para o nosso cen\u00e1rio, tamb\u00e9m configuraremos <strong>CONFIG_PATH<\/strong> para apontar para <strong>\/etc\/shorewall<\/strong>, garantindo que todos os arquivos de configura\u00e7\u00e3o sejam encontrados corretamente. Vamos criar o arquivo completo com coment\u00e1rios explicativos para cada par\u00e2metro.<\/p>\n<pre><code># \/etc\/shorewall\/shorewall.conf\n# Configura\u00e7\u00e3o global do Shorewall para firewall corporativo\n# Aula 31 - Seguran\u00e7a Linux do Zero ao Avan\u00e7ado - JRT Technology Solutions\n\n# ============ Inicializa\u00e7\u00e3o ============\n# Define se o Shorewall inicia no boot. Use \"No\" durante testes, \"Yes\" em produ\u00e7\u00e3o.\nSTARTUP_ENABLED=Yes\n\n# ============ Caminhos de Arquivos ============\n# Diret\u00f3rio onde os arquivos de configura\u00e7\u00e3o est\u00e3o localizados\nCONFIG_PATH=\/etc\/shorewall\n\n# ============ Logging ============\n# Arquivo de log para mensagens do Shorewall\nLOGFILE=\/var\/log\/syslog\n\n# Limite de taxa de log (10 mensagens por minuto para evitar flood de logs)\nLOGRATE=10\/minute\n\n# N\u00edvel de log para nova conex\u00f5es n\u00e3o correspondidas (info, debug, warning)\nLOG_LEVEL=info\n\n# ============ Encaminhamento de IP ============\n# Habilita IP forwarding (necess\u00e1rio para atuar como gateway)\nIP_FORWARDING=On\n\n# ============ Blacklist ============\n# Habilita o suporte a listas negras (arquivo blacklist)\nBLACKLIST_ENABLED=Yes\n\n# ============ DNAT ============\n# Detecta automaticamente endere\u00e7os IP para regras DNAT\nDETECT_DNAT_IPADDRS=Yes\n\n# ============ IPv6 ============\n# Habilita suporte a IPv6 (se seu kernel tiver suporte)\nIPV6=No\n\n# ============ Vari\u00e1veis Personalizadas ============\n# Alias para os IPs p\u00fablicos e privados (usados nos arquivos de regras)\nPUBLIC_IP=203.0.113.10\nLAN_SUBNET=10.0.0.0\/24\nDMZ_SUBNET=192.168.1.0\/24\nWEB_SERVER=192.168.1.10\nMAIL_SERVER=192.168.1.20<\/code><\/pre>\n<p>Ap\u00f3s criar o arquivo <strong>shorewall.conf<\/strong>, o pr\u00f3ximo passo \u00e9 definir as zonas no arquivo <strong>\/etc\/shorewall\/zones<\/strong>. Este arquivo estabelece a hierarquia de confian\u00e7a entre as \u00e1reas da sua rede. A zona <strong>net<\/strong> representa a internet n\u00e3o confi\u00e1vel; a zona <strong>lan<\/strong> representa a rede interna confi\u00e1vel; e a zona <strong>dmz<\/strong> representa a \u00e1rea de seguran\u00e7a intermedi\u00e1ria. O formato do arquivo \u00e9 simples: cada linha define uma zona com seu nome e tipo. Os tipos <strong>ipv4<\/strong> indicam zonas que aceitam tr\u00e1fego IPv4. Voc\u00ea pode adicionar uma descri\u00e7\u00e3o opcional ap\u00f3s o tipo para documenta\u00e7\u00e3o. \u00c9 importante notar que o pr\u00f3prio firewall \u00e9 representado pela zona especial <strong>$FW<\/strong>, que n\u00e3o precisa ser declarada aqui \u2014 ela \u00e9 implicitamente definida pelo Shorewall. Vamos criar o arquivo de zonas completo.<\/p>\n<pre><code># \/etc\/shorewall\/zones\n# Defini\u00e7\u00e3o das zonas de seguran\u00e7a do firewall\n# Formato: NOME_ZONA  TIPO  [DESCRI\u00c7\u00c3O]\n# TIPO: ipv4 (tr\u00e1fego IPv4), ip (IPv4 e IPv6), bport (bridge port)\n\n# Zona da internet (n\u00e3o confi\u00e1vel)\nnet     ipv4    Internet p\u00fablica\n\n# Zona da rede interna (confi\u00e1vel)\nlan     ipv4    Rede corporativa interna\n\n# Zona DMZ (seguran\u00e7a intermedi\u00e1ria para servidores p\u00fablicos)\ndmz     ipv4    Zona desmilitarizada para servidores web e e-mail<\/code><\/pre>\n<h3>Definindo Interfaces, Pol\u00edticas e Regras do Firewall<\/h3>\n<p>Depois de definir as zonas, precisamos associar cada interface f\u00edsica \u00e0s suas respectivas zonas no arquivo <strong>\/etc\/shorewall\/interfaces<\/strong>. O formato deste arquivo inclui o nome da interface, a zona \u00e0 qual pertence e op\u00e7\u00f5es adicionais. A op\u00e7\u00e3o <strong>dhcp<\/strong> na interface <strong>eth0<\/strong> indica que o IP \u00e9 obtido dinamicamente via DHCP. A op\u00e7\u00e3o <strong>tcpflags<\/strong> ativa a verifica\u00e7\u00e3o de flags TCP inv\u00e1lidas, ajudando a bloquear pacotes malformados. A op\u00e7\u00e3o <strong>nosmurfs<\/strong> bloqueia pacotes ICMP echo request com endere\u00e7o de broadcast, uma prote\u00e7\u00e3o contra ataques smurf. A op\u00e7\u00e3o <strong>routeback<\/strong> permite que o tr\u00e1fego da mesma rede volte pela mesma interface, necess\u00e1rio para algumas topologias. A op\u00e7\u00e3o <strong>logmartians<\/strong> registra pacotes com endere\u00e7os de origem inv\u00e1lidos (martians) \u2014 endere\u00e7os que n\u00e3o deveriam aparecer naquela interface, como IPs privados na interface WAN. Em nossos projetos na JRT Technology Solutions, sempre habilitamos <strong>logmartians<\/strong> nas interfaces externas para detectar tentativas de spoofing.<\/p>\n<pre><code># \/etc\/shorewall\/interfaces\n# Associa\u00e7\u00e3o entre interfaces f\u00edsicas e zonas\n# Formato: INTERFACE  ZONA  [OP\u00c7\u00d5ES]\n# OP\u00c7\u00d5ES: dhcp, tcpflags, nosmurfs, routeback, logmartians, blacklist, etc.\n\n# Interface externa (WAN) - conectada \u00e0 internet\neth0    net     dhcp,tcpflags,nosmurfs,logmartians,blacklist\n\n# Interface interna (LAN) - conectada \u00e0 rede corporativa\neth1    lan     tcpflags,nosmurfs,routeback\n\n# Interface DMZ - conectada aos servidores p\u00fablicos\neth2    dmz     tcpflags,nosmurfs,routeback<\/code><\/pre>\n<p>O arquivo <strong>\/etc\/shorewall\/policy<\/strong> define o comportamento padr\u00e3o para o tr\u00e1fego entre as zonas. Este \u00e9 o arquivo que implementa o princ\u00edpio do <em>default deny<\/em> \u2014 tudo o que n\u00e3o for explicitamente permitido ser\u00e1 bloqueado. O formato \u00e9: zona de origem, zona de destino, a\u00e7\u00e3o padr\u00e3o e n\u00edvel de log opcional. A a\u00e7\u00e3o <strong>ACCEPT<\/strong> permite o tr\u00e1fego; <strong>REJECT<\/strong> rejeita enviando uma resposta ICMP (permite que o remetente saiba que foi bloqueado); <strong>DROP<\/strong> descarta silenciosamente (mais seguro, mas mais dif\u00edcil de diagnosticar); e <strong>INFO<\/strong> registra o tr\u00e1fego no log. Para o tr\u00e1fego da <strong>lan<\/strong> para a <strong>net<\/strong>, usamos ACCEPT, pois a rede interna precisa de acesso total \u00e0 internet. Para o tr\u00e1fego da <strong>net<\/strong> para a <strong>lan<\/strong>, usamos DROP \u2014 a internet nunca deve acessar diretamente a rede interna. A pol\u00edtica da <strong>net<\/strong> para o <strong>$FW<\/strong> (o pr\u00f3prio firewall) tamb\u00e9m \u00e9 DROP, garantindo que apenas servi\u00e7os explicitamente liberados nas regras sejam acess\u00edveis. A pol\u00edtica da <strong>lan<\/strong> para a <strong>dmz<\/strong> permite que usu\u00e1rios internos acessem os servidores da DMZ para administra\u00e7\u00e3o. O tr\u00e1fego da <strong>dmz<\/strong> para a <strong>net<\/strong> \u00e9 ACCEPT para que os servidores p\u00fablicos possam fazer atualiza\u00e7\u00f5es e enviar e-mails. A pol\u00edtica da <strong>dmz<\/strong> para a <strong>lan<\/strong> \u00e9 DROP, pois os servidores comprometidos n\u00e3o devem ter acesso \u00e0 rede interna. Finalmente, a pol\u00edtica <strong>all<\/strong> para <strong>all<\/strong> \u00e9 DROP como fallback final \u2014 qualquer tr\u00e1fego entre zonas n\u00e3o especificado ser\u00e1 descartado.<\/p>\n<pre><code># \/etc\/shorewall\/policy\n# Pol\u00edticas padr\u00e3o de tr\u00e1fego entre zonas\n# Formato: ORIGEM  DESTINO  A\u00c7\u00c3O  [LOG]\n# A\u00c7\u00c3O: ACCEPT (permite), REJECT (rejeita), DROP (descarta), INFO (registra)\n\n# Rede interna pode acessar a internet livremente\nlan     net     ACCEPT\n\n# Internet N\u00c3O pode acessar a rede interna (default deny)\nnet     lan     DROP    info\n\n# Internet N\u00c3O pode acessar o firewall diretamente (apenas servi\u00e7os liberados)\nnet     $FW     DROP    info\n\n# Rede interna pode acessar a DMZ para administra\u00e7\u00e3o\nlan     dmz     ACCEPT\n\n# DMZ pode acessar a internet (atualiza\u00e7\u00f5es, e-mail, DNS)\ndmz     net     ACCEPT\n\n# DMZ N\u00c3O pode acessar a rede interna (conten\u00e7\u00e3o de incidentes)\ndmz     lan     DROP    info\n\n# DMZ N\u00c3O pode acessar o firewall (apenas servi\u00e7os liberados)\ndmz     $FW     DROP    info\n\n# Rede interna pode acessar o firewall para administra\u00e7\u00e3o limitada\nlan     $FW     ACCEPT\n\n# Fallback: qualquer tr\u00e1fego n\u00e3o especificado acima \u00e9 DROP\nall     all     DROP    info<\/code><\/pre>\n<h3>Escrevendo as Regras de Tr\u00e1fego: Liberando Servi\u00e7os com Seguran\u00e7a<\/h3>\n<p>O arquivo <strong>\/etc\/shorewall\/rules<\/strong> cont\u00e9m as exce\u00e7\u00f5es \u00e0s pol\u00edticas padr\u00e3o \u2014 as regras espec\u00edficas que liberam ou bloqueiam determinados servi\u00e7os. \u00c9 aqui que voc\u00ea define, por exemplo, que o servidor web da DMZ \u00e9 acess\u00edvel da internet na porta 80, que o servidor de e-mail aceita conex\u00f5es na porta 25, e que o firewall aceita conex\u00f5es SSH apenas de redes espec\u00edficas. O formato b\u00e1sico de uma regra \u00e9: <strong>ACTION<\/strong>, <strong>SOURCE<\/strong>, <strong>DEST<\/strong>, <strong>PROTO<\/strong>, <strong>DEST_PORT<\/strong>, <strong>SOURCE_PORT<\/strong>, <strong>ORIGINAL_DEST<\/strong> e op\u00e7\u00f5es. A <strong>ACTION<\/strong> pode ser ACCEPT, REJECT, DROP, DNAT, REDIRECT, LOG, entre outras. As colunas <strong>SOURCE<\/strong> e <strong>DEST<\/strong> podem ser nomes de zonas (net, lan, dmz), a zona especial <strong>$FW<\/strong>, ou endere\u00e7os IP espec\u00edficos com m\u00e1scara. O campo <strong>PROTO<\/strong> pode ser tcp, udp, icmp ou all. O campo <strong>DEST_PORT<\/strong> permite especificar portas individuais, intervalos (ex.: 8000:8100) ou listas separadas por v\u00edrgula.<\/p>\n<p>Vamos criar as regras para o nosso cen\u00e1rio. Primeiro, liberamos o acesso SSH ao firewall da rede interna e da DMZ \u2014 nunca da internet diretamente, a menos que seja absolutamente necess\u00e1rio e protegido por <strong>fail2ban<\/strong> ou VPN. Segundo, liberamos o acesso ao servidor web da DMZ na porta 80 (HTTP) e 443 (HTTPS) a partir da internet. Terceiro, liberamos o acesso ao servidor de e-mail da DMZ na porta 25 (SMTP) da internet. Quarto, liberamos o acesso DNS da DMZ para a internet (porta 53 UDP) \u2014 embora a pol\u00edtica j\u00e1 permita ACCEPT de dmz para net, \u00e9 boa pr\u00e1tica documentar explicitamente as portas de sa\u00edda. Quinto, liberamos o protocolo ICMP (ping) da rede interna para o firewall para monitoramento, mas bloqueamos ping da internet para o firewall (j\u00e1 coberto pela pol\u00edtica DROP). Sexto, liberamos o acesso ao servi\u00e7o de monitoramento na porta 161 UDP (SNMP) apenas da rede interna para o firewall. S\u00e9timo, adicionamos uma regra de DNAT para redirecionar o tr\u00e1fego da internet na porta 8080 para o servidor web da DMZ na porta 80 \u2014 \u00fatil para testes ou quando o ISP bloqueia a porta 80. Cada regra deve ser comentada com o prop\u00f3sito para facilitar auditorias futuras.<\/p>\n<pre><code># \/etc\/shorewall\/rules\n# Regras espec\u00edficas de tr\u00e1fego (exce\u00e7\u00f5es \u00e0s pol\u00edticas padr\u00e3o)\n# Formato: A\u00c7\u00c3O  ORIGEM  DESTINO  PROTOCOLO  PORTA_DESTINO  [PORTA_ORIGEM]  [OP\u00c7\u00d5ES]\n# A\u00c7\u00c3O: ACCEPT, REJECT, DROP, DNAT, REDIRECT, LOG\n\n# ============ Acesso ao Firewall (SSH) ============\n# SSH da rede interna para o firewall (administra\u00e7\u00e3o)\n# Nota: A pol\u00edtica lan->$FW j\u00e1 permite, mas documentamos explicitamente\nACCEPT  lan  $FW  tcp  22  -  \"SSH para administra\u00e7\u00e3o do firewall\"\n\n# SSH da DMZ para o firewall (administra\u00e7\u00e3o limitada de servidores)\nACCEPT  dmz  $FW  tcp  22  -  \"SSH permitido da DMZ para o firewall\"\n\n# SSH da internet para o firewall \u00e9 BLOQUEADO (pol\u00edtica net->$FW \u00e9 DROP)\n# N\u00e3o adicionamos regra ACCEPT para net->$FW na porta 22 por seguran\u00e7a\n\n# ============ Servidores P\u00fablicos (DMZ) ============\n# Acesso HTTP ao servidor web a partir da internet\nACCEPT  net  dmz:192.168.1.10  tcp  80  -  \"Acesso HTTP ao servidor web\"\n\n# Acesso HTTPS ao servidor web a partir da internet\nACCEPT  net  dmz:192.168.1.10  tcp  443  -  \"Acesso HTTPS ao servidor web\"\n\n# Acesso SMTP ao servidor de e-mail a partir da internet\nACCEPT  net  dmz:192.168.1.20  tcp  25  -  \"Acesso SMTP ao servidor de e-mail\"\n\n# ============ Servi\u00e7os Internos ============\n# DNS da DMZ para a internet (consulta a servidores DNS externos)\nACCEPT  dmz  net  udp  53  -  \"DNS da DMZ para internet\"\n\n# NTP da DMZ para a internet (sincroniza\u00e7\u00e3o de rel\u00f3gio)\nACCEPT  dmz  net  udp  123  -  \"NTP da DMZ para internet\"\n\n# ICMP (ping) da rede interna para o firewall (monitoramento)\nACCEPT  lan  $FW  icmp  8  -  \"Ping da LAN para o firewall\"\n\n# SNMP da rede interna para o firewall (monitoramento de hardware)\nACCEPT  lan  $FW  udp  161  -  \"SNMP da LAN para firewall\"\n\n# ============ DNAT (Redirecionamento de Portas) ============\n# Redireciona porta 8080 da internet para porta 80 do servidor web\n# Usado quando o ISP bloqueia a porta 80 de entrada\nDNAT  net  dmz:192.168.1.10:80  tcp  8080  -  \"Redireciona porta 8080 para servidor web\"<\/code><\/pre>\n<h3>Configurando Masquerading (NAT) para Acesso \u00e0 Internet<\/h3>\n<p>O arquivo <strong>\/etc\/shorewall\/masq<\/strong> define as regras de mascaramento (SNAT din\u00e2mico) para permitir que redes privadas acessem a internet usando o endere\u00e7o IP p\u00fablico do firewall. Sem essas regras, os pacotes da rede interna (10.0.0.0\/24) e da DMZ (192.168.1.0\/24) chegariam \u00e0 internet com endere\u00e7os IP privados e seriam descartados pelos roteadores. O formato do arquivo \u00e9: <strong>INTERFACE<\/strong>, <strong>SOURCE<\/strong>, <strong>ADDRESS<\/strong>, <strong>PROTO<\/strong>, <strong>PORT<\/strong>. A <strong>INTERFACE<\/strong> \u00e9 a interface de sa\u00edda para a internet (eth0). O <strong>SOURCE<\/strong> \u00e9 a rede de origem que ser\u00e1 mascarada \u2014 pode ser uma subnet espec\u00edfica ou <strong>all<\/strong> para todas as redes. O campo <strong>ADDRESS<\/strong> opcional especifica o endere\u00e7o IP a ser usado; se deixado em branco, o Shorewall usa o IP da interface automaticamente. O campo <strong>PROTO<\/strong> opcional limita o mascaramento a um protocolo espec\u00edfico (tcp, udp, icmp); o valor <strong>all<\/strong> (ou deixar em branco) aplica a todos. O campo <strong>PORT<\/strong> opcional limita a portas espec\u00edficas. Vamos configurar o masquerading para a rede interna e a DMZ na interface eth0.<\/p>\n<pre><code># \/etc\/shorewall\/masq\n# Regras de masquerading (SNAT din\u00e2mico) para acesso \u00e0 internet\n# Formato: INTERFACE  ORIGEM  [ENDERE\u00c7O]  [PROTOCOLO]  [PORTA]\n# INTERFACE: interface de sa\u00edda (eth0 para a internet)\n# ORIGEM: rede de origem a ser mascarada\n\n# Mascara a rede interna na interface externa (acesso \u00e0 internet)\neth0  10.0.0.0\/24  -  all  -\n\n# Mascara a rede DMZ na interface externa (acesso \u00e0 internet)\neth0  192.168.1.0\/24  -  all  -\n\n# Alternativa: mascarar todas as redes de uma s\u00f3 vez\n# eth0  all  -  all  -<\/code><\/pre>\n<p>O masquerading \u00e9 uma das funcionalidades mais cr\u00edticas para um firewall corporativo. Sem ele, a rede interna ficaria isolada da internet, e os usu\u00e1rios n\u00e3o conseguiriam navegar, receber e-mails ou acessar servi\u00e7os externos. \u00c9 importante entender que o masquerading \u00e9 <strong>din\u00e2mico<\/strong>: o Shorewall monitora o endere\u00e7o IP da interface externa e ajusta as regras automaticamente quando ele muda (por exemplo, em conex\u00f5es DHCP). Isso \u00e9 uma vantagem significativa sobre SNAT est\u00e1tico, que requer configura\u00e7\u00e3o manual quando o IP p\u00fablico muda. Al\u00e9m disso, o masquerading tamb\u00e9m \u00e9 aplicado ao tr\u00e1fego de retorno: quando uma resposta chega da internet, o Shorewall desfaz o mascaramento e encaminha o pacote ao host interno correto, garantindo que as conex\u00f5es bidirecionais funcionem perfeitamente.<\/p>\n<h3>Aplicando e Ativando a Configura\u00e7\u00e3o do Shorewall<\/h3>\n<p>Agora que todos os arquivos de configura\u00e7\u00e3o est\u00e3o prontos, \u00e9 hora de validar e aplicar as regras. O primeiro e mais importante passo \u00e9 executar o comando <strong>shorewall check<\/strong>, que valida a sintaxe e a l\u00f3gica de todos os arquivos de configura\u00e7\u00e3o sem aplicar nada. Isso \u00e9 crucial porque um erro de sintaxe no arquivo de regras pode resultar em um firewall com regras incompletas ou incorretas \u2014 potencialmente bloqueando o acesso ao servidor ou, pior, deixando-o vulner\u00e1vel. Se o comando check retornar sem erros, voc\u00ea pode prosseguir com seguran\u00e7a. Se houver erros, o Shorewall exibir\u00e1 mensagens detalhadas indicando o arquivo e a linha problem\u00e1tica, permitindo corre\u00e7\u00e3o imediata. Nunca pule esta etapa \u2014 em nossos projetos na JRT Technology Solutions, consideramos o <strong>shorewall check<\/strong> um passo obrigat\u00f3rio antes de qualquer ativa\u00e7\u00e3o.<\/p>\n<p>Ap\u00f3s validar, aplique a configura\u00e7\u00e3o com o comando <strong>shorewall start<\/strong> (ou <strong>shorewall restart<\/strong> se j\u00e1 estiver em execu\u00e7\u00e3o). O comando start gera as regras de iptables a partir dos arquivos de configura\u00e7\u00e3o e as aplica no kernel. Durante o processo, o Shorewall exibe informa\u00e7\u00f5es sobre cada zona, interface e regra gerada. Preste aten\u00e7\u00e3o \u00e0s mensagens de sa\u00edda para confirmar que todas as zonas foram processadas corretamente e que as regras foram aplicadas sem warnings. Se o comando start retornar com sucesso, seu firewall est\u00e1 ativo e funcionando. Para garantir que o Shorewall inicie automaticamente no boot, use <strong>systemctl enable shorewall<\/strong> (no Debian\/Ubuntu e CentOS\/RHEL). Lembre-se de que o par\u00e2metro <strong>STARTUP_ENABLED=Yes<\/strong> no arquivo shorewall.conf \u00e9 necess\u00e1rio para o servi\u00e7o systemd iniciar o firewall corretamente.<\/p>\n<pre><code># 1. Valida a configura\u00e7\u00e3o antes de aplicar (OBRIGAT\u00d3RIO)\nsudo shorewall check\n\n# 2. Aplica a configura\u00e7\u00e3o (gera regras de iptables e ativa o firewall)\nsudo shorewall start\n\n# 3. Habilita o servi\u00e7o para iniciar automaticamente no boot\nsudo systemctl enable shorewall\n\n# 4. Verifica o status do servi\u00e7o\nsudo systemctl status shorewall<\/code><\/pre>\n<pre><code class=\"output\">Checking...\nValidating interfaces file...\nValidating zones file...\nValidating policy file...\nValidating rules file...\nValidating masq file...\nConfiguration validated successfully\n\nStarting Shorewall...\nInitializing...\nProcessing \/etc\/shorewall\/zones...\n  Zone net: eth0\n  Zone lan: eth1\n  Zone dmz: eth2\n  Zone $FW: firewall host\nProcessing \/etc\/shorewall\/interfaces...\nProcessing \/etc\/shorewall\/policy...\n  Policy lan to net: ACCEPT\n  Policy net to lan: DROP info\n  Policy net to $FW: DROP info\n  Policy lan to dmz: ACCEPT\n  Policy dmz to net: ACCEPT\n  Policy dmz to lan: DROP info\n  Policy dmz to $FW: DROP info\n  Policy lan to $FW: ACCEPT\n  Policy all to all: DROP info\nProcessing \/etc\/shorewall\/rules...\n  Rule: ACCEPT lan $FW tcp 22\n  Rule: ACCEPT dmz $FW tcp 22\n  Rule: ACCEPT net dmz:192.168.1.10 tcp 80\n  Rule: ACCEPT net dmz:192.168.1.10 tcp 443\n  Rule: ACCEPT net dmz:192.168.1.20 tcp 25\n  Rule: ACCEPT dmz net udp 53\n  Rule: ACCEPT dmz net udp 123\n  Rule: ACCEPT lan $FW icmp 8\n  Rule: ACCEPT lan $FW udp 161\n  Rule: DNAT net dmz:192.168.1.10:80 tcp 8080\nProcessing \/etc\/shorewall\/masq...\n  Masquerade: eth0 10.0.0.0\/24\n  Masquerade: eth0 192.168.1.0\/24\nShorewall started successfully\n\nCreated symlink \/etc\/systemd\/system\/multi-user.target.wants\/shorewall.service \u2192 \/lib\/systemd\/system\/shorewall.service.\n\u25cf shorewall.service - Shorewall IPv4 firewall\n     Loaded: loaded (\/lib\/systemd\/system\/shorewall.service; enabled; vendor preset: enabled)\n     Active: active (exited) since Sun 2026-09-06 10:30:00 -03; 2s ago\n   Main PID: 4321 (code=exited, status=0\/SUCCESS)\n      Tasks: 0 (limit: 4096)\n     Memory: 0B\n        CPU: 0\n     CGroup: \/system.slice\/shorewall.service\n\nSep 06 10:30:00 firewall systemd[1]: Starting Shorewall IPv4 firewall...\nSep 06 10:30:02 firewall systemd[1]: Finished Shorewall IPv4 firewall.<\/code><\/pre>\n<h3>Verificando a Instala\u00e7\u00e3o \/ Testando a Configura\u00e7\u00e3o<\/h3>\n<p>Ap\u00f3s ativar o Shorewall, \u00e9 fundamental verificar se as regras foram aplicadas corretamente no iptables e se o firewall est\u00e1 funcionando como esperado. O comando <strong>shorewall status<\/strong> exibe um resumo das zonas, pol\u00edticas e regras ativas. Al\u00e9m dele, voc\u00ea pode inspecionar diretamente as regras do iptables para confirmar que o Shorewall as gerou corretamente. Use <strong>iptables -L -v -n<\/strong> para listar todas as cadeias com contadores de pacotes e bytes \u2014 isso mostra o tr\u00e1fego real que est\u00e1 passando pelo firewall. Para ver as regras da tabela NAT (incluindo masquerading e DNAT), use <strong>iptables -t nat -L -v -n<\/strong>. Para testar a conectividade de ponta a ponta, execute testes a partir de m\u00e1quinas em cada zona: da LAN, tente acessar a internet (ping 8.8.8.8) e a DMZ (ping 192.168.1.10); da DMZ, tente acessar a internet e a LAN (esta \u00faltima deve falhar); da internet, tente acessar o servidor web na porta 80 (deve funcionar) e o firewall na porta 22 (deve falhar). Esses testes validam se as pol\u00edticas e regras est\u00e3o comportando-se conforme o planejado.<\/p>\n<pre><code># Verifica o status do Shorewall\nsudo shorewall status\n\n# Lista as regras da tabela filter (pol\u00edticas e regras de filtragem)\nsudo iptables -L -v -n --line-numbers\n\n# Lista as regras da tabela NAT (masquerading e DNAT)\nsudo iptables -t nat -L -v -n\n\n# Verifica o encaminhamento de IP\ncat \/proc\/sys\/net\/ipv4\/ip_forward\n\n# Testa da m\u00e1quina LAN: acesso \u00e0 internet\nping -c 3 8.8.8.8\n\n# Testa da m\u00e1quina LAN: acesso \u00e0 DMZ\nping -c 3 192.168.1.10\n\n# Testa da m\u00e1quina DMZ: acesso \u00e0 internet (deve funcionar)\nping -c 3 8.8.8.8\n\n# Testa da m\u00e1quina DMZ: acesso \u00e0 LAN (DEVE FALHAR)\nping -c 3 10.0.0.10<\/code><\/pre>\n<pre><code class=\"output\">Shorewall-5.2.8 Status at firewall - Sun Sep  6 10:35:00 -03 2026<\/p>\n<p>Zones:<br \/>\n  dmz (ipv4)<br \/>\n  lan (ipv4)<br \/>\n  net (ipv4)<\/p>\n<p>Policies:<br \/>\n  dmz to lan : DROP info<br \/>\n  dmz to net : ACCEPT<br \/>\n  dmz to $FW : DROP info<br \/>\n  lan to dmz : ACCEPT<br \/>\n  lan to net : ACCEPT<br \/>\n  lan to $FW : ACCEPT<br \/>\n  net to dmz : DROP info<br \/>\n  net to lan : DROP info<br \/>\n  net to $FW : DROP info<br \/>\n  all to all : DROP info<\/p>\n<p>Rules:<br \/>\n  ACCEPT lan $FW tcp 22<br \/>\n  ACCEPT dmz $FW tcp 22<br \/>\n  ACCEPT net dmz:192.168.1.10 t<\/p>\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>Quando um profissional de seguran\u00e7a da informa\u00e7\u00e3o atinge o n\u00edvel avan\u00e7ado em Linux, uma das habilidades mais valiosas \u00e9 a capacidade de construir firewalls robustos sem se perder em dezenas de regras do iptables. \u00c9 exatamente nesse ponto que o Shorewall entra em cena. O Shorewall \u00e9 uma ferramenta de alto n\u00edvel, escrita em Perl, &#8230; <a title=\"Aula 31: Shorewall \u2014 firewall de alto n\u00edvel baseado em iptables para redes complexas\" class=\"read-more\" href=\"https:\/\/jrtx.com.br\/blog\/2026\/09\/06\/aula-31-shorewall-firewall-de-alto-nivel-baseado-em-iptables\/\" aria-label=\"Read more about Aula 31: Shorewall \u2014 firewall de alto n\u00edvel baseado em iptables para redes complexas\">Ler mais<\/a><\/p>\n","protected":false},"author":1,"featured_media":2720,"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":[3423],"class_list":["post-2721","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-falhas-de-seguranca","tag-seguranca-linux-do-zero-ao-avancado-shorewall-firewall-de-alto-nivel-baseado-em-iptables-para-redes-complexas"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.1.1 - aioseo.com -->\n\t<meta name=\"description\" content=\"Quando um profissional de seguran\u00e7a da informa\u00e7\u00e3o atinge o n\u00edvel avan\u00e7ado em Linux, uma das habilidades mais valiosas \u00e9 a capacidade de construir firewalls robustos sem se perder em dezenas de regras do iptables. \u00c9 exatamente nesse ponto que o Shorewall entra em cena. O Shorewall \u00e9 uma ferramenta de alto n\u00edvel, escrita em Perl,\" \/>\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\/09\/06\/aula-31-shorewall-firewall-de-alto-nivel-baseado-em-iptables\/\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.1.1\" \/>\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 31: Shorewall \u2014 firewall de alto n\u00edvel baseado em iptables para redes complexas - BLOG - JRT Technology Solutions\" \/>\n\t\t<meta property=\"og:description\" content=\"Quando um profissional de seguran\u00e7a da informa\u00e7\u00e3o atinge o n\u00edvel avan\u00e7ado em Linux, uma das habilidades mais valiosas \u00e9 a capacidade de construir firewalls robustos sem se perder em dezenas de regras do iptables. \u00c9 exatamente nesse ponto que o Shorewall entra em cena. O Shorewall \u00e9 uma ferramenta de alto n\u00edvel, escrita em Perl,\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/jrtx.com.br\/blog\/2026\/09\/06\/aula-31-shorewall-firewall-de-alto-nivel-baseado-em-iptables\/\" \/>\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-09-06T20:48:42+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2026-09-06T20:48:42+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 31: Shorewall \u2014 firewall de alto n\u00edvel baseado em iptables para redes complexas - BLOG - JRT Technology Solutions\" \/>\n\t\t<meta name=\"twitter:description\" content=\"Quando um profissional de seguran\u00e7a da informa\u00e7\u00e3o atinge o n\u00edvel avan\u00e7ado em Linux, uma das habilidades mais valiosas \u00e9 a capacidade de construir firewalls robustos sem se perder em dezenas de regras do iptables. \u00c9 exatamente nesse ponto que o Shorewall entra em cena. O Shorewall \u00e9 uma ferramenta de alto n\u00edvel, escrita em Perl,\" \/>\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\\\/09\\\/06\\\/aula-31-shorewall-firewall-de-alto-nivel-baseado-em-iptables\\\/#blogposting\",\"name\":\"Aula 31: Shorewall \\u2014 firewall de alto n\\u00edvel baseado em iptables para redes complexas - BLOG - JRT Technology Solutions\",\"headline\":\"Aula 31: Shorewall \\u2014 firewall de alto n\\u00edvel baseado em iptables para redes complexas\",\"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\\\/09\\\/ai-image-1788727718002.jpg\",\"width\":1440,\"height\":1024,\"caption\":\"Aula 31: Shorewall \\u2014 firewall de alto n\\u00edvel baseado em iptables para redes complexas\"},\"datePublished\":\"2026-09-06T17:48:42-03:00\",\"dateModified\":\"2026-09-06T17:48:42-03:00\",\"inLanguage\":\"pt-BR\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/jrtx.com.br\\\/blog\\\/2026\\\/09\\\/06\\\/aula-31-shorewall-firewall-de-alto-nivel-baseado-em-iptables\\\/#webpage\"},\"isPartOf\":{\"@id\":\"https:\\\/\\\/jrtx.com.br\\\/blog\\\/2026\\\/09\\\/06\\\/aula-31-shorewall-firewall-de-alto-nivel-baseado-em-iptables\\\/#webpage\"},\"articleSection\":\"Falhas de Seguran\\u00e7a, Seguran\\u00e7a Linux \\u2014 Do Zero ao Avan\\u00e7ado: Shorewall \\u2014 firewall de alto n\\u00edvel baseado em iptables para redes complexas\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/jrtx.com.br\\\/blog\\\/2026\\\/09\\\/06\\\/aula-31-shorewall-firewall-de-alto-nivel-baseado-em-iptables\\\/#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\\\/09\\\/06\\\/aula-31-shorewall-firewall-de-alto-nivel-baseado-em-iptables\\\/#listItem\",\"name\":\"Aula 31: Shorewall \\u2014 firewall de alto n\\u00edvel baseado em iptables para redes complexas\"},\"previousItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/jrtx.com.br\\\/blog#listItem\",\"name\":\"Home\"}},{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/jrtx.com.br\\\/blog\\\/2026\\\/09\\\/06\\\/aula-31-shorewall-firewall-de-alto-nivel-baseado-em-iptables\\\/#listItem\",\"position\":3,\"name\":\"Aula 31: Shorewall \\u2014 firewall de alto n\\u00edvel baseado em iptables para redes complexas\",\"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\\\/09\\\/06\\\/aula-31-shorewall-firewall-de-alto-nivel-baseado-em-iptables\\\/#organizationLogo\",\"width\":100,\"height\":75},\"image\":{\"@id\":\"https:\\\/\\\/jrtx.com.br\\\/blog\\\/2026\\\/09\\\/06\\\/aula-31-shorewall-firewall-de-alto-nivel-baseado-em-iptables\\\/#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\\\/09\\\/06\\\/aula-31-shorewall-firewall-de-alto-nivel-baseado-em-iptables\\\/#authorImage\",\"url\":\"https:\\\/\\\/jrtx.com.br\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/09\\\/cropped-foto-rascunho3-96x96.jpeg\",\"width\":96,\"height\":96,\"caption\":\"Thiago Paes Rodrigues\"}},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/jrtx.com.br\\\/blog\\\/2026\\\/09\\\/06\\\/aula-31-shorewall-firewall-de-alto-nivel-baseado-em-iptables\\\/#webpage\",\"url\":\"https:\\\/\\\/jrtx.com.br\\\/blog\\\/2026\\\/09\\\/06\\\/aula-31-shorewall-firewall-de-alto-nivel-baseado-em-iptables\\\/\",\"name\":\"Aula 31: Shorewall \\u2014 firewall de alto n\\u00edvel baseado em iptables para redes complexas - BLOG - JRT Technology Solutions\",\"description\":\"Quando um profissional de seguran\\u00e7a da informa\\u00e7\\u00e3o atinge o n\\u00edvel avan\\u00e7ado em Linux, uma das habilidades mais valiosas \\u00e9 a capacidade de construir firewalls robustos sem se perder em dezenas de regras do iptables. \\u00c9 exatamente nesse ponto que o Shorewall entra em cena. O Shorewall \\u00e9 uma ferramenta de alto n\\u00edvel, escrita em Perl,\",\"inLanguage\":\"pt-BR\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/jrtx.com.br\\\/blog\\\/#website\"},\"breadcrumb\":{\"@id\":\"https:\\\/\\\/jrtx.com.br\\\/blog\\\/2026\\\/09\\\/06\\\/aula-31-shorewall-firewall-de-alto-nivel-baseado-em-iptables\\\/#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\\\/09\\\/ai-image-1788727718002.jpg\",\"@id\":\"https:\\\/\\\/jrtx.com.br\\\/blog\\\/2026\\\/09\\\/06\\\/aula-31-shorewall-firewall-de-alto-nivel-baseado-em-iptables\\\/#mainImage\",\"width\":1440,\"height\":1024,\"caption\":\"Aula 31: Shorewall \\u2014 firewall de alto n\\u00edvel baseado em iptables para redes complexas\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/jrtx.com.br\\\/blog\\\/2026\\\/09\\\/06\\\/aula-31-shorewall-firewall-de-alto-nivel-baseado-em-iptables\\\/#mainImage\"},\"datePublished\":\"2026-09-06T17:48:42-03:00\",\"dateModified\":\"2026-09-06T17:48:42-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 31: Shorewall \u2014 firewall de alto n\u00edvel baseado em iptables para redes complexas - BLOG - JRT Technology Solutions","description":"Quando um profissional de seguran\u00e7a da informa\u00e7\u00e3o atinge o n\u00edvel avan\u00e7ado em Linux, uma das habilidades mais valiosas \u00e9 a capacidade de construir firewalls robustos sem se perder em dezenas de regras do iptables. \u00c9 exatamente nesse ponto que o Shorewall entra em cena. O Shorewall \u00e9 uma ferramenta de alto n\u00edvel, escrita em Perl,","canonical_url":"https:\/\/jrtx.com.br\/blog\/2026\/09\/06\/aula-31-shorewall-firewall-de-alto-nivel-baseado-em-iptables\/","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\/09\/06\/aula-31-shorewall-firewall-de-alto-nivel-baseado-em-iptables\/#blogposting","name":"Aula 31: Shorewall \u2014 firewall de alto n\u00edvel baseado em iptables para redes complexas - BLOG - JRT Technology Solutions","headline":"Aula 31: Shorewall \u2014 firewall de alto n\u00edvel baseado em iptables para redes complexas","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\/09\/ai-image-1788727718002.jpg","width":1440,"height":1024,"caption":"Aula 31: Shorewall \u2014 firewall de alto n\u00edvel baseado em iptables para redes complexas"},"datePublished":"2026-09-06T17:48:42-03:00","dateModified":"2026-09-06T17:48:42-03:00","inLanguage":"pt-BR","mainEntityOfPage":{"@id":"https:\/\/jrtx.com.br\/blog\/2026\/09\/06\/aula-31-shorewall-firewall-de-alto-nivel-baseado-em-iptables\/#webpage"},"isPartOf":{"@id":"https:\/\/jrtx.com.br\/blog\/2026\/09\/06\/aula-31-shorewall-firewall-de-alto-nivel-baseado-em-iptables\/#webpage"},"articleSection":"Falhas de Seguran\u00e7a, Seguran\u00e7a Linux \u2014 Do Zero ao Avan\u00e7ado: Shorewall \u2014 firewall de alto n\u00edvel baseado em iptables para redes complexas"},{"@type":"BreadcrumbList","@id":"https:\/\/jrtx.com.br\/blog\/2026\/09\/06\/aula-31-shorewall-firewall-de-alto-nivel-baseado-em-iptables\/#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\/09\/06\/aula-31-shorewall-firewall-de-alto-nivel-baseado-em-iptables\/#listItem","name":"Aula 31: Shorewall \u2014 firewall de alto n\u00edvel baseado em iptables para redes complexas"},"previousItem":{"@type":"ListItem","@id":"https:\/\/jrtx.com.br\/blog#listItem","name":"Home"}},{"@type":"ListItem","@id":"https:\/\/jrtx.com.br\/blog\/2026\/09\/06\/aula-31-shorewall-firewall-de-alto-nivel-baseado-em-iptables\/#listItem","position":3,"name":"Aula 31: Shorewall \u2014 firewall de alto n\u00edvel baseado em iptables para redes complexas","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\/09\/06\/aula-31-shorewall-firewall-de-alto-nivel-baseado-em-iptables\/#organizationLogo","width":100,"height":75},"image":{"@id":"https:\/\/jrtx.com.br\/blog\/2026\/09\/06\/aula-31-shorewall-firewall-de-alto-nivel-baseado-em-iptables\/#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\/09\/06\/aula-31-shorewall-firewall-de-alto-nivel-baseado-em-iptables\/#authorImage","url":"https:\/\/jrtx.com.br\/blog\/wp-content\/uploads\/2026\/09\/cropped-foto-rascunho3-96x96.jpeg","width":96,"height":96,"caption":"Thiago Paes Rodrigues"}},{"@type":"WebPage","@id":"https:\/\/jrtx.com.br\/blog\/2026\/09\/06\/aula-31-shorewall-firewall-de-alto-nivel-baseado-em-iptables\/#webpage","url":"https:\/\/jrtx.com.br\/blog\/2026\/09\/06\/aula-31-shorewall-firewall-de-alto-nivel-baseado-em-iptables\/","name":"Aula 31: Shorewall \u2014 firewall de alto n\u00edvel baseado em iptables para redes complexas - BLOG - JRT Technology Solutions","description":"Quando um profissional de seguran\u00e7a da informa\u00e7\u00e3o atinge o n\u00edvel avan\u00e7ado em Linux, uma das habilidades mais valiosas \u00e9 a capacidade de construir firewalls robustos sem se perder em dezenas de regras do iptables. \u00c9 exatamente nesse ponto que o Shorewall entra em cena. O Shorewall \u00e9 uma ferramenta de alto n\u00edvel, escrita em Perl,","inLanguage":"pt-BR","isPartOf":{"@id":"https:\/\/jrtx.com.br\/blog\/#website"},"breadcrumb":{"@id":"https:\/\/jrtx.com.br\/blog\/2026\/09\/06\/aula-31-shorewall-firewall-de-alto-nivel-baseado-em-iptables\/#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\/09\/ai-image-1788727718002.jpg","@id":"https:\/\/jrtx.com.br\/blog\/2026\/09\/06\/aula-31-shorewall-firewall-de-alto-nivel-baseado-em-iptables\/#mainImage","width":1440,"height":1024,"caption":"Aula 31: Shorewall \u2014 firewall de alto n\u00edvel baseado em iptables para redes complexas"},"primaryImageOfPage":{"@id":"https:\/\/jrtx.com.br\/blog\/2026\/09\/06\/aula-31-shorewall-firewall-de-alto-nivel-baseado-em-iptables\/#mainImage"},"datePublished":"2026-09-06T17:48:42-03:00","dateModified":"2026-09-06T17:48:42-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 31: Shorewall \u2014 firewall de alto n\u00edvel baseado em iptables para redes complexas - BLOG - JRT Technology Solutions","og:description":"Quando um profissional de seguran\u00e7a da informa\u00e7\u00e3o atinge o n\u00edvel avan\u00e7ado em Linux, uma das habilidades mais valiosas \u00e9 a capacidade de construir firewalls robustos sem se perder em dezenas de regras do iptables. \u00c9 exatamente nesse ponto que o Shorewall entra em cena. O Shorewall \u00e9 uma ferramenta de alto n\u00edvel, escrita em Perl,","og:url":"https:\/\/jrtx.com.br\/blog\/2026\/09\/06\/aula-31-shorewall-firewall-de-alto-nivel-baseado-em-iptables\/","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-09-06T20:48:42+00:00","article:modified_time":"2026-09-06T20:48:42+00:00","article:publisher":"https:\/\/www.facebook.com\/profile.php?id=61590814880509","twitter:card":"summary_large_image","twitter:title":"Aula 31: Shorewall \u2014 firewall de alto n\u00edvel baseado em iptables para redes complexas - BLOG - JRT Technology Solutions","twitter:description":"Quando um profissional de seguran\u00e7a da informa\u00e7\u00e3o atinge o n\u00edvel avan\u00e7ado em Linux, uma das habilidades mais valiosas \u00e9 a capacidade de construir firewalls robustos sem se perder em dezenas de regras do iptables. \u00c9 exatamente nesse ponto que o Shorewall entra em cena. O Shorewall \u00e9 uma ferramenta de alto n\u00edvel, escrita em Perl,","twitter:image":"https:\/\/jrtx.com.br\/blog\/wp-content\/uploads\/2026\/03\/cropped-logo-mini.jpg"},"aioseo_meta_data":{"post_id":"2721","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-09-06 20:58:04","updated":"2026-09-06 20:58:04","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"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 31: Shorewall \u2014 firewall de alto n\u00edvel baseado em iptables para redes complexas\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 31: Shorewall \u2014 firewall de alto n\u00edvel baseado em iptables para redes complexas","link":"https:\/\/jrtx.com.br\/blog\/2026\/09\/06\/aula-31-shorewall-firewall-de-alto-nivel-baseado-em-iptables\/"}],"_links":{"self":[{"href":"https:\/\/jrtx.com.br\/blog\/wp-json\/wp\/v2\/posts\/2721","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=2721"}],"version-history":[{"count":0,"href":"https:\/\/jrtx.com.br\/blog\/wp-json\/wp\/v2\/posts\/2721\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/jrtx.com.br\/blog\/wp-json\/wp\/v2\/media\/2720"}],"wp:attachment":[{"href":"https:\/\/jrtx.com.br\/blog\/wp-json\/wp\/v2\/media?parent=2721"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/jrtx.com.br\/blog\/wp-json\/wp\/v2\/categories?post=2721"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/jrtx.com.br\/blog\/wp-json\/wp\/v2\/tags?post=2721"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}