Pesquisar

segunda-feira, 7 de janeiro de 2013

Fechar o Relay no Exchange 2010

Esta configuração tem como objetivo melhorar a segurança do seu exchange, para que ele não seja alvo de ataques de spammers.

Vamos lá....

existe um comando muito simples que você pode usar no Exchange Management Shell

Get-ReceiveConnector “Nome Do Conector de Recebimento” | Remove-ADPermission -User “NT AUTHORITY\ANONYMOUS LOGON” -ExtendedRights “ms-Exch-SMTP-Accept-Any-Recipient”

Em muitos casos este comando pode não funcionar por isso abaixo forneço um passo a passo do que este comando acima realmente faz.

Clique em Start > Run

digite: adsiedit.msc

No momento da conexão mude ao invés de contexto para configuração.

Selecione Configuration


Após conectado no Dominio pelo ADSI vamos alterar a configuração exata do Relay

Abra a arvore e edite o conector conforme descrito abaixo
  
. Services
.. Microsoft Exchange
... Organização(ex: Contoso.com)
.... Administrative Groups
..... Exchange Administrative Groups
...... Servers
....... Servidor(ex: SuperMan)
........ Protocols
......... SMTP Receive Connectors
.......... NOMEDOCONECTOR

Na aba Security

Selecione Anonymous Logon e marque com um X a opção Deny no item Submit Messages to Any Recipient

Com este procedimento restringimos a conta ANONYMOUS LOGON a enviar para destinatários que não forem dos domínios aceitos do exchange.

Duvidas mandem um e-mail.






sexta-feira, 13 de julho de 2012

No space left on device: Cannot create SSLMutex

Se você estiver com um problema na hora de subir o apache que da este tipo de erro "No space left on device: Cannot create SSLMutex" faça o seguinte

Liste todos os processos que não morreram.

ipcs -s | grep apache

Depois delete todos


ipcs -s | grep apache | awk ' { print $2 } ' | xargs ipcrm sem

Faça um restart no seu apache .....

Caso de algum problema entre em contato que tento auxiliar de alguma forma.

domingo, 22 de janeiro de 2012

Nginx configurado como LoadBalance

Estive estudando sobre o nginx uma importante ferramenta em qualquer empresa.

Como o Nginx tem inumeras utilidades, não somente com como front do apache, vou mostrar neste artigo apenas como fazer um loadbalance para conexões com o Apache.

A idéia é ter um proxy para evitar uma carga muito grande no apache. Podemos fazer o mesmo com aplicações java, utilizando o mesmo princípio.

Vou demonstrar aqui uma configuração muito simples usando CentOS com Nginx na frente do Apache.

Configurações do LAB que eu estou usando:

  • 1 maquina com Windows 7 como cliente.
  • 1 maquina com CentOS 6.2 (Servidor do Nginx);
    • hostname abaco1;
    • ip 192.168.0.24;
  • 2 maquinas com Ubuntu 11.04 + apache2;
    • hostname fogao1 e fogao2;
    • ip fogao1: 192.168.0.90;
    • ip fogao2: 192.168.0.91;


Mão na massa:

Supondo que você já tenha o CentOS 6.2 instalado na sua maquina, vamos baixar os devidos pacotes.


  • Primeiro vamos baixar o Repositório EPEL e instalar o repositório.


wget -c http://download.fedora.redhat.com/pub/epel/6/x86_64/epel-release-6-5.noarch.rpm


rpm -Uvh epel-release-6-5.noarch.rpm


  • Agora vamos atualizar os repositórios e os pacotes:
yum check-update

yum update

  • Feito isso vamos instalar o nginx e configura-lo;
yum install nginx -y (o yum vai instalar os pacotes do nginx e suas dependencias);

touch /etc/nginx/conf.d/site.conf


vim /etc/nginx/conf.d/site.conf


Veja a conf abaixo:

