AbuseBox
Saiba que seu servidor de e-mail está em listas de bloqueio antes que seus usuários.
Monitoramento auto-hospedado para os IPs e domínios que você administra: 24 listas de bloqueio DNS, expiração de SSL e de domínio, SPF/DKIM/DMARC e uptime, com um alerta quando algo muda.
Website | Início rápido | Changelog


Início rápido
git clone https://github.com/bekkaze/abusebox.git && cd abusebox
docker compose up -d
Abra http://localhost:3000 e entre como admin com a palavra-passe obtida através de docker compose exec backend cat /app/data/initial_admin_password, depois altere-a em Settings. Mais opções em Installation.
Porquê o AbuseBox
- Resultados em que pode confiar. Antes de confiar numa blacklist, o AbuseBox verifica-a contra os seus endereços de teste (RFC 5782). Uma lista que recusa o seu resolver mostra No answer, não um falso "clean". Experimente: através do Google DNS, o Spamhaus diz "not listed" para tudo.
- Cada listagem explicada. Spamhaus SBL (uma fonte de spam) e PBL (um intervalo de utilizador final) não são o mesmo problema. Cada listagem vem com o seu significado e uma severidade, para que saiba o que corrigir primeiro.
- Saúde do servidor de correio num só lugar. 24 blacklists, AbuseIPDB, expiração de SSL e domínio, classificações SPF/DKIM/DMARC, relatórios DMARC e uptime.
- Classificado pelo que realmente importa. Cada ativo recebe uma pontuação de risco de 0 a 100, ponderada pela severidade que os próprios códigos de retorno de cada blacklist descodificam, para que uma listagem crítica supere três cosméticas. A pontuação mostra o seu cálculo: cada fator, o que contribuiu e sobre quanto.
- Diz-lhe o que mudou. Verificações agendadas, um registo de atividade e alertas por email, Slack, Discord ou webhook quando algo é listado, deslistado, fica offline ou está prestes a expirar.
- Seu. Auto-alojado, licenciado sob MIT, sem telemetria, sem nível pago.
Se o AbuseBox lhe poupar um bounce, uma estrela ajuda outros operadores de correio a encontrá-lo.
Funcionalidades
Monitorização
- Adicione IPs e domínios como ativos (um a um, uma lista de até 300, ou um /24 inteiro) e escolha que verificações são executadas em cada um
- Reverificações agendadas num intervalo global ou por ativo, mais um botão "check due assets now"
- Um dashboard que abre no que precisa de ação, ordenado por uma pontuação de risco de 0 a 100 construída a partir dos próprios resultados de cada ativo
- Uma pontuação de risco por ativo com os seus fatores detalhados: blacklists, acessibilidade, certificado, domínio, autenticação de email e reputação
- Um registo de atividade de cada alteração, histórico de verificações com o que mudou entre verificações, e gráficos de histórico de blacklists
- Alertas por email, Slack, Discord ou webhook para novas listagens, remoções, indisponibilidades, recuperações e avisos de expiração
Verificações
- Blacklists: 24 blacklists DNS, cada listagem descodificada com o seu significado e uma severidade, e cada lista verificada contra os seus endereços de teste
- AbuseIPDB: pontuação de confiança de abuso, relatórios, ISP e país (chave de API gratuita)
- SSL: validade, emissor, expiração, nomes cobertos, e se a versão de TLS e a cifra ainda são aceitáveis
- WHOIS: registrador, datas, servidores de nomes e contacto de abuso, sobre IPv6 ou IPv4
- DNS: registos A, AAAA, MX, TXT, CNAME, NS, SOA e PTR
- SPF / DKIM / DMARC: classificados de A a F, com seletores DKIM personalizados, mais análise de relatórios agregados DMARC. O próprio hostname de um servidor de correio é tratado: o seu SPF é lido onde está publicado, e a política DMARC e a chave DKIM que o cobrem são encontradas no domínio a que pertence
- Estado do servidor: resolução DNS, portas 80 e 443, estado HTTP e tempo de resposta
- Verificações em massa e de sub-rede: até 300 alvos de uma vez, ou todos os endereços de um /24
Dia a dia
- Acompanhamento de deslistagem com links para a página de remoção de cada blacklist
- Vista de tabela ou de cartões, com pesquisa, filtros, ordenação e paginação feitos no servidor, para que a página um seja o topo da ordem real independentemente do número de ativos
- Um proprietário por ativo, pesquisável juntamente com hostname, tipo e descrição
- Ações em massa e exportação CSV
- Paleta de comandos (Ctrl/Cmd + K), temas claro e escuro, um layout móvel
- Vários utilizadores com funções de administrador, retenção de histórico opcional, e uma API REST com documentação Swagger
- Uma página pública de verificação rápida (com limite de taxa) que não precisa de conta; tudo o resto requer início de sessão
Instalação
Docker (recomendado)
git clone https://github.com/bekkaze/abusebox.git
cd abusebox
cp backend/.env.example .env # optional: alerts, API keys, admin account
docker compose up -d # pulls the prebuilt images (add --build to build from source)
Abra http://localhost:3000 e está pronto para começar.
Primeiro início de sessão: o utilizador é admin, e o primeiro arranque gera uma palavra-passe aleatória. Leia-a com docker compose exec backend cat /app/data/initial_admin_password; o registo do backend indica o nome do ficheiro mas já não imprime a palavra-passe em si, pelo que um registo que partilhe com alguém não lhes entrega a conta. Altere-a em Definições logo após iniciar sessão; a cópia guardada é eliminada quando o fizer. Para a escolher você mesmo, defina DEFAULT_ADMIN_PASSWORD no .env antes do primeiro arranque. Se o caminho de dados não for gravável, a conta não é criada de todo, e o registo indica-o em vez de colocar a palavra-passe nele.
A interface responde em qualquer nome de anfitrião, pelo que pode abri-la a partir de outra máquina de imediato. Coloque-a atrás do seu próprio proxy inverso HTTPS antes de a expor a uma rede em que não confia.
Configuração Manual
Clique para expandir
Pré-requisitos: Python 3.11+, Node.js 20.19+, Yarn
Backend:
cd backend
cp .env.example .env
pip install -r requirements.txt
uvicorn app.main:app --host 127.0.0.1 --port 8100 --reload
O primeiro início gera uma senha de administrador e a salva ao lado do banco de dados, como initial_admin_password. Este terminal informa o caminho exato.
Frontend (novo terminal):