O rotina.zsh é um script avançado de automação para manutenção, auditoria e segurança de sistemas Linux (especialmente Arch Linux e derivados).
Ele organiza tarefas em diferentes níveis de periodicidade, permitindo executar rotinas de forma segura, rastreável e padronizada.
Instalação: curl -fsSL https://raw.githubusercontent.com/HGBits/Security-Chain/main/install.sh | bash
- ✔ Atualização automática do sistema
- ✔ Verificação de integridade do próprio script (SHA-256)
- ✔ Auditoria de segurança (logs, autenticação, AppArmor, auditd)
- ✔ Limpeza de pacotes e cache
- ✔ Monitoramento de serviços e portas
- ✔ Gestão de snapshots (Btrfs + Snapper)
- ✔ Verificação de integridade com AIDE
- ✔ Auditoria de permissões e arquivos críticos
- ✔ Suporte a LUKS, TPM2 e Secure Boot
- ✔ Modo dry-run (simulação segura)
sudo rotina.zsh [modo] [opções]| Modo | Descrição |
|---|---|
diaria |
Atualizações + verificações rápidas |
semanal |
Inclui diária + limpeza + auditorias |
mensal |
Inclui semanal + verificações profundas |
demanda |
Ferramentas de investigação manual |
| Opção | Descrição |
|---|---|
--dry-run |
Simula ações destrutivas sem executar |
--update-hash |
Atualiza hash de integridade do script |
O script utiliza SHA-256 para detectar alterações:
-
Hash armazenado em:
/etc/rotina.sha256 -
Se o script for modificado:
-
Execução é interrompida
-
Exige confirmação manual via:
sudo rotina.zsh --update-hash
-
Interpreta:
- Modo de execução
- Flags (
--dry-run,--update-hash)
-
Logs salvos em:
/var/log/rotina/YYYY-MM-DD-modo.log -
Remove cores ANSI para facilitar leitura posterior
Funções utilitárias:
header()→ título da rotinasection()→ separação por blocosok(),warn(),err()→ status visualdestrut()→ executa comandos destrutivos com suporte a dry-runcheck()→ comandos somente leitura
Cada modo possui comandos obrigatórios:
Exemplo:
DEPS_MAP[diaria]="paru systemctl snapper ..."Se faltar algo → execução é abortada.
Objetivo: manutenção leve + monitoramento rápido
- Atualização (
paru -Syu) - Serviços com falha (
systemctl) - Snapshots recentes
- Status do ZRAM
- Falhas de login (
ausearch) - Logs AppArmor (DENIED)
- Histórico de logins (
last) - Portas abertas (
ss) - Eventos USB (
usbguard)
Objetivo: limpeza + auditoria intermediária
- Snapshot pré-manutenção
- Limpeza de cache (
paru,paccache) - Remoção de pacotes órfãos
- Limpeza de Flatpak
- Verificação AIDE
- Perfis AppArmor em modo
complain - Integridade de pacotes (
pacman -Qk) - Logs auditd
- Permissões de arquivos críticos
- Verificação de usuários suspeitos (UID 0)
- Cron jobs e timers systemd
Objetivo: auditoria profunda + integridade estrutural
- Uso do Btrfs
- Balanceamento de disco
- Verificação Secure Boot
- Dump e backup do LUKS
- Checagem TPM2
- Regras auditd
- Capabilities do sistema
- Monitoramento de arquivos SUID/SGID
- Atualização da base AIDE
Objetivo: investigação manual
Inclui:
- Conexões ativas
- Módulos do kernel
- Logs de serviços específicos (ex: Forgejo)
- Status AppArmor
- Regras Polkit inseguras
- Estado do Secure Boot
Executa o script sem alterar o sistema:
sudo rotina.zsh semanal --dry-run- Comandos destrutivos são exibidos mas não executados
- Contador de ações puladas (
SKIP) é incrementado
Ao final de cada execução:
✔ Passou: X
✖ Falhou: Y
⚠ Avisos: Z
⊘ Pulados: N (se dry-run)
| Caminho | Descrição |
|---|---|
/var/log/rotina/ |
Logs das execuções |
/etc/rotina.sha256 |
Hash de integridade |
/var/lib/aide/ |
Base do AIDE |
/tmp/suid-*.txt |
Snapshot atual de SUID |
- Sempre rodar como
root - Testar com
--dry-runantes de usar em produção - Revisar logs regularmente
- Manter dependências atualizadas
- Fazer backup antes da rotina mensal
-
Projetado para sistemas com:
- Btrfs
- Snapper
- AppArmor
- auditd
-
Pode exigir ajustes em outras distribuições
O rotina.zsh é uma solução robusta para:
- Automatizar manutenção
- Melhorar segurança
- Detectar anomalias
- Padronizar auditorias
Ideal para usuários avançados e administradores que desejam controle total e visibilidade do sistema.