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.307 ]
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
Sistema de arquivos criptografado
Docker: Uma abordagem didática para tempos obscuros
Autenticando Documento com Blockchain e Ethereum
Balanceamento de carga e alta disponibilidade com Bonding Driver e Iproute2
Principais fontes de vulnerabilidade no Linux
Instalando e configurando o Nagios 3.3.1 com NDOUtils 1.4
Reforçando a segurança das conexões HTTPS no Apache
13 dicas de segurança para o Apache
Maquina modesta - a vez dos navegadores ferrarem o usuario
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
Replicação SYSVOL no Samba 4 com Syncthing
Samba 4 com Replicação e LDAP Seguro (LDAPS/TLS)
Configurando o Cairo Dock individualmente em ambientes diferentes na mesma maquina
Calculadoras online gratuitas para o dia a dia do usuário Linux
Metafísica e espiritualidade funciona de verdade! Comprovação pessoal (5)
Governo da França vai trocar Windows por Linux (6)
Isso acontece quando tento ajudar alguém (2)
Corrijindo o erro em println na linguagem C (4)
(CLIPPER) Rodando o mesmo código tanto no Windows quanto no Linux (4)









