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.740 ]
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
Enviando e-mail pelo shell com smtp remoto
L7-filter (funcionando) no Slackware 10.2
Balanceamento de carga e alta disponibilidade com Bonding Driver e Iproute2
Criando VPNs entre servidores Linux sem mistérios (parte I)
Personalizando o HLBR - IPS invisível
Integração de servidores Linux com Active Directory
Enviar mensagem ao usuário trabalhando com as opções do php.ini
Meu Fork do Plugin de Integração do CVS para o KDevelop
Compartilhando a tela do Computador no Celular via Deskreen
Como Configurar um Túnel SSH Reverso para Acessar Sua Máquina Local a Partir de uma Máquina Remota
Configuração para desligamento automatizado de Computadores em um Ambiente Comercial
Compartilhamento de Rede com samba em modo Público/Anônimo de forma simples, rápido e fácil
Cups: Mapear/listar todas as impressoras de outro Servidor CUPS de forma rápida e fácil
Criando uma VPC na AWS via CLI
Falta pacotes de suporte ao sistema de arquivos (Gerenciador de discos... (2)
Enzo quer programar mas não faz código pra não bugar (12)
Erro de Montagem SSD Nvme (12)
WebScrapping através de screenshot devido a bloqueios de Shadow DOM (1)