A linha upstream serve para criar o pool de maquinas que receberão as conexões.


upstream  batatinha  {
   server   fogao1;
   server   fogao2;
}

server {
   server_name www.batatinha.com.br;
   location / {
      proxy_pass  http://batatinha;
   }
}


A chave server é o vhost que aceitará o site www.batatinha.com.br e fará o proxy para a aplicação.
A Maneira como está configurado 50% das requisições irão para a fogao1 e 50% irão para a fogao2, caso seja necessário manter a conexão da sessão(utilizado por diversas aplicações que necessitem de login, etc.) coloque a linha ip_hash na chave upstream acima das linhas de server.


OBS: para que o servidor reconheça os nomes fogao1, fogao2 e o site eu adicionei seus ips no hosts das maquinas, caso não queiram colocar no hosts podem colocar os ips dos servidores que também funciona :D


Feito tudo isso faça o restart do nginx e vamos testar.

Para fazer o teste eu coloquei um HTML basico em cada uma das fogao.

Segue exemplo

Dentro do document root do apache da fogao1
<html>
<body>
<h1> FOGAO1 </h1>
</body>
</html>


Dentro do document root do apache da fogao2
<html>
<body>
<h1> FOGAO2 </h1>
</body>
</html>


Faça o Teste acesse www.batatinha.com.br, para que o teste funcione abra em 2 computadores diferentes.

Pronto load balance criado :D

Espero ter ajudado bastante com o Artigo. Por favor comentem e compartilhem o conhecimento!


domingo, 8 de janeiro de 2012

Vlan na placa de rede do Ubuntu

Algo muito util que vai ajudar ....


Como taggear a 802.1q na interface do Ubuntu...


Alguns passos importantes.


O ubuntu é muito enjoado em alguns aspectos (herança do debian), o principal deles são pacotes desatualizados, então primeiro e antes de qualquer coisa apt-get update e apt-get dist-upgrade ( faça isso somente se o servidor ainda não estiver em produção :P), outra coisa que atrapalha, mais deve existir por segurança é o sudo, por isso enquanto estiver configurando isso usemos o root :D, sudo su -




  • Supondo que tudo está OK, passamos a segunda parte, instale os pacotes de VLAN;;
    • apt-get install vlan


  • Agora carregue o módulo do kernel 802.1q;
    • modprobe 8021q


  • Feito isso tudo vamos adicionar a vlan na interface de rede, supondo que a interface de rede é a eth0 e a vlan a ser adicionada é a 69 façamos o seguinte;
    • vconfig add eth0 69
      • Com o comando acima Taggeamos a vlan 69 na eth0;


  • Você verá agora que uma outra interface apareceu a eth0.69, vamos configura-la;
    • ifconfig eth0.69 10.0.0.1/24
      • Como podem ver configurei o ip 10.0.0.1 na rede;
    • Vamos ver tudo o que aparece no comando abaixo;
    • ukog@afrodite:~$ ifconfig
      eth0      Link encap:Ethernet  Endereço de HW 00:22:19:69:B5:C5  
                UP BROADCAST MULTICAST  MTU:1500  Métrica:1
                pacotes RX:0 erros:0 descartados:0 excesso:0 quadro:0
                Pacotes TX:0 erros:0 descartados:0 excesso:0 portadora:0
                colisões:0 txqueuelen:1000 
                RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)
                IRQ:19 Endereço de E/S:0xdead 
      
      eth0.64   Link encap:Ethernet  Endereço de HW 00:22:19:69:B5:C5  
                inet end.: 10.0.0.1  Bcast:10.0.0.255  Masc:255.255.255.0
                endereço inet6: fe80::224:8cff:fe55:458a/64 Escopo:Link
                UP BROADCAST RUNNING MULTICAST  MTU:1500  Métrica:1
                pacotes RX:0 erros:0 descartados:0 excesso:0 quadro:0
                Pacotes TX:0 erros:0 descartados:25 excesso:0 portadora:0
                colisões:0 txqueuelen:0 
                RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)
      
      
      Como podem perceber no ifconfig apareceram as duas interfaces a 
      eth0 e eth0.69 porem somente 1 esta configurada.




