Postagens

DELETAR FILAS DE EMAIL POSTFIX / ZIMBRA

COMO LISTAR E DELETAR FILAS DE EMAIL CRIADAS POR UM USUÁRIO ESPECÍFICO (ZIMBRA8): Em muitos casos que um usuário teve suas credenciais de acesso comprometida, o bot tenta enviar milhares de emails para vários destinos possíveis. Após realizar o bloqueio do usuário, os emails de spam criados ainda ficam armazenados em filas aguardando serem enviados, e neste caso é necessário identificar os códigos de filas criados e deletar manualmente. A seguir é ilustrado como listar todos os IDs de filas criados para um usuário específico no Zimbra8: /opt/zimbra/common/sbin/postqueue -p | egrep -v '^ *\(|-Queue ID-' | awk 'BEGIN { RS = "" } { if ($7 == "user@example.com") print $1} ' O comando anterior lista todos os IDs para que o administrador decida o que fazer com as filas criadas. Caso decida deletar todos as filas de emails criadas do usuário basta redirecionar a saída do comando anterior para o comando "postsuper -d -" /opt/zimbra/common/sbin/post...

LINUX - BACKUP DE ARQUIVOS GERADOS POR TFTP OU FTP

Olá pessoal, eu me chamo Anderson. Este script faz uma movimentação de arquivos de backup ignorando uma pasta existente:   #!/bin/bash -x cd /var/FileServerRoot/TFTP/  find /var/FileServerRoot/TFTP/ -maxdepth 1 -type f -exec tar --remove-files --exclude='./firmwares' -czvf /var/FileServerRoot/TFTP/temp.tar.gz {} +  mv /var/FileServerRoot/TFTP/temp.tar.gz /var/FileServerRoot/BACKUP/backup_$(date "+%Y%m%d_%H%M%S").tar.gz

ZIMBRA - BACKUP CONTAS DE EMAILS FECHADAS A MAIS DE 90 DIAS

 Olá Pessoal, Eu me chamo Anderson e hoje compartilharei com vocês mais um de meus scripts de backup do serviço de email ZIMBRA. Neste script a listagem de contas é criada dinamicamente e imediatamente é iniciado o processo de backup. Neste exemplo eu usei uma função chamado zm_backup_full para diminuir as linhas de código. #!/bin/bash # TÍTULO: ROTINA DE BACKUP DE CONTAS FECHADAS A MAIS DE 90 DIAS SEM USO # AUTOR: ANDERSON DA SILVA SERRA # CONTATO: anderson.silva.serra@gmail.com # Twitter: @andersonsserra # INSTAGRAM: @awksolutions # Arquivo: kb-seati-s00001.sh # # # # #habilite o set -x caso queira habilitar o modo debug do script: #set -x ########################### ARMAZENAMENTO DE LOGS ############################ LOG_PATH="/opt/zimbra/backup/scripts/logs/" LOG="$LOG_PATH/contas_sem_acesso_90D_$(date +"%Y%m%d%H%M%S").log" exec 1>> >(tee -a "$LOG") exec 2>&1 #####################################################################...

Criar lista de blacklist dinamica Mikrotik (fetch)

 Criar os arquivos individuais no servidor web com o seguinte scripts, funciona para qualquer fonte: #!/bin/sh set -x saveTo=/var/www/html/blacklist now=$(date); echo "# Generated on $now" > $saveTo/ echo "/ip firewall address-list" >> $saveTo/dshield.rsc wget -q -O - http://feeds.dshield.org/block.txt | awk --posix '/^[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.0\t/ { print "add list=blacklist address=" $1 "/24 comment=DShield";}' >> $saveTo/dshield.rsc echo "# Generated on $now" > $saveTo/spamhaus.rsc echo "/ip firewall address-list" >> $saveTo/spamhaus.rsc wget -q -O - http://www.spamhaus.org/drop/drop.lasso | awk --posix '/[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\// { print "add list=blacklist address=" $1 " comment=SpamHaus";}' >> $saveTo/spamhaus.rsc echo "# Generated on $now" > $saveTo/malc0de.rsc echo "/ip firewall address-list" >...

Reclaiming VMFS de blocos deletados em LUNs Thin Provisioned (versões inferiores a VMFS6)

Neste artigo você encontra um script bash para realizar reclaim de espaço não realocado após deletar espaço em discos do tipo VMFS5. Segue script:   #!/bin/sh #============================================== # AUTOR: ANDERSON DA SILVA SERRA # CONTATO: anderson.silva.serra@gmail.com # Nome do arquivo: script_unmap.sh # Data: 15/10/2021 #=============================================== # ARMAZENAMENTO DE LOGS DE EVENTOS #=============================================== LOG="/opt/scripts/unmap/logs/log_unmap_volumes_$(date "+%Y%m%d%H%M%S").log" exec >> $LOG exec 2>&1 #=============================================== # DECLARACAO DE VARIAVEIS GLOBAIS #=============================================== ESXCLI="/usr/bin/esxcli" SAIDA="/opt/scripts/unmap/logs/status_unmap_script_$(date "+%Y%m%d%H%M%S").txt" echo "" > $SAIDA # ==== script ================================== echo "Horario inicio script:  $(date +"%Y-%...

