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: 1.474 ]
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
Impedindo o compartilhamento de conexão
Customizando e atualizando o Slax
Docker - Combatento o COVID-19
Rodando contêineres e aplicações Linux x86 no Raspberry Pi
Autenticando Documento com Blockchain e Ethereum
Buffer Overflow: Entendendo e explorando
Rainbow Crack e Rainbow Tables
Instalando o Cisco VPN Client no Linux
Bloqueio de Países com IPTables
Fail2ban no Debian - Instalação e Configuração
Carteira de Bitcoin Electrum no Linux
Joystick não funciona no snes9x [Resolvido]
Instalando K3s no Fedora CoreOS
Configuração de Video no Terminal com Sintaxe GRUB_GFXMODE e GRUB_GFXPAYLOAD_LINUX
virtualbox e navegador web da maquina fisica (0)
Como faço para aumentar a minha memória swap no linux mint xfce? (9)
Programa de abertura de chamado no slackware (0)
Procurando usuários de Lubuntu em Belém do Pará (0)
Mensagem aparecendo na tela (cifs vfs: free previous auth_key.resp... (2)