Translate

Mostrar mensagens com a etiqueta SAF. Mostrar todas as mensagens
Mostrar mensagens com a etiqueta SAF. 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

 

quinta-feira, 9 de abril de 2026

🔥 SEU MAINFRAME ESTÁ SEGURO… OU SÓ PARECE?

 

Bellacosa Mainframe em um pequeno bate papo sobre segurança racf saf

🔥 SEU MAINFRAME ESTÁ SEGURO… OU SÓ PARECE?

A Verdade Crua da Segurança no z/OS (Do RACF ao Crypto Express)


☕ Introdução — Um Café com a Realidade

Se você acha que segurança no mainframe é “coisa do passado”, deixa eu te dar um choque de realidade:

O z/OS é um dos ambientes mais seguros do planeta — mas só quando bem configurado.

Porque na prática?

👉 O problema nunca foi a tecnologia
👉 O problema sempre foi quem configura

E é exatamente aqui que começa nossa jornada.


🕰️ Um pouco de história (e por que isso importa)

Nos anos 70, quando surgiram os primeiros sistemas corporativos massivos, a IBM percebeu algo:

“Se todo mundo acessa tudo… uma hora dá ruim.”

Nasce então o conceito de controle centralizado de acesso, que evolui para:

  • RACF
  • SAF
  • E todo o ecossistema de segurança do z/OS

Enquanto o mundo distribuído ainda estava descobrindo autenticação…

👉 O mainframe já tinha segurança granular por recurso


🧠 O Coração da Segurança: SAF + RACF

Pensa nisso como um fluxo batch:

Usuário → SAF → RACF → decisão (ALLOW / DENY)

🧩 Quem faz o quê?

  • SAF → interface (o “porteiro”)
  • RACF → decisão (o “juiz”)

💡 Easter egg Bellacosa:

SAF nunca decide nada… ele só “encaminha o problema” 😄


🔐 O Mandamento Supremo: Least Privilege

Se você tiver que lembrar de UMA coisa:

“Dê o mínimo necessário — nunca o máximo possível.”

Exemplo clássico:

  • Admin RACF → gerencia segurança
  • Storage admin → só mexe em dataset

👉 Separação + privilégio mínimo = sistema saudável


💣 O ERRO QUE MAIS DERRUBA AMBIENTE

❌ PROTECTALL desligado

Sem isso:

Dataset sem perfil → acesso liberado 😱

👉 Simples assim.
👉 Sem perfil = sem segurança

💡 Curiosidade:
Muitos incidentes em mainframe não são ataques…
São configuração mal feita.


🔥 Criptografia no z/OS: Outro nível

Enquanto muita gente ainda “liga TLS”, o z/OS já faz:

🔐 Pervasive Encryption

  • Dados em disco
  • Dados em trânsito
  • Dados protegidos sem mudar aplicação

🧬 A Hierarquia das Chaves (isso cai MUITO!)

Master Key → protege → Operational Key → protege → Data

Tipos importantes:

  • Master Keys → topo da cadeia
  • Symmetric → performance
  • Asymmetric → troca segura
  • Operational → uso diário

💡 Easter egg:

Se perder a master key… acabou o jogo.


⚙️ ICSF — O Tradutor da Criptografia

Aplicação nunca fala direto com hardware.

Ela fala com:

👉 ICSF

Que fala com:

👉 CPACF / Crypto Express


🛡️ Níveis de proteção (isso é ouro de prova)

NívelSegurança
Clear Key😬
Protected Key👍
Secure Key🔥🔥🔥

👉 Secure Key = dentro do hardware (Crypto Express)


💻 APF — Quem pode ser “superpoderoso”

Nem todo programa pode rodar com privilégio.

👉 Só quem está no APF

Programa fora do APF → sem privilégio
Programa no APF → modo supervisor

💡 Isso evita:

  • código malicioso
  • erro catastrófico

🌐 Rede no z/OS — Não é só TCP/IP

z/OS Communications Server

  • TCP/IP (moderno)
  • SNA (legado que ainda vive 😄)

Segurança:

  • TLS → camada transporte
  • IPSec → VPN (nível rede)

📊 SMF — O “log que conta tudo”

Se algo aconteceu:

👉 O SMF sabe

Mas atenção:

Nada é logado automaticamente se você não configurar


🧪 Caso real (estilo Bellacosa)

Empresa com:

  • RACF instalado
  • Criptografia ativa
  • Auditoria configurada

Mas…

❌ PROTECTALL desligado
❌ UACC READ em datasets críticos

Resultado?

👉 Vazamento interno
👉 Sem ataque externo

💡 Moral:

Segurança não é tecnologia — é configuração.


🧠 Mentalidade Mainframe

Enquanto no mundo distribuído se fala:

“vamos adicionar segurança”

No mainframe é:

“vamos NÃO remover a segurança”


🔥 Frases pra tatuar no cérebro

  • “SAF conecta, RACF decide”
  • “Sem PROTECTALL, está exposto”
  • “Sem chave, não há segurança”
  • “ALL = mostra tudo”
  • “SPECIAL = poder total (cuidado!)”

🏁 Conclusão — A Verdade Final

O z/OS não é seguro por acaso.

Ele é seguro porque:

  • Foi projetado assim
  • Evoluiu assim
  • Exige disciplina

Mas…

Um mainframe mal configurado é tão vulnerável quanto qualquer outro sistema.


☕ Fechamento estilo Bellacosa

Segurança no mainframe não é só técnica.

É filosofia.

É controle.

É respeito ao sistema.

E principalmente:

É saber que o perigo não está fora… está dentro da configuração.

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, 22 de agosto de 2022

☕💥 A Jornada do Sysprog Padawan – ACEE : O Nascimento do Crachá Mágico do Reino IBM Z - Parte III

 

Bellacosa Mainframe apresenta ACEE parte III

☕💥 A Jornada do Sysprog Padawan – Parte 3