Espero que tenham gostado deste post. Comentem.

domingo, 1 de janeiro de 2012

Problema para iniciar a VM depois de atualizar o Kernel no XenServer


Problema para iniciar a VM depois de atualizar o Kernel !

Este problema pode acontecer com qualquer distro, mais eu peguei principalmente com Ubuntu e CentOS

ERRO:
Error: Starting VM '....' - Using to parse /grub/grub.cfg - WARNING:root:Unknown directive load_video - WARNING:root:Unknown directive terminal_output - WARNING:root:Unknown directive else - WARNING:root:Unknown directive else - WARNING:root:Unknown directive else - WARNING:root:Unknown directive else - WARNING:root:Unknown directive else - WARNING:root:Unknown directive export - WARNING:root:Unknown image directive recordfail - WARNING:root:Unknown image directive recordfail - WARNING:root:Unknown directive submenu - WARNING:root:Unknown image directive recordfail - WARNING:root:Unknown image directive recordfail - Traceback (most recent call last): - File "/usr/bin/pygrub", line 746, in ? - raise RuntimeError, "Unable to find partition containing kernel" - RuntimeError: Unable to find partition containing kernel

Resolução:


Abra o console do seu xenserver e faça o seguinte comando.

xe-edit-bootloader -n NOMEDAMAQUINA -p 1 -f /grub/grub.cfg

Remova todas as linhas da entrada "Submenu" saia e salve o arquivo e inicie sua VM

:D

Fonte: http://forums.citrix.com/thread.jspa?threadID=290484

terça-feira, 13 de dezembro de 2011

Utilizando Storage NFS com alguns parametros customizados no XenServer 6

Qual a Melhor opção para conectar um storage ao XenServer ?

Resposta: A Melhor opção seria utilizar o StorageLink Technology!

Mas somos simples mortais e como tal não temos U$5.000 doletas pra pagar a licença do XenServer 6 enterprise, logo usamos a Licença Free.
Se Você esta usando um Storage de Verdade use com HBA e utilize o Hardware HBA para se comunicar do Xen para o Storage.

As conexões de iSCSI e NFS existem algumas diferenças que nos possibilita efetuar uma escolha legal de qual utiilizar.

A Conexão iSCSI - apesar de mais rápida nos da uma deficiencia muito grande, não é possivel compartilhar a sua conexão com outro lugar o que nos amarra em diversas coisas como BACKUP :D (pouco importante rsrsrs.) com ela só podemos deixar atachada no Xen e em mais nenhum outro lugar.

A Conexão NFS - é um pouco mais lenta mais nos ajuda em tarefas mais simples como Backup e possiveis crashs que deixam as maquinas indisponíveis.

              Exemplo: caso haja uma perda de conexão com a maquina que está servindo o NFS podemos ficar tranquilos que quando voltar a conexão a VM volta na sua atividade normal e não será necessário rebootá-la nem passar FSCK ou ScanDisk, que na maior parte das vezes pode dar algum problema. :D



Mão na Massa:


Via Shell, putty, terminal ou seja o que estiver usando, conecte via ssh no seu xenserver e siga os passos abaixo:

1- localize o arquivo nfs.py, ele fica dentro de /opt/xensource/sm

2- edite o arquivo vi nfs.py e ache as linhas abaixo:
               
                 def soft_mount(mountpoint, remoteserver, remotepath, transport):
    """Mount the remote NFS export at 'mountpoint'"""
    try:
        if not util.ioretry(lambda: util.isdir(mountpoint)):
            util.ioretry(lambda: util.makedirs(mountpoint))
    except util.CommandException, inst:
        raise NfsException("Failed to make directory: code is %d" %
                            inst.code)

