Arquivo

Archive for fevereiro \28\UTC 2014

Lista de Comandos Zimbra

22 de fevereiro de 2014 46 comentários
Zimbra

Zimbra

LISTA DE COMANDOS ZIMBRA

Acredito que todo Administrador de Redes já deve ter ouvido falar no Zimbra, então o mesmo dispensa apresentações (E se você está lendo este blog, com certeza sabe o que o mesmo faz). O Zimbra é muito flexível em muitos aspectos, o front-end do mesmo já é bem completo, dá para fazer muita coisa por lá. Entretanto, pela console do administrador você não tem a opção de automatizar processos, otimizar rotinas, fazer loops de verificações muito menos de fazer consultas diretas no banco (Eu disse CONSULTA, não brinque com o banco do zimbra, o Mesmo usa Mysql que é da Oracle, e por muito tempo o Zimbra foi da Oracle, o que cria muitos laços dentro do banco de dados), sem falar que certas opções, você não tem pela console do administrador, mas no shell sim =]]

O verdadeiro poder do Zimbra, na minha concepção, está na linha de comando. Lá a gente faz quase tudo que a gente quer, além do postfix só poder ser alterado mais cirurgicamente por lá, bem como outros serviços. Por exemplo, o mysql só pode ser aberto para ser acessado por fora através da linha de comando (Ver como liberar o acesso externo ao mysql do Zimbra aqui

Como estou migrando todo o parque de e-mail da empresa em que trabalho, acabei ficando com os comandos na cabeça e sei que por falta de uso, eu mesmo vou esquecer. Portanto, resolvi postar tanto para mim, quanto para quem desejar.

Bom, segue lista de comandos que eu utilizo, o Zimbra é uma poderosa ferramenta e não possui apenas estes comandos, possui muito mais. Entretanto, com esta relação, você pode ir amadurecendo no shell do mesmo.

Descobrir qual é a versão e arquitetura do seu Zimbra

zmcontrol -v

Comando para Iniciar, Parar, Reiniciar e checar Status

/etc/init.d/zimbra start | stop | restart | status

Obter ajuda do comando zmprov

zmprov help commands

Obter opções de uso do e a sintaxe de comandos do zmprov

zmprov -h

Parar o Zimbra

zmcontrol stop

Iniciar o Zimbra

zmcontrol start

Obter Status do Zimbra

zmcontrol status

Trocar o nome da máquina do Zimbra (Requer stopar serviço)

/opt/zimbra/libexec/zmsetservername -o antigo.beijer.com -n novo.beijer.com

Obter nome da máquina do Zimbra

zmhostname

Listar todos os domínios no Zimbra

zmprov gad

Criar outro domínio

zmprov cd beijer.org.br

Renomear um domínio

zmprov -l rd beijer.org.br beijer.net.br

Criar alias para domínio

zmprov cad alias_beijer.com.br beijer.com.br

Verificar qual o domínio padrão do Zimbra

zmprov gacf zimbraDefaultDomainName

Caso seja necessário alterar o domínio padrão, execute o comando abaixo, porém não recomendo.

zmprov mcf zimbraDefaultDomainName beijer.org.br

Para remover um domínio ou um alias de domínio, execute o comando

zmprov dd alias_beijer.com.br

Criar usuario

zmprov ca usuario@beijer.com.br 'senhaaqui'

Alterar a senha de um usuário

zmprov sp jacques@beijer.com.br `beijer.j4cqu3s`

Listar todos usuarios

zmprov -l gaa

Listar todos os usuários de um domínio

zmprov -l gaa beijer.com.br

Listar usuários que são administradores

zmprov -l gaaa

Listar usuários que são administradores de um domínio

zmprov -l gaaa beijer.com.br

Transformar um usuario em administrador

zmprov ma jacques@beijer.com.br zimbraIsAdminAccount TRUE

Criar um usuario com o atributo de administrador

zmprov ca jacques@beijer.com.br 'senhaaqui' zimbraIsAdminAccount TRUE

Renomear conta

zmprov ra jacques@beijer.com.br beijer@beijer.com.br

Renomer conta mudando de domínio

zmprov ra jacques@beijer.com.br jacques@jacquesdebeijer.com.br

Deletar Conta

zmpra da jacques@beijer.com.br

Visualizar atributos de uma conta

zmprov ga jacques@beijer.com.br

Adicionar alias a uma conta

zmprov aaa jacques@beijer.com.br alias_jacques@beijer.com.br

Quando necessário ver os alias em modo texto, faça assim

for i in $(zmprov -l gaa); do echo -e "\n$i:"; zmprov ga $i | grep
MailAlias; done

Quando necessário ver os alias de um determinado domínio em modo texto, faça assim

for i in $(zmprov -l gaa beijer.com); do echo -e "\n$i:"; zmprov ga $i |
grep MailAlias; done

Remover alias

zmprov raa jacques@beijer.com.br alias_jacques@beijer.com.br

Para criar uma lista

zmprov cdl lista@beijer.com.br

Visualizar listas de distribuição

zmprov gadl

Adicionar membros à lista de distribuição

zmprov adlm lista@beijer.com.br jacques@beijer.com.br

Adicionar um usuario (jacques@beijer.com.br) a todas as listas de distribuição

for listas in $(zmprov gadl); do zmprov adlm $listas jacques@beijer.com.br;
done

Visualizar membros de uma lista

zmprov gdlm lista@beijer.com.br

Ver todas as informações de uma lista

zmprov gdl lista@beijer.com.br

Remover membro de uma lista

zmprov rdlm lista@beijer.com.br lista@beijer.com.br

Renomear uma lista de distribuição

zmprov rdl lista@beijer.com.br novalista@beijer.com.br

Ocultar uma lista de distribuição da GAL

zmprov mdl lista@beijer.com.br  zimbraHideInGal TRUE

Exibir uma lista de distribuição da GAL

zmprov mdl lista@beijer.com.br  zimbraHideInGal FALSE

Remover uma lista

zmprov ddl lista@beijer.com.br

Classes de Serviço
Listar Classes

zmprov gac

Criar uma nova COS

zmprov cc nome_da_classe

Ver todos os atributos de uma classe

zmprov gc nome_da_classe

Alterar a COS de um usuário

zmprov sac jacques@beijer.com.br nova_classe

Para ver quantos usuários de um dominio estão em classes

zmprov cta beijer.com.br

Obter o atributo da quota da COS

zmprov gc nome_classe zimbraMailQuota

Obter cuota utilizada por cada usuário de um domínio (Formato Conta Quota
Quota Utilizada

zmprov gqu localhost

Alterar attribute de quota para o valor de 80M, este número deve ser em
bytes

zmprov mc nome_da_classe zimbraMailQuota 83886080

Checar se a quota foi alterada

zmprov gc nome_da_classe zimbraMailQuota

Para ver a cuota de cada usuario, vocee pode usar o comando:

for i in $(zmprov -l gaa); do zmprov ga $i zimbraMailQuota; done

Trocar a senha de administrador

zmprov sp admin@beijer.com.br 'senhaaqui'

Logs de entrega de email na caixa (LMTP) Login e Logout Imap/Pop/Mapi, Erros
na aplicação java, operações de indexação, lentidão no banco de dados (slow
queries) e outros

tail -f /opt/zimbra/log/mailbox.log

Logs de atividade do postfix, status dos serviços, atividades do antivirus e
antispam e outros

tail -f /opt/zimbra/log/zimbra.log

Logs de autenticacao

tail -f /opt/zimbra/log/audit.log

Logs do antivirus db

tail -f /opt/zimbra/log/clamd.log

Logs de atualizaçao do Antivirus Clamav

tail -f /opt/zimbra/log/freshclam.log

Logs ao DB do store que estão demorando

tail -f /opt/zimbra/log/myslow.log

Logs de treinamento do Antispam

tail -f /opt/zimbra/log/spamtrain.log

Ativar somente o acesso http (necessita reiniciar o zimbra: zmcontrol restart)

zmtlsctl http

Ativar somente o acesso https (necessita reiniciar o zimbra: zmcontrol restart)

zmtlsctl https

Ativa o acesso http e https (necessita reiniciar o zimbra: zmcontrol restart)

zmtlsctl mixed

Esses é a primeira parte da sessão de comandos do Zimbra que posto aqui. Tem alguns outros como os comandos do Postfix, comandos do Zimbra, comandos do Mysql, Spamassassim, Amavis, Clamav e etc… Vou tentar ir acrescentado todos aqui mesmo neste post para não ficarem espalhados em posts separados.

Esta primeira leva é mais de administração do Zimbra mesmo.

Podem publicar e utilizar, só peço que se mantenham os créditos.

Inté!

Atualizar Openfire 3.9.1

10 de fevereiro de 2014 6 comentários
Openfire

Openfire

Atualizando Openfire para versão 3.9.1.

O Openfire é um servidor de mensagens instatâneas que permite que clientes de um mesmo domínio troquem mensagens entre si de forma organizada e com regras de acesso. O mesmo pode ser integrado com Active Directory e utilizar um banco de dados externo (Oracle, Sql, Mysql) ou mesmo um bancozinho interno embutido chamado HSQLDB (Não recomendo esse banco, melhor usar um banco com mais opções como Oracle, M$ Sql ou Mysql.) (Correção do nome do banco dada por Alex Borges =]])