ACEE – O Nascimento do Crachá Mágico do Reino IBM Z

Como o ACEE é criado no TSO, CICS, IMS, USS, Batch, MQ e DB2

"Todo ACEE possui uma história. Ele nasce, trabalha silenciosamente protegendo o reino IBM Z e desaparece sem deixar rastros quando a sessão termina."

Bellacosa Mainframe


Introdução

Na Parte 1 conhecemos o ACEE.

Na Parte 2 desmontamos sua anatomia.

Agora chegamos à pergunta que todo Sysprog Junior faz:

Quem cria o ACEE?

A resposta curta é:

RACF.

Mas a resposta de Sysprog é:

Depende do ambiente, do tipo de autenticação, do contexto da requisição e dos serviços SAF utilizados.


O ciclo de vida do ACEE

O ACEE possui quatro estágios.

CREATE

↓

USE

↓

UPDATE

↓

DELETE

Estágio 1 — Criação

Criado pelo RACF.

Pode ocorrer durante:

  • TSO Logon

  • Batch

  • Started Task

  • CICS Attach

  • IMS Signon

  • DB2 Connect

  • USS Login

  • SSH

  • FTP

  • MQ Connection


Estágio 2 — Utilização

Usado por:

  • SAF

  • DB2

  • CICS

  • IMS

  • MQ

  • USS

  • SDSF

  • JES2


Estágio 3 — Atualização

Pode sofrer ajustes.

Exemplos:

Mudança de grupo

Token MFA

Security Label

Kerberos

Certificate Mapping


Estágio 4 — Destruição

Logoff

Task End

Address Space End

Timeout

Cancel Job

Terminate Thread


Caso 1 — TSO Logon

O cenário clássico.

Usuário:

LOGON VBELLACO

Passo 1

IKJEFT01 recebe.


Passo 2

SAF intercepta.


Passo 3

RACF VERIFY.


Verifica:

Senha

Passphrase

MFA

Certificate

Revoked

Expired


Passo 4

Monta ACEE.


Passo 5

Associa ao TCB.


Passo 6

Usuário entra no ISPF.


Fluxo

USER
 │
 ▼
TSO
 │
 ▼
SAF
 │
 ▼
RACF VERIFY
 │
 ▼
CREATE ACEE
 │
 ▼
TCB
 │
 ▼
ISPF

RACROUTE VERIFY

Um dos serviços favoritos dos Sysprogs.

Exemplo conceitual

RACROUTE REQUEST=VERIFY

Objetivo

Criar ACEE.

Validar credenciais.


Resultado

RC=0

ACEE pronto


Falha

ICH408I


Caso 2 — Batch

JCL

//JOB001 JOB ...


//STEP1 EXEC PGBM=IEFBR14

JES recebe.


Analisa USER=

Exemplo

USER=VBELLACO

SAF

RACF

ACEE

JOB


Caso 3 — Started Tasks

Muito importante.

Exemplo

MQM1

Ou

CICSPRD

Ou

DB2P

Utilizam

STARTED Class


Mapeamento

STC

Userid

ACEE


Caso 4 — USS

Login SSH.


Usuário

ssh vagner@zos

OpenSSH

SAF

RACF

OMVS Segment

ACEE

Shell


Resultado

$

Prompt liberado.


Caso 5 — CICS

Muito interessante.


Região CICS já possui ACEE.


Usuário conecta.


Pode ser criado outro.


Fluxo

Terminal

↓

CICS

↓

SAF

↓

RACF

↓

ACEE

↓

Transaction

Exemplo

PAY1


CICS pergunta

Pode?


SAF usa ACEE.


Resposta.

SIM.

NÃO.


Caso 6 — IMS

Muito parecido.


MPP


BMP


IMS Connect


OTMA


Criam contexto.


Associam ACEE.


Caso 7 — DB2

Thread.


Thread cria contexto.


DB2 usa ACEE.


Verifica.

Plan

Package

Table

View

SP


Exemplo

SELECT *
FROM CLIENTES

DB2 consulta.

ACEE.


Não precisa perguntar senha novamente.


Caso 8 — MQ

MQCONN

MQOPEN

SAF

ACEE

MQADMIN


FASTAUTH

Outro Easter Egg.


Serviço rápido.


Menos CPU.


Menos I/O.


Mais cache.


Muito usado.


Performance incrível.


ACEE Cloning

Pouca gente conhece.


Pode ser copiado.


Criado.


Passado.


Duplicado.


Entre contextos.


Mas requer autorização.


ACEE Substitution

Tema delicado.


Programas APF.

Podem.


Ferramentas IBM.

Sim.


Aplicações comuns.

Não.


Quem destrói o ACEE?

Normalmente.

Sistema.


Fim da sessão.


Fim do JOB.


Cancel.


Abend.


Timeout.


Thread End.


Problemas comuns

ICH408I

Autorização.


Senha.


Grupo.


Classe.


Perfil.


S047

Contexto inválido.


S106

Problema APF.


RC=8 VERIFY

Falha RACF.


UID Missing

USS.


OMVS.


Como acompanhar?

SMF80


RACF Logging


zSecure


IPCO


IPCS


Security Monitor


Curiosidade Bellacosa ☕

Imagine novamente o castelo.

TSO

é a porta principal.

SSH

é a entrada lateral.

CICS

é a ala administrativa.

DB2

é a biblioteca.

MQ

é o correio.

IMS

é o setor financeiro.

USS

é o bairro tecnológico.

E em todas essas portas existe um pequeno funcionário invisível dizendo:

"Por favor, apresente seu crachá ACEE."

Se estiver válido.

Você entra.

Se não estiver.

O Reino IBM Z simplesmente responde:

ACCESS DENIED

Resumo para guardar

AmbienteCria ACEE
TSOSim
USSSim
BatchSim
Started TaskSim
CICSSim
IMSSim
DB2Utiliza
MQUtiliza
SSHSim
FTPSim

