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

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.


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.

📘💾🛡️🔥


sexta-feira, 2 de outubro de 2009

📋 Checklist de Auditoria SMP/E

 

Bellacosa Mainframe apresenta Auditoria no IBM SMP/E


📋 Checklist de Auditoria SMP/E

O que o auditor pergunta (e o que você precisa provar)

“Auditor não quer opinião.
Quer evidência.”


🧠 Objetivo do checklist

Garantir que:

  • O z/OS está íntegro

  • A manutenção é controlada

  • As mudanças são rastreáveis

  • O ambiente é auditável

👉 SMP/E é prova técnica, não discurso.


🔐 1. Controle de Acesso (RACF / ACF2 / TSS)

✔ CSI protegido (UACC=NONE)
✔ ALTER restrito a sysprogs autorizados
✔ READ para auditoria
✔ Logging ativo
✔ Revisão periódica de acessos

📌 Evidência:

  • LISTDSD

  • Relatórios RACF

  • Perfis ativos


📦 2. Proteção das bibliotecas SMP/E

✔ TARGET libraries protegidas
✔ DLIB libraries protegidas
✔ SMPTLIB, SMPMTS, SMPPTS controlados
✔ Separação TEST / PROD

📌 Evidência:

  • RACF profiles

  • Dataset attributes


🔁 3. Processo RECEIVE / APPLY / ACCEPT

✔ RECEIVE documentado
✔ APPLY CHECK executado
✔ APPLY validado em teste
✔ ACCEPT autorizado formalmente

📌 Evidência:

  • Outputs SMP/E

  • JCL versionado

  • Change records


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

✔ HOLDS analisados
✔ Decisão documentada
✔ ERROR tratados com cautela
✔ Mitigações registradas

📌 Evidência:

  • PTF cover letters

  • APARs

  • Decisões de risco


🧩 5. Gestão de USERMOD

✔ USERMOD documentado
✔ Justificativa formal
✔ Controle de APPLY/ACCEPT
✔ Revisão periódica

📌 Evidência:

  • SYSMOD history

  • Documentação técnica


🧪 6. APPLY CHECK (obrigatório)

✔ APPLY CHECK sempre executado
✔ Resultados arquivados
✔ Conflitos analisados

📌 Evidência:

  • Output APPLY CHECK

  • Aprovação formal


🧱 7. Controle de DLIB (baseline)

✔ DLIB atualizado
✔ ACCEPT consciente
✔ Baseline consistente
✔ DLIB protegido

📌 Evidência:

  • CSI

  • Relatórios SMP/E


🔄 8. Capacidade de RESTORE

✔ Processo definido
✔ Histórico preservado
✔ Testes de rollback
✔ Documentação clara

📌 Evidência:

  • JCL RESTORE

  • Registros históricos


🧠 9. Atualização e Segurança

✔ PTFs de segurança aplicados
✔ CVEs avaliados
✔ Backlog controlado
✔ Plano de atualização

📌 Evidência:

  • Relatórios IBM

  • Histórico SMP/E


🧾 10. Evidências e documentação

✔ Outputs armazenados
✔ Logs disponíveis
✔ Histórico preservado
✔ Responsáveis identificados

📌 Evidência:

  • CSI

  • JCL

  • Relatórios


🚨 Red flags para auditor

❌ ALTER irrestrito
❌ ACCEPT sem teste
❌ USERMOD esquecido
❌ CSI sem proteção
❌ Falta de APPLY CHECK

👉 Tudo isso gera não conformidade.


🧠 Curiosidades Bellacosa

  • Auditor confia mais no CSI do que em planilha

  • SMP/E é trilha de auditoria nativa

  • Segurança começa no controle de mudança


🧾 Comentário final – Checklist SMP/E

Quem tem SMP/E bem cuidado
não teme auditoria.

📋 Checklist de Auditoria SMP/E, no estilo Bellacosa Mainframe, pensado para auditoria interna, externa, SOX, PCI, ISO, ou simplesmente para dormir tranquilo

