Translate

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

quarta-feira, 24 de junho de 2026

Os Guardiões Invisíveis do Reino IBM Z ACEE, SAF e APF – As Três Relíquias que Protegem Trilhões de Dólares Todos os Dias

 

Bellacosa Mainframe e os guardioes do reino ibm z acee saf e apf

☕💥 Um Café no Bellacosa Mainframe

Os Guardiões Invisíveis do Reino IBM Z

ACEE, SAF e APF – As Três Relíquias que Protegem Trilhões de Dólares Todos os Dias

Por Vagner Bellacosa – Bellacosa Mainframe

Existe algo curioso sobre segurança em Mainframe.

Quase todo mundo conhece RACF.

Muitos ouviram falar de SAF.

Poucos sabem explicar o que realmente é um ACEE.

E uma quantidade ainda menor entende por que o APF talvez seja um dos componentes mais importantes de toda a arquitetura do z/OS.

A verdade é que, por trás das telas verdes, dos CICS, dos IMS, dos DB2 e dos bilhões de transações financeiras processadas diariamente, existe um pequeno conjunto de tecnologias silenciosas que trabalha vinte e quatro horas por dia, sete dias por semana, há décadas, praticamente sem reconhecimento.

São os verdadeiros guardiões do Reino IBM Z.

E talvez seja hora de apresentar estes personagens aos novos Padawans do z/OS.

O Reino IBM Z

Gosto bastante de utilizar uma analogia medieval para explicar segurança no Mainframe.

Imagine um enorme castelo.

Existem bibliotecas.

Existe um tesouro.

Existem escribas.

Existem correios.

Existem soldados.

Existe um cartório.

E existe o Rei.

No Reino IBM Z, podemos imaginar algo semelhante.

CICS é a administração do castelo.

IMS é o departamento financeiro.

DB2 é a biblioteca.

MQ é o correio.

USS é o bairro moderno onde vivem os moradores Unix.

SMF é o historiador oficial.

RACF é o cartório real.

O Sysprog é o guardião das chaves.

Mas três personagens trabalham praticamente o tempo inteiro.

SAF.

ACEE.

APF.

Eles são pouco conhecidos pelos desenvolvedores COBOL.

Quase invisíveis para operadores.

E absolutamente fundamentais para os Sysprogs.

SAF – O Porteiro Invisível

Um dos maiores equívocos entre profissionais iniciantes é acreditar que CICS conversa diretamente com RACF.

Ou que DB2 consulta diretamente o RACF.

Ou ainda que MQ valida permissões diretamente no banco de dados de segurança.

Na realidade, quase todos os produtos do z/OS conversam primeiro com o SAF.

SAF significa System Authorization Facility.

Ele pode ser entendido como um grande barramento de segurança.

Ou melhor.

Um porteiro.

Imagine uma recepção sofisticada na entrada do castelo.

Toda pessoa que deseja entrar em uma sala precisa passar pela recepção.

A recepcionista não toma decisões.

Ela apenas consulta o cartório.

Recebe uma resposta.

E libera ou bloqueia a passagem.

SAF funciona exatamente assim.

Aplicação.

SAF.

RACF.

Resposta.

Isso permite que produtos IBM e produtos terceiros utilizem um mecanismo único de autorização.

Foi uma ideia brilhante da IBM.

Caso contrário, CICS precisaria implementar seu próprio sistema de segurança.

IMS teria outro.

DB2 outro.

MQ outro.

USS outro.

Seria praticamente impossível administrar um ambiente corporativo de grande porte.

Hoje, bilhões de solicitações de segurança passam pelo SAF diariamente.

E a maioria das pessoas sequer percebe sua existência.

ACEE – O Crachá Mágico

Outro personagem pouco conhecido é o ACEE.

Access Control Environment Element.

Se o SAF é o porteiro, o ACEE é o crachá.

Imagine um funcionário chegando ao prédio.

No primeiro acesso ele apresenta documentos.

Passa por verificações.

Tem sua identidade validada.

Recebe um crachá.

A partir daquele momento não precisa mostrar documentos novamente.

Basta apresentar o crachá.

O ACEE funciona exatamente desta maneira.

Quando um usuário faz LOGON no TSO.

Ou acessa um CICS.

Ou estabelece uma sessão SSH.

O RACF executa um VERIFY.

Autentica o usuário.

Cria um ACEE.

E entrega esse contexto de segurança para a aplicação.

O ACEE contém informações extremamente importantes.

Userid.

Grupos.

UID Unix.

Certificados.

Labels.

Atributos especiais.

Contexto OMVS.

Permissões.

Flags.

Tudo armazenado em memória.

O objetivo é simples.

Evitar milhões de consultas desnecessárias ao RACF.

Imagine um banco processando cem mil transações por segundo.

Sem ACEE.

Cada autorização consultaria novamente o banco de segurança.

Seria inviável.

Com ACEE.

O sistema apenas consulta estruturas já residentes em memória.

Menos CPU.

Menos I/O.

Menos contenção.

Maior escalabilidade.

Talvez o ACEE seja um dos control blocks com melhor retorno sobre investimento da história da computação corporativa.

APF – O Selo Dourado do Reino

Mas existe algo ainda mais poderoso.

APF.

Authorized Program Facility.

Este é provavelmente o componente mais respeitado por um Sysprog experiente.

E também um dos mais perigosos.

No Reino IBM Z, podemos imaginar APF como um selo dourado concedido pelo Rei.

Nem todos recebem este selo.

Somente programas altamente confiáveis.

Programas autorizados podem executar serviços privilegiados.

Manipular armazenamento protegido.

Executar operações supervisor state.

Realizar chamadas especiais.

Interagir profundamente com o núcleo do sistema.

Mas isso possui um preço.

Um programa autorizado incorretamente pode comprometer toda a integridade do ambiente.

Por isso, APF é tratado com extremo cuidado.

Para que um módulo seja considerado autorizado normalmente dois requisitos precisam ser atendidos.

Primeiro.

O programa deve possuir AC(1).

Segundo.

A biblioteca onde reside deve estar presente na lista APF.

Caso contrário.

Nada feito.

O z/OS simplesmente não concede os privilégios especiais.

E é justamente isso que protege o sistema.

Quando Tudo Dá Errado

Todo Sysprog eventualmente recebe uma ligação de madrugada.

03:17.

Produção parada.

DB2 acusa segurança.

MQ acusa RACF.

USS apresenta Permission Denied.

CICS responde Not Authorized.

E alguém inevitavelmente diz:

"O problema é no RACF."

Talvez.

Mas talvez não.

O profissional experiente sabe que precisa investigar.

Verificar SMF80.

Consultar zSecure.

Analisar mensagens ICH408I.

Abrir IPCS.

Localizar o ACEE.

Examinar o contexto.

Conferir grupos.

Checar FASTAUTH.

Validar APF.

Verificar classes.

Observar RCs.

Interpretar RSNs.

Porque o dump raramente mente.

As pessoas podem se confundir.

Aplicações podem mascarar erros.

Logs podem induzir interpretações equivocadas.

Mas o dump normalmente conta exatamente a história que aconteceu.

O Segredo do IBM Z

A grande beleza do Mainframe não está apenas em processar milhões de transações.

Está em sua arquitetura.

IBM não criou simplesmente ferramentas.

Criou camadas.

Criou isolamento.

Criou mecanismos de desacoplamento.

Criou contexto.

Criou auditoria.

Criou proteção.

SAF desacopla aplicações do mecanismo de segurança.

ACEE desacopla autenticação das verificações constantes.

APF desacopla programas comuns de funções críticas do sistema operacional.

SMF registra tudo.

ICSF protege chaves.

RACF define regras.

E o Sysprog garante que todas essas peças continuem funcionando em perfeita harmonia.

A Lição Final do Padawan