☕💥 Frase Bellacosa Mainframe

"O RACF forja o crachá. O SAF o apresenta aos guardas. O ACEE acompanha o viajante. E o Sysprog garante que nenhuma porta do Reino IBM Z seja aberta para quem não deveria atravessá-la."


☕💥 Continua na Parte 4

ACEE – Performance, CPU, Memória e Escalabilidade

Quanto custa um ACEE? Quantos podem existir? Como FASTAUTH reduz CPU? O que acontece em bancos com centenas de milhares de sessões simultâneas? Como medir, auditar e otimizar?

sexta-feira, 15 de julho de 2022

☕💥 A Jornada do Sysprog Padawan – ACEE : Anatomia do Crachá Mágico do Reino IBM Z - Parte II

 

Bellacosa Mainframe apresenta o ACEE Parte II

☕💥 A Jornada do Sysprog Padawan – Parte 2

ACEE – Anatomia do Crachá Mágico do Reino IBM Z

O que realmente existe dentro de um ACEE?

"Todo Sysprog olha para um dump. O Sysprog Jedi conversa com os control blocks."

Bellacosa Mainframe


Introdução

Na Parte 1 descobrimos que o ACEE é praticamente o crachá encantado do Reino IBM Z.

Mas afinal...

O que existe dentro dele?

Ele possui apenas o userid?

Possui senha?

Está criptografado?

Pode ser alterado?

Quem consegue enxergá-lo?

Quanto espaço ocupa?

É isso que vamos explorar.


Antes de tudo

O ACEE é um Control Block do RACF.

Ele é criado em memória.

Não é VSAM.

Não é DB2.

Não é Dataset.

Não é USS File.

Ele simplesmente nasce, vive durante a sessão e desaparece ao final dela.


Onde mora o ACEE?

Depende.

Pode estar associado a:

TCB

Task Control Block


ASCB

Address Space Control Block


SRB

Service Request Block


OMVS Process


DB2 Thread


CICS Task


IMS Region


Started Task


Anatomia simplificada

Podemos imaginar o ACEE como uma estrutura lógica.

+--------------------------------+
| ACEE HEADER                    |
+--------------------------------+
| USERID                         |
+--------------------------------+
| GROUPS                         |
+--------------------------------+
| SPECIAL FLAGS                  |
+--------------------------------+
| UID / GID                      |
+--------------------------------+
| CERTIFICATES                   |
+--------------------------------+
| MFA                            |
+--------------------------------+
| SECURITY LABELS                |
+--------------------------------+
| CUSTOM ATTRIBUTES              |
+--------------------------------+
| POINTERS                       |
+--------------------------------+

Naturalmente a IBM não documenta tudo detalhadamente para programação de aplicações comuns.

Mas Sysprogs adoram estudar essas estruturas.


Campo 1 — USERID

O mais conhecido.

Exemplo

VBELLACO

Pode possuir até oito caracteres.


Ele representa:

Quem você é.


Mas atenção.

Senha NÃO fica armazenada.


Passphrase também não.


Hash de senha também não.


Segurança agradece.


Campo 2 — Nome do Grupo

Exemplo

SYS1

ou

MQADMIN

Grupo primário.


Grupo conectado.


Grupo default.


Campo 3 — Connected Groups

Pode haver dezenas.

Exemplo

DBA

SYSOPER

MQADM

IMSADM

DEVOPS

SECURITY

Essas informações permitem decisões rápidas.


Sem voltar ao banco RACF.


Campo 4 — Special Attributes

Muito importante.


Flag SPECIAL

Administrador.


OPERATIONS

Super usuário RACF.


AUDITOR

Auditoria.


CLAUTH

Gerencia Classes.


ROAUDIT

Read-only.


Curiosidade Bellacosa ☕

SPECIAL é praticamente:

A chave mestra do castelo.


OPERATIONS

É o passe VIP.


AUDITOR

É o fiscal do reino.


Campo 5 — OMVS Segment

Chegamos ao USS.


UID

Exemplo

1000

GID

100

HOME

/u/vbellaco

PROGRAM

/bin/sh

Campo 6 — Certificados

Muito usado hoje.


Digital Certificate


PKI


TLS


SSH


MQ


zOS Connect


API Gateway


Open Banking


PIX


Pode existir referência ao certificado associado ao usuário.


Campo 7 — MFA

Nos ambientes modernos.


RSA


TOTP


Smartcard


Passkey


FIDO


Token Context


Campo 8 — Labels

Pouco utilizados.

Mas interessantes.


MLS

Mandatory Access Control


Exemplos

PUBLIC


CONFIDENTIAL


SECRET


TOPSECRET

Muito comum em:

Defesa

Governo

Militar


Campo 9 — ACEE Tokens

Pouco comentado.

Muito poderoso.


Permitem passar contexto.


CICS utiliza.


DB2 utiliza.


MQ utiliza.


Subsystems utilizam.


Cross-memory utiliza.


Campo 10 — Ponteiros

Sysprog gosta.


Ponteiro para:

TCB

ASCB

Groups

Security Labels

OMVS

Certificates


É um verdadeiro mini ecossistema.


Quanto memória consome?

Pergunta clássica.


Resposta curta.

Depende.


Usuário simples

Alguns KB.


Usuário com muitos grupos

Mais.


Certificados

Mais.


MFA

Mais.


Custom Attributes

Mais.


Na prática.

Centenas.

Milhares.

De ACEEs.

Não representam um problema.


O impacto em CPU

Muito pequeno.


Comparado ao custo de consultar RACF.


ACEE economiza:

CPU

I/O

Locks

ENQ

Contention


Em um banco.

100 mil sessões.

Economia enorme.


z/OS 3.1

Novidade interessante.


Custom Fields.


Permitem aplicações modernas.

Consultar contexto.


Sem voltar ao RACF.