ZIMBRA - EXPORTA CONTAS ZIMBRA E MOVIMENTAR ARQUIVOS

 Segue script para efetuar backup de dados das contas de email do zimbra e movimentar para uma pasta de movimentação de arquivos: #!/bin/bash  -x ZMAILBOXCMD="/opt/zimbra/bin/zmmailbox" DEST="/opt/zimbra/backup" FILEOK="/opt/zimbra/backup/prontos" #armazenar arquivos contas com uso su - zimbra -c "/opt/zimbra/bin/zmprov gqu `zmhostname` | grep ma.def.br | awk '{print $3,$1}' | grep -v ^0 | awk '{print $2}' "  > /tmp/contas for mailbox in `cat /tmp/contas`; do su - zimbra -c "$ZMAILBOXCMD -z -m ${mailbox} -t 0 getRestURL \"//?fmt=tgz&query=is:anywhere\" " > $DEST/${mailbox}.tgz wait md5sum $DEST/${mailbox}.tgz > $DEST/${mailbox}.tgz.md5 wait mv $DEST/${mailbox}.tgz $DEST/${mailbox}.tgz.md5 $FILEOK done

MOVIMENTAÇÃO DE ARQUIVOS VIA CURL

 #!/bin/bash #BASE_PATH => Diretório onde contém os arquivos .tgz a serem enviados BASE_PATH=/opt/zimbra/backup/prontos ENVIADOS=${BASE_PATH}/enviados PID_FILE=/tmp/pid_import.$$ HOST_DEST="https://repositorio.exemplo.com.br/backup/" SLEEP=120 USER='usuario' SENHA='password' [ -d "${ENVIADOS}" ] || mkdir -p "${ENVIADOS}" cd $BASE_PATH LOG(){     echo -e "$(date "+%D %T") $*" } SAIR(){     LOG "Fim"     RET=$(rm -vf $PID_FILE)     LOG "$RET"     exit } >$PID_FILE LOG "Início PID: $PID_FILE" cd ${BASE_PATH} while [ -e "$PID_FILE" ];do     LOG "Atualizando contas."     DUMPS=$(ls -tr *@* 2>/dev/null)     if [ -z "$DUMPS" ]; then         LOG "Nenhum arquivo .tgz no diretório corrente."     else         for DUMP in $DUMPS;do             LOG "Verificando arquivo $DUMP."             [ -e "$PID...

ZIMBRA - BLOQUEAR USUÁRIO INTERNO SPAM COM BASE NOS LOGS

 Olá pessoal, Agradecemos a sua visita em nosso canal. Vou compartilhar com vocês um script onde eu faço o bloqueio de contas que enviam grandes quantidades de email com base na análise de logs. Informo que a melhor opção seria você tem um antispam para detectar tal anomalia e somando a isso o serviço de PolicyD ativado no zimbra ou como regra de serviço postfix do zimbra consultando em um policyd remoto, segue o script: #!/bin/bash -x ## tratamento de contas bloqueadas for g in `egrep -e "from=<" /var/log/maillog | grep '(queue active)' | awk '{print $7}' | grep -v 'from=<>' | cut -d '<' -f2 | sed 's/>,//' | sort | uniq -c | sort -nr | egrep -e "*@*.exemplo.com.br$" | egrep -v "(pattern1 | pattern2)" | awk '{print $2 "," $1}'`; do if [ `echo $g | awk -F, '{print $2}'` -gt 350 ]; then su - zimbra -c "/opt/zimbra/bin/zmprov -l ga `echo $g | awk -F, '{print $1}'` zi...

PYTHON - ENVIAR MENSAGEM VIA TELEGRAM

 Olá pessoal, Agradecemos a sua visita ao nosso canal. A seguir irei compartilhar com todos como enviar o conteúdo de um arquivo como mensagem pelo telegram através de script python: #!/usr/bin/python3 import requests arq = open('<caminho-arquivo.txt>', 'r') texto = arq.read() arq.close() jsonTelegram = { "chat_id": <seu-chatid/groupid>, "text": texto } requests.post("https://api.telegram.org/bot<HASH-BOT>/sendMessage", data=jsonTelegram)

