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.047 ]
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
Obtendo TimeStamps da Blockchain com OpenTimestamps
Docker - Combatento o COVID-19
Docker: Uma abordagem didática para tempos obscuros
Sistema de arquivos criptografado
Impedindo o compartilhamento de conexão
Fail2ban no Debian - Instalação e Configuração
Gerenciando certificados A1 fornecidos pelo ICB-Brasil no navegador Chrome sobre Linux
Netcat - O canivete suíco do TCP/IP
Não precisamos de antivírus, eles sim
Como extrair chaves TOTP 2FA a partir de QRCODE (Google Authenticator)
Linux em 2025: Segurança prática para o usuário
Desktop Linux em alta: novos apps, distros e privacidade marcam o sábado
IA chega ao desktop e impulsiona produtividade no mundo Linux
Novos apps de produtividade, avanços em IA e distros em ebulição agitam o universo Linux
Como instalar o repositório do DBeaver no Ubuntu
Como instalar o Plex Media Server no Ubuntu
Digitando underscore com "shift" + "barra de espaços"
Como ativar a lixeira e recuperar aquivos deletados em um servidor Linux
Como mudar o nome de dispositivos Bluetooth via linha de comando
converter algoritmo C++ em C? (1)
Programa fora de escala na tela do pc (22)
Problemas com Driver NVIDIA (1)
Fedora KDE plasma 42 X Módulo de segurança BB (Warsaw-2) (1)