Menos latência.


Menos I/O.


Mais escalabilidade.


O que NÃO existe no ACEE?

Senha.


Passphrase.


Hash.


Histórico.


Dataset profiles.


Banco RACF completo.


Quem pode enxergar um ACEE?

Usuário comum?

Não.


COBOL?

Normalmente não.


Sysprog?

Sim.


IPCS

Sim.


Dumps

Sim.


Ferramentas IBM

Sim.


IPCS

Nosso sabre de luz.


Dump

IPCS

VERBX

Interpretar ACEE


Ferramentas comerciais ajudam bastante.


zSecure


Security Server utilities


IBM Support Tools


Easter Egg Bellacosa ☕

Se você abrir um dump e encontrar:

TCB

ASCB

ACEE

UID

SPECIAL

CERT


Parabéns.

Você acabou de entrar no clube dos Sysprogs que começam a conversar com os control blocks.


Analogia Bellacosa

Imagine novamente o castelo.


No crachá mágico existem:

Nome

Guilda

Permissões

Passaporte

Cartão diplomático

Etiqueta de segurança

Passe do metrô USS

Certificado digital

Token MFA


Tudo em um único objeto.


E o melhor.

O guarda SAF apenas olha para ele.


Não precisa voltar ao cartório RACF.


Economizando tempo.

CPU.

E trabalho.


Resumo para guardar

CampoFunção
USERIDIdentidade
GROUPSGrupos
SPECIALAdministração
UIDUSS
GIDUSS
CERTTLS
MFAAutenticação
LABELMLS
TOKENContexto
POINTERSLigações internas

☕💥 Continua na Parte 3

O Nascimento do ACEE

Como ele é criado no TSO, CICS, IMS, Batch, Started Tasks, USS, MQ e DB2, incluindo RACROUTE VERIFY, SAF, FASTAUTH, diagramas passo a passo e exemplos reais de fluxo de autenticação.


quinta-feira, 16 de junho de 2022

☕💥 A Jornada do Sysprog Padawan – ACEE – O Crachá Mágico do Reino IBM Z Parte I

 

Bellacosa Mainframe apresenta o ACEE Parte I

☕💥 A Jornada do Sysprog Padawan – Parte 1

ACEE – O Crachá Mágico do Reino IBM Z

O Control Block que quase ninguém conhece, mas que todos utilizam diariamente

"No Mainframe, existem estruturas que todo mundo usa, poucas pessoas enxergam e quase ninguém compreende completamente. O ACEE é uma delas."

Bellacosa Mainframe


Introdução

Todo Sysprog iniciante aprende rapidamente algumas siglas que parecem fazer parte de uma língua secreta:

  • PSA

  • CVT

  • TCB

  • ASCB

  • RB

  • CSA

  • SQA

  • RACF

  • SAF

Mas existe um pequeno personagem que vive escondido dentro da memória do z/OS e que participa de praticamente todas as decisões de segurança do sistema:

O ACEE

Accessor Environment Element

E aqui está algo curioso:

Você provavelmente utilizou milhares de ACEEs durante sua carreira sem nunca perceber.

Toda vez que alguém faz logon no TSO.

Toda vez que uma transação CICS é executada.

Toda vez que um usuário acessa USS via SSH.

Toda vez que um JOB é submetido.

Toda vez que DB2 verifica uma autorização.

Toda vez que MQ abre uma fila.

Existe uma boa chance de um ACEE estar envolvido.


O Reino IBM Z

No estilo Bellacosa Mainframe, imagine o z/OS como um reino medieval gigantesco.

O reino possui:

O Cartório Real

RACF


O Guarda do Portão

SAF


O Livro de Ocorrências

SMF


A Oficina dos Magos

ICSF


O Distrito Unix

USS


O Rei

Sysprog


E existe um objeto extremamente importante:

O crachá do visitante

Esse crachá é o ACEE.


Quando um visitante entra no castelo, ele recebe um documento dizendo:

Quem ele é.

A quais guildas pertence.

Quais áreas pode visitar.

Se possui privilégios especiais.

Qual certificado utiliza.

Seu UID UNIX.

Seu MFA.

Suas etiquetas de segurança.

Enquanto estiver dentro do castelo, ninguém precisa voltar ao cartório para perguntar novamente quem ele é.

Basta olhar o crachá.

Este crachá é exatamente o papel do ACEE.


O que significa ACEE?

Accessor Environment Element

Nome curioso.

Mas faz sentido.

Accessor

Quem acessa.

Environment

Seu contexto operacional.

Element

Estrutura residente.


Podemos traduzir informalmente como:

Contexto de Segurança do Usuário em Execução

Ou

Cartão de identidade vivo do z/OS


Por que a IBM criou o ACEE?

Precisamos voltar algumas décadas.


Década de 70

MVS começava a crescer.

TSO expandia.

CICS ganhava força.

DB2 ainda nem existia.


Imagine:

500 usuários simultâneos.

Cada READ.

Cada OPEN.

Cada EXEC CICS.

Precisasse consultar RACF.

Seria um desastre.


O custo seria:

CPU

I/O

ENQ

Contenção

Latência


Então a IBM criou uma ideia brilhante.

Após autenticar.

Copiar informações relevantes.

Colocar tudo em memória.

Consultar apenas memória.

Nascia o ACEE.


A primeira geração

MVS

RACF 1.x

Conceito simples.

Userid

Grupo

Authority


Poucos campos.

Pequena estrutura.


Segunda geração

MVS/XA

MVS/ESA

Mais atributos.

Mais flags.


Suporte:

CICS

IMS

VTAM


OS/390

A internet chegou.

SSL.

Certificados.


ACEE cresceu.

Passou a armazenar:

Digital Certificates

UID

GID


z/OS

USS.

LDAP.

Kerberos.


MFA.

Passphrase.

Tokens.

JWT integration.

Custom attributes.


