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.514 ]
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
Enviando e-mail pelo shell com smtp remoto
Sistema de arquivos criptografado
Filtro de conteúdo autenticado com níveis de privilégio
Administrando usuários no GNU/Linux e Samba via web com PHP
Navegador Blindado FeniX Linux
Logwatch - Enviando relatórios via e-mail
Servidor SSH (Secure Shell Hosting)
Lynis: Sistema de auditoria e segurança para Linux
Atenção a quem posta conteúdo de dicas, scripts e tal (1)
Manutenção de sistemas Linux Debian e derivados com apt-get, apt, aptitude e dpkg
Melhorando o tempo de boot do Fedora e outras distribuições
Como instalar as extensões Dash To Dock e Hide Top Bar no Gnome 45/46
Como Atualizar Fedora 39 para 40
Instalar Google Chrome no Debian e derivados
Consertando o erro do Sushi e Wayland no Opensuse Leap 15
Instalar a última versão do PostgreSQL no Lunix mantendo atualizado
Flathub na sua distribuição Linux e comandos básicos de gerenciamento
erro ao clonar repo github (2)
Quais Shell Scripts vocês usam? (15)
Como adicionar módulo de saúde da bateria dos notebooks Acer ao kernel... (22)
[Shell Script] Script para desinstalar pacotes desnecessários no OpenSuse
[Shell Script] Script para criar certificados de forma automatizada no OpenVpn
[Shell Script] Conversor de vídeo com opção de legenda
[C/C++] BRT - Bulk Renaming Tool
[Shell Script] Criação de Usuarios , Grupo e instalação do servidor de arquivos samba