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: 2.865 ]
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
Balanceamento de carga e alta disponibilidade com Bonding Driver e Iproute2
SSHFS no CentOS, Slackware e Windows - Simples e rápido
Filtro de conteúdo autenticado com níveis de privilégio
Rodando contêineres e aplicações Linux x86 no Raspberry Pi
Snort avançado: Projetando um perímetro seguro
Autenticação via hardware: o módulo pam_usb
Entrevista com um hacker, via Internet
Instalando um firewall em ambientes gráficos leves
Configurando logout automático para conta root
Resolver problemas de Internet
Como compartilhar a tela do Ubuntu com uma Smart TV (LG, Samsung, etc.)
Descritores de Arquivos e Swappiness
Solução rápida para o problema do Network Manager conectar mas não navegar
Como instalar no Linux Jogos da Steam só para Windows
Instalando o Team Viewer no Debian Trixie - problema no Policykit
Microfone com ruído [RESOLVIDO] (5)
Interface Gráfica no Linux Mint 22.1. (4)
Ubuntu 25.04 não instala. (11)