Mostrar mensagens com a etiqueta racf. Mostrar todas as mensagens
Mostrar mensagens com a etiqueta racf. Mostrar todas as mensagens

sexta-feira, 12 de abril de 2024

Uma visão geral sobre o trabalhador de Mainframe

Equipe de desenvolvimento mainframe


Descubra a Stack MAINFRAME e veja o que necessita para ser um Desenvolvedor COBOL de Sucesso. Aprenda COBOL, há 65 anos revolucionando o mercado de informática.

quinta-feira, 11 de abril de 2024

domingo, 10 de março de 2013

Atraves do espelho: TSO / ISPF Login Process

 


Através do Espelho: TSO / ISPF Login Process

A porta, o cofre e a sala de controle do IBM z/OS

“Antes de rodar um JOB,
antes de editar um COBOL,
antes de caçar MIPS…
todo mainframeiro passa pelo mesmo ritual.”

O login TSO/ISPF não é apenas um passo técnico.
Ele é o controle de acesso ao coração financeiro do planeta.

Vamos destrinchar esse processo como ele realmente funciona, e por que ele existe desse jeito há décadas — e continua absolutamente atual em 2026.


🧠 Por que o login no mainframe é diferente?

Porque o mainframe não é um notebook pessoal.

Estamos falando de um ambiente:

  • Multiusuário

  • Multiempresa

  • Missão crítica

  • 24x7x365

  • Onde um erro pode parar um país

Logo:

Nada começa sem identidade, autorização e controle.


👤 Passo 1 — User ID: quem é você no mundo z/OS

No IBM z/OS, ninguém é anônimo.

Cada usuário recebe um User ID, que é muito mais do que um “login”.

O User ID define:

👤 Quem você é
🛂 O que você pode ou não acessar
📁 Quais datasets são seus
🗂️ Quais JOBs você pode submeter
🛡️ Quais recursos do sistema você enxerga

Em linguagem Bellacosa:

O User ID é sua identidade civil no mainframe.

Sem ele:

  • Não existe sessão

  • Não existe ISPF

  • Não existe batch

  • Não existe nada


🔐 Passo 2 — Password: provando que você é você

O password valida sua identidade.

Mas aqui não estamos falando de senha fraca de rede social.

No mainframe, o password:

🔐 Protege bilhões em dados
🛡️ Trabalha junto com RACF (ou ACF2 / Top Secret)
📜 Atende políticas rígidas de segurança corporativa
🚨 Bloqueia tentativas indevidas automaticamente

Dica El Jefe:

Errou senha demais?
Bem-vindo ao bloqueio automático e à ligação para o suporte.

Segurança aqui não é opcional, é contrato social.


🧱 Entre o password e o ISPF existe o TSO

Após User ID + Password válidos, acontece algo fundamental:

👉 Uma sessão TSO é criada.

Isso significa:

  • O sistema aloca recursos

  • Controla prioridade

  • Define limites

  • Registra auditoria

Sem TSO:

Não existe interação com o z/OS.

TSO é o ambiente base, invisível para muitos, essencial para todos.


📋 Passo 3 — ISPF Panels: onde o trabalho começa

Só depois disso o usuário entra no ISPF.

ISPF não é login.
ISPF é produtividade.

Os painéis ISPF oferecem:

📋 Menus estruturados
🔢 Navegação clara
✍️ Editores robustos
⚙️ Gestão de datasets, JCL, programas

Em linguagem Bellacosa:

ISPF é a sala de controle.

É ali que:

  • O COBOL nasce

  • O JCL roda

  • O erro aparece

  • O padawan vira mainframeiro


🔁 O fluxo completo, sem romantização

O login real funciona assim:

User ID ↓ Password ↓ Sessão TSO criada ↓ Entrada no ISPF

Ou, resumindo:

Identidade → Autenticação → Sessão → Produtividade


🏗️ Analogia Bellacosa (clássica)

  • User ID → Quem você é

  • Password → Prova que é você

  • TSO → Portaria + controle de acesso

  • ISPF → Sala de operações

Sem portaria:

  • ninguém entra

Sem sala de operações:

  • ninguém trabalha


⚠️ Erros clássicos de padawan