Neste final de semana saiu uma nova atualização para o Openfire, a 3.9.1 (A última versão estável foi a 3.8.2, disponibilizada em 28 de maio de 2013, faz tempo eim).

Esta nova versão possui uma série de melhorias, elas podem ser consultadas aqui no changelog.

Vamos lá, primeiro vou descrever meu cenário:

Sistema Operacional: Debian 7.1 64 Bits
Banco de Dados: SQL Server (Windows 2008 R2 Enterprise)
Autenticação: LDAP do Active Directory
Versão do Openfire: 3.8.2
Diretório de Instalação: /opt/openfire

Bom, agora vamos atualizar.

Vale ressalvar que eu estou atualizando do meu jeito pois não vi nada oficial no site do desenvolvedor. Acredito que este tipo de atualização é válida para qualquer tipo de banco de dados e autenticação que você utilize.

Todos os comandos aqui representados são executados como root #!

1 – Baixar o Openfire 3.9.1 ;

wget http://download.igniterealtime.org/openfire/openfire_3_9_1.tar.gz

2 – Descompactar o pacote tar gz;

tar zxvf openfire_3_9_1.tar.gz

3 – Parar o Openfire;

/etc/init.d/openfire stop

4 – Fazer backup do diretório de instalação;

mv /opt/openfire /opt/openfire_3.8.2_to_3.9.1_09022014