Talvez a principal lição para um Sysprog iniciante seja entender que segurança no z/OS não é apenas RACF.

Segurança é um ecossistema.

Hardware criptográfico.

ICSF.

SAF.

RACF.

SMF.

APF.

ACEE.

Auditoria.

Processos.

Pessoas.

Boas práticas.

Governança.

Monitoramento.

E principalmente conhecimento.

Porque no fim das contas, o verdadeiro Guardião do Reino IBM Z não é aquele que apenas executa comandos.

É aquele que compreende por que cada tecnologia foi criada.

Como ela conversa com as demais.

Como diagnosticar seus problemas.

Como protegê-la.

Como evoluí-la.

E como garantir que, mesmo às três horas da manhã, quando o telefone tocar e alguém disser que o RACF está quebrado, ele consiga abrir um dump, seguir o caminho até o ACEE, verificar o contexto SAF, analisar APF e devolver ao Reino IBM Z aquilo que ele faz melhor há décadas:

Disponibilidade.

Integridade.

Confidencialidade.

E a tranquilidade de saber que trilhões de dólares continuam circulando silenciosamente pelo mundo, protegidos por tecnologias que quase ninguém vê, mas que todo Sysprog deveria conhecer profundamente.

"O RACF conhece as leis. O SAF atende as portas. O ACEE acompanha o viajante. O APF protege os segredos do castelo. E o Sysprog mantém o Reino IBM Z de pé, uma madrugada de cada vez."

Bellacosa Mainframe

 

terça-feira, 21 de abril de 2026

🔥 Quem Realmente Manda no Seu z/OS? — RACF vs TSS vs ACF2, a Guerra Silenciosa que Decide Tudo

 

Bellacosa Mainframe fala sobre segurança mainframe RACF TSS ACF2

🔥 Quem Realmente Manda no Seu z/OS? — RACF vs TSS vs ACF2, a Guerra Silenciosa que Decide Tudo

Se você trabalha com mainframe há tempo suficiente, já sabe:
o sistema pode ser o mais estável do mundo… mas quem decide o que acontece nele não é o z/OS — é o ESM.

E aí entra o trio que moldou décadas de segurança no mainframe:

  • IBM RACF
  • CA Top Secret (TSS)
  • CA ACF2

Três filosofias. Três formas de pensar segurança.
E, mais importante: três maneiras completamente diferentes de cometer erros — ou evitá-los.


🧠 Capítulo 1 — Origem: Quando Segurança Virou Necessidade (não luxo)

Volta para os anos 70/80.

Mainframe já processava:

  • bancos
  • governo
  • folha de pagamento
  • defesa

E aí veio a pergunta que mudou tudo:

“Quem pode acessar o quê?”

A resposta não era trivial — porque o z/OS (na época MVS) não nasceu com segurança robusta nativa.

🔵 RACF (IBM)

Criado pela própria IBM:

  • integração total com o sistema
  • modelo corporativo
  • foco em governança

👉 DNA:

segurança como parte da arquitetura


🟢 TSS (CA Top Secret)

Criado pela CA:

  • foco em simplicidade
  • modelo centrado no usuário

👉 DNA:

segurança como controle direto


🟣 ACF2

Também da CA:

  • abordagem radicalmente diferente
  • rule-based

👉 DNA:

segurança como linguagem


🧬 Capítulo 2 — O DNA de Cada Um

🔵 RACF — O Burocrata Organizado

RACF pensa assim:

Usuário → Grupo → Recurso → Permissão

Ele cria estrutura.

Exemplo real:

ADDUSER DEV01 DFLTGRP(DEV)
PERMIT PROD.APP.* CLASS(DATASET) ID(DEV01) ACCESS(READ)

👉 RACF gosta de:

  • hierarquia
  • governança
  • previsibilidade

🟢 TSS — O Operador Pragmático

TSS elimina intermediários:

ACID → Permissões

Exemplo:

TSS PERMIT(DEV01) DATASET(PROD.APP.*) ACCESS(READ)

👉 TSS gosta de:

  • simplicidade
  • rapidez
  • controle direto

🟣 ACF2 — O Hacker Formal

ACF2 inverte tudo:

Recurso → Regra → Usuário

Exemplo:

$KEY(PROD)
UID(DEV01) ALLOW

👉 ACF2 gosta de:

  • regras
  • lógica
  • flexibilidade extrema

⚔️ Capítulo 3 — A Diferença que Ninguém Te Conta

Aqui está o ponto que separa júnior de sênior:

Esses produtos não são equivalentes — eles são modelos mentais diferentes


🧠 RACF pensa em “organização”

Você define estrutura e depois controla acesso.


🧠 TSS pensa em “identidade”

Você dá poder direto ao usuário.


🧠 ACF2 pensa em “lógica”

Você escreve regras e deixa o sistema decidir.


🧨 Capítulo 4 — Onde os Projetos Quebram

Vamos direto ao campo de batalha.

🔥 Caso real 1 — Migração TSS → RACF

Problema:

  • TSS:

    DIVISION / DEPARTMENT
  • RACF:

    GROUP

👉 Não existe equivalência direta.

Resultado:

  • perda de contexto
  • decisões arquiteturais obrigatórias

🔥 Caso real 2 — ACF2 mal governado

ACF2 permite:

  • regras complexas
  • lógica condicional

👉 Sem controle vira:

“ninguém entende mais quem tem acesso a quê”


🔥 Caso real 3 — RACF mal configurado

Erro clássico:

UACC(READ)

👉 Tradução:

você abriu o dataset para meio mundo


🧠 Capítulo 5 — Como Eles Funcionam HOJE (2026)

🔵 RACF hoje

  • integrado ao z/OS
  • forte com ferramentas como:
    • auditoria
    • compliance
  • padrão de mercado

👉 Usado em:

  • bancos
  • governo
  • grandes corporações

🟢 TSS hoje

  • ainda muito presente
  • especialmente em ambientes antigos

👉 Problema:

  • escassez de profissionais
  • pressão de custo

🟣 ACF2 hoje

  • nicho forte
  • ambientes altamente customizados

👉 Perfil:

  • organizações com regras complexas

🧩 Capítulo 6 — Easter Eggs de Quem Já Viveu Isso

🥚 1. O mito do “ALL”

No TSS:

ACCESS(ALL)

👉 Pode significar mais do que você imagina…


🥚 2. O clássico “por que isso funcionava antes?”

Resposta:

porque estava no TSS… e ninguém sabia


🥚 3. O fantasma do dataset genérico

PROD.*

👉 Um único profile pode abrir acesso para centenas de datasets.


🥚 4. O usuário com SPECIAL no RACF

👉 Isso aqui é praticamente “root do mainframe”


🧠 Capítulo 7 — Comparação Brutal (sem filtro)

CritérioRACFTSSACF2
GovernançaAltaMédiaAlta
SimplicidadeMédiaAltaBaixa
FlexibilidadeAltaMédiaExtremamente alta
Risco operacionalMédioMédioAlto
Mercado atualDominanteCaindoNicho

💣 Capítulo 8 — A Verdade que Poucos Dizem

Não existe “melhor” absoluto.

Existe:

  • o mais adequado ao seu ambiente
  • o mais governável pela sua equipe
  • o menos arriscado para auditoria

🧠 Insight de arquiteto

Se você precisa:

  • padronização → RACF
  • simplicidade → TSS
  • controle extremo → ACF2

🔥 Conclusão — A Guerra Invisível

Enquanto todo mundo fala de:

  • cloud
  • APIs
  • microservices

No mainframe, a pergunta continua sendo a mesma há 40 anos:

“Quem pode fazer o quê?”

E a resposta continua dependendo de um desses três.


☕ Frase final estilo Bellacosa

“Você pode modernizar o COBOL, migrar para APIs, colocar z/OS Connect…
mas se errar no RACF, TSS ou ACF2 — nada disso importa.”

 

