Segurança em servidores

É comum os usuários que implementam servidores diversos, preocuparem-se com a segurança do seu equipamento.

Uma coisa comum na Internet afora, são as tentativas de acesso externo de forma indevida, principalmente daqueles servidores com IP fixo, ou que utilizam No-IP, etc… Isto é necessário quando se tem algum servidor Web ou FTP, por exemplo.

Montando um script robot

Eu montei um servidor básico para um cliente, com firewall simples e compartilhamento de arquivos Samba, porém, em poucos meses tivemos problemas de ataques brute force via SSH, e mesmo com as portas do SSH alteradas e limitação de root por lá, aconteceu uma invasão.

Então, resolvi mexer da cadeira… (rs)

E como tudo na vida passa pela adaptação, resolvi criar um Script Shell para manter a segurança, então criei o script que passo a compartilhar com a comunidade, logo abaixo.

As primeiras coisas importantes são criar dois arquivos que servirão de auxílio para o script. O local onde eles se encontrem não faz diferença, faça em locais com os quais seja fácil a sua consulta, se necessário.

Eu criei na pasta de log mesmo, mas você pode alterar para o local que desejar. Aqui estão em /var/log/.

Os arquivos são o /var/log/negados e /var/log/robot.

Vamos ao script:

#!/bin/bash
verif=`tail -100 /var/log/auth.log  |grep  Failed |grep password |grep invalid`
if "$verif" "" ] ; then
exit 1 ;
fi
tail -100 /var/log/auth.log  |grep  Failed |grep password |grep invalid    > /var/log/robot
ip=`tail -1 /var/log/robot |sed -e  '/^$/D' cut -d " " -f 13  | tr -d "'"`
if cat /var/log/negados   grep "$ip"
then
exit 1;
fi
echo $ip >> /var/log/negados
echo iptables -A INPUT -s $ip -j DROP >> /etc/init.d/iptables.conf
/etc/init.d/iptables.conf

Caso utilizem alguma outra distribuição diferente de derivados Debian, verifiquem os caminhos do arquivo do “auth.log” e também do IPtables, basta adaptar.

É um script simples, mas que resolve. Nega acesso a qualquer IP que errar a senha de usuário.

Se na sua empresa existirem usuários que acessam, e que possam cometer erro de login, basta colocar os IPs dentro do arquivo negados que ele passa direto sem adicionar ao IPtables, assim como aquele IP que já estiver por lá.

* Uma outra coisa muito importante, é colocar este script para que rode num curto período de tempo, evitando estragos por parte do invasor, por isso, recomendo que seja adicionado ao Cron. Aqui coloquei num Cron por minuto.

Fonte: http://www.vivaolinux.com.br/dica/Seguranca-em-servidores

Deixe um comentário