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.117 ]
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
Administrando usuários no GNU/Linux e Samba via web com PHP
Balanceamento de carga e alta disponibilidade com Bonding Driver e Iproute2
Impedindo o compartilhamento de conexão
Reconhecimento de placas de veículos com OpenALPR
Iptables protege contra SYN FLOOD?
Análise Forense - Aspectos de perícia criminal
Gerenciar e configurar inetd e serviços relacionados
Cirurgia para acelerar o openSUSE em HD externo via USB
Void Server como Domain Control
Modo Simples de Baixar e Usar o bash-completion
Monitorando o Preço do Bitcoin ou sua Cripto Favorita em Tempo Real com um Widget Flutuante
Como impedir exclusão de arquivos por outros usuários no (Linux)
Cirurgia no Linux Mint em HD Externo via USB
Anúncio do meu script de Pós-Instalação do Ubuntu
Formas seguras de instalar Debian Sid (2)
Duas Pasta Pessoal Aparecendo no Ubuntu 24.04.3 LTS (12)
Alguém pode me indicar um designer freelancer? [RESOLVIDO] (5)
Alguém executou um rm e quase mata a Pixar! (3)
Por que passar nas disciplinas da faculdade é ruim e ser reprovado é b... (6)