❌ Achar que ISPF faz login
❌ Ignorar o papel do TSO
❌ Não entender RACF
❌ Tratar User ID como “só um login”

Dica de veterano:

Quem entende login entende segurança.
Quem entende segurança nunca é pego de surpresa.


🥚 Easter-eggs do cotidiano z/OS

  • Todo mundo já ficou preso no painel de login

  • Todo mundo já teve User ID revogado

  • Todo mundo já decorou PF3 para sair

  • Todo mundo já respeitou o cadeado 🔐 no RACF


☕ Palavra final do El Jefe

No mainframe, nada começa sem controle.

O processo de login TSO/ISPF não é burocracia.
É engenharia de segurança em escala planetária.

Se TSO é o portão,
e ISPF é a sala de controle…

Então lembre-se:

Só entra quem pode.
Só trabalha quem entende.

segunda-feira, 2 de julho de 2012

🧠 “SMF como fonte de verdade para observabilidade corporativa”

 


🧠 “SMF como fonte de verdade para observabilidade corporativa”


Porque antes de existir observability platform, já existia evidência



☕ 01:38 — Quando o gráfico mente, mas o SMF não

Todo mainframer aprende cedo uma verdade incômoda:
logs contam histórias, métricas sugerem hipóteses, mas o SMF registra fatos.

Enquanto o mundo distribuído ainda debate o que é single source of truth,
o z/OS já resolveu isso há décadas — e deu o nome de System Management Facility.


🧬 Um pouco de história (quando observabilidade não tinha marketing)

O SMF nasceu para:

  • auditoria

  • cobrança

  • capacidade

  • performance

  • rastreabilidade

Não para “monitorar bonito”,
mas para provar o que aconteceu.

📌 Comentário Bellacosa:
SMF nunca foi sexy. Foi confiável. E isso envelhece melhor.


🔍 O que o SMF realmente é (traduzindo para cloudês)

No mundo moderno:

  • Logs

  • Metrics

  • Traces

No z/OS:

  • Tudo isso… em um formato só

  • Com timestamp confiável

  • Com contexto de sistema

  • Com impacto mensurável

🔥 Tradução direta:
SMF é observabilidade com evidência jurídica.


🧠 SMF como “fonte de verdade”

Por que o SMF é a source of truth?

✔️ É gerado pelo sistema operacional
✔️ Não depende da aplicação “colaborar”
✔️ Não perde evento por backpressure
✔️ Não é amostrado
✔️ Não é opinativo

😈 Easter egg:
Se o SMF não viu, provavelmente não aconteceu.


📊 Comparação honesta: SMF x Observabilidade moderna

Observabilidade modernaSMF
Métricas amostradasDados completos
Traces instrumentadosEvidência sistêmica
Logs verbososRegistros estruturados
DashboardsCapacidade histórica
AlertasDiagnóstico pós-morte

📌 Comentário ácido:
Dashboard serve para avisar.
SMF serve para explicar.


🧭 Passo a passo mental: usando SMF como observabilidade

1️⃣ Coleta contínua (SMF ativo é pré-requisito)
2️⃣ Classificação por tipo (CPU, I/O, CICS, DB2, MQ…)
3️⃣ Correlação temporal
4️⃣ Análise de impacto real
5️⃣ Conclusão baseada em dado, não sensação

🔥 Regra de ouro:
Sem correlação, métrica vira superstição.


🧩 SMF e aplicações distribuídas (onde os mundos se encontram)

Hoje, arquiteturas são:

  • híbridas

  • distribuídas

  • event-driven

O SMF entra como:

  • referência de carga real

  • baseline de comportamento

  • âncora de verdade

📌 Exemplo prático:
Quando a API “fica lenta”, o SMF diz:

  • se foi CPU

  • se foi I/O

  • se foi concorrência

  • ou se foi culpa de quem chamou demais


📚 Guia de estudo para o mainframer moderno

Conceitos essenciais

  • Observabilidade ≠ Monitoramento

  • Correlação ≠ Alerta

  • Evidência ≠ Opinião

  • Capacidade ≠ Pico momentâneo

Exercício recomendado

👉 Pegue um incidente passado
👉 Releia só o SMF
👉 Ignore dashboards
👉 Reescreva a RCA