quarta-feira, 19 de outubro de 2022

☕💥 A Jornada do Sysprog Padawan – ACEE : Troubleshooting, Dumps, IPCS, ICH408I, S047, S106 - Parte V

 

Bellacosa Mainframe apresenta ACEE Parte V

☕💥 A Jornada do Sysprog Padawan – Parte 5

ACEE – Troubleshooting, Dumps, IPCS, ICH408I, S047, S106 e Como Encontrar um ACEE Perdido às 3h da Manhã

O Guia de Sobrevivência do Sysprog Padawan

"Todo Sysprog tem duas fases na carreira: antes de abrir seu primeiro dump de produção e depois de passar uma madrugada inteira procurando um ACEE corrompido."

Bellacosa Mainframe


Introdução

Nas quatro primeiras partes conhecemos:

  • O que é ACEE

  • Anatomia interna

  • Como nasce

  • Performance e escalabilidade

Agora chegamos na parte que separa os Padawans dos Jedis do Reino IBM Z.

Como diagnosticar problemas relacionados ao ACEE?


Sintomas clássicos

Usuário jura:

Ontem funcionava.

Hoje não.


CICS retorna.

NOT AUTHORIZED


DB2

SQLCODE -551


MQ

2035


USS

Permission denied


SSH

Login rejected


TSO

ICH408I


Batch

S047


Started Task

S106


O grande segredo

Na maioria dos casos.

ACEE não é o culpado.


Ele é a vítima.


Problema geralmente está em:

RACF


SAF


APF


OMVS


Certificates


Labels


Classes


Tokens


Ferramentas do Sysprog Jedi

IPCS

Nosso sabre de luz.


SDSF

Nosso radar.


SMF

Nosso livro de história.


zSecure

Nosso detector mágico.


RACF

Nosso cartório.


Ferramenta 1 — IPCS

Sempre presente.


Exemplo

IP

Entrar no dump.


Analisar.


Localizar control blocks.


Procurando o ACEE

Fluxo clássico.

PSA

↓

TCB

↓

ASCB

↓

ASXB

↓

ACEE

É praticamente uma caça ao tesouro.


VERBX

Muito usado.


Exemplo

VERBX

Permite interpretar estruturas.


Evita leitura hexadecimal.


Problema 1

ICH408I

Mensagem mais famosa do RACF.


Exemplo

ICH408I USER(VBELLACO)
ACCESS DENIED

Causas

Perfil ausente


READ inexistente


Classe errada


Grupo removido


Senha revogada


Passphrase expirada


Solução

LU


LG


RLIST


SEARCH


SETROPTS


Problema 2

S047

Muito comum.


Contexto inválido.


ACEE inconsistente.


Cross-memory.


Passagem incorreta.


Clone defeituoso.


Programa APF.


Solução

Verificar dump.


IPCO.


IPID.


Control blocks.


Problema 3

S106

Sysprog conhece.


Autorização APF.


AC(1).


Biblioteca.


PROGxx.


LNKLST.


Comando útil

D PROG,APF

Problema 4

USS


SSH falha.


Mensagem

Permission denied

Causa

UID ausente.


HOME inválido.


OMVS.


Diagnóstico

LU USERID

Verificar

UID

HOME

PROGRAM


Problema 5

DB2


SQLCODE

-551

Usuário.

Não autorizado.


Pacote.


Plano.


Tabela.


Solução

DSNR.


Permissões.


ACEE válido.


Problema 6

MQ


Erro

2035

MQRC_NOT_AUTHORIZED


SAF.


MQADMIN.


ACEE.


Problema 7

CICS


Transação.

PAY1


Resposta.

NOT AUTHORIZED

Classe.

TCICSTRN


Perfil.

Ausente.


Auditoria

SMF80.


Nosso melhor amigo.


Registra.

LOGON


LOGOFF


Falhas.


Revogações.


VERIFY.


MFA.


O que procurar

RC


Reason


Timestamp


Userid


Classe


Resource


zSecure

Facilita.


Relatórios.


Comparações.


Compliance.


Pesquisa rápida.


Security Server

Também ajuda.


Ferramentas IBM.


Auditoria.


Análise.


Caso real Bellacosa

03:12 da manhã.


Banco parado.


SSH não conecta.


Equipe Linux culpa zOS.


Equipe Segurança culpa RACF.


Equipe MQ culpa certificados.


Sysprog abre IPCS.


Analisa ACEE.


Descobre.

UID removido.


Corrige.


03:24.

Tudo volta.


Café salvo.


Produção salva.


Checklist Sysprog Jedi

Verificar USER

LU


Verificar grupo

LG


Verificar perfil

RLIST


Verificar APF

D PROG,APF


Verificar OMVS

ALTUSER


Verificar SMF80


Verificar Dump

IPCO


Verificar Certificates

RACDCERT


Verificar MFA


Verificar Labels


Easter Egg Bellacosa ☕

Existe um momento.

Na carreira.

Em que você olha um dump.

Encontra.

TCB.

ASCB.

ACEE.

Flags.

UID.

Certificados.

SPECIAL.


E pensa.

Acho que finalmente comecei a entender o Reino IBM Z.


Frase Bellacosa Mainframe

"O Sysprog iniciante procura mensagens. O Sysprog experiente procura control blocks. O Sysprog Jedi conversa com o dump até que ele conte toda a história."


☕💥 Continua na Parte 6

ACEE – Easter Eggs, Segredos de Sysprog, Curiosidades Históricas, Entrevistas IBM Z, Checklist Definitivo de Auditoria e Como Impressionar um Security Architect em Cinco Minutos.

sexta-feira, 16 de setembro de 2022

☕💥 A Jornada do Sysprog Padawan – ACEE : Performance, CPU, Memória e Escalabilidade - Parte IV

 

Bellacosa Mainframe apresenta o ACEE parte IV

☕💥 A Jornada do Sysprog Padawan – Parte 4

ACEE – Performance, CPU, Memória e Escalabilidade

Quanto custa um ACEE? Quantos podem existir? O que acontece em um banco com centenas de milhares de sessões?

"O melhor consumo de CPU é aquele que você nunca precisou gastar."

Bellacosa Mainframe


Introdução

Nas três primeiras partes conhecemos:

  • O que é um ACEE

  • Sua anatomia

  • Como ele nasce

Mas agora chegamos à pergunta favorita dos Sysprogs:

Isso pesa?

Consome CPU?

Consome memória?

Escala?

Vale a pena?

A resposta curta é:

Sim.

Vale muito a pena.


O problema que a IBM precisava resolver

Imagine.

Banco grande.

10.000 terminais.

50 CICS.

IMS.

TSO.

DB2.

MQ.

VTAM.


Sem ACEE.

Toda autorização faria.

OPEN

↓

SAF

↓

RACF

↓

VSAM

↓

I/O

↓

CPU

Milhões de vezes por dia.


CPU explode.

Locks aumentam.

RACF vira gargalo.

Latência cresce.


A IBM então teve uma ideia genial.


Criar uma estrutura.

Pequena.

Rápida.

Em memória.


Consultada em nanossegundos.


Nascia a filosofia ACEE.


O maior objetivo do ACEE

Evitar I/O


Menos EXCP


Menos Catalog


Menos VSAM


Menos lock


Menos CPU


Quanto CPU custa um ACEE?

Pergunta difícil.

Resposta típica Sysprog:

Depende.


Criação

Custo moderado.


Consulta RACF


VERIFY


Certificados


MFA


OMVS


Groups


Security Labels


Pode consumir algumas centenas de microssegundos.


Uso do ACEE

Praticamente insignificante.


Consultar um ponteiro.


Comparar flags.


Ler cache.


Muito barato.


Exemplo simplificado

Sem ACEE

100 milhões verificações

↓

100 milhões consultas RACF

Com ACEE

100 milhões verificações

↓

