quinta-feira, 6 de junho de 2013

Cross-Frame Scripting

O Cross-Frame Scripting (XFS) é um ataque client-side variante do ja famoso Cross-Site Scripting (XSS).
Em um ataque de XFS, o atacante explora um determinado cross-frame-scripting bug em um browser para acessar através dele dados
privados em um web-site secundário. O atacante induz o browser do usuário à navegar para a página que o atacante
controla; o atacante pode carregar uma página secundária em um frame HTML; executando um javascript o atacante pode
conseguir dados de websites carregados em um frame secundário.
Principais Fatores de Risco
Os modelos de segurança padrão em browsers permitem que javascripts de uma determinada página possa acessar o
conteúdo de outras páginas que sejam carregadas em diferentes janelas do browser ou frames – desde que as outras
páginas tenham sido carregadas a partir da mesma origem. Entretanto, um bug específico neste modelo de segurança existe
em browsers específicos, permitindo assim que um atacante acesse dados carregados a partir de páginas
carregadas de origens/domínios diferentes.
O browser mais conhecido por conter este tipo de bug é o IE (internet explorer), que permite vazamento de
keyboard events através de HTML framesets. Este bug pode permitir, por exemplo, que um atacante roube dados de login
que o usuário está digitando em um determinado site carregador a partir do Frame-set malicioso.
Exemplos: XFS Attack em um Internet Explorer
Para conseguirmos explorar o bug no IE que permite que os Keyboard Events sejam roubados a partir de um frameset,
um atacante deve criar uma página e hospedá-la em um servidor qualquer, em nosso exemplo ela estará hospedada em
badsite.com. Esta página será controlada pelo atacante, e deverá incluir por exemplo um frame mostrando uma
página de login do site goodsite.com.
O atacante pode esconder as bordas do frame e expandir o frame para cobrir a pagina toda, desta forma o usuário irá
realmente acreditar que está acessando goodsite.com. O atacante registra alguns javascripts no index de badsite.com que
irá obter todos os key events na página. Normalmente estes listeners serão notificados apenas pelos key
events da janela principal do site badsite.com – mas devido o bug existente no browser, este listener irá receber
todos os key events existentes no frame carregado com o login do goodsite.com.
Desta forma todas as teclas pressionadas no browser, dentro deste frame do goodsite.com, enquanto ele tenta logar-se,
poderá ser capturada e depois enviada para badsite.com
Gumblar – iFrames com vírus no seu site
Se é webmaster, provavelmente já ouviu falar acerca de ataques a sites que adicionam iframes em praticamente todos
os ficheiros do site. Já tivemos alguns clientes que se depararam com esta situação e vimos desta forma explicar
como é que é feito esse ataque e como o poderá evitar.
O ataque geralmente não é gerado através de vulnerabilidades dos sites ou dos servidores, mas sim através de uma
infecção de um vírus no computador do administrador/webmaster do site controlado por uma Botnet.
Reconhecido como Gumblar pela ScanSafe e por Troj/JSRedir-R pela Sophos, esta nova botnet apareceu pela primeira
vez em 2009 e é caracterizada por redireccionar as pesquisas dos utilizadores no Google e suspeita-se que a sua
origem sejam ficheiros PDF (Acrobat Reader) ou SWF Flash (Adobe Flash).
Os visitantes de um site infectado com o Gumblar serão redireccionados para um site alternativo com malware. Neste
momento a rede de sites infectados é já bastante grande, abrangendo milhões de sites infectados.
O site com malware irá forçar o browser do utilizador a abrir um PDF infectado que executa e explora uma
vulnerabilidade no Acrobat para ganhar acesso ao computador do utilizador.
O vírus vai encontrar clientes FTP como o FileZilla e o Dreamweaver e como estes guardam a password como
plain text, conseguem obter os dados de acesso FTP ao site do utilizador infectado.
Ao encontrar os dados de acesso FTP desse utilizador, a botnet vai conseguir aceder normalmente ao servidor
FTP usando uma autenticação normal de password e username e infectar os ficheiros do site com uma iframe.
Numa primeira fase vai fazer download de grandes partes do site e injectar código malicioso em ficheiros que
contenham a tag como ficheiros HTML, PHP, JavaScript, ASP e ASPx. O código inserido será um pequeno código
Javascript base64-encoded que irá infectar os computadores dos visitantes do site que executarem o código.
Poderão ser adicionadas iframes no código malicioso que vão conter links para sites maliciosos. O vírus irá também
tentar modificar ficheiros .htaccess e hosts e ainda criar ficheiros com o nome images.php em diretórios
chamadas “images”.
Deverá ter em conta que esta não é uma vulnerabilidade do servidor. É um ataque feito com autenticação por password.
O ataque não é feito a nível global no servidor, limitando-se aos ficheiros da home do utilizador em questão atacado.
Para evitar estes ataques deverá utilizar um cliente de FTP que guarde as passwords no seu computador de forma