z/OS 3.1

Uma das novidades interessantes.

Campos customizados.

Melhor integração.

Menor I/O.

Maior escalabilidade.


O ACEE não é um Dataset

Esse é um erro comum.


O ACEE não está armazenado em:

SYS1

SYSUSER

VSAM

DB2


Ele vive em memória.


É um Control Block

Assim como:

TCB

ASCB

CVT

PSA

RB


Sysprogs adoram control blocks.

E o ACEE é um dos mais importantes.


Onde ele fica?

Depende.


TSO

Associado ao usuário.


Batch

Associado ao JOB.


CICS

Associado à região.

Ou à transação.


IMS

Associado ao BMP.

MPP.

Transaction.


USS

Associado ao processo POSIX.


MQ

Associado ao requester.


DB2

Associado ao thread.


O nascimento do ACEE

Vamos acompanhar.


Etapa 1

Usuário

Digita:

LOGON VBELLACO

Etapa 2

SAF recebe.


Etapa 3

RACF consulta banco.


Verifica:

Senha

Passphrase

MFA

Certificado


Etapa 4

RACF monta ACEE


Carrega:

Userid

Groups

UID

Authorities

Flags

Tokens

Labels


Etapa 5

Entrega para sistema.


Etapa 6

Sessão ativa.


Fluxo simplificado

USER
 │
 ▼
TSO
 │
 ▼
SAF
 │
 ▼
RACF
 │
 ▼
CREATE ACEE
 │
 ▼
SESSION

O relacionamento com o RACF

Muitos acreditam:

RACF é consultado a todo instante.

Não exatamente.


Após criação do ACEE.

A maioria das verificações utiliza informações já carregadas.


Benefícios

Menos I/O

Menos CPU

Menos contenção

Melhor throughput


O relacionamento com SAF

SAF é o porteiro.


SAF recebe pergunta.


Consulta ACEE.


Caso necessário.

Consulta RACF.


Retorna resposta.


Exemplo

CICS
 │
 ▼
SAF
 │
 ▼
ACEE
 │
 ▼
ALLOW

O relacionamento com SMF

SMF gosta de registrar tudo.


Usuário conecta.

SMF grava.


Usuário desconecta.

SMF grava.


Troca senha.

SMF grava.


Falha MFA.

SMF grava.


Tentativa inválida.

SMF grava.


Auditores adoram isso.

Sysprogs nem sempre.


O relacionamento com APF

Outro conceito interessante.

Programas APF.

Podem manipular ACEE.

Criar.

Clonar.

Substituir.

Passar contexto.


Ferramentas IBM fazem isso.

CICS faz.

DB2 faz.

IMS faz.

MQ faz.


Mas isso exige muito cuidado.


O segredo que poucos sabem

ACEE é praticamente invisível.

Usuário comum nunca vê.

Desenvolvedor COBOL raramente vê.

Administrador DB2 raramente pensa nele.


Mas sem ele.

Segurança moderna do z/OS seria extremamente lenta.


Curiosidade Bellacosa ☕

Se o RACF fosse o cartório do reino.

O SAF fosse o guarda.

E o SMF fosse o cronista.

O ACEE seria:

O crachá encantado entregue ao visitante quando ele atravessa os portões do castelo.

Enquanto o visitante estiver no reino, ninguém precisa perguntar novamente quem ele é.

O crachá responde por ele.


Para guardar na memória

O RACF sabe quem você é.

O SAF pergunta se você pode entrar.

O SMF anota tudo o que aconteceu.

Mas é o ACEE que acompanha você por todo o reino IBM Z.


☕💥 Continua na Parte 2

Anatomia do ACEE

Campos internos, flags, segmentos OMVS, certificados, MFA, UID/GID, ACEE Tokens, estruturas relacionadas e as novidades escondidas do z/OS 3.1.

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.


terça-feira, 30 de março de 2021

☕💥 A Jornada do Sysprog Padawan – SAF : Como o Porteiro Invisível Trabalha na Vida Real - Parte III

 

Bellacosa Mainframe apresenta SAF Parte III

☕💥 A Jornada do Sysprog Padawan – Parte 3

SAF – Como o Porteiro Invisível Trabalha na Vida Real

TSO, CICS, IMS, MQ, DB2, USS, JES2, Batch e Started Tasks

"Um Sysprog Júnior aprende RACF. Um Sysprog Sênior aprende SAF. Um Sysprog Jedi aprende a pensar como o SAF."

Bellacosa Mainframe


Introdução

Na Parte 1 descobrimos que o SAF é o porteiro do Reino IBM Z.

Na Parte 2 desmontamos sua anatomia interna.

Aprendemos:

  • RACROUTE

  • VERIFY

  • AUTH

  • FASTAUTH

  • ACEE

  • RCs

  • RSNs

  • ESM

Mas ainda existe uma pergunta.

Como o SAF trabalha no dia a dia?

O que acontece quando um usuário faz LOGON?

O que acontece quando DB2 executa um SELECT?

Quando MQ abre uma fila?

Quando CICS executa uma transação?

Vamos acompanhar.


Cenário 1

O usuário faz LOGON no TSO

Exemplo:

LOGON VBELLACO

Etapa 1

IKJEFT01 recebe.


Etapa 2

TSO chama.

SAF.


Etapa 3

SAF executa.

VERIFY.


Etapa 4

RACF valida.

Senha.

Passphrase.

MFA.

Certificado.


Etapa 5

RACF cria.

ACEE.


Etapa 6

TSO recebe.

ACEE.


Etapa 7

ISPF aparece.


Fluxo.

USER

↓

TSO

↓

SAF

↓

VERIFY

↓

RACF

↓

ACEE

↓

ISPF

Cenário 2

Batch

JCL.

//TEST JOB ...


//STEP1 EXEC PGBM=IEFBR14

JES2 recebe.


JES chama.

SAF.


VERIFY.


RACF.