O resultado costuma ser… desconfortável — e correto.


🎯 Aplicações reais no mundo corporativo

  • Auditoria e compliance

  • Capacity planning sério

  • SRE corporativo

  • Integração com AIOps

  • Base para observabilidade híbrida

🔥 Comentário Bellacosa:
Todo AIOps sério começa com dado confiável.
E dado confiável tem sobrenome: SMF.


🖤 Epílogo — 03:27, incidente encerrado

Quando o ruído some,
quando o gráfico contradiz o discurso,
quando a RCA precisa sobreviver a auditoria…

é o SMF que fica.

El Jefe Midnight Lunch assina:
“Observabilidade é saber. SMF é provar.”

 

quarta-feira, 16 de fevereiro de 2011

🔥 Challenges of Running COBOL with Git – Uma Observação Prática (com cheiro de sala-cofre) 🔥

 

COBOL e os desafios do GITHUB e ECLIPSE

🔥 Challenges of Running COBOL with Git – Uma Observação Prática (com cheiro de sala-cofre) 🔥

Durante décadas, COBOL e z/OS viveram felizes no seu ecossistema fechado, previsível e extremamente confiável. ISPF, PDS/PDSE, JCL, compile noturno, café forte e aquele silêncio respeitoso do data center. Então alguém chegou dizendo:

“Agora tudo é Git. Branch, pull request, rebase e pipeline.”

🤔 Pause dramático de mainframer veterano.

Este artigo nasce de pesquisa, observação prática e muita conversa de corredor — aquele tipo de conhecimento que não aparece em Redbook, mas surge no café das 3h da manhã durante um IPL mal-humorado.


🧬 1. EBCDIC vs UTF-8 – A Guerra Invisível dos Bytes

Aqui começa o primeiro boss final.

Git assume UTF-8. COBOL em z/OS respira EBCDIC. Misture isso sem regras claras e você ganha:

  • Literais corrompidos

  • DISPLAY mostrando hieróglifos

  • Compilação falhando sem erro “óbvio”

💡 Dica Bellacosa:
Defina conversão explícita e obrigatória no pipeline. Nada de “ah, o plugin cuida disso”. Ele não cuida.

🥚 Easter egg:
Muitos bugs “fantasma” em COBOL moderno não são lógicos — são encoding bugs disfarçados.


📚 2. Copybooks – O Efeito Dominó Silencioso

COBOL sem copybook é como mainframe sem SMF: tecnicamente existe, mas ninguém confia.

O problema?
Git não entende dependência semântica.

  • Um copybook alterado

  • 137 programas impactados

  • 12 recompilados

  • 125 esquecidos

  • Produção quebra… só amanhã

💡 Dica de guerra:
Pipeline dependency-aware é obrigatório. Ferramentas como DBB, scripts de impacto ou metadados não são luxo — são sobrevivência.

🗣 Fofoquinha real:
Já vi incidente crítico porque “era só um copybook de comentário”. Spoiler: não era.


📐 3. Diffs, Colunas e a Maldade do Espaço em Branco

Git ama linhas.
COBOL ama colunas.

Um espaço fora do lugar vira:

  • Diff gigante

  • Merge impossível

  • Revisão inútil

Comentários deslocados geram mais conflito que erro lógico.

💡 Dica Bellacosa raiz:

  • Padronize formatação

  • Use ferramentas de pretty-print COBOL

  • Trate espaço em branco como código, não estética

🥚 Easter egg clássico:
Um MOVE perfeito na lógica pode falhar só porque começou na coluna errada. Git não entende isso. O compilador sim — e ele não perdoa.


⚙️ 4. Build, Compile e o “CI/CD de Verdade”

Aqui mora a grande ilusão moderna:

“Ah, só dar git push que compila.”

Não, não compila.

COBOL exige:

  • Compile no z/OS

  • Link-edit

  • Bind DB2

  • Execução JCL

  • Controle de RC

  • Logs rastreáveis

Sem automação real, Git vira apenas um repositório bonito.

💡 Dica prática:
Se o commit não dispara compile, bind e validação automática, você não tem CI/CD — só tem GitHub caro.


🧠 5. Cultura, Pessoas e o Choque de Gerações