1 consulta RACF

↓

99.999.999 consultas memória

Economia absurda.


Consumo de Memória

Outra pergunta favorita.


Pequeno usuário

Poucos grupos.

Sem certificados.


Alguns KB.


Usuário médio

OMVS

MFA

Certificados


Mais alguns KB.


Usuário corporativo

Muitos grupos.

Tokens.

Labels.


Pode crescer.


Mas ainda é pequeno.


Exemplo hipotético

50 mil usuários.


5 KB por ACEE


Total

250 MB


Muito pouco.

Para IBM Z.


z17 gosta disso

IBM Z17 possui.

Terabytes.

De memória.


ACEEs praticamente não são preocupação.


Onde o ganho aparece?

Principalmente.


CPU.


I/O.


Locks.


Enqueues.


Tempo resposta.


FASTAUTH

Aqui mora a mágica.


RACROUTE AUTH

Mais completo.


Mais verificações.


Mais custo.


FASTAUTH

Versão otimizada.


Cache.


Menos CPU.


Altíssimo throughput.


Muito usado.


CICS.


MQ.


DB2.


Subsystems.


CICS

Imagine.

100 mil TPS.


Cada transação.

Consultar RACF.

Seria loucura.


ACEE resolve.


FASTAUTH ajuda.


Sistema voa.


DB2

Thread possui contexto.


Não precisa senha.

Toda query.


Usa ACEE.


Excelente.


MQ

MQOPEN.

MQPUT.

MQGET.


Mesma lógica.


USS

SSH.

Python.

Git.


Não pergunta senha.

A cada comando.


ACEE acompanha.

Sessão inteira.


O que degrada performance?

Muitos grupos


Exemplo

500 grupos.


Comparações aumentam.


Cache cresce.


Certificados excessivos


PKI enorme.


Mais contexto.


Labels complexos

MLS.


Avaliações extras.


Tokens

Muitos.


Maior footprint.


Problema clássico

SPECIAL demais.


OPERATIONS demais.


Não afeta CPU.

Mas afeta segurança.


Como medir?

RMF.


SMF.


Type 80.


Type 30.


zSecure.


OMEGAMON.


Security Monitor.


Indicadores interessantes

Tempo VERIFY


Taxa AUTH


Falhas ICH408I


FASTAUTH hits


Cache misses


Grandes bancos

Possuem.


Centenas milhares.

ACEEs.


Milhões.

De verificações.

Por hora.


Mesmo assim.

IBM Z suporta.

Com folga.


ACEE em Sysplex

Curiosidade.


Não é compartilhado.


Cada sistema.

Possui contexto local.


Por design.


Mais seguro.


Mais rápido.


Segurança versus Performance

IBM fez excelente trabalho.


Mais segurança.

Menor custo.


Melhor experiência.


Easter Egg Bellacosa ☕

Imagine um castelo.

Sem ACEE.

Todo guarda.

Pergunta ao cartório.

Quem é você?


Com ACEE.

Basta olhar.

Crachá.


Cartório descansa.


Guardas felizes.


Visitantes felizes.


CPU feliz.


Sysprog feliz.


Dicas práticas para Sysprog Junior

Evite grupos desnecessários


Revise SPECIAL.


Monitore VERIFY.


Observe FASTAUTH.


Audite SMF80.


Analise IPCS.


Use zSecure.


Revise OMVS.


Evite privilégios excessivos.


Curiosidade histórica

Provavelmente.

O ACEE.

Economizou.

Bilhões.

De ciclos CPU.

Nos últimos.

40 anos.


Talvez seja.

Um dos control blocks.

Com melhor ROI.

Da história do Mainframe.


Resumo Executivo

ItemImpacto
CPUMuito Baixo
MemóriaBaixa
I/ORedução enorme
EscalabilidadeExcelente
SegurançaMuito Alta
SysplexContexto local
FASTAUTHFundamental
Grandes BancosAmplamente utilizado

Frase Bellacosa Mainframe

"O ACEE não acelera o Mainframe porque é poderoso. Ele acelera porque evita milhões de perguntas desnecessárias ao RACF. No Reino IBM Z, a melhor CPU é aquela que nunca precisou ser utilizada."


☕💥 Continua na Parte 5

ACEE – Troubleshooting, Dumps, IPCS, ICH408I, S047, S106, Auditoria, zSecure, Diagnóstico Avançado e Como Encontrar um ACEE Perdido em um Dump de Produção às 3 da manhã.


segunda-feira, 2 de maio de 2022

Auditoria de Software em Mainframe Muito Além do Código: Como Descobrir a Saúde de um Sistema que Movimenta Bancos, Seguradoras e Governos

 

Bellacosa Mainframe e a auditoria de software

☕ Um Café no Bellacosa Mainframe

Auditoria de Software em Mainframe

Muito Além do Código: Como Descobrir a Saúde de um Sistema que Movimenta Bancos, Seguradoras e Governos

"O bom desenvolvedor faz o programa funcionar. O excelente desenvolvedor faz o programa continuar funcionando durante décadas. A auditoria existe justamente para descobrir a diferença."


Introdução

Quando alguém ouve a palavra auditoria, normalmente imagina alguém procurando erros, apontando culpados ou produzindo relatórios intermináveis.

No universo do IBM Mainframe, a realidade é completamente diferente.

A auditoria de software é uma disciplina de engenharia.

Ela mede qualidade.

Mede risco.

Mede maturidade.

Mede sustentabilidade.

Principalmente, mede algo extremamente valioso:

a capacidade de um sistema continuar funcionando daqui a vinte anos.

Poucas plataformas do mundo possuem aplicações executando continuamente há 30, 40 ou até 60 anos.

Isso muda completamente a forma de avaliar software.

Enquanto no mundo web normalmente pergunta-se:

"Está funcionando?"

No IBM Z pergunta-se:

"Continuará funcionando depois das próximas mil mudanças?"

Essa pequena diferença muda toda a filosofia de auditoria.


A origem da auditoria de software

Curiosamente, a auditoria de software nasceu praticamente junto com os primeiros computadores comerciais.

Na década de 1960, grandes bancos perceberam um problema.

Era impossível validar manualmente milhões de transações.

Foi necessário criar processos para responder perguntas como:

  • Quem alterou este programa?

  • Quando?

  • Por quê?

  • Quem autorizou?

  • Existe documentação?

  • Existe teste?

  • Existe rollback?

Foi aí que nasceram conceitos que hoje chamamos de:

  • Governança

  • Compliance

  • Rastreabilidade

  • Gestão de Configuração

  • Segregação de Funções

Muito antes de DevOps existir.


Auditoria não procura bugs

Esse talvez seja o maior mito.

Uma auditoria séria quase nunca começa olhando código.

Ela começa olhando processos.

Porque processos ruins inevitavelmente geram software ruim.


O grande tripé

Toda auditoria madura observa três pilares.

Pessoas

Quem desenvolve?

Quem revisa?

Quem aprova?

Existe segregação?

Existe treinamento?

Existe documentação?


Processo

Como mudanças acontecem?

Existe fluxo formal?

Existe versionamento?

Existe rollback?

Existe aprovação?


Produto

Como está o software?

É complexo?

É duplicado?

É documentado?

É testado?

É sustentável?


O que normalmente é auditado

Uma auditoria completa pode analisar dezenas de aspectos.

Entre eles:

Código-fonte

  • COBOL

  • PL/I

  • Assembler

  • JCL

  • REXX

  • Easytrieve


Banco de Dados

  • DB2

  • IMS DB

  • VSAM


Processamento Batch

  • Dependências

  • Restart

  • Checkpoint

  • Performance


Online

  • CICS

  • IMS DC

  • MQ

  • APIs


Segurança

  • RACF

  • Permissões

  • Criptografia

  • Auditoria


Operação

  • JES2

  • WLM

  • RMF

  • SMF