ACEE.


Job executa.


Fluxo.

JOB

↓

JES2

↓

SAF

↓

VERIFY

↓

RACF

↓

ACEE

↓

EXECUTION

Cenário 3

Started Tasks

Exemplo.

MQM1


CICSPRD


DB2P


OMVS


Fluxo.

STARTED TASK

↓

SAF

↓

STARTED CLASS

↓

RACF

↓

USERID

↓

ACEE

Muito comum.

Classe.

STARTED.


Cenário 4

CICS

Nosso queridinho.


Usuário.

Executa.

PAY1.


Fluxo.

Terminal

↓

CICS

↓

SAF

↓

AUTH

↓

TCICSTRN

↓

ALLOW

Perfil.

TCICSTRN.


Verificação.

READ.


Resposta.

Sim.

Não.


Exemplo.

PAY1

Perfil.

TCICSTRN.PAY1

RC.

0

Executa.


RC.

8

Bloqueado.


Cenário 5

IMS

MPP.


BMP.


OTMA.


IMS Connect.


Fluxo.

IMS

↓

SAF

↓

AUTH

↓

IMSTRAN

↓

ALLOW

Exemplo.

TRN1.


Perfil.

IMSTRAN.


Cenário 6

MQ

MQOPEN.


MQPUT.


MQGET.


Fluxo.

MQ

↓

FASTAUTH

↓

SAF

↓

MQADMIN

↓

ALLOW

Muito rápido.


Baixo CPU.


Cenário 7

DB2

Usuário.

Executa.

SELECT *
FROM CLIENTES

DB2.

AUTH.

SAF.

DSNR.

ACEE.

ALLOW.


Cenário 8

USS

SSH.


Usuário.

ssh vagner@zos

OpenSSH.

VERIFY.

SAF.

OMVS.

ACEE.

Shell.


Resultado.

$

Prompt.

Disponível.


Cenário 9

FTP

Cliente.

FTPD.

VERIFY.

SAF.

ACEE.

Sessão.


Cenário 10

SDSF

Pode visualizar spool?


Pode cancelar job?


Pode emitir comando?


Fluxo.

SDSF

↓

SAF

↓

JESSPOOL

↓

ALLOW

O melhor amigo do SAF

FASTAUTH


AUTH.

Completo.


FASTAUTH.

Otimizado.


Muito usado.


CICS.


DB2.


MQ.


Subsystems.


O que economiza CPU?

ACEE.


Cache.


FASTAUTH.


Menos I/O.


Menos RACF.


Menos VSAM.


Menos lock.


Consumo de recursos

Baixíssimo.


IBM Z.

Adora.

Memória.


IBM Z.

Não gosta.

De I/O.


SAF.

Resolve.

Isso.


Quem registra?

SMF.


SMF80.


VERIFY.


AUTH.


Falhas.


Negações.


Revogações.


Troubleshooting

Mensagem.

ICH408I.


Pode indicar.

Classe.

Inativa.


Perfil.

Ausente.


Grupo.

Errado.


ACEE.

Inválido.


Dicas Bellacosa para Sysprog Junior

Aprenda.

TCICSTRN.


DSNR.


MQADMIN.


JESJOBS.


OPERCMDS.


SURROGAT.


UNIXPRIV.


FACILITY.


Easter Egg Bellacosa ☕

Imagine.

O castelo.


TSO.

Portão principal.


USS.

Portão lateral.


CICS.

Recepção.


IMS.

Tesouraria.


DB2.

Biblioteca.


MQ.

Correios.


JES.

Sala dos escribas.


Todos.

Passam.

Pelo.

Mesmo.

Porteiro.


SAF.


Ele nunca dorme.

Nunca reclama.

Nunca pede férias.

E provavelmente.

Já respondeu.

Mais perguntas.

Do que qualquer.

Outro componente.

Do z/OS.


Como impressionar um Sysprog Sênior

Diga.

O SAF não é apenas uma API de segurança.

Ele é um barramento de autorização altamente otimizado, orientado a contexto, baseado em ACEEs e integrado ao SMF para auditoria completa.

Provavelmente.

Você ganhou.

Mais 15 minutos.

Na entrevista.


Frase Bellacosa Mainframe

"CICS pergunta. DB2 pergunta. MQ pergunta. USS pergunta. JES pergunta. IMS pergunta. O RACF responde. O SMF registra. Mas é o SAF que passa o dia inteiro atendendo as portas do Reino IBM Z."


☕💥 Continua na Parte 4

SAF – Performance, CPU, Memória e Escalabilidade

Quanto custa uma chamada SAF? O que FASTAUTH realmente economiza? Como bancos executam bilhões de autorizações por dia? Como medir, monitorar e otimizar o porteiro invisível do IBM Z?


segunda-feira, 15 de fevereiro de 2021

☕💥 A Jornada do Sysprog Padawan – SAF : Anatomia Interna do Porteiro Invisível do Reino IBM Z - Parte II

 

Bellacosa Mainframe apresenta o SAF parte II

☕💥 A Jornada do Sysprog Padawan – Parte 2

SAF – Anatomia Interna do Porteiro Invisível do Reino IBM Z

RACROUTE, VERIFY, FASTAUTH, Return Codes, ACEE e os mecanismos secretos que fazem bilhões de decisões por dia

"O SAF parece simples. Até o dia em que você precisa explicar para um auditor por que um MQOPEN retornou RC=8 às três horas da manhã."

Bellacosa Mainframe


Introdução

Na Parte 1 descobrimos que o SAF é o porteiro invisível do Reino IBM Z.

Ele não possui usuários.

Ele não possui senhas.

Ele não possui grupos.

Ele não possui perfis.

Mas ele é consultado bilhões de vezes por dia.

A pergunta agora é:

Como o SAF realmente funciona?

Vamos abrir a caixa preta.


O que existe dentro do SAF?

A resposta curta.

Pouco.

