| Bellacosa Mainframe em uma conversa sobre segurança mainframe |
🔥 SEU RACF ESTÁ TE PROTEGENDO… OU TE TRAINDO?
🧪 LAB PRÁTICO — Do Acesso Liberado ao Controle Total no z/OS
☕ Introdução — Bem-vindo ao caos controlado
Hoje você não vai só aprender…
👉 Você vai quebrar a segurança do sistema
👉 E depois consertar como um verdadeiro admin raiz
💡 Estilo Bellacosa:
“Se você nunca viu um sistema inseguro… você ainda não entendeu segurança.”
🎯 Objetivo do LAB
Você vai:
- ❌ Criar um cenário inseguro (sem proteção)
- 🔍 Explorar a falha
- 🛡️ Corrigir com RACF
- 🔐 Validar segurança
⚠️ Cenário
Você é admin e recebe:
“Precisamos liberar rápido o dataset PROD.FINANCEIRO.*”
😈 Spoiler: isso vai dar ruim.
🧪 FASE 1 — Criando o problema (sim, de propósito)
1️⃣ Criar dataset “sensível”
//STEP1 EXEC PGM=IEFBR14
//DD1 DD DSN=PROD.FINANCEIRO.DADOS,
// DISP=(NEW,CATLG),
// SPACE=(TRK,(1,1)),
// DCB=(RECFM=FB,LRECL=80,BLKSIZE=800)2️⃣ NÃO criar perfil RACF
👉 Sim… você vai deixar sem proteção
💡 Easter egg:
Isso acontece mais em produção do que você imagina 😅
3️⃣ Testar acesso com outro usuário
TSO LISTDS 'PROD.FINANCEIRO.DADOS'👉 Se PROTECTALL estiver OFF:
💥 Acesso permitido
💣 Resultado
Dataset crítico → sem perfil → acesso liberado 😱🧠 REFLEXÃO
Você acabou de:
- Criar uma falha real
- Simular um incidente comum
👉 E ninguém hackeou nada
🛡️ FASE 2 — Corrigindo como profissional
1️⃣ Criar perfil de dataset
RDEFINE DATASET PROD.FINANCEIRO.* UACC(NONE)2️⃣ Permitir acesso controlado
PERMIT PROD.FINANCEIRO.* CLASS(DATASET) ID(FINUSR) ACCESS(READ)3️⃣ Ativar proteção
SETROPTS RACLIST(DATASET) REFRESH4️⃣ (CRÍTICO) Ativar PROTECTALL
SETROPTS PROTECTALL💥 Agora sim:
👉 Dataset sem perfil = acesso negado
🔍 FASE 3 — Validando segurança
Teste novamente:
TSO LISTDS 'PROD.FINANCEIRO.DADOS'👉 Resultado esperado:
ICH408I USER NOT AUTHORIZED🔥 Agora você está protegido
⚙️ FASE 4 — Explorando comando “ALL”
LD DA('PROD.FINANCEIRO.*') ALL👉 Vai mostrar:
- Dono
- Permissões
- UACC
- Detalhes completos
💡 Frase pra vida:
“ALL = mostra tudo. Sem ALL = você está voando no escuro.”
🔐 FASE 5 — Elevando nível com SPECIAL
Criar usuário admin
ADDUSER ADMIN1 SPECIAL👉 Esse usuário pode:
- Alterar tudo
- Criar perfis
- Controlar segurança
⚠️ Cuidado:
SPECIAL = poder total
⚙️ FASE 6 — Simulando programa privilegiado (APF)
👉 Imagine:
Um programa precisa acessar memória sensível
Sem APF:
❌ Falha
Com APF:
✅ Executa com privilégio
💡 Curiosidade:
Muitos ataques internos exploram programas mal autorizados no APF
🔐 FASE 7 — Criptografia (visão prática)
👉 Fluxo real:
App → ICSF → Crypto Express → dado protegidoVocê não vê… mas está acontecendo.
📊 FASE 8 — Auditoria com SMF
👉 Tudo que você fez pode ser registrado:
- Acesso ao dataset
- Tentativas negadas
- Alterações
💡 Mas só se estiver configurado 😉
🧠 Easter Eggs do LAB
- PROTECTALL OFF = caos silencioso
- UACC(READ) mal usado = vazamento
- SPECIAL demais = bomba relógio
- Sem log = sem prova
🏁 Checklist final
Você aprendeu:
- ✔ Criar falha real
- ✔ Corrigir com RACF
- ✔ Controlar acesso
- ✔ Validar segurança
- ✔ Entender impacto
☕ Conclusão estilo Bellacosa
Segurança no mainframe não é:
- ferramenta
- comando
- checklist
É:
Mentalidade.
Porque no final…
👉 O sistema nunca erra
👉 Quem erra é quem configura
🔥 Desafio final
Responda:
Seu ambiente hoje está protegido…
ou só parece?