Whitelist e Blacklist Zimbra 8.8
Publicado por Rodrigo Garcia (última atualização em 08/05/2019)
[ Hits: 5.232 ]
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
Ver endereço IP externo com DuckDuckGo + wget
Script que tira um screen shoot da tela e salva em um
Instalador automático nVIDIA para Debian
Script para executar o giFT daemon e uma interface de usuário
InstallDPKG - Instalando pacotes DEB no Slackware
Atenção a quem posta conteúdo de dicas, scripts e tal (6)
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
O mínimo que você precisa saber sobre o terminal (parte 2)
O mínimo que você precisa saber sobre o terminal (parte 1)
Como iniciar uma máquina virtual do VirtualBox automaticamente no boot do LUbuntu 18 LTS
Mudar o gerenciador de login (GDM para SDDM e vice-versa) - parte 2
Como deixar as abas do Firefox mais fininhas
Mudar o gerenciador de login (GDM para SDDM)
"Tentando" fazer com que programas rodem no Wayland e no X11
Porblema com MergeList [RESOLVIDO] (10)
Melhor hospedagem em nuvem para projetos Laravel com baixo custo? [RES... (7)
Como baixar os drivers de áudio no linux mint? (7)
Como posso localizar o arquivo HTML da página inicial do GLPI dentro d... (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