📋💾🛡️

quarta-feira, 2 de setembro de 2009

🧩 SMP/E + RACF na prática

 

Bellacosa Mainframe apresenta IBM SMP/E

🧩 SMP/E + RACF na prática

Onde manutenção encontra segurança (e o auditor sorri)

“Não adianta proteger usuário se qualquer um pode mudar o sistema.”


🧠 Por que SMP/E precisa de RACF?

SMP/E controla o código do z/OS.
RACF controla quem pode tocar nesse código.

👉 Separados, são fortes.
👉 Juntos, são governança.


🔐 O que exatamente deve ser protegido?

🎯 Alvos críticos

  • CSI (Consolidated Software Inventory)

  • SMP/E libraries

  • Datasets TARGET e DLIB

  • JCL de manutenção

  • Procedimentos de APPLY/ACCEPT

📌 Quem altera isso altera o sistema inteiro.


🧩 Princípio da menor permissão

Não existe:

“Acesso total para facilitar.”

Existe:

  • Acesso mínimo

  • Temporário

  • Auditável


🧾 Protegendo o CSI

Recomendação clássica

  • DATASET profile no RACF

  • UACC=NONE

  • ALTER só para sysprog autorizado

  • READ para auditoria

📌 CSI é prova histórica.


🛡️ Protegendo bibliotecas SMP/E

  • SMPTLIB

  • SMPMTS

  • SMPPTS

  • SMPSCDS

👉 Controle separado de produção e teste.

💡 Dica Bellacosa:

“Quem pode escrever no SMPMTS pode quebrar o sistema.”


👥 Segregação de funções (SOX friendly)

FunçãoPermissão
SysprogAPPLY
Change MgmtAprovar
AuditorREAD
OperaçãoExecutar JCL controlado

📌 Uma pessoa não deve fazer tudo.


🔎 Auditoria e rastreabilidade

Auditor pergunta:

  • Quem aplicou?

  • Quando?

  • O quê?

  • Por quê?

👉 SMP/E responde
👉 RACF confirma


🧪 APPLY CHECK como controle

  • APPLY CHECK obrigatório

  • Output guardado

  • Assinatura de mudança

💡 Dica Bellacosa:

“APPLY CHECK é evidência de controle.”


🚨 Cenário de risco real

Sysprog com ALTER irrestrito
USERMOD sem controle
ACCEPT em produção
Auditor encontra

📌 Resultado:

  • Não conformidade

  • Risco operacional

  • Stress garantido


🛠️ Boas práticas recomendadas

✔ Perfis RACF específicos
✔ Logging ativo
✔ Revisão periódica
✔ Separação TEST/PROD
✔ Documentação SMP/E


🧠 Curiosidades Bellacosa

  • Auditor confia mais no CSI do que em planilha

  • RACF mal configurado invalida SMP/E

  • Segurança começa no dataset


🧾 Comentário final – SMP/E + RACF

RACF protege acesso.
SMP/E protege integridade.
Juntos, protegem o negócio.

🧩🛡️💾🔥

sábado, 1 de agosto de 2009

🧩SMP/E: USERMOD na prática

 

Bellacosa Mainframe apresenta IBM SMP/E

🧩 USERMOD na prática

Poder absoluto nas mãos erradas (ou a salvação do sysprog)

“USERMOD é liberdade.
USERMOD sem controle é tragédia.”


🧠 O que é USERMOD (sem romantizar)

USERMOD é um SYSMOD criado pelo próprio cliente, não pela IBM.

Ele permite:

  • Ajustes locais

  • Correções temporárias

  • Customizações específicas

  • Patches emergenciais

👉 Em Bellacosa claro:

USERMOD é mexer no z/OS sem a IBM te segurar a mão.


🕰️ Origem do USERMOD

USERMOD nasceu da necessidade real:

  • A IBM não entrega tudo pronto

  • Ambientes são únicos

  • Nem toda correção pode esperar um PTF oficial

