Ensinando seu servidor a ler emails e liberar acesso SSH
Esta solução baseia-se em um programa que recebe emails via console e os armazena em forma de arquivos de texto, um programa que envia emails via console e um script shell que trata os emails com base em algumas instruções pré-estabelecidas, sendo executado a cada 5 minutos.
Apresentação
O dilema
É comum para um firewall Linux ter todas as portas fechadas exceto a porta do serviço SSH, normalmente a porta 22. Existem muitas medidas que tornam esta única porta de acesso externo ao seu servidor um acesso mais seguro contra possíveis ataques, como por exemplo não permitir login do usuário root, configurar o serviço em uma porta diferente da 22, restringir números IPs, entre outras.Entretanto sempre mostra no log algum tipo de tentativa de acesso, é claro que existem outras formas de tratar este tipo de tentativa de acesso, como Snort, Guardian, etc., mas mesmo repelindo esse tipo de tentativa a porta 22 continua lá, aberta e aguardando uma conexão.
Pensei como seria interessante se a porta SSH também ficasse fechada e se abrisse somente quando eu precisasse acessar externamente o servidor. Então cheguei a duas conclusões:
- Comunicar-se por telepatia com o servidor não daria certo porque não tenho driver do meu cérebro para esta versão kernel que utilizo. XD
- Um meio confiável de entrar em contato com o servidor firewall sem prejudicar a segurança do ambiente seria se ele aprendesse a ler e-mails.
Uma solução possível
"Existem sempre três formas de se resolver um problema. A forma correta, a forma errada e a minha forma de resolver."A forma que eu encontrei de resolver este dilema foi criar uma conta de e-mail que permita acesso "POP3" tradicional, depois configurei uma conta de e-mail para o servidor onde ele pode receber as informações e realizar as tarefas desejadas, no caso liberar acesso SSH sempre que eu quisesse.
Esta solução baseia-se em um programa que recebe e-mails via console e os armazena em forma de arquivos de texto, um programa que envia e-mails via console e um script shell que trata os e-mails com base em algumas instruções pré-estabelecidas, sendo executado a cada 5 minutos.
Só fiquei preocupado em dar os direitos a todos os usuários a rodar o iptables no /etc/sudoers... mas dá-se um jeito ;)
Abraços e parabéns!