ZIMBRA - BACKUP DO SERVIDOR LDAP DO ZIMBRA

 Olá pessoal, Agradecemos a sua visita no nosso canal. Este script executa um backup da árvore LDAP do servidor Zimbra ajudando você em caso de recuperação de desastre. Crie um arquivo com permissão de execução para o usuário zimbra, e salve-o dentro do diretorio $HOME do usuário zimbra. #!/bin/bash # TÍTULO: ROTINA DE BACKUP LDAP ZIMBRA # AUTOR: ANDERSON DA SILVA SERRA # CONTATO Github: @andersonserra # #=========================================== # declaracao de variaveis DEST="/opt/zimbra/backup" TIMESTAMP=`date +"%Y%m%d%H%M%S"` #=========================================== # VERIFICAR SE A SESSAO ESTÁ COMO USUARIO ZIMBRA whoami | grep zimbra > /dev/null if [ $? -eq "1" ]; then echo "You need run how user zimbra!!! Bye!" exit 0 fi #=========================================== # Carregamento das variaveis de ambiente do zimbra cd /opt/zimbra source ~/bin/zmshutil zmsetvars #== BACKUP DAS CONTAS DE USUÁRIOS COM EXCEÇÃO CONTAS DE SISTEMA /opt/zi...

ZIMBRA - SCRIPT BLOQUEAR USUARIO INATIVO 90 DIAS

 Olá pessoal, Agradecemos desde já a sua visita. Neste artigo iremos mostrar como bloquear uma conta inativa que não efetua login a mais de 90 dias no servidor de email do zimbra. Crie o seguinte script bash: #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ # TÍTULO: ROTINA DE BLOQUEIO DE CONTAS QUE NÃO LOGAM A MAIS DE 90 DIAS # AUTOR: ANDERSON DA SILVA SERRA # CONTATO GitHub: @andersonserra  # #=========================================== # variaveis de controle FILE="/tmp/block_$(date +"%Y%m%d").tmp" # VERIFICAR SE A SESSAO ESTÁ COMO USUARIO ZIMBRA whoami | grep zimbra if [ $? -eq "1" ]; then echo "You need run how user zimbra!!! Bye!" exit 0 fi #=========================================== # Carregamento das variaveis de ambiente do zimbra cd /opt/zimbra source ~/bin/zmshutil zmsetvars timestamp=`date --date "-90 days" +'%Y%m%d%H%M%S'` echo $timestamp /opt/zimbra/common/bin/ldapsearch -x -H ldap://ldap-serve...

SCRIPT TELNET BACKUP EM LOTE

 Esse script tem a função de realizar backup de configurações de equipamentos de rede através do programa Telnet: São dois scripts, o primeiro em bash e o outro em expect: Segue script bash: #!/bin/bash -x ########################### ARMAZENAMENTO DE LOGS ############################ #LOG="/root/scripts/backup/logs/backup-ativos-$(date "+%Y%m%d").log" #exec 1>> >(tee -a "$LOG") #exec 2>&1 ########################################################## echo "`date` - Iniciando backup de ativos." for enderecos in `cat /root/scripts/backup/cianet`; do #Executa somente se houve conectividade: ping -c 5 $enderecos > /dev/null if [ $? -eq 0 ]; then /root/scripts/backup/telnetconn.exp $enderecos wait mv /root/scripts/backup/$enderecos.log /root/scripts/backup/arquivos/$enderecos\_$( date +"%Y%m%d%H%M%S").txt fi done Segue arquivo expect: ##############estrutura expect ### #!/usr/bin/expect -f #Usage sshsudologin.expect <host...

REDES GPON - OLT SINO TELECOM

REDES GPON OLT G8PS - SINO TELECOM Source : Sino Telecom 1. Verificar configuração da OLT do cliente: Username:admin Password:admin GPON> enable GPON# configure terminal 1 2 3 4 Verificar informações de versão da OLT: GPON# show version Product Name : GPON Software Version : R5.2.0V3316 Compiled by jenkins Tue Aug 29 20:18:09 CST 2017 Hardware Version : 1.1 Serial Num : ################# Contact : Loction : 1 2 3 4 5 6 7 8 Checar a configuração da interface GPON: GPON# configure terminal GPON(config)# interface gpon-olt 1/1 GPON(config-gpon-olt1/1)# show running-config interface gpon-olt1/1 ! interface gpon-olt1/1 no shutdown qos-queue-scheduler model hierarchy ! 1 2 3 4 5 6 7 8 Verificar informações do módulo óptico: GPON(config-gpon-olt1/1)# show optical module info optical module tx power : 3.76 dbm optical module temperature : 31.00 C optical module voltage : 3.23 V optical module bias current : 9.22 mA 1 2 3 4 5 Verificar ONU não r...