segura, manter os plugins do seu browser sempre actualizados e ter um anti-virus instalado que lhe permita

detectar e bloquear a execução desta vírus.
Devido ao número de sites infectados, a propagação deste vírus é bastante rápida e já infectou milhares de
computadores. Ao ser infectado, o seu site será mais um a ajudar a distribuição deste vírus na botnet. Se alguma vez
detectar que o seu site foi atacado por este vírus, deverá entrar em contacto com o seu sysadmin para que
ele possa verificar nos logs do servidor informações relevantes.

sexta-feira, 10 de maio de 2013

CPanel - Manual de Instalação - Certificado SSL

Instalando o seu Certificado:
Estas instruções são para o cPanel 11. Se você tiver outra versão do cPanel, seu processo será parecido, mas é
possível que você tenha que pedir instruções específicas ao seu provedor de hospedagem.
Salve os arquivos do seu certificado no diretório em que você salvou o arquivo TXT da sua chave privativa.
Faça login no painel de controle do cPanel.
Clique em Gerenciador SSL/TLS.
Clique em Gerar, visualizar, fazer upload ou excluir certificados SSL.
Na seção Fazer Upload de Nova Certificado, clique em Escolher arquivo e localize o arquivo do certificado
(dominio_com_br.crt), que você recebeu e salvou no passo 1. Ou, se tiver copiado o conteúdo do certificado do corpo
do e-mail, cole na caixa de texto “Cole o crt abaixo:”. Para acessar o texto do seu certificado,
abra-o em um editor de texto. Ao copiar e colar o seu certificado, inclua as linhas BEGIN e END.
Clique em Fazer Upload.
Clique em Voltar e depois em Retornar ao Gerenciador SSL.
Clique em Configurar um certificado SSL para funcionar com seu site. Se esta opção (a quarta opção)
não estiver visível, é provável que seu provedor de hospedagem não a disponibilize. Nesse caso, será necessário entrar em contato para que eles mesmos instalem o certificado.
Selecione o domínio do menu drop-down Domínio. O sistema tentará buscar ("Fetch") seu certificado e sua chave privativa.
Se a chave privativa não bater com a que você salvou no passo 7 de “Como Gerar uma CSR no cPanel”, copie e cole o conteúdo do arquivo que você salvou no espaço correspondente.
Na caixa de texto Ca Bundle, cole o conteúdo do arquivo dominio_com_br.ca-bundle. Este passo aparece no cPanel como opcional, mas é altamente recomendável que o ca-bundle seja colado aqui, pois a não realização deste passo pode resultar em mensagens de erro ao acessar o site em HTTPS.
Clique em Instalar Certificado. Após este passo, seu certificado deve estar instalado, e o site deve estar configurado para aceitar conexões seguras.
Você ou o provedor de hospedagem talvez precisem reiniciar o Apache para ele funcionar.

MS Exchange 2007- Manual de Instalação - Certificado SSL

Instalando o seu Certificado:

Você receberá o certificado anexado a uma mensagem de correio eletrônico. O arquivo do certificado deve ser copiado
no servidor Exchange 2007. Depois deve ser instalado utilizando o Import-ExchangeCertificate cmdlet.
Não utilize o snap-in de instalação de certificados no MMC para a a instalação do seu certificado porque não
funcionará com o Exchange 2007. Utilize o MMC apenas para a instalação das raízes
Abra o Exchange Management Shell.
Caminho: Start > Programs > Microsoft Exchange Server 2007 > Exchange Management Shell.
Nesse exemplo o certificado foi copiado para o arquivo c:\exchange.comodo.com.crt
Import-ExchangeCertificate -Path c:\exchange.comodo.com.crt | Enable-ExchangeCertificate -Services SMTP
Os flags 'Services' que podem ser utilizados com esse certificado são: SMTP IMAP POP IIS UM
Para habilitar multiplos serviços utilize:
Import-ExchangeCertificate -Path c:\exchange.comodo.com.crt | Enable-ExchangeCertificate -Services "SMTP, POP, IMAP, IIS"
Uma vez que tenha instalado o certificado no site pode ser necessário seguir os passos abaixo para a instalação dos
certificados raiz e intermediário com os outros arquivos que você recebeu.
Seu certificado raiz é o EntrustSecureServerCA.crt ou o AddTrustExternalCARoot.crt
Seu certificado intermediário é o USERTrustLegacySecureServerCA.crt ou COMODOHigh-AssuranceSecureServerCA.crt
Copie esses certificados para o servidor e depois siga os passos:
No Windows clique no Menu Iniciar > Executar > mmc
Selecione File e Add/Remove Snap in
Selecione Add.
Selecione Certificates na caixa Add Standalone Snap-in e clique Add
Selecione Computer Account (NOTA: Esse passo é muito importante, pois qualquer outra escolha não funcionará)
e clique Next
Selecione Local Computer e Finish
Feche a caixa Add Standalone Snap-in, e clique OK no Add/Remove Snap in
Return ao MMC
Para instalar o certificado raiz:
Clique com o botão da direita em Trusted Root Certification Authorities, selecione All Tasks, Import e Next.
Selecione o certificado raiz e clique Next.
Ao final do Assistente selecione Finish.
Para instalar o certificado intermediario:
Clique com o botão da direita em Intermediate Certification Authorities, selecione All Tasks, Import e Next.
Selecione o certificado raiz e clique Next.
Ao final do Assistente selecione Finish.
Você deverá reiniciar o servidor
para finalizar a instalação

Microsoft IIS 7 - Manual de Instalação - Certificado SSL

Instalando o seu Certificado:
Selecione “Administrative Tools”
Inicie “IIS Manager”.
Clique no nome do seu servidor onde o certificado será instalado.
No menu central, de um clique duplo em “Server Certificates” (Certificados de Servidor)

No menu "Actions" (no lado direito), clique em “Complete Certificate Request” (Concluir Solicitação de Certificado)

Isto irá abrir o assistente para a instalação do certificado.

Navegue até a pasta onde salvou o certificado recebido da Comodo Brasil. Este é o arquivo recebido no
.zip que se chama seudominio.crt. Coloque o Friendly Name (Nome Amigavel) desejado. O Friendly Name não é parte do certificado, e
sim apenas um nome para o técnico reconhecer mais facilmente o certificado. Clique em "Ok". Depois que o certificado estiver devidamente instalado no servidor, você terá que designar o certificado ao site
apropriado usando o IIS.
No menu "Connections" na janela principal do Internet Information Services (IIS) selecione o nome do servidor onde o certificado está instalado.
Em "Sites" selecione o site onde irá utilizar o SSL.
No menu "Actions" (do lado direito), clique em "Bindings".

Isso abrirá a janela "Site Bindings".


Na janela "Site Bindings" clique em "Add". Isso abrirá a janela de "Add Site Binding".