Aqui não é tecnologia — é gente.

  • Desenvolvedores COBOL dominam ISPF como ninguém

  • Git traz conceitos novos: rebase, squash, branch strategy

  • Sem cuidado, isso vira atrito desnecessário

💡 Dica de liderança técnica:
Não force Git “goela abaixo”. Traduza conceitos:

  • Branch ≈ versão lógica

  • Pull request ≈ revisão formal

  • Pipeline ≈ JCL automático

🗣 Comentário de bastidor:
Os melhores times são híbridos: mainframers aprendendo Git e devops aprendendo z/OS. Quem só ensina e não aprende falha.


🔐 6. Segurança – RACF não é GitHub (e nunca será)

Git trabalha com:

  • Usuário

  • Token

  • Repo

Mainframe trabalha com:

  • Identidade

  • Perfil

  • Dataset

  • Auditoria pesada

Alinhar RACF/ACF2/TSS com Git não é trivial, principalmente em ambientes regulados.

💡 Dica Bellacosa:
Auditoria e rastreabilidade devem nascer no pipeline, não serem “adaptadas depois”.

🥚 Easter egg corporativo:
Compliance sempre descobre o problema depois que o sistema já está em produção.


🧠 Pensamento Final – Git Funciona com COBOL?

Sim.
Mas não por mágica.

Git funciona com COBOL quando existe:

  • Disciplina

  • Ferramentas corretas

  • Pipeline consciente

  • Respeito à cultura mainframe

Sem isso, você só moderniza o problema — não a solução.

🔥 Provocação final do El Jefe:
Quantos ambientes “modernizados” hoje só trocaram o PDS por Git, mas mantiveram os mesmos riscos de 1989?

quarta-feira, 3 de novembro de 2010

☕🔥 REXX Hardcore no z/OS — automação, controle e poder operacional

 

Bellacosa Mainframe apresenta o REXX

☕🔥 REXX Hardcore no z/OS — automação, controle e poder operacional  

Se você já salvou produção com um exec improvisado, já rasgou SDSF via ADDRESS, ou já ouviu

“isso dá pra automatizar em REXX, né?”
então puxa a cadeira.
Aqui é REXX técnico, sem verniz didático e com cheiro de madrugada.


🕰️ Histórico & Origem — por que o REXX virou arma de produção

O REXX (Restructured Extended Executor) nasce na IBM nos anos 80 com uma missão clara:

  • Substituir JCL “verboso”

  • Padronizar scripts

  • Criar uma linguagem legível, extensível e integrada ao sistema

Ele não foi feito para ser “bonito”.
Foi feito para controlar ambiente.

Verdade histórica:

REXX não é linguagem de apoio — é linguagem de governo operacional.


🧠 Conceito de Ambiente de Processamento

REXX não executa no vácuo.
Ele sempre roda dentro de um ambiente:

  • TSO/E

  • Batch

  • SDSF

  • ISPF

  • CICS (indiretamente)

  • Programas externos

Cada ambiente define:

  • Comandos válidos

  • RC interpretado

  • Recursos disponíveis

  • Permissões RACF

🔥 Easter egg:
O mesmo EXEC pode funcionar em TSO e falhar em Batch sem mudar uma linha.


🧩 Fundamentos da Linguagem — simples na superfície, profunda no núcleo

Sintaxe & Elementos

  • Tipagem dinâmica

  • Strings como cidadão de primeira classe

  • Sem declaração obrigatória

  • Case-insensitive (armadilha clássica)

📌 Exemplo:

parse upper arg parm1 parm2 if parm1 = '' then exit 8

Comentário ácido:
REXX perdoa erro demais — e isso cobra seu preço em produção.


🏗️ Estrutura de um Programa REXX

Todo EXEC sério tem:

  1. Identificação

  2. Validação de ambiente

  3. Tratamento de RC

  4. Controle de erro

  5. Cleanup

📌 Exemplo base:

/* REXX */ signal on error signal on failure signal on syntax address tso "ALLOC FI(IN) DA('DATASET') SHR" ... exit 0

🔥 Veterano sabe:
EXEC sem SIGNAL ON é convite ao caos.


