Ativando o suporte a SSL em servidores web

O SSL (Secure Socket Layer) é o protocolo usado para criar páginas seguras, encriptando toda a transmissão entre o cliente e o servidor. Os dois usos mais comuns são em páginas de comércio eletrônico, onde é necessário oferecer um ambiente seguro para concluir a transação e transmitir dados confidenciais e também na criação de ambientes administrativos, como os usados pela maioria dos gestores de conteúdo, que permitem que você gerencie o conteúdo do site.

Na grande maioria das distribuições, o pacote com o mod_ssl é instalado juntamente com o pacote principal do Apache, ou é pelo menos disponibilizado como um pacote separado, instalável através do gerenciador de pacotes.

No caso das distribuições derivadas do Debian, você precisa apenas ativar o módulo usando o comando “a2enmod”. Reinicie o serviço para que a alteração entre em vigor:

No caso do CentOS, é necessário instalar o pacote “mod_ssl” usando o yum. O script de pós-instalação se encarrega de adicionar o script de carregamento na pasta “/etc/httpd/conf.d” automaticamente, concluindo a instalação. Não se esqueça de reiniciar o serviço para que a alteração entre em vigor:

Com o módulo carregado, fica faltando apenas o componente mais importante, que é o certificado SSL propriamente dito.

Se você quer ativar o SSL para testes ou para uso interno (para acessar alguma ferramenta administrativa instalada no servidor, ou para uso em uma página disponibilizada apenas para um grupo de amigos, por exemplo), você pode simplesmente gerar seu próprio certificado, o que é rápido, grátis e indolor. Se, por outro lado, você está ativando o SSL para uso em um site de comércio eletrônico, é necessário obter um certificado reconhecido através da Verisign ou outra entidade certificadora.

Os certificados caseiros são chamados de certificados self-signed (auto-assinados), já que você mesmo faz o papel de entidade certificadora, gerando e assinando o certificado. O algoritmo de encriptação usado é o mesmo, de forma que um certificado self-signed corretamente gerado oferece a mesma segurança que um certificado reconhecido. O grande problema é que os navegadores nos clientes não serão capazes de verificar a autenticidade do certificado, de forma que os visitantes receberão um aviso de “certificado não reconhecido” ao acessarem a página:

O propósito de entidades certificadoras, como a Verisign, é confirmar a titularidade dos certificados, confirmando que o certificado recebido ao acessar determinado site pertence realmente à entidade que o está fornecendo. É isso que garante que você está mesmo acessando o home banking do banco em que tem conta e não o site de um script kiddie qualquer. Certificados assinados por entidades certificadoras são automaticamente aceitos pelos navegadores (já que sua identidade já foi confirmada pela entidade certificadora), o que evita a exibição da mensagem.

Vamos então começar com a configuração de um certificado self-signed, e em seguida entender o que muda ao utilizar um certificado reconhecido.

Fonte:

Validando Formulários PHP

Validando CEP

O código abaixo valida o CEP informado através do método POST (conforme script abaixo).

Onde informamos que o CEP foi validado com sucesso, tu poderá customizar de acordo com suas necessidades!

Validando Data

O código abaixo valida a Data informada através do método POST (conforme script abaixo).

<?php

Onde informamos que validação da Data foi efetuada com sucesso, tu poderá customizar de acordo com suas necessidades!

Validando Endereço de EMail

O código abaixo deverá validar o Endereço de Email informado através do método POST (conforme script abaixo).

Onde informamos que validação do EMail foi efetuado com sucesso, tu poderá customizar de acordo com suas necessidades!

Validando Telefones

Abaixo temos 2 exemplos de validação de telefone.

Exemplo 01:

Exemplo 02:

Onde informamos que a validação do Telefone foi efetuada com sucesso, tu poderá customizar de acordo com suas necessidades!

Validando Página

Esse script é especial e necessário para quem é desenvolvedor web!

Imagine aquele sistema enorme que você produziu e deixou no Servidor de seu cliente?

Após receber o conteúdo ele vende ou fornece cópia para um “amigo” que quer uma solução similar!

Criptografando o código e colocando este conteúdo, você garantirá a segurança de suas informações!

Vamos dar uma olhada no código?

<?

Pac-Man no terminal Ubuntu

Mais uma dica rápida sobre o jogo Pac-Man para o Ubuntu.

Instalação:

$ sudo apt-get install pacman4console

E depois, com o terminal aberto, digite:

$ pacman4console

Aparecerá esta mensagem:

Sorry.
To play Pacman for Console, your console window must be at least 32×29
Please resize your window/resolution and re-run the game.

Resumindo, o terminal tem que estar maximizado.

E pronto. Já poderá jogar:

Na dúvida, verifique a man page:

$ man pacman4console

Verificar máquinas ligadas com shell script

Estava interessado em criar uma forma de scannear a rede para saber quantos micros estavam conectados a ela, saber nome, grupo, MAC ADDRESS.

Para que o script funcione será preciso instalar alguns softwares:

dialog:

# apt-get install dialog

nmap:

# apt-get install nmap