📌 Mas a IBM sempre deixou claro:

USERMOD é por sua conta e risco.


🧩 Quando USERMOD faz sentido

✔ Ajuste emergencial
✔ Correção temporária
✔ Customização local
✔ Teste de solução
✔ Mitigação até PTF oficial

❌ Substituir manutenção IBM
❌ “Resolver rápido” sem documentação
❌ Correção definitiva


⚠️ Riscos reais do USERMOD

  • Conflito com PTF futuro

  • Perda de suporte IBM

  • Dificuldade em upgrades

  • Dependências invisíveis

  • Esquecimento (o pior de todos)

👉 USERMOD mal documentado vira fantasma.


🧠 USERMOD e SMP/E

USERMOD:

  • É tratado como SYSMOD

  • Tem MCS

  • Usa RECEIVE/APPLY/ACCEPT

  • Entra no CSI

📌 Se não está no SMP/E, não existe.


🧾 Estrutura básica de um USERMOD

Exemplo simples

++USERMOD(UM0001). ++VER(Z038) FMID(HJES770). ++MOD(JES2MOD).

👉 Tradução:

  • USERMOD UM0001

  • Para JES2

  • Modificando módulo específico


🔎 Boas práticas de MCS em USERMOD

Sempre usar:

  • ++VER → versão correta

  • ++IF → controle condicional

  • ++HOLD → alertar risco

  • Comentários claros

💡 Dica Bellacosa:

“USERMOD sem ++VER é roleta russa.”


🧪 APPLY CHECK é obrigatório

Nunca aplique USERMOD direto:

APPLY CHECK.

Avalie:

  • Impacto

  • Conflitos

  • Pré-requisitos

  • PTFs existentes


🔄 USERMOD x PTF futuro

Quando um PTF oficial sai:

  • Ele pode sobrescrever o USERMOD

  • Ele pode falhar por causa do USERMOD

  • Ele pode exigir remoção do USERMOD

📌 Processo saudável:

  1. Identificar USERMOD afetado

  2. RESTORE USERMOD

  3. APPLY PTF

  4. Descartar USERMOD


📦 ACCEPT de USERMOD: pense duas vezes

❗ ACCEPT de USERMOD é perigoso.

Só faça se:

  • For permanente

  • For bem documentado

  • For aprovado formalmente

👉 ACCEPT grava na história.


🧠 Caso real (Bellacosa clássico)

USERMOD criado em 2014
Ninguém lembra por quê
Upgrade falha em 2025
PTF não aplica

📌 Moral:

USERMOD esquecido custa caro.


🎓 Como aprender USERMOD com segurança

  • Estudar MCS

  • Praticar em laboratório

  • Simular conflito

  • Ler Redbooks

  • Usar SMP/E Workshop


🧠 Curiosidades Bellacosa

  • USERMOD já salvou sistemas críticos

  • USERMOD já derrubou produção

  • USERMOD nunca deve ser invisível


🧾 Comentário final – USERMOD

USERMOD é bisturi, não martelo.
Use com precisão.
Documente tudo.

🧩💾🔥


quarta-feira, 1 de julho de 2009

🛡️ SMP/E e Segurança: Quando manutenção vira proteção (ou vulnerabilidade)

 

Bellacosa Mainframe apresenta IBM SMP/E

🛡️ SMP/E e Segurança

Quando manutenção vira proteção (ou vulnerabilidade)

“No mainframe, segurança não começa no RACF.
Começa no SMP/E.”


🧠 Por que SMP/E é parte da segurança?

SMP/E controla o que entra no sistema operacional.

Quem controla:

  • Código

  • Versões

  • Dependências

  • Histórico

…controla superfície de ataque.

👉 Um PTF não aplicado é uma brecha.
👉 Um PTF mal aplicado é um risco maior ainda.


🔓 O maior mito

“Segurança é só RACF, ACF2 ou TopSecret.”