🧮 Estrutura de Dados — tabelas na memória

REXX não tem array clássico.
Tem stem variables.

tab.1 = 'A' tab.2 = 'B' tab.0 = 2

Curiosidade:
Stem mal controlado vira memory leak conceitual.


📂 Acesso a Arquivos & Geração de Relatórios

  • ALLOC / FREE

  • EXECIO DISKR / DISKW

  • Geração de relatórios spoolados

  • Integração com SORT

📌 Exemplo:

"EXECIO * DISKR IN (STEM L.)" do i=1 to L.0 say L.i end

🔥 Easter egg:
EXECIO ignora erro… até você checar o RC.


🔃 Classificação & Manipulação de Dados

  • SORT via IDCAMS

  • SORT via ICETOOL

  • Manipulação em memória (lento)

  • Pipeline híbrido REXX + SORT

Regra de produção:

Se precisa ordenar muito, não é REXX — é SORT.


🗂️ Acesso a Diretório de PDS

REXX + ISPF services:

  • LMDINIT

  • LMMLIST

  • LMCLOSE

📌 Exemplo:

address ispexec "LMINIT DATAID(DID) DATASET('MY.PDS')" "LMMLIST DATAID(DID) OPTION(LIST)"

🔥 Veterano:
ISPF services dão poder… e risco.


🧑‍💻 Interatividade com Usuário (TSO)

  • Pseudo-conversational

  • Command-level

  • SAY / PULL

  • Mensagens controladas

Fofoquice:
Interface feia, mas resolve crise em minutos.


🧪 Modos de Execução REXX

🟢 REXX Linha de Comando (Online)

  • Interativo

  • Debug rápido

  • Dependente de perfil

🟡 REXX Batch Script (Interpretado)

  • Executa via IKJEFT01

  • Dependente de ambiente

  • Mais flexível

🔴 REXX Batch Compilado

  • Performance superior

  • RC previsível

  • Menos tolerante a erro

  • Exige processo de build

🔥 Script vs Compilado:

Interpretado é agilidade.
Compilado é confiabilidade.


🔐 REXX + RACF

REXX não ignora segurança:

  • Herda permissões do usuário

  • Pode consultar via RACROUTE (indireto)

  • Controla acesso via classes

Verdade dura:
EXEC com SPECIAL é bomba com pavio curto.


🗄️ REXX + DB2

  • DSNREXX

  • SQL dinâmico

  • RC + SQLCODE + SQLSTATE

  • Automação de consultas e relatórios

📌 Exemplo:

ADDRESS DSNREXX "EXECSQL SELECT COUNT(*) INTO :CNT FROM SYSIBM.SYSTABLES"

🔥 Easter egg:
SQLCODE ignorado vira incidente invisível.


🔀 ADDRESS — o coração da integração

ADDRESS muda o destino dos comandos:

  • TSO

  • ISPEXEC

  • SDSF

  • CONSOLE

  • DSNREXX

☕🔥 Regra sagrada:

Quem domina ADDRESS domina o sistema.


🔢 Return Code (RC) — o idioma da produção

  • RC ≠ erro sempre

  • RC precisa ser interpretado

  • Padronização é vital

if rc > 4 then exit rc

🔥 Veterano:
RC não tratado é mentira operacional.


📘 Programa do Curso — visão hardcore

Estrutura Geral / Labs

  • Ambiente restritivo

  • Casos reais

  • Incidentes simulados

Instruções REXX

  • IF, DO, SELECT

  • SIGNAL, EXIT

  • PARSE

Funções Internas / Sub-rotinas

  • Modularização

  • Reuso

  • Controle de escopo

Comandos REXX

  • SAY, PULL, TRACE

  • QUEUE / PULL

  • EXECIO

Funções TSO / CONSOLE

  • WTO

  • MODIFY

  • DUMP

  • SDSF

INTERPRET (🔥 perigoso)

  • Execução dinâmica

  • Flexibilidade extrema

  • Risco máximo

Comentário ácido:

INTERPRET é poder absoluto — use sóbrio.


🥚 Easter Eggs & Fofoquices REXX

  • Todo ambiente tem um EXEC “salvador”

  • Sempre existe um REXX sem comentários rodando há anos

  • O melhor REXX é o que não precisa ser explicado

  • Debug começa com TRACE ?R