A resposta Sysprog.

Muito.


O SAF é composto basicamente por:

Interface de chamadas

Roteador

Serviços

Retornos

Controle de contexto

Integração com ACEE

Comunicação com ESM


O coração do SAF

O principal serviço.

RACROUTE


Praticamente.

O sabre de luz.

Do Security Sysprog.


O que é RACROUTE?

Serviço.

Macrotina.

Interface.

Entre.

Aplicações.

E segurança.


Sintaxe simplificada

RACROUTE REQUEST=AUTH

Ou

RACROUTE REQUEST=VERIFY

Ou

RACROUTE REQUEST=FASTAUTH

Principais REQUESTS

VERIFY

Autenticação


AUTH

Autorização


FASTAUTH

Autorização rápida


EXTRACT

Informações usuário


DEFINE

Criar contexto


DELETE

Remover contexto


STAT

Status


ENVIR

Ambiente


VERIFY

Nosso favorito.


Objetivo.

Criar ACEE.


Exemplo.

TSO Logon.


Fluxo.

USER

↓

TSO

↓

SAF

↓

VERIFY

↓

RACF

↓

ACEE

Resultado.

Usuário autenticado.


AUTH

Verifica.

Pode.

Ou.

Não.


Exemplo.

PROD.DB2.MASTER

Classe.

DATASET


Resultado.

READ


UPDATE


ALTER


CONTROL


NONE


FASTAUTH

Aqui mora.

A mágica.


FASTAUTH.

É.

Um AUTH.

Com turbo.


Menos CPU.


Mais cache.


Menos overhead.


Bilhões.

De chamadas.

Por dia.


Muito utilizado.


CICS


MQ


DB2


Subsystems


O SAF Router

Pouco conhecido.

Muito importante.


Responsável.

Por encaminhar.

Requisições.


Fluxo.

Application

↓

SAF Router

↓

ESM

↓

Response

Sem router.

Nada funciona.


O melhor amigo do SAF

ACEE


SAF ama.

ACEEs.


Por quê?


CPU.


I/O.


Locks.


Performance.


Escalabilidade.


Exemplo

Sem ACEE.

AUTH

↓

RACF

↓

VSAM

↓

CPU

Com ACEE.

AUTH

↓

ACEE

↓

ALLOW

Muito mais rápido.


Return Codes

Sysprog gosta.


RC

RSN


RC comuns

RC=0

Sucesso.


RC=4

Aviso.


RC=8

Negado.


RC=12

Erro.


RC=16

Falha severa.


Exemplo

RC=8

RSN=24

Pode significar.

Perfil.

Ausente.


Grupo.

Incorreto.


Classe.

Inativa.


Reason Codes

Mais detalhados.


Explicam.

O motivo.


São.

Os verdadeiros.

Detetives.

Do SAF.


Como interpretar?

SMF.


IPCS.


zSecure.


IBM manuals.


Security Server.


Classes

SAF trabalha.

Com classes.


Exemplos.

DATASET


FACILITY


OPERCMDS


TCICSTRN


DSNR


JESJOBS


SURROGAT


UNIXPRIV


MQADMIN


Fluxo DB2

SELECT *

FROM CLIENTES

DB2.

SAF.

AUTH.

ACEE.

ALLOW.


Fluxo MQ

MQOPEN

SAF

FASTAUTH

ALLOW


Fluxo USS

SSH

VERIFY

ACEE

Shell


Fluxo CICS

PAY1

AUTH

TCICSTRN

ALLOW


O custo em CPU

Pequeno.


Principalmente.

FASTAUTH.


Muito eficiente.


Memória

Praticamente.

Irrelevante.

Para IBM Z.


O segredo da IBM

Não reinventar.

Segurança.

Em cada produto.


Criar.

Uma API.

Universal.


SAF.


Easter Egg Bellacosa

Pergunte.

Para um Sysprog.

Experiente.


Quem faz mais trabalho?

RACF?

Ou SAF?


Resposta típica.


RACF.

Decide.


SAF.

Trabalha.

Muito mais.


Porque atende.

Todas.

As portas.

Do reino.


Curiosidade

Provavelmente.

O SAF.

É um dos.

Componentes.

Mais executados.

Do zOS.


Sem aparecer.

Na maioria.

Dos monitores.


Sem glamour.


Sem interface.


Sem marketing.


Apenas.

Funcionando.


Dicas para Sysprog Junior

Estude.

RACROUTE.


Aprenda.

FASTAUTH.


Entenda.

ACEE.


Leia.

SMF80.


Pratique.

IPCS.


Use.

zSecure.


Conheça.

Reason Codes.


Como impressionar um arquiteto

Diga.

O SAF não toma decisões de segurança.

Ele apenas.

Orquestra.

A comunicação.

Entre.

Aplicações.

E ESM.


Provavelmente.

A conversa.

Mudará.

De nível.


Analogia Bellacosa ☕

Imagine.

O castelo.


CICS.

DB2.

MQ.

IMS.

USS.

Chegam.

Na portaria.


SAF atende.


Pergunta.

Ao cartório.


Recebe.

Resposta.


Olha.

O crachá.

ACEE.


Libera.

Ou bloqueia.


SMF.

Anota.

Tudo.


Frase Bellacosa Mainframe

"O RACF decide quem entra. O ACEE lembra quem você é. O SMF escreve a história. Mas é o SAF que passa o dia inteiro abrindo e fechando portas dentro do Reino IBM Z."


☕💥 Continua na Parte 3

SAF – Como Funciona na Vida Real

TSO, CICS, IMS, MQ, DB2, USS, JES2, Batch, Started Tasks, exemplos passo a passo, diagramas completos, consumo de CPU, troubleshooting e auditoria.

sábado, 3 de agosto de 2019

☕💥 A Jornada do Padawan COBOL – Parte 8 Desvendando o Universo dos CALLs no Mainframe

 

