Segurança do Sistema
Hardening Básico
🔒 Configuração Inicial
# Atualizar sistema
apt update && apt upgrade -y
# Configurar firewall básico
ufw default deny incoming
ufw default allow outgoing
ufw allow ssh
ufw enable
# Configurar SSH seguro
sed -i 's/#PermitRootLogin yes/PermitRootLogin no/' /etc/ssh/sshd_config
sed -i 's/#PasswordAuthentication yes/PasswordAuthentication no/' /etc/ssh/sshd_config
systemctl restart sshd
🛡️ Políticas de Senha
# Configurar políticas de senha
cat > /etc/security/pwquality.conf << EOF
minlen = 12
minclass = 4
maxrepeat = 3
gecoscheck = 1
EOF
# Configurar expiração de senha
chage -M 90 -m 7 -W 14 usuario
Monitoramento de Segurança
👁️ Detecção de Intrusão
# Instalar e configurar AIDE
apt install aide
aide --init
mv /var/lib/aide/aide.db.new /var/lib/aide/aide.db
# Script de verificação
#!/bin/bash
check_system_integrity() {
aide --check | grep -v 'found valid'
}
🔍 Análise de Logs
# Monitor de autenticação
#!/bin/bash
watch_auth() {
tail -f /var/log/auth.log | while read line; do
case "$line" in
*"Failed password"*)
handle_failed_login "$line"
;;
*"Invalid user"*)
handle_invalid_user "$line"
;;
esac
done
}
Controle de Acesso
👥 Gestão de Usuários
# Script de auditoria de usuários
#!/bin/bash
audit_users() {
# Listar usuários com UID 0
awk -F: '$3 == 0 {print $1}' /etc/passwd
# Contas sem senha
awk -F: '($2 == "" || $2 == " ") {print $1}' /etc/shadow
# Usuários com shell de login
grep -v '/nologin\|/false' /etc/passwd
}
🔐 Controle de Sudo
# Configuração segura do sudo
visudo -f /etc/sudoers.d/secure_config
# Defaults secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
# Defaults logfile="/var/log/sudo.log"
# Defaults requiretty
# Defaults !visiblepw
Proteção de Rede
🌐 Firewall Avançado
#!/bin/bash
# setup_firewall.sh
# Limpar regras existentes
iptables -F
iptables -X
# Políticas padrão
iptables -P INPUT DROP
iptables -P FORWARD DROP
iptables -P OUTPUT ACCEPT
# Regras básicas
iptables -A INPUT -i lo -j ACCEPT
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A INPUT -p tcp --dport 22 -j ACCEPT
iptables -A INPUT -p tcp --dport 80 -j ACCEPT
iptables -A INPUT -p tcp --dport 443 -j ACCEPT
📡 Monitoramento de Rede
#!/bin/bash
# network_monitor.sh
monitor_connections() {
# Conexões ativas
netstat -tuln
# Conexões por IP
netstat -ntu | awk '{print $5}' | cut -d: -f1 | sort | uniq -c | sort -n
# Portas abertas
lsof -i -P -n
}
Criptografia
🔑 Gestão de Chaves
# Gerar par de chaves
ssh-keygen -t ed25519 -a 100
# Rotacionar chaves
#!/bin/bash
rotate_keys() {
local key_file="$1"
local backup_dir="/etc/ssh/keys_backup"
mkdir -p "$backup_dir"
cp "$key_file" "$backup_dir/$(date +%Y%m%d)_$(basename "$key_file")"
ssh-keygen -t ed25519 -f "$key_file" -N ""
}
🔐 Criptografia de Dados
# Criptografar arquivo
openssl enc -aes-256-cbc -salt -in arquivo.txt -out arquivo.enc
# Criptografar diretório
tar cz diretorio | openssl enc -aes-256-cbc -out diretorio.tar.gz.enc
Auditoria de Segurança
📋 Verificações Regulares
#!/bin/bash
# security_audit.sh
perform_audit() {
# Verificar permissões
find / -type f -perm /4000 -ls
# Verificar portas abertas
ss -tuln
# Verificar processos suspeitos
ps aux --sort=-%cpu | head -n 20
# Verificar últimos logins
last | head -n 20
}
📊 Relatórios de Segurança
#!/bin/bash
# security_report.sh
generate_report() {
{
echo "=== Relatório de Segurança ==="
date
echo -e "\n=== Usuários Ativos ==="
who
echo -e "\n=== Tentativas de Login Falhas ==="
grep "Failed password" /var/log/auth.log | tail -n 10
echo -e "\n=== Portas Abertas ==="
netstat -tuln
echo -e "\n=== Processos Suspeitos ==="
ps aux --sort=-%cpu | head -n 10
} > "security_report_$(date +%Y%m%d).txt"
}
Exercícios Práticos
🎯 Missão 1: Hardening
# Implemente:
# 1. Configuração segura de SSH
# 2. Firewall robusto
# 3. Políticas de senha
# 4. Monitoramento de logs
🎯 Missão 2: Auditoria
# Desenvolva:
# 1. Sistema de auditoria
# 2. Relatórios automáticos
# 3. Alertas de segurança
# 4. Respostas automáticas
SECURITY STATUS
[🔒🔒🔒🔒🔒] 100%
SISTEMA: PROTEGIDO
MONITORAMENTO: ATIVO
ALERTAS: CONFIGURADOS
14 abril 2025