Indicadores clássicos

Uma auditoria profissional mede indicadores.

Não opiniões.


1. Complexidade Ciclomática

Criada por Thomas McCabe em 1976.

Ela mede quantos caminhos independentes existem no programa.

Quanto maior o número...

Maior o risco.

Exemplo

IF

ELSE

END-IF

Possui baixa complexidade.

Agora imagine dezenas de:

IF

EVALUATE

PERFORM

GO TO

ALTER

A complexidade explode.


Valores típicos

Até 10 → Excelente

10–20 → Bom

20–40 → Atenção

Acima de 50 → Alto risco


2. Tamanho do Programa

Nem sempre maior significa pior.

Mas programas enormes costumam esconder problemas.

Exemplo

COBOL com

40.000 linhas

é muito diferente de

40 módulos com 1.000 linhas.


3. Acoplamento

Quanto um programa depende dos outros.

Alto acoplamento significa:

qualquer mudança provoca efeito dominó.


4. Coesão

Quanto um módulo faz apenas uma responsabilidade.

Alta coesão

é excelente.

Baixa coesão

indica "programa faz tudo".


5. Duplicação

Quanto código repetido existe.

Ferramentas modernas conseguem localizar blocos duplicados automaticamente.


6. Cobertura de Testes

Quantos caminhos realmente foram testados.

No Mainframe isso inclui:

Batch

Online

Abends

Rollback

Recovery

Restart


7. Taxa de Mudanças

Quantas alterações um programa recebe por ano.

Programas alterados constantemente merecem atenção especial.


8. Taxa de Defeitos

Quantos defeitos aparecem após produção.

Pode ser medida por:

1000 linhas

100 mudanças

Sprint

Release

Aplicação


9. Tempo Médio para Correção

MTTR

Quanto tempo demora para corrigir um incidente.


10. Disponibilidade

Quanto tempo o sistema permanece disponível.

No IBM Z frequentemente encontramos:

99,99%

99,999%

ou superior.


Rácios importantes

Uma auditoria raramente olha números isolados.

Ela cruza informações.


Defeitos por KLOC

Quantidade de defeitos

/

1000 linhas


Alterações por Programa

Mudanças

/

Quantidade de módulos


Incidentes por Release

Muito usado em bancos.


Percentual de Reprocessamentos

Quanto batch precisou ser executado novamente.


Percentual de Abends

Número de abends

/

Número total de Jobs


Percentual de Rollback

Importante para CICS.


Percentual de Mudanças Emergenciais

Mudanças urgentes

/

Mudanças totais

Quanto maior esse índice...

Menor costuma ser a maturidade.


Indicadores específicos de COBOL

Existem métricas interessantes.

Número médio de:

IF

EVALUATE

PERFORM THRU

GO TO

COPYBOOKS

DECLARATIVES

SQL EMBEDDED

CALL

Dynamic CALL

Static CALL


Indicadores de JCL

Quantidade média de:

STEP

COND

IF/THEN

RESTART

GDG

Temporary Dataset

SORT

IDCAMS

IEFBR14

Quanto maior a padronização...

Melhor.


Indicadores de DB2

Número de:

Tablespaces

Indexes

Packages

RUNSTATS vencidos

REORG pendentes

Locks

Deadlocks

Escalation

Access Path alterado


Indicadores CICS

Número médio de

Transações

Abends

Pseudo-Conversational

Syncpoint

Threadsafe

Storage Violations

Temporary Storage

Transient Data


Indicadores Operacionais

SMF

CPU

MSU

zIIP

Tempo Batch

Janela Batch

Fila JES

Espera em Dataset

Tempo em DB2

Tempo em MQ

Tempo em VSAM


O que um auditor experiente enxerga rapidamente

Ele procura padrões.

Por exemplo.

Programa de 60 mil linhas.

Pouquíssimos comentários.

Mais de 200 GO TO.

Sem testes.

Última documentação em 1998.

Esse programa funciona?

Provavelmente.

É saudável?

Talvez não.


As melhores práticas do mercado

1. Revisão por pares

Nenhum código importante deve entrar em produção sem revisão.


2. Versionamento

Hoje Git já faz parte do universo IBM Z.


3. Integração Contínua

Build automático.

Testes automáticos.

Deploy controlado.


4. Padronização

Naming.

Layout.

Comentários.

Copybooks.

Macros.


5. Código pequeno

Programas menores.

Mais simples.

Mais reutilizáveis.


6. Automatização

Quanto menos atividade manual...

Menor chance de erro.


7. Documentação viva

Nunca documente apenas uma vez.

Documentação envelhece.


8. Métricas contínuas

Não espere auditoria anual.

Métricas devem ser diárias.


Ferramentas frequentemente utilizadas

No ecossistema IBM Z encontramos soluções como:

  • IBM Application Discovery and Delivery Intelligence (ADDI)

  • IBM Developer for z/OS (IDz)

  • IBM Debug for z/OS

  • IBM File Manager

  • IBM Fault Analyzer

  • IBM Application Performance Analyzer

  • IBM z/OS Debugger

  • IBM Z IntelliMagic Vision

  • SonarQube (com plugins específicos para COBOL)

  • Micro Focus Enterprise Analyzer

  • BMC AMI DevX

  • Broadcom Endevor

  • IBM Engineering Workflow Management

Cada uma observa um aspecto diferente do ciclo de vida.


O que diferencia uma auditoria madura

Ela não gera apenas números.

Ela responde perguntas.

Como:

Onde está o maior risco?

Qual aplicação envelheceu?

Qual equipe produz menos defeitos?

Qual módulo merece refatoração?

Qual banco precisa reorganização?

Onde investir primeiro?


Um erro muito comum

Medir produtividade por linhas de código.

Isso é péssimo.

Um excelente desenvolvedor frequentemente reduz milhares de linhas.

Menos código.

Menos defeitos.

Menos manutenção.

Mais qualidade.


Outro erro clássico

Medir apenas velocidade.

Velocidade sem qualidade gera retrabalho.

Retrabalho custa caro.

Muito caro.


Curiosidade

Muitos bancos utilizam indicadores internos que jamais são divulgados.

Alguns acompanham centenas de métricas diariamente.

Não apenas software.

Também:

CPU

Storage

I/O

MSU

Licenciamento

Tempo de resposta

Custo por transação

Consumo energético

Capacidade futura


Easter Egg

Você sabia que um dos primeiros conceitos de métricas estruturadas para software surgiu antes mesmo da popularização da Engenharia de Software como disciplina?

Na década de 1970, organizações financeiras perceberam que um programa COBOL "que nunca dava problema" geralmente compartilhava características curiosas:

  • poucos desvios incondicionais (GO TO);

  • lógica de negócio bem dividida em parágrafos;

  • convenções de nomenclatura consistentes;

  • alterações pequenas e frequentes, em vez de grandes reescritas.

Décadas depois, muitos desses princípios foram formalizados em métricas de qualidade e continuam válidos até hoje.


Pontos de atenção

Nem toda dívida técnica aparece no código. Muitas vezes ela está na documentação ausente, nos processos informais ou na dependência de um único especialista.

Indicadores isolados enganam. Um programa grande pode ser excelente, enquanto um programa pequeno pode concentrar enorme risco. Sempre correlacione métricas.

Mudanças emergenciais recorrentes são um sinal de alerta. Se a exceção virou rotina, há problemas no planejamento, nos testes ou na governança.

Softwares críticos exigem histórico. Uma boa auditoria valoriza rastreabilidade: requisito, alteração, teste, aprovação e implantação devem formar uma cadeia verificável.

Ferramentas ajudam, mas não substituem experiência. Um relatório automatizado aponta sintomas; um auditor experiente identifica causas.


Como evoluir na carreira de Auditor de Software Mainframe

Se você deseja atuar nessa área, desenvolva competências em camadas:

Nível 1 — Fundamentos

  • COBOL

  • JCL

  • TSO/ISPF

  • SDSF

  • VSAM

  • DB2

  • CICS

Nível 2 — Operação

  • JES2

  • WLM

  • RMF

  • SMF

  • RACF

  • Catálogos

  • Performance

Nível 3 — Engenharia

  • Métricas de software

  • Refatoração

  • Arquitetura

  • Design de sistemas

  • Gestão de configuração

  • CI/CD para IBM Z

Nível 4 — Governança

  • ITIL

  • COBIT

  • ISO/IEC 25010 (qualidade de software)

  • ISO/IEC 12207 (ciclo de vida)

  • NIST Cybersecurity Framework

  • Auditoria baseada em risco

Nível 5 — Visão Estratégica

O diferencial dos grandes auditores não é conhecer todas as instruções do COBOL ou todos os parâmetros do JCL.

É conseguir responder perguntas como:

  • Onde estão os maiores riscos para o negócio?

  • Qual aplicação merece modernização primeiro?

  • Quanto custa manter esse sistema?

  • O risco de uma alteração é aceitável?

  • A arquitetura atual suporta o crescimento esperado?

Quando você conecta métricas técnicas aos objetivos do negócio, deixa de ser apenas um especialista em tecnologia e passa a atuar como um consultor estratégico.


Conclusão

A auditoria de software em Mainframe não é uma caça aos erros nem uma atividade burocrática. Ela é um processo contínuo de medição, análise e melhoria que transforma dados em decisões. Organizações que monitoram indicadores de qualidade, complexidade, desempenho, segurança e manutenção conseguem reduzir riscos, aumentar a estabilidade e prolongar a vida útil de aplicações que sustentam operações críticas há décadas.

No estilo Bellacosa Mainframe, vale lembrar uma última lição:

"Software não envelhece porque foi escrito em COBOL. Ele envelhece quando ninguém mais consegue entendê-lo, medi-lo ou evoluí-lo. A melhor auditoria não é a que encontra problemas; é a que cria um ambiente onde eles deixam de nascer."

Porque, no fim das contas, um sistema crítico não é aquele que nunca muda. É aquele que consegue mudar continuamente sem perder a confiança de milhões de usuários. Essa é a verdadeira medida de excelência em engenharia de software no IBM Z.

quinta-feira, 17 de junho de 2021

☕💥 A Jornada do Sysprog Padawan – SAF : Easter Eggs, Segredos de Sysprog, Curiosidades Históricas - Parte VI

 

Bellacosa Mainframe apresenta o SAF Parte VI

☕💥 A Jornada do Sysprog Padawan – Parte 6

SAF – Easter Eggs, Segredos de Sysprog, Curiosidades Históricas e Como Impressionar um IBM Distinguished Engineer em Cinco Minutos

O Guia Definitivo do Guardião do Reino IBM Z

"Existem tecnologias famosas no Mainframe. E existem tecnologias tão importantes que ninguém percebe que elas existem. O SAF pertence à segunda categoria."

Bellacosa Mainframe


Introdução

Chegamos ao último capítulo da nossa jornada.

Aprendemos:

✓ O que é SAF

✓ Anatomia Interna

✓ VERIFY

✓ AUTH

✓ FASTAUTH

✓ ACEE

✓ Performance

✓ Troubleshooting

✓ SMF80

✓ IPCS

✓ Dumps

Agora vamos explorar aquilo que normalmente não aparece nos cursos, manuais ou apresentações comerciais.

Vamos falar sobre os segredos do SAF.


Easter Egg 1

O SAF provavelmente é mais utilizado do que o próprio RACF

Pode parecer estranho.

Mas faz sentido.


RACF.

Decide.


SAF.

Recebe.


Encaminha.


Retorna.


Praticamente.

Tudo.

Passa.

Por ele.


CICS.


IMS.


MQ.


DB2.


USS.


JES2.


OpenSSH.


FTP.


LDAP.


Zowe.


Ansible.


Java.


Python.


REST APIs.


Provavelmente.

O SAF.

É um dos.

Componentes.

Mais executados.

Do zOS.


Easter Egg 2

SAF não é um produto

Muitos iniciantes acreditam.

Vou instalar SAF.

Não.


SAF.

Faz parte.

Do z/OS.


Não é.

Licença.

Separada.


Não possui.

Painéis.


Não possui.

ISPF.


Não possui.

Banco.


Não possui.

Usuários.


Ele.

É.

Uma infraestrutura.


Easter Egg 3

O SAF foi uma ideia brilhante da IBM

Imagine.


CICS.

Implementa.

Segurança.

Própria.


IMS.

Outra.


DB2.

Outra.


MQ.

Outra.


USS.

Outra.


Resultado.

Caos.


IBM criou.

SAF.


E resolveu.

Décadas.

De problemas.


Easter Egg 4

O SAF é praticamente um barramento de segurança

Analogia moderna.


Kafka.

Transporta mensagens.


MQ.

Transporta mensagens.


SAF.

Transporta.

Decisões.

De segurança.


Excelente.

Explicação.

Para arquitetos.


Easter Egg 5

O SAF adora ACEEs

Sem.

ACEE.


Cada.

AUTH.

Consultaria.

RACF.


Muito.

Mais.

CPU.


Muito.

Mais.

I/O.


Muito.

Mais.

Locks.


SAF.

Ama.

FASTAUTH.

E.

Ama.

ACEE.


Easter Egg 6

O verdadeiro trabalho pesado é evitar trabalho pesado

Parece piada.

Mas.

Não é.


A genialidade.

Do SAF.

Não está.

Em fazer.

Mais.


Está.

Em evitar.

Milhões.

De chamadas.

Desnecessárias.


Easter Egg 7

SMF conhece tudo

SMF80.


VERIFY.


AUTH.


Falhas.


Revogações.


MFA.


Certificates.


Logons.


Negações.


FASTAUTH.


Auditores.

Adoram.


Sysprogs.

Também.


Easter Egg 8

O dump nunca mente

Bellacosa Rule.


Usuário.

Pode.

Mentir.


Aplicação.

Pode.

Mentir.


Log.

Pode.

Confundir.


Equipe.

Pode.

Culpar.

RACF.


Mas.

Dump.

Nunca.

Mente.


Curiosidade Histórica

Década.


MVS.


Década.


RACF.


Década.


OS390.


Internet.


Década.


USS.


Java.


LDAP.


Década.


MFA.


Passkeys.


OIDC.


Zero Trust.


Década.

2030?


Quantum Safe.


Identity Fabric.


Passwordless.


Muito provável.

Que.

SAF.

Continue.

Aqui.


O relacionamento do SAF

RACF

Decide.


ACEE

Lembra.


SMF

Escreve.


APF

Protege.


ICSF

Criptografa.


OMVS

Expande.


DB2

Consome.


MQ

Consome.


CICS

Consome.


IMS

Consome.


USS

Consome.


Como impressionar um Security Architect

Pergunta.

O que é SAF?

Resposta comum.

Interface do RACF.


Resposta Bellacosa.

O SAF é uma infraestrutura nativa do z/OS responsável por padronizar solicitações de autenticação e autorização entre aplicações e External Security Managers, utilizando RACROUTE, ACEEs e serviços otimizados como FASTAUTH para sustentar bilhões de decisões de segurança por dia com baixíssimo impacto de CPU.

Provavelmente.

A entrevista.

Acabou.

De mudar.

De nível.


Como impressionar um Distinguished Engineer

Diga.

O SAF não implementa segurança.

Ele implementa.

Desacoplamento.

Escalabilidade.

E interoperabilidade.

Entre aplicações.

E ESMs.


Ele.

Provavelmente.

Vai sorrir.


O maior erro do Sysprog Junior

Pensar.

Segurança.

=

RACF.


Não.


Segurança.

É.

Hardware.

