Páginas

segunda-feira, 14 de junho de 2021

💀🔥 “Seu RACF está auditado… ou você só roda comando manual?”

 

Bellacosa Mainframe comenta sobre auditoria racf e segurança mainframe

💀🔥 “Seu RACF está auditado… ou você só roda comando manual?”

🧠 Checklist automatizado com JCL + REXX (nível banco, zero ilusão)

“Se sua auditoria depende de humano…
ela já falhou.”


🧠 📜 A verdade que ninguém te conta

No mundo real (banco, fintech, governo):

👉 Auditoria manual = teatro
👉 Auditoria automatizada = sobrevivência

E aqui entra a dupla lendária do mainframe:

  • JCL → orquestra
  • REXX → pensa, filtra, decide

💡 Curiosidade Bellacosa:

Antes de SIEM moderno… o mainframe já fazia auditoria automatizada com SMF + REXX.


⚙️ 🧬 Arquitetura do “scanner RACF”

👉 Fluxo real:

  1. JCL executa comandos RACF
  2. Output vai para dataset
  3. REXX lê dataset
  4. Aplica regras de auditoria
  5. Gera relatório (ou alerta)

🧨 1. JCL — o motor da auditoria

🔥 Exemplo prático (coleta de evidências)

//AUDITRAC JOB (ACCT),'RACF SCAN',CLASS=A,MSGCLASS=X
//STEP1 EXEC PGM=IKJEFT01
//SYSTSPRT DD DSN=&&RACFOUT,DISP=(,PASS),
// SPACE=(CYL,(5,5)),UNIT=SYSDA
//SYSTSIN DD *
SETROPTS LIST
SEARCH CLASS(USER) MASK(*) SPECIAL
RLIST DATASET * AUTHUSER(*)
/*

💥 O que isso faz:

  • lista configurações RACF
  • identifica usuários privilegiados
  • expõe acessos indevidos

🧠 2. REXX — o cérebro da auditoria

🔥 Exemplo prático (detecção de risco)

/* REXX */
parse arg dataset
"EXECIO * DISKR" dataset "(STEM LINES. FINIS"

do i = 1 to lines.0
if pos('SPECIAL', lines.i) > 0 then do
say 'ALERTA: usuário com SPECIAL -> ' lines.i
end

if pos('*PUBLIC', lines.i) > 0 then do
say 'RISCO CRÍTICO: acesso público detectado -> ' lines.i
end
end

💀 Resultado:

  • identifica risco automaticamente
  • elimina análise manual

🧬 3. Regras que um banco REAL usa

👉 Não é só listar — é interpretar

✔️ Nenhum *PUBLIC em dataset crítico
✔️ SPECIAL limitado
✔️ APF controlado
✔️ UID 0 auditado
✔️ FACILITY revisada
✔️ STARTED TASK mapeada


⚙️ 4. Evolução hardcore (nível enterprise)

👉 Automatização completa:

  • agendado via JES2 / scheduler
  • output versionado
  • comparação diária (drift detection)
  • envio de alerta (email / SIEM)

💡 Easter egg:

Drift de segurança é mais perigoso que invasão direta.


🧠 5. Comparação inteligente (ontem vs hoje)

🔥 Ideia poderosa

REXX pode comparar execuções:

if linha_hoje \= linha_ontem then
say 'ALTERAÇÃO DETECTADA!'

💥 Isso detecta:

  • privilégio adicionado
  • acesso aberto
  • mudança suspeita

🧾 6. Output estilo auditor (nível banco)

👉 Não basta log — precisa ser auditável

Exemplo:

[CRITICAL] USER HACKER HAS SPECIAL
[HIGH] DATASET PROD.FINANCE WITH *PUBLIC READ
[MEDIUM] NEW APF LIBRARY DETECTED

💣 7. Onde mora o perigo real

👉 Não está no código… está na omissão

🔥 Problemas comuns:

  • script roda mas ninguém lê
  • alertas ignorados
  • baseline inexistente

💡 Insight:

Auditoria sem ação é só documentação bonita.


🧠 8. Easter eggs de quem vive isso

💡 IKJEFT01 é o “shell invisível” do z/OS
💡 REXX consegue parsear RACF melhor que muita ferramenta cara
💡 JES spool é fonte de ouro pra auditor
💡 dataset temporário mal protegido = vazamento


⚔️ 9. Fluxo real de ataque vs auditoria automatizada

👹 Ataque:

  1. ganha acesso
  2. eleva privilégio
  3. altera RACF
  4. mantém persistência

🛡️ Auditoria automatizada:

  1. detecta alteração
  2. gera alerta
  3. compara baseline
  4. bloqueia rapidamente

🏦 Realidade nível banco

👉 Banco não confia em:

  • print de tela
  • comando manual
  • auditor humano

👉 Banco confia em:

  • automação
  • evidência
  • histórico

💀🔥 Frase final Bellacosa

“Se o seu RACF muda e você não percebe…
quem percebe é o atacante.”

Sem comentários:

Enviar um comentário