3- após achar as linhas acrescente options = "hard,sync,bg,intr,timeo=600000,retrans=2,tcp,noac" a linha abaixo destas.

4- Salve e saia do arquivo - uma dica antes de alterar faça uma copia do arquivo para ter um backup ;)

Pronto.

Abra o XenCenter e Crie um novo SR com o IP do seu nfs.

O que mudamos ?

Simples a conexão dele agora será por hard e não soft e teremos um timeout de 5 minutos.
Isto nos ajudará, caso percamos a comunicação, a vm irá congelar executando somente o que está em Memória e o check tentará reconectar o storage de 5 em 5 minutos, deixando um delay baixo de indisponibilidade.

Mandem seus comentários irei responder com tempo :D

domingo, 6 de março de 2011

SMTP sem TLS no Exchange 2010

Bom primeiramente peço desculpas pela minha ausencia no blog, estou com tanta coisa no serviço que não da tempo de respirar e ainda mais quando chego em casa quero saber mais de descansar que outra coisa.

Mais vamos lá...

Surgiu uma necessidade na empresa de se utilizar as contas do exchange sem criptografia, pois deixava o processo de autenticação muito lento e acabava prejudicando alguns sistemas que disparavam mensagens.
O delay do processo de envio de e-mail aumentava consideravelmente para o processo que estava sendo executado, exemplo:

envio de e-mail com TLS (Certificado digital) demorava 4.2 segundos;
envio de e-mail sem TLS demorava 1.2 segundos;

Agora vocês devem estar pensando " processo que demora alguns segundos a mais não gera consequencia " é ai que mora o real problema.

A cada processo gerado no sistema ele aguarda uma confirmação que o e-mail foi enviado com sucesso para ir para a proxima etapa. Agora imagina isso em mais de 100 processos por minuto, este pequeno aumento de 3 segundos começa a ser considerável.

Dadas estas explicações vamos colocar a mão na massa.
Exchange 2010 - vamos configurar no hub transport as conexões necessárias para que possamos tirar o TLS e as demais criptografias.

Primeiro abra o console de gerenciamento do exchange 2010 e vá nos itens de configuração do servidor "SERVER CONFIGURATION" e Clique em "HUB TRANSPORT", após isso observe o quadro do centro conforme segue a figura abaixo.


Nele aparece 2 Receive Connectors
1 chamado Client THOR* e outro chamdo Default THOR*


*THOR nome do servidor exhcange podendo ser qualquer outro nome, em caso de duvida do nome do seu servidor, abra o Prompt de Comando e digite o comando HOSTNAME.


Clique com o botão direito em Default "THOR" e vá em propriedades.


Vamos observar a figura abaixo.

Veja que desetivei as 4 opções que devem estar ativadas em seu servidor, mantendo apenas a Basic Authentication. Isso porque queremos tirar totalemente as criptografias de conexões dos Clients ou de quem estiver tentando autenticar para enviar e-mail.

Bom deixe igual ao da figura e clique em OK.

Depois disto faça um teste com seu outlook como configuração POP3 ou IMAP deixando apenas o SMTP configurado, sem SSL ou TLS, na sua porta padrão a 25.

Perceba que ele irá ocorrer um erro.

Uma mensagem parecida com esta "550 5.7.1 Client does".
Isso quer dizer que o usuário que você esta tentando logar não tem autorização, mesmo estando autenticado no dominio, para conectar na porta 25. Para mudar isso você deve abrir o Exchange Management Shell e digitar o seguinte comando.


Add-AdPermission -Identity "Default THOR" -User "NT AUTHORITY\Authenticated Users" -ExtendedRights ms-Exch-SMTP-Accept-Any-Sender


OBS: Não se esqueça de alterar o nome do seu Receive Connectors.

Este comando libera permissão a todos os usuários Autenticados para que envie e-mails através deste connector.