Quando próximo, finja estar longe; quando longe, finja estar próximo
Imagine que você tem um serviço que fica escutando diretamente para a Internet. Pode ser um micro-serviço rodando em um Container, um Apache, Nginx ou um SSH, não importa, fiz com SSH por que já estava à mão. Logicamente, seu serviço por estar tão exposto, está sujeito a ataques. O que você faz em um caso desses?
[ Hits: 3.065 ]
Por: Carlos Affonso Henriques. em 13/04/2020
#!/bin/bash
listenudp()
{
while true
do
systemctl -q status sshd.service >/dev/null
# Testa se o serviço sshd está rodando se não estiver levanta o netcat escutando na porta 1500 UDP
if [ ${?} != 0 ]; then
# o Netcat escuta durante 6 segundos e depois cessa isso é usado por duas razões a saber:
# 1ª Por que a opção -k, --keep-open que mantém o Netcat ouvindo uma porta não funciona com o protocolo UDP
# 2ª Por que o serviço rodando de forma intermitente é indetectável por port-scanners como o Nmap por exemplo.
timeout 6 nc -ul 1500 | while read line; do echo -e "$line" > keeper.log; done
greplog
else
# Pára (Tá errado pelo novo acordo gramatical eu sei! Mas sou coroa!) o serviço sshd se ele estiver rodando
systemctl -q stop sshd.service >/dev/null
fi
done
}
# Chamei de greplog por que estava com preguiça de escolher outro nome para a função!
greplog()
{
# Verifica se a "senha" que defini como "1234" foi inserida no arquivo keeper.log Só pelo amor de Deus não me vão colocar "1234" em um ambiente de produção.
grep -oq "1234" keeper.log
if [ ${?} = 0 ]; then
#echo
systemctl -q start sshd.service >/dev/null
cat /dev/null > keeper.log
# Aguarda uma conexão ssh durante 20 segundos, se não ocorrer o script pára o serviço sshd e recomeça.
sleep 20
else
:
fi
}
listenudp
Customizando e atualizando o Slax
Docker: Uma abordagem didática para tempos obscuros
Impedindo o compartilhamento de conexão
SSH Connection With non-NIST Russian Cipher and Distro for Military Use
ttyrec - Ferramenta para auditoria de sistemas Linux
Backup de sua instalação em .iso bootável
As melhores ferramentas de segurança pra Linux
Syslog-NG - Configurando um servidor de logs
Monitorando o Preço do Bitcoin ou sua Cripto Favorita em Tempo Real com um Widget Flutuante
IA Turbina o Desktop Linux enquanto distros renovam forças
Como extrair chaves TOTP 2FA a partir de QRCODE (Google Authenticator)
Como realizar um ataque de força bruta para desobrir senhas?
Como usar Gpaste no ambiente Cinnamon
Atualizando o Fedora 42 para 43
Pergunta: Meu teclado não está respondendo direito como e consertar? (0)
SQLITE não quer funcionar no LINUX LMDE6 64 com Lazaruz 4.2 64bit (n... (0)
Secure boot, artigo interessante, nada técnico. (5)