☕🔥 Conclusão — Manifesto El Jefe REXX

REXX não é:

  • Script simples

  • Linguagem de iniciante

  • Alternativa ao COBOL

REXX é:

  • Cola do z/OS

  • Automação estratégica

  • Ferramenta de sobrevivência em produção

☕🔥 Quem domina REXX,
não programa apenas —
orquestra o mainframe.


quinta-feira, 11 de fevereiro de 2010

RACF: Mapeamento OPERCMD x SDSF (do Console à Tela Verde

 

Bellacosa Mainframe apresenta RACF 

🔐 RACF NA VEIA

Mapeamento OPERCMD x SDSF (do Console à Tela Verde

“Quem manda no console manda no sysplex…
mas quem controla o RACF manda até no operador.”
☕🖥️

No mundo z/OS, existem dois universos de comando:

  1. Console MVS real → controlado pela classe OPERCMDS

  2. Interface SDSF → controlada por um conjunto de classes RACF

Muita gente confunde, mistura e sofre.
Vamos separar isso como JES2 separa spool 😈


🧱 1️⃣ OPERCMDS – O PODER DO CONSOLE MVS

🎯 O que controla?

A classe OPERCMDS controla quem pode emitir comandos MVS e subsistemas:

  • No console físico

  • Via TSO CONSOLE

  • Via REXX ADDRESS CONSOLE

  • Via automação (SA, NetView, OPS/MVS)


📌 Exemplos clássicos de comandos protegidos

ComandoPerfil OPERCMDS
D A,LMVS.DISPLAY.ACTIVE
D U,ALLMVS.DISPLAY.UNITS
$DA (JES2)JES2.DISPLAY.ACTIVE
$P JOB123JES2.PURGE.JOB
VARY 1234,ONLINEMVS.VARY.DEVICE.ONLINE
SET SMF=xxMVS.SET.SMF

📌 Regra de ouro:
👉 Se é comando MVS/JES, o RACF olha primeiro para OPERCMDS.


🧠 Exemplo RACF raiz

RDEFINE OPERCMDS MVS.DISPLAY.** UACC(NONE) PERMIT MVS.DISPLAY.** CLASS(OPERCMDS) ID(OPERADOR) ACCESS(READ) SETROPTS CLASSACT(OPERCMDS) SETROPTS RACLIST(OPERCMDS) REFRESH

🖥️ 2️⃣ SDSF – O CONSOLE DE MENTIRINHA (MAS PERIGOSO)

“SDSF não é console…
mas faz estrago igual.”
😈

O SDSF é uma interface, e o RACF controla cada ação separadamente.


🧩 Classes RACF usadas pelo SDSF

ClasseFunção
SDSFAcesso geral ao SDSF
JESJOBSAções sobre jobs (cancel, purge, hold)
JESComandos JES
OPERCMDSSe o SDSF emitir comando real
WRITERWriters e saída
LOGSTRMLogs do sistema
FACILITYFunções especiais

📊 3️⃣ Tabela Mestre – OPERCMDS x SDSF

🧠 A tabela que salva operadores e professores

Ação no SDSFClasse RACFPerfil
Entrar no SDSFSDSFSDSF
Ver jobs (ST/DA)JESJOBSJOB.*
Cancelar jobJESJOBSJOB.CANCEL
Purge jobJESJOBSJOB.PURGE
Hold / ReleaseJESJOBSJOB.HOLD
Ver SYSLOGSDSFLOG
Comando JES $DAJESJES2.DISPLAY.ACTIVE
Comando MVS D A,LOPERCMDSMVS.DISPLAY.ACTIVE
Alterar prioridadeJESJOBSJOB.MODIFY

📌 Fofoquice real:
👉 Você pode ver tudo no SDSF e não conseguir executar nada, mesmo sendo “OPERADOR”.


⚔️ 4️⃣ Quando OPERCMDS e SDSF se cruzam

🎯 Exemplo clássico

Usuário no SDSF digita:

/D A,L

👉 O que acontece?

  1. SDSF aceita o comando

  2. RACF valida OPERCMDS

  3. Se não tiver perfil → RC=8, NOT AUTHORIZED

📌 Moral:
SDSF não ignora OPERCMDS, ele chama o RACF como qualquer console.


🔐 5️⃣ Ambiente RACF Restritivo (vida real)

✔️ Boas práticas Bellacosa Approved™

  • Nunca dar OPERCMDS MVS.** para usuário comum

  • ✔️ Preferir:

    • MVS.DISPLAY.*

    • JES2.DISPLAY.*

  • ✔️ Cancelamento via JESJOBS, não OPERCMDS

  • ✔️ Usar ROLES no SDSF

  • ✔️ Logar tudo (SMF 80, 83, 84)


🧪 6️⃣ Checklist rápido de segurança

✔ SDSF separado por perfil
✔ OPERCMDS mínimo necessário
✔ JESJOBS granular
✔ LOG e SYSLOG somente READ
✔ Nada de UACC(READ) em produção 😱
SETROPTS AUDIT OPERCMDS ativo


☕ Frase final do Bellacosa Mainframe

“No mainframe, comando não é poder…
autorização é.”

 

sábado, 19 de dezembro de 2009

📋 Checklist Executável de Auditoria z/OS (SMP/E + RACF)

 

Bellacosa Mainframe e um Checklist de Auditoria Z/OS

📋 Checklist Executável de Auditoria z/OS (SMP/E + RACF)

Objetivo: permitir que o sysprog execute, colecione evidências e registre conformidade antes (e durante) uma auditoria.


🧭 Como usar este checklist

  • Execute cada item na ordem

  • Cole comandos/outputs como evidência

  • Marque OK / N/A / FAIL

  • Anexe decisões e aprovações quando houver


🔐 1) Controle de Acesso (RACF)

1.1 CSI protegido

  • Evidência (exemplo):

RLIST DATASET HLQ.SMP.CSI ALL
  • Esperado: UACC=NONE, ALTER restrito

1.2 Bibliotecas SMP/E protegidas

  • Evidência:

RLIST DATASET HLQ.SMP.* ALL

1.3 IDs privilegiados revisados

  • Evidência:

LISTUSER * SPECIAL

📦 2) Integridade do SMP/E (CSI)

