Translate

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

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.


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.

segunda-feira, 2 de dezembro de 2019

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

 

Bellacosa Mainframe e o call em cobol parte xii

☕💥 A Jornada do Padawan COBOL – Parte 12

Desvendando o Universo dos CALLs no Mainframe

PSA, CVT, ASCB, TCB, RB, ACEE, CSA, ECSA, LSQA, SQA e os Mistérios dos Control Blocks que Sustentam o z/OS

Ou como descobrir que existe um universo inteiro escondido em endereços hexadecimais que praticamente nenhum desenvolvedor COBOL vê

Por Vagner Bellacosa – Bellacosa Mainframe


O Dia em que o Padawan Descobre o Lado Oculto do z/OS

Depois de onze capítulos, o Padawan já acredita compreender bastante coisa.

Conhece:

✅ CALL

✅ LE

✅ CICS

✅ JES2

✅ GRS

✅ VVDS

✅ RMF

✅ SMF

✅ Telum

Até que um Sysprog abre IPCS.

Digita:

IP XDATA

E aparece:

PSA
CVT
TCB
ASCB
ACEE
RB

Padawan:

— O que é isso?

Veterano:

— O esqueleto do z/OS.


O Grande Segredo

No Mainframe tudo é Control Block.

Tudo.

Usuário.

Job.

CPU.

Storage.

Segurança.

Dataset.

Task.

Transação.

Tudo.


Visualmente


Programa COBOL

↓

TCB

↓

ASCB

↓

CVT

↓

PSA

↓

Hardware


PSA

Processor Storage Area


O primeiro bloco.

O mais importante.


Endereço:

00000000

Existe uma PSA.

Por processador.


Contém:

PSW

Interrupções

TCB Atual

Old PSW

New PSW

Save Areas


O PSW

Program Status Word


Coração da CPU.


Possui:

Endereço instrução

Modo

Máscaras

Estado


Exemplo

078D1000 80000000

Veteranos gostam.

Muito.


CVT

Communications Vector Table


O GPS do z/OS.


Tudo aponta.

Para CVT.


CVT aponta.

Para:

SMCA

JES

TCB

ASVT

Catalog

LPDB

CSA


Como encontrar

Assembler

L R1,CVTPID

IPCS também.


ASCB

Address Space Control Block


Representa.

Address Space.


Exemplo

TSO

DBM1

CICSA

JES2


Cada um.

Tem.

ASCB.


Contém

Nome

ASID

Usuário

TCBs

Storage


TCB

Já vimos.

Mas agora.

Internamente.


Task Control Block


Representa.

Thread.

Execução.

Task.


Contém.

Registradores.

Prioridade.

PSW.

RB.


RB

Request Block


Histórico.

Execução.


CALL.

Empilha RB.

Retorno.

Desempilha.


Visualmente


MAIN

↓

RB

↓

CALL A

↓

RB

↓

CALL B

↓

RB


ACEE

Accessor Environment Element


Favorito do RACF.


Representa.

Usuário.


Possui:

Userid

Groups

Permissões

Security Label


Quando faz:

TSO LOGON

ACEE nasce.


CSA

Common Storage Area


Memória compartilhada.


Todos acessam.


Perigosa.


Corrupção.

Pode derrubar sistema.


ECSA

Extended CSA


Versão ampliada.


Maior.

Melhor.


SQA

System Queue Area


Storage crítico.


Kernel usa.


Pouco espaço.

Muito importante.


LSQA

Local System Queue Area


Privada.

Por Address Space.


Subpools

Veteranos gostam.

Muito.


Exemplo

229

230

241


Storage.

Especializado.


Save Area

Assembler clássico.


72 bytes.


Exemplo

STM 14,12,12(13)

Salva.

Contexto.


IPCS

Melhor amigo.

Do Sysprog.


Pode mostrar.

PSA

TCB

ASCB

RB

ACEE


Exemplo

IP MTRACE

CEEDUMP

Também ajuda.


Mostra.

Stack.

Call chain.

Offsets.


O caminho de um CALL

Padawan escreve:

CALL 'PAGTO'

Internamente.

Pode ocorrer.


COBOL

↓

LE

↓

TCB

↓

RB

↓

PSW

↓

CPU

↓

RETURN



Tudo.

Em microssegundos.


O grande erro

Padawan pensa.

CALL é simples.

Veterano pensa.

CALL cria.

RB.

Storage.

Stack.

TCB Activity.

LE.

Heap.

PSW Update.


Ferramentas Jedi

IPCS

AMBLIST

CEEDUMP

RMF

SMF

VERBX

TRACE


Easter Egg Mainframe

Existe um grupo.

Capaz de olhar.

Isto.

TCB

RB

ACEE

PSA

CVT

ASCB

E dizer.

Em cinco minutos.

Quem é usuário.

Qual programa.

Onde caiu.

Quanto storage.

Qual PSW.

Qual registrador.


São conhecidos.

Como.

Os Senhores dos Control Blocks


Checklist Jedi

✅ Entender PSA

✅ Conhecer CVT

✅ Aprender ASCB

✅ Estudar TCB

✅ Entender RB

✅ Conhecer ACEE

✅ Respeitar CSA

✅ Estudar LSQA

✅ Explorar IPCS

✅ Ler CEEDUMP

✅ Conhecer Subpools


Filosofia Jedi – Parte 12

O Padawan acredita:

z/OS executa programas.

O Desenvolvedor experiente pensa:

z/OS gerencia recursos.

O Sysprog compreende:

z/OS é uma gigantesca coleção de Control Blocks conversando entre si.

E o Arquiteto IBM Z sabe que, por trás de um simples:

CALL 'SUBPGM'

existe um universo de PSA, CVT, TCB, RB, ACEE, Save Areas, registradores, PSWs e estruturas de controle que sustentam alguns dos sistemas mais importantes do planeta.