ICSF.

SAF.

RACF.

SMF.

APF.

ACEE.

Auditoria.

Pessoas.

Processos.


Checklist do Guardião do Reino IBM Z

Estudar

RACROUTE


VERIFY


AUTH


FASTAUTH


ACEE


SMF80


IPCO


IPCS


zSecure


Classes

TCICSTRN

DSNR

MQADMIN

OPERCMDS

SURROGAT

UNIXPRIV

JESJOBS

FACILITY


A lenda das 3h17 ☕

Telefone toca.


Produção.

Parada.


DB2 culpa.

MQ.


MQ culpa.

USS.


USS culpa.

RACF.


Segurança.

Culpa.

SAF.


Sysprog.

Abre.

IPCS.


Segue.

TCB
↓

ASCB
↓

ASXB
↓

ACEE
↓

SAF Context

Descobre.

Perfil.

Errado.


03:31.

Sistema.

Volta.


03:32.

PIX.

Volta.


03:33.

Café.

Esfria.


03:34.

Sysprog.

Sorri.


03:35.

O Reino IBM Z.

Continua.

De pé.


Frase Bellacosa Mainframe

"O RACF conhece as leis do reino. O ACEE conhece o viajante. O SMF escreve a história. O APF protege os segredos. O ICSF guarda o tesouro. Mas é o SAF que passa o dia inteiro recebendo pedidos, consultando o cartório e abrindo ou fechando portas dentro do Reino IBM Z."


☕💥 Missão Concluída

Parabéns, Padawan.

Você concluiu uma jornada completa sobre o SAF, uma das tecnologias mais importantes, discretas e elegantes do ecossistema IBM Z. Agora você não apenas sabe que o SAF existe. Você compreende por que ele foi criado, como ele opera, como diagnosticar seus problemas, como medir seu impacto e por que ele continua sendo um dos pilares silenciosos que ajudam o IBM Z a proteger trilhões de dólares em transações todos os dias.


sexta-feira, 7 de maio de 2021

☕💥 A Jornada do Sysprog Padawan – SAF : Troubleshooting, IPCS, ICH408I, RC=8, Dumps, SMF80 - Parte V

 

Bellacosa Mainframe apresenta o SAF Parte V

☕💥 A Jornada do Sysprog Padawan – Parte 5

SAF – Troubleshooting, IPCS, ICH408I, RC=8, Dumps, SMF80 e Como Encontrar o Verdadeiro Culpado às 3h da Manhã

O Guia de Sobrevivência do Guardião do Reino IBM Z

"No Reino IBM Z existem dois tipos de problemas de segurança: os que parecem ser do RACF e os que realmente são do RACF."

Bellacosa Mainframe


Introdução

Nas partes anteriores aprendemos:

✓ O que é SAF

✓ Anatomia interna

✓ VERIFY

✓ AUTH

✓ FASTAUTH

✓ Performance

✓ ACEE

✓ Escalabilidade

Agora chegamos ao momento que todo Sysprog eventualmente enfrenta.

Produção caiu.

Telefone toca.

03:17.

Alguém grita:

O RACF está quebrado!

O Sysprog experiente faz uma pergunta simples.

Tem certeza?


O princípio Bellacosa

Antes de culpar o RACF.

Pergunte.

Quem chamou?


Quem respondeu?


Quem registrou?


Quem criou o ACEE?


Quem negou?


Quem fez VERIFY?


Quem fez FASTAUTH?


Normalmente.

A resposta.

Está.

No SAF.


Sintomas clássicos

RC=8

Mais famoso.


Acesso.

Negado.


ICH408I

Mensagem clássica.


RC=12

Erro.


RC=16

Falha.

Severa.


MQRC 2035

MQ.


SQLCODE -551

DB2.


NOT AUTHORIZED

CICS.


Permission denied

USS.


Ferramentas do Sysprog Jedi

IPCS

Sabre de luz.


SMF80

Livro de ocorrências.


zSecure

Radar.


SDSF

Central.

Operacional.


RACF Commands

Cartório.


Caso 1

ICH408I

A rainha.

Das mensagens.


Exemplo.

ICH408I USER(VBELLACO)

GROUP(SYS1)

NAME(VAGNER)

DATASET PROD.DB2.MASTER

CL(DATASET)

ACCESS INTENT(READ)

ACCESS ALLOWED(NONE)

Tradução.

Usuário.

Tentou.

Ler.


RACF.

Negou.


Perguntas Bellacosa

Classe ativa?


Perfil existe?


Grupo correto?


ACEE atualizado?


FASTAUTH.

Cache velho?


Comandos úteis

RLIST DATASET PROD.DB2.MASTER ALL

SEARCH CLASS(DATASET)

SETROPTS LIST

Caso 2

RC=8

Não autorizado.


Exemplo.

MQOPEN.


Fluxo.

MQ

↓

FASTAUTH

↓

SAF

↓

MQADMIN

↓

RC=8

Possíveis causas.

Perfil.

Ausente.


Permissão.

Removida.


Grupo.

Errado.


Caso 3

DB2

SQLCODE.

-551

Usuário.

Não autorizado.


Tabela.


Plano.


Package.


Classe.

DSNR.


Diagnóstico

RLIST DSNR

Caso 4

CICS

Usuário.

Executa.

PAY1.


Resposta.

NOT AUTHORIZED

Perfil.

TCICSTRN.


Classe.

Ativa?


Permissão?

Existe?


Caso 5

USS

SSH.

Falha.


Mensagem.

Permission denied

Pode ser.

UID.


HOME.


Shell.


OMVS.


Certificado.


MFA.


Diagnóstico

LU USERID

Verificar.

OMVS.


UID.


HOME.


PROGRAM.


Caso 6

Started Tasks

DB2P.

Não sobe.


MQM1.

Não sobe.


CICSPRD.

Falha.


Verificar.

STARTED.

Classe.


Exemplo.

RLIST STARTED MQM1 ALL

Caso 7

FASTAUTH

Curioso.


Às vezes.

O problema.

Não está.

No RACF.


Está.

No contexto.


ACEE.

Desatualizado.


Token.

Expirado.


Sessão.

Antiga.


Como investigar?

SMF80

Nosso.

Melhor.

Amigo.


Registra.

VERIFY.


AUTH.


Falhas.


Revogações.


Certificados.


MFA.


O que procurar?

RC.


RSN.


Timestamp.


Classe.


Perfil.


Userid.


LPAR.


Jobname.


zSecure

Facilita.

Muito.


Relatórios.


Compliance.


Diferenças.


Pesquisa.


IPCS

O sabre.

Do Jedi.


Dump.

TCB.

ASCB.

ACEE.

Flags.

UID.

Groups.


O segredo do dump

Dump.

Nunca.

Mente.


Pessoas.

Mentem.


Aplicações.

Mentem.


Logs.

Confundem.


Dump.

Conta.

A verdade.


O caso das 3h17

Banco.

Parado.


PIX.

Parado.


Equipe.

DB2.

Culpa.

RACF.


Equipe.

Segurança.

Culpa.

MQ.


Equipe.

MQ.

Culpa.

USS.


Sysprog.

Abre.

IPCS.


Verifica.

ACEE.


Descobre.

Grupo.

Removido.


03:29.

Sistema.

Volta.


Café.

Frio.


Produção.

Salva.


Checklist Bellacosa

Verificar

SMF80


ICH408I


RLIST


SEARCH


STARTED


TCICSTRN


DSNR


MQADMIN


OPERCMDS


SURROGAT


UNIXPRIV


ACEE


FASTAUTH


IPCS


Easter Egg Bellacosa ☕

Existe.

Um momento.

Na carreira.

Em que.

Você abre.

Um dump.


Segue.

PSA

↓

TCB

↓

ASCB

↓

ASXB

↓

ACEE

E pensa.

Acho que finalmente comecei a conversar com o Reino IBM Z.


