Oficina
Quebra-fogo versão 1.1
Qua 18 Mar 2009 21:08 |
- Detalhes
- Categoria: Oficina Firewall
- Atualização: Quinta, 18 Junho 2009 12:10
- Autor: vovó Vicki
- Acessos: 5840
A versão 1.0 do nosso quebra-fogo serviu como aperitivo. Quando você fez o teste, se tudo funcionou como devia, você caiu no limbo só que... qual é a graça de tudo isto se não tem como saber quem mais foi apanhado? Taí a versão 1.1 para matar esta curiosidade, além de dar mais uma incrementada no script.
As informações e explicações dadas no tutorial anterior (Quebra-fogo versão 1.0) não serão repetidas neste tutorial. Caso tenha dúvidas, leia novamente o texto da versão 1.0.
Monitorando os flagrados
Arquivos de log são excelentes para monitorar o que anda acontecendo, só que tem um detalhe: é preciso fazer a manutenção destes arquivos por que crescem indefinidamente. Mensagens de email também são excelentes para monitorar o que anda acontecendo... e você só precisa limpar sua caixa de mensagens. Qual dos dois métodos é o melhor? Na minha opinião, os dois!
Um arquivo de log
Para criar um arquivo de log basta adicionar algumas linhas ao script:
Observe que foram adicionadas as linhas 44/45 e 59/63 no script original. As primeiras duas servem para indicar a página que foi acessada, de onde pode partir um possivel ataque.
As linhas 59 a 63 servem para abrir um arquivo chamado quebrafogo.log no mesmo diretório onde se encontram os scripts. A função fopen devolve um manipulador para o arquivo de log abrindo-o para escrita; caso não exista, cria um. Para que o arquivo possa ser criado é preciso alterar as permissões do diretório quebrafogo para chmod 777, ou seja, habilitá-lo para leitura, execução e escrita.
Se tudo estiver preparado, faça um teste chamando qualquer página protegida do site com uma tentativa de injeção, por exemplo, pagina_do_site.php/?cmd=. Depois de ter sido redirecionado para o limbo, verifique o diretório quebrafogo. Lá você deve encontrar o arquivo quebrafogo.log. Dê uma olhada no conteúdo deste arquivo, que deve mostrar o log do seu ataque de teste.
200.59.128.46 | http://www.seusite.com.br/ | cmd= | 19-03-2009 12:10:07
Lembre-se: se você receber apenas uma página em branco, isto significa que seu script tem algum erro.
Recebendo avisos por email
Enviar emails via PHP não é nenhum bicho de sete cabeças. Podemos incluir o código necessário no script filtro.php ou, para não deixar o código atravancado demais, podemos criar um novo script que será incorporado ao script principal se necessário. Prefiro a segunda opção, mesmo porque a manutenção do sistema quebra-fogo fica mais fácil de ser feita.
Em primeiro lugar vamos adicionar mais uma variável ao script principal que conterá o endereço de email para o qual as mensagens devem ser enviadas. Por exemplo:
O script acessório para enviar emails é o seguinte:
Crie este novo script e o coloque no diretório quebrafogo. Depois disto, é só dar um trato no script principal para que o arquivo enviar_email.php seja acionado:
Faça um novo teste para ser notificado por email. Taí a versão 1.1 do quebra-fogo que, com duas pequenas alterações, nos oferece muito mais. Além de bloquearmos uma porção de porcaria, agora conseguimos coletar informações do modo como os hackers, crackers e spammers costumam agir. É um grande passo, mas ainda não é tudo. Me aguardem, tem muita coisa que ainda pode ser feita e a versão 1.2 não deve demorar para sair.
Abraço a todos da vó Vicki