Whitelist e Blacklist Zimbra 8.8
Publicado por Rodrigo Garcia (última atualização em 08/05/2019)
[ Hits: 5.298 ]
Homepage: www.unix4life.blogspot.com
Download 1556797485.wblist.sh (versão 2)
Boa tarde pessoal!!!
Após um bom tempo sem postar nada (porque não tinha nada de interessante para postar), resolvi postar esse script que eu desenvolvi para incluir, excluir e listar endereços na blacklist e whitelist do Zimbra 8.8.11 (não testei em outras versões).
Depois de muuuuuuuuuito pesquisar, eu cheguei à forma correta de controlar as listas de spam do Zimbra. Na internet existem muitas informações desencontradas, ou que não funcionam mais, etc. Então abaixo está o script que eu fiz e que está funcionando perfeitamente no meu ambiente, espero que ajude!
Versão 2 - Enviado por Rodrigo Garcia em 02/05/2019
Changelog: Adicionada variável para o domínio do servidor
Correção de algumas saídas
#!/bin/bash # Controle de blacklist e whitelist # Desenvolvido por Rodrigo Garcia em 12/04/2019 # Contato rodrigogarcia.ti@gmail.com # Adiciona um único endereço ou domínio à blacklist fn_AddDomainBlack() { clear read -p "Digite o endereço (Ex: cont@contoso.com ou contoso.com): " DOMAIN read -p "Confirma a adição do domínio $DOMAIN à blacklist (s/n)?" RESP if [ $RESP == "s" ] then echo "Verificando se o endereço já existe..." su - zimbra -c "zmprov gd spsconsultoria.com.br amavisBlacklistSender" | grep $DOMAIN if [ $? != 0 ] then echo "Adicionando $DOMAIN à blacklist..." su - zimbra -c "zmprov md spsconsultoria.com.br +amavisBlacklistSender $DOMAIN" echo -e "Concluído!!!\n" else echo "Endereço já existe na blacklist!!!" fi read -rsp $'Pressione enter para voltar...\n' fi } # Adiciona uma lista de endereços ou domínios à blacklist lendo o arquivo blacklist.conf # Formato cont@contoso.com ou contoso.com fn_ListaBlack() { clear while read LINE do echo "Adicionando $LINE à blacklist..." su - zimbra -c "zmprov md spsconsultoria.com.br +amavisBlacklistSender $LINE" done < blacklist.conf echo -e "Concluído!!!\n" read -rsp $'Pressione enter para voltar...\n' } # Exclui um endereço ou domínio da blacklist fn_DelDomainBlack() { clear read -p "Digite o domínio (Ex: cont@contoso.com ou contoso.com): " DOMAIN read -p "Confirma a exclusão do domínio $DOMAIN da blacklist (s/n)?" RESP if [ $RESP == "s" ] then echo "Excluíndo $DOMAIN da blacklist..." su - zimbra -c "zmprov md spsconsultoria.com.br -amavisBlacklistSender $DOMAIN" echo -e "Concluído!!!\n" read -rsp $'Pressione enter para voltar...\n' fi } # Consulta um endereço ou domínio na blacklist fn_BuscaBlack() { clear read -p "Digite o domínio para busca (Ex: cont@contoso.com ou contoso.com): " DOMAIN echo "Buscando $DOMAIN ..." su - zimbra -c "zmprov gd spsconsultoria.com.br amavisBlacklistSender" | grep $DOMAIN if [ $? != 0 ] then echo -e "Endereço ou domínio não encontrado!!!\n" fi read -rsp $'Pressione enter para voltar...\n' } # Faz cópia de segurança da blacklist e whitelist fn_BkpList() { clear echo -e "Fazendo backup das listas...\n" su - zimbra -c "zmprov gd spsconsultoria.com.br amavisBlacklistSender" | cut -d" " -f2 > blacklist.conf.bkp echo -e "Backup da blacklist criado com sucesso em blacklist.conf.bkp\n" su - zimbra -c "zmprov gd spsconsultoria.com.br amavisWhitelistSender" | cut -d" " -f2 > whitelist.conf.bkp echo -e "Backup da blacklist criado com sucesso em whitelist.conf.bkp\n" read -rsp $'Pressione enter para voltar...\n' } # Adiciona endereço ou domínio à whitelist fn_AddDomainWhite() { clear read -p "Digite o domínio (Ex: cont@contoso.com ou contoso.com): " DOMAIN read -p "Confirma a adição do domínio $DOMAIN à whitelist (s/n)?" RESP if [ $RESP == "s" ] then echo "Verificando se o endereço já existe..." su - zimbra -c "zmprov gd spsconsultoria.com.br amavisBlacklistSender" | grep $DOMAIN if [ $? != 0 ] then echo "Adicionando $DOMAIN à whitelist..." su - zimbra -c "zmprov md spsconsultoria.com.br +amavisWhitelistSender $DOMAIN" echo -e "Concluído!!!\n" else echo "Endereço já existe na blacklist!!!" fi read -rsp $'Pressione enter para voltar...\n' fi } # Adiciona uma lista de endereços ou domínios à whitelist lendo o arquivo whitelist.conf # Formato cont@contoso.com ou contoso.com fn_ListaWhite() { clear while read LINE do echo "Adicionando $LINE à whitelist..." su - zimbra -c "zmprov md spsconsultoria.com.br +amavisWhitelistSender $LINE" done < whitelist.conf echo -e "Concluído!!!\n" read -rsp $'Pressione enter para voltar...\n' } # Exclui um endereço ou domínio da whitelist fn_DelDomainWhite() { clear read -p "Digite o domínio (Ex: cont@contoso.com ou contoso.com): " DOMAIN read -p "Confirma a exclusão do domínio $DOMAIN da whitelist(s/n)?" RESP if [ $RESP == "s" ] then echo "Excluíndo $DOMAIN da whitelist..." su - zimbra -c "zmprov md spsconsultoria.com.br -amavisWhitelistSender $DOMAIN" echo -e "Concluído!!!\n" read -rsp $'Pressione enter para voltar...\n' fi } # Consulta endereço ou domínio na whitelist fn_BuscaWhite() { clear read -p "Digite o domínio para busca (Ex: cont@contoso.com ou contoso.com): " DOMAIN su - zimbra -c "zmprov gd spsconsultoria.com.br amavisWhitelistSender" | grep $DOMAIN echo "Buscando $DOMAIN ..." if [ $? != 0 ] then echo -e "\nEndereço ou domínio não encontrado!!!\n" fi read -rsp $'Pressione enter para voltar...\n' } # Executa o código until [ $DO = "0" ] do clear echo -e "############################################################################################ Bem vindo, o que você deseja? ############################################################################################ 1- Consultar um endereço ou domínio na blacklist 2- Adicionar um endereço ou domínio à blacklist 3- Adicionar uma lista de endereços e/ou domínios à blacklist (crie a lista blacklist.conf) 4- Remover um endereço ou domínio da blacklist 5- Consultar um endereço ou domínio na whitelist 6- Adicionar um endereço ou domínio à whitelist 7- Adicionar uma lista de endereços e/ou domínios à whitelist (crie a lista whitelist.conf) 8- Remover um endereço domínio da whitelist 9- Fazer backup das listas (whitelist e blacklist) 0- Sair\n" read -p "Escolha uma ação: " DO case $DO in "1") fn_BuscaBlack ;; "2") fn_AddDomainBlack ;; "3") fn_ListaBlack ;; "4") fn_DelDomainBlack ;; "5") fn_BuscaWhite ;; "6") fn_AddDomainWhite ;; "7") fn_ListaWhite ;; "8") fn_DelDomainWhite ;; "9") fn_BkpList ;; "0") clear exit ;; *) echo "Opção Inválida!!! Saindo..." ;; esac done
Script que conta quantas barras tem em um diretorio
PC Report - Coleta lista de dispositivos instalados e logs
Script Para Manutenção de usuários do Sistema
Enviar mensagem ao usuário trabalhando com as opções do php.ini
Meu Fork do Plugin de Integração do CVS para o KDevelop
Compartilhando a tela do Computador no Celular via Deskreen
Como Configurar um Túnel SSH Reverso para Acessar Sua Máquina Local a Partir de uma Máquina Remota
Configuração para desligamento automatizado de Computadores em um Ambiente Comercial
Compartilhamento de Rede com samba em modo Público/Anônimo de forma simples, rápido e fácil
Cups: Mapear/listar todas as impressoras de outro Servidor CUPS de forma rápida e fácil
Criando uma VPC na AWS via CLI
Tem como instalar o gerenciador AMD Adrenalin no Ubuntu 24.04? (16)
Arch Linux - Guia para Iniciantes (2)
Problemas ao instalar o PHP (11)
Tenho dois Link's ( IP VÁLIDOS ), estou tentando fazer o failover... (0)