| 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
| Campo | Função |
|---|---|
| USERID | Identidade |
| GROUPS | Grupos |
| SPECIAL | Administração |
| UID | USS |
| GID | USS |
| CERT | TLS |
| MFA | Autenticação |
| LABEL | MLS |
| TOKEN | Contexto |
| POINTERS | Ligaçõ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.
Sem comentários:
Enviar um comentário