Em "Type" escolha https. O endereço IP deve ser o endereço do site ou estar como All Unassigned e a porta padrão para
SSL é a 443. O campo "SSL Certificate" deve especificar o certificado que foi instalado no passo anterior. Clique em "OK".
Uma vez finalizados os passos acima você terá que instalar os certificados raiz e intermediários manualmente.
Instalando o Certificado da raiz intermediária:
Você recebeu 3 Certificados da Comodo. Salve estes certificados no desktop do seu servidor, depois:
Clique no botão Iniciar e selecione Executar. Digite mmc.
Clique em Arquivo e selecione Adicionar/Remover Snap in
Selecione a opção Adicionar, e escolha Certificados e clique em Adicionar
Selecione Conta do Computador e clique em Finalizar
Feche a caixa aberta e clique em Ok no Adicionar/Remover Snap in
Para Instalar o Certificado intermediário:
Clique com o botão direito do seu mouse em Autoridades Certificadoras Intermediárias, selecione Todas as Tarefas,
selecione Importar.
Siga o Wizard de instalação, localizando o Certificado intermediário quando solicitado.
Repita os passos para instalação do certificado raíz.
Você deverá reiniciar o IIS para finalizar a instalação.

Manual de Instalação - Certificado digital - Apache / ModSSL

1º PASSO - Salve os arquivos de certificado recebidos
Você recebeu um arquivo .zip contendo 2 arquivos do seu certificado:
Seu certificado - seudominio_com_br.crt Seu arquivo Apache "bundle" - seudominio_com_br.ca-bundle Descompacte os arquivos e salve o seu certificado no diretório onde você costuma armazenar seus certificados, p. ex.:
/etc/httpd/conf/ssl.crt/ e o ca-bundle onde ficam armazenadas as raízes públicas, p. ex.: /etc/httpd/conf/ca/.
Neste exemplo, usaremos:
/etc/httpd/conf/crt/ - local onde os certificados serão armazenados.
/etc/httpd/conf/key/ - local onde a chave privativa do servidor está armazenada.
/etc/httpd/conf/ca/ - local onde o CA-bundle será armazenado.

2º PASSO - Configure o httpd.conf
É necessário referenciar o ca-bundle, assim como o seu certificado, para que o seu servidor web utilize seu certificado
digital corretamente.
Nas configurações do Virtual Host do seu site, no arquivo httpd.conf (dependendo da configuração, o SSL pode estar
configurado em um include, em um arquivo chamado ssl.conf ou httpd_ssl.conf), você deverá completar as seguintes etapas:
1. Renomeie o arquivo seudominio_com_br.ca-bundle para ca.txt e copie para o diretório escolhido, p.ex.:
/etc/httpd/conf/ca/
2. Adicione a linha a seguir à seção de SSL do httpd.conf. Se a linha já existir, mude o que for necessário para que
ela fique da seguinte forma:
SSLCACertificateFile/etc/httpd/conf/ca/ca.txt

3. Salve o arquivo seudominio_com_br.crt para o diretório escolhido, p. ex: /etc/httpd/conf/crt/. Verifique também que
o arquivo .key gerado juntamente com a solicitação do certificado esteja salvo no local correto, p. ex:
/etc/httpd/conf/key/. Adicione agora as linhas abaixo, referentes ao seu certificado a à chave privativa:

SSLCertificateFile/etc/httpd/conf/crt/seudominio_com_br.crt
SSLCertificateKeyFile/etc/httpd/conf/key/dominio.key
Se você estiver utilizando outro local e outro nome de certificado, terá de alterar os caminho e nomes de arquivo de acordo.
A seção SSL do arquivo httpd.conf atualizado agora deve estar semelhante ao seguinte exemplo:
SSLCertificateFile/etc/httpd/conf/crt/seudominio_com_br.crt
SSLCertificateKeyFile/etc/httpd/conf/key/dominio.key
SSLCACertificateFile/etc/httpd/conf/ca/ca.txt
Salve seu arquivo httpd.conf e reinicie o Apache.

sexta-feira, 1 de março de 2013

Configurando servidor de DNS no CentOS