✅ Verdade:

  • RACF protege acesso

  • SMP/E protege integridade do código

📌 Sem SMP/E bem gerenciado:

  • Módulos vulneráveis continuam rodando

  • Correções críticas não entram

  • Auditoria reprova


🚨 PTF de segurança: prioridade máxima

A IBM libera PTFs que:

  • Corrigem falhas exploráveis

  • Atendem compliance (PCI, SOX, LGPD)

  • Eliminam vetores de ataque

Esses PTFs geralmente vêm com:

  • ++HOLD(SECURITY)

  • Texto explicativo detalhado

👉 Não aplicar é decisão de risco.


🔍 ++HOLD(SECURITY): leia com atenção

O que significa?

++HOLD(SECURITY)

Indica:

  • Impacto direto em segurança

  • Mudança de comportamento

  • Possível quebra de compatibilidade

📌 Normalmente envolve:

  • Autorização

  • Criptografia

  • Controle de acesso

  • SMF / auditoria


Dica Bellacosa

Ignore um HOLD de segurança e o auditor vai encontrar.


🔥 ++ERROR e segurança

Um ++ERROR em PTF de segurança é crítico:

  • Pode corrigir parcialmente a falha

  • Pode introduzir outro risco

  • Pode exigir mitigação adicional

👉 Decisão nunca é automática.

📌 Boas ações:

  • Ler APAR

  • Avaliar CVE

  • Consultar IBM

  • Planejar superseding PTF


🔐 Controle de acesso ao SMP/E

Quem deve ter acesso?

  • System Programmers

  • Pouquíssimas pessoas

  • Com segregação clara

📌 Proteger:

  • CSI datasets

  • SMP/E libraries

  • JCL de manutenção


Boas práticas de RACF

  • UACC=NONE

  • Acesso mínimo necessário

  • LOG de alterações

  • Perfis específicos para SMP/E

👉 Quem mexe no SMP/E mexe no sistema inteiro.


🧾 Auditoria e compliance

Auditores adoram perguntar:

  • Quais PTFs estão aplicados?

  • Quando?

  • Por quem?

  • Por quê?

👉 SMP/E responde tudo isso.

📌 CSI é prova documental.


🧪 APPLY CHECK como ferramenta de segurança

APPLY CHECK ajuda a:

  • Identificar impacto

  • Prever conflitos

  • Avaliar risco antes da mudança

💡 Dica Bellacosa:

“APPLY CHECK é auditoria preventiva.”


🔄 Manutenção atrasada = risco ativo

  • PTF antigo = CVE ativo

  • Função obsoleta = ataque conhecido

  • Versão desatualizada = não conformidade

👉 Segurança também é disciplina de manutenção.


🧠 Caso real (estilo Bellacosa)

Falha crítica corrigida por PTF
PTF não aplicado por medo de IPL
Exploração acontece
Auditor pergunta: “Por quê?”

📌 Resposta errada:

“Porque sempre funcionou assim.”


🎓 Como aprender SMP/E focado em segurança

  • Ler PTFs de segurança

  • Analisar HOLDS

  • Estudar CVEs

  • Participar de workshops

  • Integrar SMP/E com gestão de risco


🧠 Curiosidades Bellacosa

  • SMP/E já fazia secure supply chain antes do termo existir

  • Código assinado é inútil se não for aplicado

  • Auditor confia mais no CSI do que em planilha


🧾 Comentário final – SMP/E e Segurança

Segurança não é só impedir acesso.
É garantir que o código certo esteja rodando.

E isso…
👉 é trabalho do SMP/E.

🛡️💾🔥


terça-feira, 2 de junho de 2009

SMP/E: Laboratório SMP/E: Workshop prático passo a passo - Parte 5

 

Bellacosa Mainframe apresemta IBM SMP/E

📘 Série SMP/E para Iniciantes

Parte 5 – Laboratório SMP/E: Workshop prático passo a passo

“SMP/E só vira conhecimento quando o JCL roda e você entende o RC.”