2.1 CSI acessível e íntegro

  • Evidência: job SMP/E simples (ex.: LIST)

2.2 Backup periódico do CSI

  • Evidência: política / job de backup


🔁 3) Processo RECEIVE / APPLY / ACCEPT

3.1 RECEIVE documentado

  • Evidência: output RECEIVE

3.2 APPLY CHECK executado

  • Evidência:

SET BDY(TARGET).
APPLY CHECK.

3.3 APPLY aprovado e executado

  • Evidência: output APPLY

3.4 ACCEPT autorizado

  • Evidência: output ACCEPT + aprovação


🚨 4) Gestão de ++HOLD e ++ERROR

4.1 HOLDS analisados

  • Evidência: cover letter / decisão

4.2 ERRORS tratados

  • Evidência: APAR / mitigação


🧩 5) USERMOD

5.1 USERMOD identificado e justificado

  • Evidência: histórico SMP/E

5.2 Plano de remoção definido



🧪 6) Evidências Técnicas

6.1 Outputs arquivados


6.2 JCL versionado



🔄 7) Rollback / RESTORE

7.1 Processo RESTORE definido

  • Evidência:

SET BDY(TARGET).
RESTORE.

🛡️ 8) Segurança e Atualizações

8.1 PTFs de segurança atualizados


8.2 Backlog controlado



🧾 9) Assinaturas e Responsáveis

  • Sysprog: __________________ Data: //____

  • Segurança: ________________ Data: //____

  • Auditoria: ________________ Data: //____


🏁 Resultado Final


Observações:


Checklist executável, evidenciável e auditável — estilo Bellacosa Mainframe.

Checklist executável criado com sucesso ✅

Ele já está pronto para:

  • 🧪 execução técnica real (com comandos e evidências)

  • 🛡️ auditoria interna e externa

  • 📄 impressão / PDF

  • 🎓 treinamento de sysprogs

Checklist Executável De Auditoria Z/os (smp/e + Racf)

segunda-feira, 2 de novembro de 2009