Como impressionar um Security Architect

Diga.

RC=8 raramente é a causa raiz.

É apenas.

O sintoma.

Precisamos entender.

Quem chamou.

Quem respondeu.

Qual classe.

Qual perfil.

Qual ACEE.

Qual FASTAUTH.

Qual SMF.

E qual contexto.

Foi utilizado.


Provavelmente.

A conversa.

Mudará.

De nível.


Frase Bellacosa Mainframe

"O desenvolvedor procura mensagens. O administrador procura permissões. O Security Analyst procura auditoria. Mas o Sysprog Jedi conversa com o SAF até que ele conte exatamente por que decidiu abrir ou fechar uma porta do Reino IBM Z."


☕💥 Continua na Parte 6

SAF – Easter Eggs, Curiosidades Históricas, Segredos de Sysprog, Perguntas de Entrevista, Checklist Definitivo e Como Impressionar um IBM Distinguished Engineer em Cinco Minutos.


terça-feira, 6 de abril de 2021

☕💥 A Jornada do Sysprog Padawan – SAF : Performance, CPU, Memória e Escalabilidade - Parte IV

 

Bellacosa Mainframe apresenta o saf parte IV

☕💥 A Jornada do Sysprog Padawan – Parte 4

SAF – Performance, CPU, Memória e Escalabilidade

Quanto custa uma chamada SAF? Como bancos executam bilhões de autorizações por dia?

"No Reino IBM Z, a melhor autorização é aquela que acontece tão rápido que ninguém percebe que aconteceu."

Bellacosa Mainframe


Introdução

Nas partes anteriores descobrimos:

  • O que é SAF

  • Sua anatomia interna

  • Como funciona no TSO, CICS, IMS, MQ, DB2, USS e JES2

Agora chegamos ao território favorito dos Sysprogs:

Performance

CPU.

Memória.

Escalabilidade.

Throughput.


A pergunta que todo gerente faz

Quanto custa o SAF?


Resposta curta.

Muito pouco.


Resposta de Sysprog.

Depende.


O problema que a IBM resolveu

Imagine.

Banco.

50 CICS.

3 IMS.

2 DB2.

JES.

VTAM.


Sem SAF.

Cada produto.

Implementaria.

Autorização.

Própria.


Duplicação.

CPU.

I/O.

Complexidade.


Com SAF.

Uma arquitetura.

Centralizada.


Muito mais eficiente.


O custo de uma chamada

VERIFY

Mais cara.


Cria.

ACEE.


Consulta.

RACF.


Perfis.


MFA.


Certificados.


Passphrase.


OMVS.


Labels.


AUTH

Médio.


Verifica.

Permissões.


Classe.

Perfil.


Pode utilizar.

Cache.


FASTAUTH

Nosso campeão.


Baixíssimo.

Consumo.


Poucos ciclos.

CPU.


Muito utilizado.

Em alto volume.


Exemplo

CICS.

100 mil TPS.


Sem FASTAUTH.

CPU sobe.


Com FASTAUTH.

Sistema.

Voa.


Onde SAF economiza?

I/O

Grande benefício.


Sem SAF.

Mais consultas.


Com SAF.

Mais cache.


Menos disco.


Locks

Menos.

Contention.


Menos.

ENQ.


Melhor.

Escalabilidade.


ACEE

Nosso herói.


Evita.

Consultar.

RACF.

Toda hora.


Exemplo simplificado

Sem ACEE.

10 milhões AUTH

↓

10 milhões RACF

Com ACEE.

10 milhões AUTH

↓

1 VERIFY

↓

9.999.999 ACEE

Economia.

Enorme.


Memória

Pouco impacto.


Buffers.


Contextos.


Caches.


Tabelas.


Insignificante.

Para z16.

z17.


O segredo

IBM prefere.

Memória.


IBM odeia.

I/O.


SAF segue.

Essa filosofia.


O SAF possui cache?

Sim.


ESM.

Pode utilizar.

Caches.


FASTAUTH.

Ajuda.

Muito.


Grandes bancos

Possuem.

Bilhões.

De verificações.


Por dia.


Mesmo assim.

CPU.

Permanece.

Baixa.


Porque.

SAF.

É extremamente.

Otimizado.


O impacto no CICS

Sem SAF.


Cada.

Transação.

Consultaria.

RACF.


Impossível.


Com SAF.


FASTAUTH.


ACEE.


Cache.


Resultado.

Excelente.


MQ

MQOPEN.


MQGET.


MQPUT.


FASTAUTH.

É praticamente.

Obrigatório.


DB2

SQL.


Permissões.


Plan.


Package.


DSNR.


Tudo.

Muito rápido.


USS

SSH.


Git.


Python.


Zowe.


Ansible.


OpenSSH.


Utilizam.

VERIFY.


AUTH.


Sem problemas.

De escala.


O que degrada performance?

Muitas verificações VERIFY


Criações.

Excessivas.

ACEE.


Muitas falhas

RC=8.


Negações.


Perfis.

Complexos.


Certificados.

Demais.


Labels.

Complexos.


Como medir?

RMF.


SMF.


SMF80.


SMF30.


OMEGAMON.


zSecure.


Security Monitor.


Métricas interessantes

VERIFY.

Rate.


AUTH.

Rate.


FASTAUTH.

Hits.


Cache.

Misses.


RC.


Falhas.


Sysplex

Curiosidade.


SAF.

Existe.

Em cada.

LPAR.


Não é.

Compartilhado.


Por design.


Mais seguro.


Mais rápido.


O custo real

Normalmente.

Muito.

Menor.

Do que.

As pessoas.

Imaginam.


O maior.

Consumidor.

Geralmente.

Não é.

SAF.


São.

Aplicações.

Mal projetadas.


Dicas Bellacosa

Evite.

VERIFY.

Desnecessário.


Use.

FASTAUTH.


Monitore.

SMF80.


Estude.

ACEE.


Revise.

Classes.


Observe.

Negações.


Menos.

RC=8.

Melhor.

Performance.


Easter Egg Bellacosa ☕

Imagine.

Um castelo.

Com.

100 mil.

Visitantes.

Por hora.


Sem SAF.

Todos.

Correm.

Para o cartório.


Caos.


Com SAF.

O porteiro.

Olha.

O crachá.


Libera.

Em segundos.


Cartório.

Descansa.


CPU.

Descansa.


Sysprog.

Toma café.


Curiosidade Histórica

Provavelmente.

O SAF.

Já economizou.

Trilhões.

De instruções.

CPU.


Desde.

OS390.

Até.

zOS 3.1.


Talvez.

Seja.

Uma das.

Rotinas.

Mais utilizadas.

Da história.

Do IBM Z.


Checklist do Sysprog Jedi

Monitorar.

SMF80.


Analisar.

FASTAUTH.


Evitar.

VERIFY.

Em excesso.


Entender.

ACEE.


Revisar.

Classes.


Auditar.

Negações.


Conhecer.

RMF.


Utilizar.

zSecure.


Como impressionar um Security Architect

Diga:

O SAF é uma infraestrutura de autorização altamente otimizada, orientada a ACEEs e FASTAUTH, projetada para minimizar I/O, reduzir contenção e sustentar bilhões de decisões de segurança diárias em ambientes de missão crítica.

Provavelmente.

A entrevista.

Mudará.

De nível.


Frase Bellacosa Mainframe

"O RACF decide. O ACEE lembra. O SMF registra. Mas é o SAF que trabalha silenciosamente bilhões de vezes por dia para que ninguém perceba que a segurança está funcionando perfeitamente."


☕💥 Continua na Parte 5

SAF – Troubleshooting, ICH408I, RC=8, IPCS, Dumps, SMF80, zSecure e Como Encontrar o Verdadeiro Culpado às 3h da Manhã Quando Todo Mundo Está Culpando o RACF.