Voltar às atualizações
New releaseSep 4, 2026

easywall v2.14.0

Interface web para o firewall nftables no Linux, escrita em Go. A aplicação é desfeita após 120 segundos, a menos que você a confirme — você não consegue se bloquear. Instalação via Debian e Docker.

Compartilhar

easywall

O seu firewall. As suas regras. Sem surpresas.

Tests Build Security Coverage

Latest release Go version GPL-3.0 Discord Support on Ko-fi

Demonstração ao vivo · Documentação · Registo de alterações

nftables através de uma interface web que não o pode bloquear: cada aplicação reverte-se a si própria a menos que a confirme.

O painel do easywall: estado do firewall com estado de aceitação, alterações pendentes e última aplicação; mosaicos a contar portas TCP, portas UDP, lista negra, lista branca, regras personalizadas e reencaminhamento; e uma lista de atividade recente.

A ideia

Editar uma regra não muda nada. Aplicá-la muda tudo — durante 120 segundos. Se as novas regras cortarem a sua ligação, não pode clicar em Confirmar, e não confirmar é o que repõe as regras antigas.

Máquina de estados: editar leva a Staged, aplicar leva a Live, confirmar dentro da janela leva a Confirmed, e deixar a janela expirar leva a Rolled back, de onde as edições em fase de preparação ainda estão disponíveis.

Arquitetura

Dois processos. O que está exposto à rede não detém nenhum privilégio que valha a pena roubar.

O navegador fala HTTPS com easywall-web, que corre sem privilégios; easywall-web fala JSON tipado através de um socket Unix com easywall-core, que corre como root e fala netlink com a tabela nftables inet easywall.

Uma reescrita completa do easywall original — Python, Flask, iptables via subprocesso — que foi arquivado em 2022 após uma CVE. Ambas as causas raiz desapareceram: os privilégios vivem num processo diferente, e o caminho de aplicação constrói estruturas Go em vez de uma linha de comandos. Como funciona →

Instalação

Árvore de decisão: apenas a explorar leva ao modo de demonstração; Debian ou Ubuntu leva ao pacote .deb; já a correr contentores leva a Docker; caso contrário, compilar a partir do código-fonte.
# Debian / Ubuntu — amd64 e arm64
ARCH=$(dpkg --print-architecture)
wget https://github.com/jp1337/easywall/releases/latest/download/easywall_$ARCH.deb
sudo dpkg -i easywall_$ARCH.deb && sudo apt-get install -f

# Docker
git clone https://github.com/jp1337/easywall.git && cd easywall && docker compose up -d

# A partir do código-fonte — Go 1.27+, nftables
git clone https://github.com/jp1337/easywall.git && cd easywall
make build && sudo make install
sudo systemctl enable --now easywall-core easywall-web

Depois abra https://localhost:12227. A primeira visita configura a conta e prepara as primeiras regras.

O que obtém

PortasTCP e UDP, individuais ou em intervalo, com encaminhamento de força bruta SSH por regra
Lista negra e lista brancaIPv4, IPv6 e CIDR, avaliadas antes de qualquer regra de porta
Módulos de proteçãoDoze, cinco ativos por predefinição — inundações, análises, bogons, fragmentos, broadcast/multicast/anycast
Reencaminhamento de portasRedirecionamentos NAT com seleção de protocolo
Regras personalizadasnftables puro, com verificação de sintaxe antes de ser aplicado
Exportar / importarTodo o conjunto de regras como JSON
Registo de auditoriaO que mudou e quando, um objeto JSON por linha
Coexistência com DockerÉ dono de table inet easywall, não toca em mais nada
Inglês, Alemão, FrancêsComutável na interface, inclusive antes do início de sessão. Um idioma pode estar parcial: o que falta é apresentado em inglês, e a lacuna é comunicada em vez de escondida
Claro e escuroSegue o SO, com alternância manual; ambos verificados quanto a contraste

Construído com

Go 1.27, binário únicogo-chi/chi · html/template
nftables via google/nftablesnetlink direto, sem subprocesso nft
Argon2idgolang.org/x/crypto, sal de 16 bytes por palavra-passe
CSRFnet/http.CrossOriginProtection, nativo do Go 1.25
Sistema de designDESIGN.md + Tailwind v4 — sem biblioteca de UI de terceiros
Tipos de letraInter + JetBrains Mono, auto-alojados, ~145 KB — funciona sem ligação à rede
CIgovulncheck, gosec, CodeQL, -race, e uma suíte de integração contra um kernel real

Obter ajuda

Uma pergunta, ou algo que não se comporta como esperadoDiscord
Um erro, ou uma funcionalidade que desejaIssues do GitHub
Uma vulnerabilidade de segurançaAviso de segurançanão no Discord, e não como issue público

Contribuir

Configuração, convenções de commit e a lista de verificação de revisão: CONTRIBUTING.md. Qualquer coisa visual passa primeiro por DESIGN.md.

Questões de segurança: não como issue público — use GitHub Security Advisories.

Licença

GPL-3.0 — veja LICENSE.

Categorias