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.289 ]
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
Rodando contêineres e aplicações Linux x86 no Raspberry Pi
Gateway autenticado com Apache, Iptables e CGI em shell
Docker - Combatento o COVID-19
Enviando e-mail pelo shell com smtp remoto
Administrando usuários no GNU/Linux e Samba via web com PHP
Elastic SIEM - Instalação e Configuração do LAB (Parte I)
Configurando logout automático para conta root
Jogando pesado na segurança de seu SSH
Fscrypt: protegendo arquivos do seu usuário sem a lentidão padrão de criptograr o disco
Faça suas próprias atualizações de pacotes/programas no Void Linux e torne-se um Contribuidor
Como rodar o Folding@home no Linux
Criando um painel de controle (Dashboard) para seu servidor com o Homepage
O Abismo entre o Código e o Chão: Saltos Tecnológicos e a Exclusão Estrutural no Brasil
Pisando no acelerador do Linux Mint: Kernel XanMod, zRAM e Ajustes de Swap
Como compilar kernel no Linux Mint
Lançamento do Brutal DOOM test 6
Consertando o erro no Brave de webgl
Solução para ter de volta as bordas e barra de títulos das janelas em zenity no Debian 13.x
Abrir um arquivo URL pelo Clipper (8)
Seno, Coseno, Tangente em CLIPPER (1)
Inserir uma URL num arquvo pelo Ubuntu (CLIPPER) (0)
VMWare Player não conecta na rede nem consigo intercambiar arquivos (1)