🎯 Objetivo do Laboratório

Simular um cenário real de manutenção z/OS, cobrindo:

  • RECEIVE de um PTF

  • APPLY CHECK

  • APPLY real

  • ACCEPT

  • Análise de HOLD e ERROR

  • Dicas de troubleshooting

📌 Cenário típico de produção.


🧪 Pré-requisitos do ambiente

Antes de começar, verifique:

  • CSI configurado e acessível

  • GLOBAL / TARGET / DLIB definidos

  • FMID já instalado (FUNCTION)

  • PTF disponível (Shopz / dataset)

💡 Dica Bellacosa:

“Se o FMID não existe, nada anda.”


📦 Cenário do exercício

  • Produto: JES2

  • FMID: HJES770

  • PTF fictício: UJ12345

  • Ambiente: TESTE (nunca produção)


🧩 Passo 1 – RECEIVE do PTF

JCL (exemplo didático)

SET BDY(GLOBAL). RECEIVE SYSMODS.

O que validar no output:

  • RC=0

  • SYSMOD registrado no CSI

  • Nenhuma mensagem de erro

📌 Se falhar aqui, pare.


🧪 Passo 2 – APPLY CHECK (obrigatório)

SET BDY(TARGET). APPLY CHECK.

Resultado esperado:

  • Lista de pré-requisitos

  • Verificação de ++VER

  • HOLD identificado:

++HOLD(SYSTEM) REQUIRES IPL

💡 Dica Bellacosa:

“CHECK é ensaio geral. Quem ignora paga ingresso caro.”


🛠️ Passo 3 – Análise do HOLD

Perguntas que o sysprog deve fazer:

  • Precisa IPL?

  • Pode ser feito agora?

  • Existe janela?

📌 Decisão:
👉 Prosseguir com APPLY em teste.


🔧 Passo 4 – APPLY real

SET BDY(TARGET). APPLY.

O que observar:

  • RC=0 ou RC=4 (com HOLD)

  • Módulos copiados para TARGET

  • Mensagens de sucesso

📌 Aqui o sistema muda.


🚨 Situação alternativa – ++ERROR encontrado

Se aparecer:

++ERROR

Ação correta:

  • Ler APAR

  • Avaliar impacto

  • Decidir: aplicar ou aguardar superseding PTF

👉 Nunca aplique no automático.


📦 Passo 5 – Testes funcionais

Antes do ACCEPT:

  • Subir JES2

  • Validar spool

  • Ver logs

  • Monitorar comportamento

💡 Dica Bellacosa:

“Teste em TARGET antes de casar com o DLIB.”


🧱 Passo 6 – ACCEPT (baseline)

SET BDY(DLIB). ACCEPT.

Resultado:

  • DLIB atualizado

  • Histórico registrado

  • Sistema preparado para futuras manutenções

📌 Agora virou padrão.


🔄 E se der problema? (RESTORE)

SET BDY(TARGET). RESTORE.

⚠️ Atenção:

  • RESTORE não é trivial

  • Nem sempre volta tudo

  • Documentação é vital


🧠 Erros comuns (vida real)

❌ ACCEPT sem teste
❌ APPLY direto em produção
❌ Ignorar HOLD
❌ Não ler APAR
❌ CSI compartilhado sem controle

👉 Todos já caíram nisso. Os bons aprendem rápido.


🎓 Checklist Bellacosa de Produção

✔ APPLY CHECK sempre
✔ Leia HOLDS e ERRORS
✔ Teste antes de ACCEPT
✔ Documente SYSMODs
✔ Nunca confie cegamente


🧠 Curiosidades finais

  • APPLY é técnico

  • ACCEPT é político

  • CSI é sagrado

  • SMP/E não esquece nada


🧾 Encerramento da Série

Quem domina SMP/E domina o z/OS.
Quem ignora SMP/E trabalha sob risco.

Esta série te leva:

  • De iniciante

  • A consciente

  • A profissional de SMP/E

💾🔥