O Domain Name System – Sistema de Nomes de Domínio – é de fundamental importância em uma rede. O DNS é um sistema hierárquico em árvore invertida. Tem como origem o ponto (“.”), e a partir daí, os domínios e, abaixo destes, os subdomínios. O nome completo de um host – FQDN = Full Qualified Domain Name – é composto de duas partes: a primeira parte identifica o host dentro do domínio e a segunda parte identifica o domínio. 1 - Pacotes necessários: Execute os comando abaixo para realizar a instalação dos pacotes. yum install bind bind-libs bind-utils caching-nameserver -y
Após a instalação dos pacotes acima, podemos visulizar alguns arquivos padrões:
# ls -l /var/named -rw-r--r-- 1 named named 195 Fev 15 2004 localhost.zone
-rw-r--r-- 1 named named 2518 Fev 15 2004 named.ca
-rw-r--r-- 1 named named 436 Jun 14 2007 named.local
named.ca
Neste arquivo vem por padrão todos os rootserver da internet, ou seja, os servidores de DNS mundiais . Sua função e interligar todos os servidores do mundo ou seja se o seu servidor de DNS não sabe onde fica localizado determinado IP ele faz uma consulta a um rootserver que vai lhe dizer a resposta. named.local
Neste arquivo vem por padrão a zona local da maquina na entrada do DNS ou seja o localhost. localhost.zone
O arquivo de zona reversa ou seja resolver IP pra nome 2 - Um dos primeiros arquivos que iremos alterar será o arquivo host.conf: Esse arquivo define a ordem de consulta da máquina, que no caso mudaremos para DNS depois hosts; # vim /etc/host.conf
order bind,hosts
multi on
3 - O próximo arquivo que iremos alterar é o hosts
# vim /etc/hosts
127.0.0.0.1 localhost.localdomain localhost
10.1.1.1 servername.domain.com.br servername
O arquivo hosts especifica o nome da máquina e domínio. Neste arquivo devemos obrigatoriamente ter pelo menos o localhost e nosso próprio IP.
4 - O próximo arquivo a alterarmos é o resolv.conf
# vim /etc/resolv.conf
search domain.com.br
nameserver 10.1.1.1
nameserver 201.21.192.105
No arquivo resolv.conf você irá configurar qual será o domínio e IP do servidor de DNS que irá utilizar para navegar na internet, ou seja, estamos configurando um servidor de DNS logo utilizaremos nosso próprio servidor e outro externo. Vamos agora ao que interessa:
5 - Criando uma Zona de DNS
Vamos editar o arquivo named.conf, nele são cadastradas as zonas, nele também efetuamos várias configurações opcionais, tipo se você tiver um dns secundário, permitir replicação, recursos de view interna e view externa, e muitas outras opções. Vou mostrar abaixo um exemplo de como inserir uma zona master e uma zona reversa de um domínio: # vim /etc/named.conf
# Nome da zona master zone "domain.com.br" IN {
type master;
check-names ignore;
file "domain.com.br";
};
# Nome da zona Reversa
zone "2.168.192.in-addr.arpa" IN {
type master;
check-names ignore;
file "192.168.2.1";
};
Nos parametros file de cada zona indica o nome do arquivo onde serão cadastrados os hosts e outras opções. 6 - Agora vamos criar os arquivos conforme seus nomes indicados nas zonas acima. # touch /var/named/dominio.com.br
# touch /var/named/192.168.2.1
# chown named.named /var/named/dominio.com.br
# chown named.named /var/named/192.168.2.1
7 - Agora vamos ao conteúdo dos arquivos de zonas
Vamos editar o arquivo de zona master do domínio dominio.com.br:
# vim /var/named/dominio.com.br
Segue abaixo o conteúdo do arquivo dominio.com.br que pode ser usado como template para criação de outros arquivos: $TTL 86400 ; 1 dia
@ IN SOA servidor.dominio.com.br. root.servidor.dominio.com.br. (
2008092181 ; serial
10800 ; refresh (3 horas)
900 ; retry (15 minutos)
604800 ; expire (1 semana)
86400 ; minimum (1 dia)
) NS servidor.dominio.com.br.
IN 1H MX 5 mailserver
mailserver IN 1H A 192.168.2.10
webmail IN 1H A 192.168.2.11
fileserver IN 1H A 192.168.2.12
Esse é o conteúdo da zona master do domínio dominio.com.br, salve o arquivo e saia. Vamos agora editar o conteudo do arquivo de zona reversa do domínio: # vim /var/named/192.168.2.1
$TTL 86400 ; 1 dia
@ IN SOA servidor.dominio.com.br. root.servidor.dominio.com.br. (
2008092181 ; serial
10800 ; refresh (3 hotas)
900 ; retry (15 minutos)
604800 ; expire (1 senama)
86400 ; minimum (1 dia)
) NS servidor.dominio.com.br.
10 PTR mailserver.dominio.com.br.
11 PTR webmail.dominio.com.br.
12 PTR fileserver.dominio.com.br.
Esse é o conteúdo da zona master do domínio 192.168.2.1, salve o arquivo e saia.
Segue abaixo algumas informações sobre os parâmetros do arquivo: - SOA (start of authority) - ele informa quem é responsável pelo conteúdo. - serial: um número que identifica a versão de atualização das informações. - refresh: é o período do ciclo de atualização. A cada ciclo , os servidores secundários comparam seu número serial com o do servidor primário, e se forem diferentes, ele executa uma transferência de zona. - retry: define o tempo que o servidor secundário irá esperar para nova tentativa se o primário não responder. - expiry: tempo máximo que um servidor secundário continua respondendo por uma zona quando não consegue comunicação com o primário. - minimum: tempo mínimo de vida que a zona tem. 8 - Bom, depois de termos editado os arquivos e lido o cada parâmetro significa, vamos agora inicializar o serviço e colocar para rodar no boot da máquina. Para inicializar execute o comando abaixo: # service named start Para que o serviço sempre inicialize no boot execute o seguinte comando: # chkconfig named on 9 - Agora, por último vamos aos testes Iremos fazer abaixo um dos testes mais simples que é executar um ping no nome # ping -c 3 mailserver.dominio.com.br PING mailserver.dominio.com.br (192.168.2.10) 56(84) bytes of data.
64 bytes from mailserver.dominio.com.br (192.168.2.10): icmp_seq=1 ttl=64 time=0.024 ms
64 bytes from mailserver.dominio.com.br (192.168.2.10): icmp_seq=2 ttl=64 time=0.044 ms
64 bytes from mailserver.dominio.com.br (192.168.2.10): icmp_seq=3 ttl=64 time=0.049 ms
# ping -c 3 webmail.dominio.com.br
PING webmail.dominio.com.br (192.168.2.11) 56(84) bytes of data.
64 bytes from webmail.dominio.com.br (192.168.2.11): icmp_seq=1 ttl=64 time=0.024 ms
64 bytes from webmail.dominio.com.br (192.168.2.11): icmp_seq=2 ttl=64 time=0.044 ms
64 bytes from webmail.dominio.com.br (192.168.2.11): icmp_seq=3 ttl=64 time=0.049 ms
# ping -c 3 fileserver.dominio.com.br
PING fileserver.dominio.com.br (192.168.2.12) 56(84) bytes of data.
64 bytes from fileserver.dominio.com.br (192.168.2.12): icmp_seq=1 ttl=64 time=0.024 ms
64 bytes from fileserver.dominio.com.br(192.168.2.12): icmp_seq=2 ttl=64 time=0.044 ms
64 bytes from fileserver.dominio.com.br(192.168.2.12): icmp_seq=3 ttl=64 time=0.049 ms
Para testar se o reverso do seu endereço está funcionando, isso é muito importante para os servidores de email execute o comando abaixo: # host mailserver.dominio.com.br
mailserver.dominio.com.br has address 192.168.2.10
# host webmail.dominio.com.br
webmail.dominio.com.br has address 192.168.2.11
# host fileserver.dominio.com.br
fileserver.dominio.com.br has address 192.168.2.12
Existem outros comandos bem mais completos que consultam outros parâmetros dos registros de dns * dig * nslookup