ZIMBRA - BLOQUEAR USUÁRIOS A MAIS DE 90 DIAS SEM LOGAR

 ZIMBRA - SCRIPTS BÁSICOS BLOQUEAR USUÁRIOS QUE NÃO LOGAM A MAIS DE 90 DIAS: Script testado nas versões 8 do zimbra. Este scritp deve ser executado com usuario zimbra: #!/bin/bash # TÍTULO: ROTINA DE BLOQUEIO DE CONTAS QUE NÃO LOGAM A MAIS DE 90 DIAS # AUTOR: ANDERSON DA SILVA SERRA # CONTATO: anderson.silva.serra(at)gmail.com # #=========================================== # VERIFICAR SE A SESSAO ESTÁ COMO USUARIO ZIMBRA whoami | grep zimbra if [ $? -eq "1" ]; then echo "You need run how user zimbra!!! Bye!" exit 0 fi #=========================================== # Carregamento das variaveis de ambiente do zimbra cd /opt/zimbra source ~/bin/zmshutil zmsetvars timestamp=`date --date "-90 days" +'%Y%m%d%H%M%S'` echo $timestamp #=========================================== # Nesta seção iremos fazer uma consulta ldap filtrando as contas # que não logam a mais 90 dias e que não são contas de sistema zimbra, e gravar a saída para um arquivo no formato do ...

Comandos básicos de exportação ldap zimbra

 Comandos básicos de exportação ldap zimbra #salvar todas as listas de distribuição (recomendo fazer por dominio): ldapsearch -LLL -x -o ldif-wrap=no -H ldap://server.com.br -D 'uid=zimbra,cn=admins,cn=zimbra' -w 'senha-ldap' -b 'base-dn-path' objectClass=zimbraDistributionList > /tmp/all-dist-list.ldif #salvar todas as contas de usuarios, exceto contas de sistema (antivirus, antispam, gal, etc) ldapsearch -x -H ldap://server.com.br -D 'uid=zimbra,cn=admins,cn=zimbra' -w 'senha-ldap' -b 'base-dn-path' -LLL '(&(!(zimbraIsSystemResource=TRUE))(objectClass=zimbraAccount))' > /tmp/ma.def.br.ldif

Script de criação de backup de contas zimbra

SSenhores,   boa tarde, hoje estarei mostrando para vocês como criar backup full das contas de email do servidor de email Zimbra, Espero que aproveitem: ##################################################  #!/bin/bash ZMAILBOXCMD="/opt/zimbra/bin/zmmailbox" DEST="/opt/zimbra/backup" FILEOK="/opt/zimbra/backup/prontos" saida="/root/scripts/export/saida.txt" echo "" > $saida #armazenar arquivos contas com uso: #su - zimbra -c "/opt/zimbra/bin/zmprov gqu `zmhostname` | awk '{print $3,$1}' | grep -v ^0 | awk '{print $2}' "  > contas for mailbox in `cat contas`; do echo " $(date) Servidor: <ip-servidor> Iniciando exportação de arquivo TGZ do usuário: $mailbox " > $saida /root/scripts/export/telegram.py su - zimbra -c "$ZMAILBOXCMD -z -m ${mailbox} -t 0 getRestURL \"//?fmt=tgz&query=is:anywhere\" " > $DEST/${mailbox}.tgz wait md5sum $DEST/${mailbox}.tgz > $DEST/${...

Ativar proxy zimbra

 echo "#!/bin/bash /opt/zimbra/libexec/zmproxyconfig -e -w -o -a 8080:80:8443:443 -x https  -H `zmhostname` /opt/zimbra/libexec/zmproxyconfig -e -m -o -i 7143:143:7993:993 -p 7110:110:7995:995 -H `zmhostname` /opt/zimbra/libexec/zmproxyconfig -e -m -H `zmhostname` zmprov ms `zmhostname` zimbraMailReferMode reverse-proxied zmcontrol restart " > /tmp/ativar-proxy.sh chmod +x /tmp/ativar-proxy.sh /tmp/ativar-proxy.sh

Dicas Zimbra

  Comandos de administração do zimbra por linha de comando. Para Habilitar os filtros devemos realizar as seguintes configurações, no console administrativo: Configurações Globais → MTA Habite: Servidor Milter Permite apenas mandar email para a lista zmprov grr dl ami…@dominio4.com.br usr jo…@dominio4.com.br sendToDistList Permite apenas os membros da lista mandar email para a lista zmprov grr dl irm…@dominio4.com.br grp irm…@dominio4.com.br sendToDistList Permite apenas o dominio mandar email para a lista zmprov grr dl ami…@dominio4.com.br dom dominio4.com.br sendToDistList Descobrindo regras aplicadas no servidor É preciso executar esse comando para cada lista zmprov -l gdl ami…@dominio4.com.br Obtem o zimbraACE – zmprov -l getAccount fad72c1c-8944-46bd-b637-ca64df97d7f6 | grep mail: Obtem o zimbraACE – zmprov -l gdl 8c88761d-4513-4144-b6fb-fe716cb09c9e | grep mail: Remover todos os MILTER de uma lista zmp...