Script para identificar invasões em sites
O meu site já foi invadido algumas vezes e eu só fiquei sabendo através do google, que notifica os webmasters que estão cadastrados. O problema é que esse processo leva alguns dias e por isso, quando eu ficava sabendo do problema no site, ele já tinha sido bloqueado por várias ferramentas que identificam sites invadidos, e com isso o número de acessos ao site cai muito e para se recuperar leva alguns meses.
Para evitar esse tipo de problema eu criei um script para rodar no crontab do servidor, o trabalho que ele realiza é bem simples. Ele armazena o estado de todos os arquivos index.php e caso eles sofram alguma alteração ele me mostra quais arquivos foram alterados.
Normalmente os invasores fazem alterações nesses arquivos, por isso essa é uma forma fácil e prática de identificar possíveis invasões no site.
Funcionamento do Script
O script pesquisa por todos os arquivos que possuem no nome index.php e na primeira execução salva as informações sobre tamanho de cada arquivo index.php localizado no arquivo www_index.old.txt, nas execuções seguintes o script vai verificar se os arquivos localizados sofreram alterações comparando com o conteúdo que esta salvo no arquivo www_index.old.txt se não sofreram alterações não tem problema, caso tenham sido alterados ele vai exibir os arquivos que foram modificados e vai salvar na pasta alterados o que foi modificado, também tem a opção de enviar por email esse log de alterações.
Download – [download id=”75″]
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 |
#!/bin/bash # # Esse script verifica se os arquivos index.php sofreram alterações no seu conteúdo em comparação a # a versão que esta salva no arquivo www_index.old.txt # # Nome: Adonai Silveira Canez # Data de Criação: 01/07/2012 # Site: http://www.adonai.eti.br # DIR_WWW="/home/adonai/www" ARQ_PHP="index.php" DIR_SCRIPTS="/home/adonai/script_seguranca" DIR_ALTERACOES="${DIR_SCRIPTS}/alterados" EMAIL="XXXX@gmail.com" if [ ! -d ${DIR_WWW} ] then echo "Não existe o diretório ${DIR_WWW}" exit 1 fi if [ ! -d ${DIR_SCRIPTS} ] then echo "Não existe o diretório ${DIR_SCRIPTS}" exit 1 fi if [ ! -d ${DIR_ALTERACOES} ] then echo "Não existe o diretório ${DIR_ALTERACOES}" exit 1 fi find ${DIR_WWW}/ -name ${ARQ_PHP} -printf "%h/%f - %s n" > ${DIR_SCRIPTS}/www_index.txt if [ -f ${DIR_SCRIPTS}/www_index.old.txt ] then diff ${DIR_SCRIPTS}/www_index.txt ${DIR_SCRIPTS}/www_index.old.txt > ${DIR_SCRIPTS}/www_index_diff.txt if [ ${?} != 0 ] then mv ${DIR_SCRIPTS}/www_index.txt ${DIR_ALTERACOES}/www_index_$(date +%d%m%Y-%H:%M:%S).txt echo "Foram alterados arquivos index.php - Verificar com Urgência" >> ${DIR_SCRIPTS}/www_index_diff.txt cat ${DIR_SCRIPTS}/www_index_diff.txt cat ${DIR_SCRIPTS}/www_index_diff.txt | mail -s "Alteração de arquivos index.php" ${EMAIL} fi else mv ${DIR_SCRIPTS}/www_index.txt ${DIR_SCRIPTS}/www_index.old.txt fi rm -f ${DIR_SCRIPTS}/www_index.txt ${DIR_SCRIPTS}/www_index_diff.txt |
Julio, esse script é feito para pessoas que pelo menos entendem Shell Script, se você não entende do assunto recomendo procurar plugins que podem ser habilitados diretamente no WordPress. Pois o Script vai acabar exigindo alguma personalização que você não vai saber fazer.
Bom dia, sou leigo no assunto que ria saber onde instalar este scrpit, no meu caso que sou uma revenda