Copie o código e cole em um arquivo texto e salve com um nome de sua preferência, de permissão para executar (chmod +x nome_do_arquivo.sh) e em seguida execute-o (./nome_do_arquivo.sh):

## FIM ##

Fonte: http://www.vivaolinux.com.br/dica/Ipscan-com-shell-script+dialog+nmap

VirtualBox: Reduzindo imagens VDI

As imagens VDI são dinamicamente expansíveis. Isto é legal, porque é possível criar um arquivo pequeno que vai crescendo a medida que o disco da máquina virtual precisa armazenar mais arquivos. Mas se depois de um tempo você liberar espaço no “disco virtual”, o arquivo VDI não é reduzido.

Para resolver isto, é preciso seguir as seguintes etapas:

1) Zerar os setores não utilizados no sistema de arquivos virtual do arquivo VDI. Se o sistema convidado for Linux, você provavelmente vai encontrar uma solução com o dd. No meu caso, o sistema virtual era o Windows XP, então utilizei o aplicativo ccleaner que, além de remover arquivos desnecessários, possui a opção (em avançado) de preencher com zero o espaço livre.

2) Rode o seguinte programa (na máquina hospedeira):

Aqui consegui reduzir de 5 para 3,8GB o meu arquivo.

Fonte: http://www.vivaolinux.com.br/dica/VirtualBox-Reduzindo-imagens-VDI

Atualizar Openfire

Uma dúvida muito constante dos usuários Openfire é como fazer para atualizarem seu servidor para uma versão mais recente.

Segue então um pequeno howto (adaptado do orginal da Ignite Realtime):

* Pare o Openfire
* Faça um backup do diretório de instalação do Openfire (isso é preciso porque ao abrir o novo .tar.gz ou .zip os dados serão sobreescritos). No meu caso, que mantenho o openfire no /opt, um simples mv /opt/openfire /opt/openfire.old já resolve.
* Backupeie o banco de dados (se você usar o DB interno, isso já foi feito no passo anterior). Se você usa MySQL, por exemplo, um simples mysqldump da base já resolve.
* Abra o .tar.gz ou .zip (isso irá criar um novo diretório openfire, se você moveu o anterior, como eu costumo fazer)
* Copie o diretório conf do backup para a nova instalação.
* Se você usar o DB interno, copie o diretório embedded-db do backup para a nova instalação.
* Copie o diretório enterprise do backup para a nova instalação (se ele existir)
* Copie o diretório plugins do backup para a nova instalação, exceto por _plugins/admin_ (esse passo eu dispenso, e sempre instalo os plugins novamente, já que as configurações e dados dos mesmos estão no DB)
* Copie os arquivos modificados localizados em resources/security do backup para a nova instalação.
* Inicie o Openfire.
*

Voilà. Seu servidor está atualizado e no ar novamente.

FONTE: http://mundoopensource.blogspot.com/2008/08/openfire-como-atualizar-o-servidor-para.html

Esconder versão dos serviços de rede

Escondendo a versão dos serviços que estão rodando em seu servidor para aumentar a segurança Pessoal.

Importante para a segurança de um servidor é esconder a versão de seus serviços para que o invasor não fique procurando uma falha de segurança para aquela versão específica do daemon.

Então vamos ocultar alguns serviços mais utilizados:

Proftpd
=======
Basta adicionar a seguinte linha no proftpd.conf:

ServerIdent on “”

A linha acima informa a versão do serviço como sendo “”, isso quer dizer que será em branco.

Para validar é necessário reiniciar o Proftpd.

SSH
===
Já esse é necessário baixar o fonte do site oficial www.openssh.com/ e compilar : D

Após descompactar, terá um arquivo chamado version.h. Altere o conteúdo da seguinte linha:

#define SSH_VERSION “”

Depois é só compilar normalmente com ./configure, make e make install.

Obs.: O ssh escuta por padrão na porta 22. É altamente recomendável alterar essa porta para qualquer outra porta.

Apache
======
O Apache, assim como o Proftpd, basta apenas acrescentar uma opção em seu conf conforme a linha baixo:

ServerTokens Prod
=================

Necessário reiniciar o serviço também.

Para testar se as versões dos daemons estão ocultadas, use o nmap para verificar conforme o exemplo:

# nmap localhost -sV

Starting nmap 3.75 ( http://www.insecure.org/nmap/ ) at 2008-03-05 09:46 BRT
Interesting ports on localhost (127.0.0.1):
(The 1658 ports scanned but not shown below are in state: closed)
PORT STATE SERVICE VERSION
21/tcp open ftp?
8080/tcp open http Apache httpd
Nmap run completed — 1 IP address (1 host up) scanned in 100.332 seconds

Porque o ssh não apareceu quando utilizados o nmap para varrer as portas da máquina?

Porque foi alterada para uma porta que não está na lista que o nmap utiliza que está em /usr/share/nmap/nmap-services.

Alguns outros programas identificam o tipo de serviço em qualquer porta que seja, mas não saberá a versão do serviço. Um outro programa que pode ser usado é o Nessus para esse tipo de verificação.