📘 Guia de Auditoria z/OS Completo

 

Bellacosa Mainframe apresenta Guia de Auditoria Z/OS

📘 Guia de Auditoria z/OS Completo

Do RACF ao SMP/E: como provar que seu mainframe é confiável

“Auditoria em z/OS não é caça ao erro.
É validação de maturidade operacional.”


🎯 Objetivo deste guia

Este guia serve para:

  • Preparar ambientes para auditoria

  • Responder auditores com evidência técnica

  • Evitar não conformidades

  • Padronizar governança em z/OS

👉 Não é teoria. É prática de campo.


🧠 Visão geral da auditoria em z/OS

Auditoria em z/OS gira em torno de 5 pilares:

1️⃣ Controle de acesso
2️⃣ Integridade do sistema
3️⃣ Gestão de mudanças
4️⃣ Rastreabilidade
5️⃣ Continuidade operacional

Cada pilar tem ferramentas nativas do mainframe.


🔐 Pilar 1 – Controle de Acesso (RACF / ACF2 / TSS)

O auditor verifica:

  • IDs privilegiados

  • Perfis genéricos

  • UACC

  • Logging

  • Segregação de funções

Evidências:

  • LISTUSER

  • RLIST

  • Relatórios SMF

  • Revisão periódica de acessos

📌 Privilégio excessivo reprova auditoria.


🛡️ Pilar 2 – Integridade do Sistema

Ferramentas-chave:

  • SMP/E

  • CSI

  • DLIB

  • TARGET libraries

O auditor quer saber:

  • Quem muda o sistema

  • Como muda

  • Se há controle

📌 Aqui o SMP/E reina absoluto.


🔁 Pilar 3 – Gestão de Mudanças

Avaliação típica:

  • Processo RECEIVE/APPLY/ACCEPT

  • APPLY CHECK obrigatório

  • Análise de ++HOLD e ++ERROR

  • USERMOD documentado

Evidências:

  • Outputs SMP/E

  • Change records

  • APARs e PTFs


🧩 Pilar 4 – Rastreabilidade e Evidência

O auditor exige:

  • Histórico preservado

  • Logs acessíveis

  • Responsáveis identificados

Ferramentas:

  • CSI

  • SMF

  • Logs RACF

  • Versionamento de JCL

📌 Sem evidência, não existe controle.


🔄 Pilar 5 – Continuidade e Recuperação

Avaliação:

  • Backup de CSI

  • Capacidade de RESTORE

  • Planos de contingência

  • Testes documentados

📌 Auditoria não aceita “nunca testamos”.


📦 Auditoria por componente (check rápido)

🔹 SMP/E

✔ Controle de acesso
✔ APPLY CHECK
✔ ACCEPT consciente
✔ USERMOD controlado

🔹 RACF

✔ UACC=NONE
✔ Logging ativo
✔ Revisão periódica

🔹 JES / System

✔ Parâmetros controlados
✔ Alterações documentadas

🔹 SMF

✔ Coleta ativa
✔ Retenção definida


🚨 Red flags clássicos em auditoria z/OS

❌ IDs genéricos
❌ ALTER irrestrito
❌ USERMOD esquecido
❌ PTFs de segurança atrasados
❌ Falta de documentação

👉 Tudo isso vira finding.


🧠 Caso real (estilo Bellacosa)

Auditor pergunta sobre um módulo alterado
Não há registro no SMP/E
Ninguém sabe quem fez

📌 Conclusão:

Ambiente sem governança.


🎓 Como se preparar para auditoria

  • Trate auditoria como rotina

  • Use SMP/E como aliado

  • Automatize evidências

  • Documente decisões

  • Revise acessos

💡 Dica Bellacosa:

“Auditoria bem-sucedida começa meses antes.”


🧠 Curiosidades Bellacosa

  • Auditor confia mais no CSI do que em planilha

  • Mainframe já nasce auditável

  • Falha é quase sempre humana, não técnica


🧾 Encerramento – Guia de Auditoria z/OS

z/OS não é inseguro.
Inseguro é rodar sem controle.

Quem domina:

  • RACF

  • SMP/E

  • Processos

👉 passa em qualquer auditoria.

📘💾🛡️🔥