5 – Mover o diretório que a descompactação gerou para onde está instalado o openfire;

mv -vif openfire /opt/

6 – Copiar alguns arquivos do openfire antigo para não ter que configurar nada;

cp -arp /opt/openfire_3.8.2_to_3.9.1_09022014/enterprise /opt/openfire/
cp -arp /opt/openfire_3.8.2_to_3.9.1_09022014/conf /opt/openfire/
cp -arp /opt/openfire_3.8.2_to_3.9.1_09022014/plugins /opt/openfire/
cp -arp /opt/openfire_3.8.2_to_3.9.1_09022014/resources /opt/openfire/

6 – Iniciar o Openfire!

/etc/init.d/openfire start

7 – Checar se a porta 5222 subiu, ou teste direto na console.

nmap localhost | grep 5222

8 – Entrar na console de admin do Openfire e atualizar seus plugins, sugiro atualizar um plugin de cada vez, parar o Openfire, logar com o Spark e depois de checar se está tudo okay, atualizar o próximo.

Pronto,  seu Openfire está atualizado e operacional! =]]

Caso ele não esteja =[[, siga os passos abaixo para desfazer tudo que você fez e voltar para sua versão 3.8.2 ou qualquer outra versão que seu Openfire se encontra.

1 – Pare o Openfire.

/etc/init.d/openfire stop

2 – Remova o diretório com o Openfire na versão 3.9.1

rm -rf /opt/openfire

3 – Volte o backup de seu Openfire Antigo

cp -arp /opt/openfire_3.8.2_to_3.9.1_09022014 /opt/openfire

4 – Inicie seu Openfire.

/etc/init.d/openfire start

5 – Pronto seu Openfire já está okay.

Openfire é bem simples e quase nunca dá problema. Recomendo o uso do Plugin Content Filter. Este plugin aliado com expressões regulares dão asas ao Openfire.

Aumentando segurança contra Exploits!!!

2 de fevereiro de 2014 Deixe um comentário
Security_Exploits

Security_Exploits

Aumentando segurança contra Exploits!!!

Um exploit é um software cuja finalidade é explorar algum bug conhecido em outro software fazendo com que este bug explorado tenha algum tipo de comportado determinado, como os abaixo:

– Conceder permissão de acesso a algumas informações,
– Acesso de escrita e leitura nos files do software explorado,
– Que faça com que o software explorado deixe de funcionar,
– Que apague os arquivos do software explorado
– Ou uma das piores formas, conceder acesso privilegiado ao Sistema Operacional
– Dentre outras ações.
 

Em resumo, um exploit é um software mal intencionado que geralmente vai trazer problemas ao Administrador da Rede, principalmente se ele tiver servidores de bunda da lua (Nunca faça isso, tenha amor próprio!!!).

Bom, a solução que vou citar aqui, é a que eu utilizo no meu dia-a-dia. Claro que junto com algumas outras regras de segurança. Enfim, vamos lá.

Na empresa onde eu trabalho, não tenho a necessidade de estar recebendo muitos acessos de fora do Brasil, todos os nossos serviços online são consumidos por IP’s nacionais. Raras são as exceções em que um cliente viaja para fora do Brasil e precisa imprimir um boleto e etc e tal.

Mas como disse, todos os nossos serviços que são disponibilizados na web, são consumidos por IP’S brasileiros. Então por quais motivos eu deixaria o resto do mundo ficar acessando meus serviços on line? Nenhum.

Você já reparou o log de acesso SSH no ser roteador de borda? O log de tentativas telnet? Melhor, dá uma olhada no teu mail.log e veja a quantidade de conexões maliciosas vindas de fora do Brasil. São muitas.

Por conta do exposto acima, eu resolvi bloquear o resto do mundo inteiro da minha rede, conexões do resto do mundo só são permitas caso o Socket já esteja aberta e tenha sido solicitado por parte da minha rede, caso contrário: “Tchau pacote malicioso!”.

Mas antes, vamos pensar numa situação, muitas empresas colocam seus servidores de email em Hosting’s, alguns deles brasileiros outros não, algumas empresas de hosting do Brasil, mantém servidores dedicados fora do Pais pela relação custo-benefício.

Isso acaba gerando um tráfego “gringo” na porta 25, que faz com que muitos pacotes de IPS fora do Brasil cheguem em suas rede sem intenção maliciosa, que no caso, DEVEM ser liberados.

Ou seja, pode bloquear tudo que for de fora do Brasil, mas mantenha aberta a porta 25, que é por onde os servidores de email (Mail Transfer Protocol) se comunicam entre sim para entrega de mensagens.

Para pegar os IPS Brasileiros, eu consulto o site http://www.blockcountryip.com/ onde tem a relação de ips de todos os países (IPv4). A relação já vem pronta pro modelo Cisco IOS (DENY FROM). Este site diz todos os ips que devem ser bloqueados de determinado país.

deny_from_brazil

deny_from_brazil

A lista é grande, são 278 prefixo brasileiros.

Claro que não vamos colocar uma regra bloqueando cada prefixo que não esteja na lista acima, mas sim permitir todos os ips brasileiros e em no final bloquear o resto 0.0.0.0/0. Afinal de contas, devemos sempre otimizar o processamento do roteador

Ou seja, para que possamos fazer um bloqueio bonitinho para IP’s estrangeiros que detém cerca de 95% do tráfego malicioso (Spam, sniffers, exploits, brute force, Pings, Flood UDP), devemos (no meu caso, avalie o seu!) proceder da seguinte forma.

01 – Liberar todo o tráfego na porta 25, independente se o IP é brasileiro ou não.
02 – Manter seu servidor web sempre atualizado e estar antenado em patches de segurança.
03 – Liberar a porta 80 dele, independente se o IP é brasileiro ou não. Sempre tem clientes que viajam para o exterior e precisam gerar o boleto para enviar para alguém no Brasil pagar.  Tenha atenção quanto a regra 02 por favor.
04 – Criar regras para LIBERAR (permit ou accept, varia de IOS para IOS) os 278 prefixos v4 de Origem nacional.
05 – Bloquear todo o tráfego restante representado por 0.0.0.0/0
06 – Observando se houve atualizações na lista (próximo post será sobre atualizações de Ips Brasileiros)

 

Pronto, com isso você eliminou os sniffadores chineses que todo dia varrem todas as portas de todos os seus IP’S, você bloqueou robos de estarem varrendo seu servidor WEB, você bloqueou um ataque de smtp autenticado no seu servidor de email. Você bloqueou qualquer tentativa de acesso SSH, Telnet, FTP ou qualquer outro serviço que o estagiário tenha levantado de teste e esqueceu de stopar o serviço (FDP!!!).

Entretanto, tudo o que foi falado acima não lhe protege contra ataques vindo de IP’S nacionais. 

Com certeza a China, EUA, Coréia… Devem ter servidores no Brasil com o intuito de continuar a sniffar suas portas, seus serviços e seus IP’s, mas dificilmente irão atacar por esses servidores.

Tem dois ditados na área de TI que devem sempre ser seguidos:

– Só Jesus salva, o resto faz Backup!
– Quem AMA, BLOQUEIA!

Se você ainda não teve a chance de contornar um ataque, ouça, é uma situação horrível. Portanto, BLOQUEIE!