Whitelist e Blacklist Zimbra 8.8
Publicado por Rodrigo Garcia (última atualização em 08/05/2019)
[ Hits: 5.256 ]
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 para formatar disquetes em modo texto (Melhorado)
Adicionando Chaves de Repositórios Facilmente
imdb-cli - consultar filmes, séries e atores pelo site IMDB no terminal
Sysinfo 2.01 - Infos do Sistema
Script para atualizao o Mcafee
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
Efeito "livro" em arquivos PDF
Como resolver o erro no CUPS: Unable to get list of printer drivers
Flatpak: remover runtimes não usados e pacotes
Mudar o gerenciador de login (GDM para SDDM e vice-versa) - parte 2
Acessar ftp por nome ao invés de ip [RESOLVIDO] (5)
Estou com sede em aprender sobre o nosso querido Linux. (2)
[Python] Automação de scan de vulnerabilidades
[Python] Script para analise de superficie de ataque
[Shell Script] Novo script para redimensionar, rotacionar, converter e espelhar arquivos de imagem
[Shell Script] Iniciador de DOOM (DSDA-DOOM, Doom Retro ou Woof!)
[Shell Script] Script para adicionar bordas às imagens de uma pasta