Bellacosa Mainframe apresenta o call em COBOL parte VIII

☕💥 A Jornada do Padawan COBOL – Parte 8

Desvendando o Universo dos CALLs no Mainframe

Metal C, DLLs Avançadas, SAF, RACF, APF, Dataspaces, Hiperspaces, Coupling Facility e os Segredos dos Arquitetos Supremos do IBM Z

Ou como descobrir que existe um mundo tão profundo no z/OS que até alguns desenvolvedores COBOL veteranos preferem fingir que ele não existe

Por Vagner Bellacosa – Bellacosa Mainframe


O dia em que o Padawan percebe que ainda estava na entrada da caverna

Depois de sete capítulos aprendendo:

✔ CALL

✔ CICS

✔ Binder

✔ LE

✔ Assembler

✔ SVC

✔ SRB

✔ zIIP

O Padawan acredita ter dominado o Mainframe.

Então um Sysprog aparece.

Abre um membro.

E mostra:

__asm("MODESET KEY=ZERO");

E diz:

Bem-vindo ao mundo dos Arquitetos.


Metal C

Metal C é praticamente uma mistura de:

C

Assembler

z/OS Internals


É C.

Sem Runtime.

Sem libc.

Sem proteção.


Exemplo


#pragma metal


int main()
{

/* acesso direto ao zOS */

}



Onde é usado?

JES

RACF

DFSMS

TCPIP

SAF

SMPE


DLLs no z/OS

Pouca gente sabe.

IBM possui suporte sofisticado.


Exemplo


CALL 'MINHADLL'

USING AREA.



Internamente

Program Objects

DLL Support

LE


Benefícios

Reuso.

Menor memória.

Atualizações independentes.


SAF

Security Authorization Facility


SAF é o porteiro.

Do z/OS.


Aplicação diz:

Posso fazer isso?

SAF responde.

Sim.

Não.

Talvez.


Visualmente



PROGRAMA


↓

SAF


↓

RACF


↓

DECISÃO



RACF

O mago da segurança.


Controla.

Usuários.

Perfis.

Datasets.

CICS.

DB2.

APIs.


Exemplo

PERMIT PROD.LOADLIB


CLASS DATASET



APF

Authorized Program Facility


Território perigoso.


Programa APF

Pode.

Trocar chave.

Executar SVC.

Acessar memória.


Programa comum

Não.


Storage Keys

IBM protege memória.


Keys

0

até

15


Aplicação comum

Key 8

Kernel

Key 0


Dataspaces

Área enorme.

Fora espaço tradicional.


Até GBs.


Muito usada.

SMF.

Analytics.

Sort.


Visualmente


Address Space


↓

Dataspace


↓

Milhões registros



Hiperspaces

Primo rico.

Do Dataspace.


Mais rápido.

Menos I/O.


Coupling Facility

Um dos segredos.

Do Sysplex.


Imagine

20 Mainframes.

Trabalhando juntos.


Coupling Facility

É a memória compartilhada.


Visualmente


LPAR1


↓

CF


↑


LPAR2




Estruturas

Cache

List

Lock


DB2 usa.

Muito.


MQ usa.


CICS usa.


XCF

Cross System Coupling Facility


Permite.

Comunicação.

Entre LPARs.


WLM

Workload Manager


Decide.

Quem recebe CPU.


Banco.

Prioridade alta.


Teste.

Baixa.


PC-Bit

Poucos conhecem.


Permite.

Troca protegida.

Entre espaços.


Muito usado.

RACF.

DB2.


Callable Services

IBM fornece centenas.


Exemplo

IGGCSI00

CSVQUERY

BPXWDYN

IRRSIM00


BPXWDYN

Favorito dos veteranos.


Alocação dinâmica.


Exemplo


CALL 'BPXWDYN'


USING CMD.



Substitui.

SVC99.

Em vários casos.


Segredos Bellacosa

Dica 1

Nunca APF sem necessidade.


Dica 2

Dataspaces são incríveis.


Dica 3

Aprenda SAF.


Dica 4

RACF é obrigatório.


Dica 5

CF é magia pura.


Easter Egg IBM

Existe uma categoria.

De profissionais.

Que consegue ler isto:


MODESET KEY=ZERO


PC 0,15


MODESET KEY=EIGHT


E compreender tudo.


São conhecidos.

Como.

Arquitetos Supremos IBM Z


Checklist Jedi

✅ Metal C

✅ SAF

✅ RACF

✅ APF

✅ Dataspaces

✅ Hiperspaces

✅ Coupling Facility

✅ WLM

✅ XCF

✅ Callable Services

✅ Storage Keys

✅ Program Objects


A Filosofia Jedi do CALL – Parte 8

O Padawan iniciante pensa:

CALL chama programas.

O desenvolvedor experiente pensa:

CALL movimenta dados.

O especialista compreende:

CALL é um mecanismo de integração entre módulos.

O Sysprog entende:

CALL é apenas uma abstração elegante construída sobre registradores, áreas de armazenamento, serviços do supervisor, segurança SAF, gerenciamento de workload, memória compartilhada e décadas de engenharia refinada do z/Architecture.

E o Arquiteto Supremo IBM Z sabe que, quando um desenvolvedor escreve:

CALL 'SUBPGM'
USING WS-AREA

ele está acionando silenciosamente uma cadeia tecnológica composta por compiladores, Binder, LE, Assembly, serviços do z/OS, mecanismos de proteção, subsistemas de segurança e otimizações de hardware capazes de manter funcionando, há décadas, alguns dos sistemas mais críticos do planeta.


Próxima aventura do Padawan COBOL – Parte 9

"As Runas Perdidas do Mainframe: JES2, SMF Internals, SRM, RMF, SRBs enclavados, Sysplex Distributor, HiperSockets, Crypto Express, Telum AI e os segredos dos Engenheiros IBM que poucos profissionais chegam a explorar."