Translate

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

quarta-feira, 19 de outubro de 2022

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

 

Bellacosa Mainframe apresenta ACEE Parte V

☕💥 A Jornada do Sysprog Padawan – Parte 5

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

O Guia de Sobrevivência do Sysprog Padawan

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

Bellacosa Mainframe


Introdução

Nas quatro primeiras partes conhecemos:

  • O que é ACEE

  • Anatomia interna

  • Como nasce

  • Performance e escalabilidade

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

Como diagnosticar problemas relacionados ao ACEE?


Sintomas clássicos

Usuário jura:

Ontem funcionava.

Hoje não.


CICS retorna.

NOT AUTHORIZED


DB2

SQLCODE -551


MQ

2035


USS

Permission denied


SSH

Login rejected


TSO

ICH408I


Batch

S047


Started Task

S106


O grande segredo

Na maioria dos casos.

ACEE não é o culpado.


Ele é a vítima.


Problema geralmente está em:

RACF


SAF


APF


OMVS


Certificates


Labels


Classes


Tokens


Ferramentas do Sysprog Jedi

IPCS

Nosso sabre de luz.


SDSF

Nosso radar.


SMF

Nosso livro de história.


zSecure

Nosso detector mágico.


RACF

Nosso cartório.


Ferramenta 1 — IPCS

Sempre presente.


Exemplo

IP

Entrar no dump.


Analisar.


Localizar control blocks.


Procurando o ACEE

Fluxo clássico.

PSA

↓

TCB

↓

ASCB

↓

ASXB

↓

ACEE

É praticamente uma caça ao tesouro.


VERBX

Muito usado.


Exemplo

VERBX

Permite interpretar estruturas.


Evita leitura hexadecimal.


Problema 1

ICH408I

Mensagem mais famosa do RACF.


Exemplo

ICH408I USER(VBELLACO)
ACCESS DENIED

Causas

Perfil ausente


READ inexistente


Classe errada


Grupo removido


Senha revogada


Passphrase expirada


Solução

LU


LG


RLIST


SEARCH


SETROPTS


Problema 2

S047

Muito comum.


Contexto inválido.


ACEE inconsistente.


Cross-memory.


Passagem incorreta.


Clone defeituoso.


Programa APF.


Solução

Verificar dump.


IPCO.


IPID.


Control blocks.


Problema 3

S106

Sysprog conhece.


Autorização APF.


AC(1).


Biblioteca.


PROGxx.


LNKLST.


Comando útil

D PROG,APF

Problema 4

USS


SSH falha.


Mensagem

Permission denied

Causa

UID ausente.


HOME inválido.


OMVS.


Diagnóstico

LU USERID

Verificar

UID

HOME

PROGRAM


Problema 5

DB2


SQLCODE

-551

Usuário.

Não autorizado.


Pacote.


Plano.


Tabela.


Solução

DSNR.


Permissões.


ACEE válido.


Problema 6

MQ


Erro

2035

MQRC_NOT_AUTHORIZED


SAF.


MQADMIN.


ACEE.


Problema 7

CICS


Transação.

PAY1


Resposta.

NOT AUTHORIZED

Classe.

TCICSTRN


Perfil.

Ausente.


Auditoria

SMF80.


Nosso melhor amigo.


Registra.

LOGON


LOGOFF


Falhas.


Revogações.


VERIFY.


MFA.


O que procurar

RC


Reason


Timestamp


Userid


Classe


Resource


zSecure

Facilita.


Relatórios.


Comparações.


Compliance.


Pesquisa rápida.


Security Server

Também ajuda.


Ferramentas IBM.


Auditoria.


Análise.


Caso real Bellacosa

03:12 da manhã.


Banco parado.


SSH não conecta.


Equipe Linux culpa zOS.


Equipe Segurança culpa RACF.


Equipe MQ culpa certificados.


Sysprog abre IPCS.


Analisa ACEE.


Descobre.

UID removido.


Corrige.


03:24.

Tudo volta.


Café salvo.


Produção salva.


Checklist Sysprog Jedi

Verificar USER

LU


Verificar grupo

LG


Verificar perfil

RLIST


Verificar APF

D PROG,APF


Verificar OMVS

ALTUSER


Verificar SMF80


Verificar Dump

IPCO


Verificar Certificates

RACDCERT


Verificar MFA


Verificar Labels


Easter Egg Bellacosa ☕

Existe um momento.

Na carreira.

Em que você olha um dump.

Encontra.

TCB.

ASCB.

ACEE.

Flags.

UID.

Certificados.

SPECIAL.


E pensa.

Acho que finalmente comecei a entender o Reino IBM Z.


Frase Bellacosa Mainframe

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


☕💥 Continua na Parte 6

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

sexta-feira, 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.


sábado, 29 de março de 2014

☕🔥 ABEND S913 — O “MURO DE SEGURANÇA” DO z/OS

 

Bellacosa Mainframe e o abend s913

☕🔥 ABEND S913 — O “MURO DE SEGURANÇA” DO z/OS

Quando o Mainframe Diz:

“VOCÊ NÃO TEM AUTORIZAÇÃO PARA FAZER ISSO.”

Se existe um ABEND que faz TODO Junior Padawan descobrir que:

segurança no mainframe é levada MUITO a sério…

é o lendário:

🚨 S913

E normalmente ele aparece assim:

IEF450I JOBNAME STEP01 - ABEND=S913

ou:

ICH408I USER NOT AUTHORIZED

ou ainda:

IEC150I 913-38

E então começa o pânico:

“Mas o dataset existe!”
“O JCL está certo!”
“Funcionava ontem!”
“O RACF me odeia?”
“O z/OS acabou de me expulsar do castelo?”

☕ Respira.

Porque o S913 é um dos ABENDs MAIS IMPORTANTES para entender:

RACF

segurança z/OS

autorização

datasets protegidos

acesso batch

permissões

auditoria corporativa


🔥 O QUE É O S913?

O S913 é um:

🚨 SECURITY / AUTHORIZATION FAILURE

Traduzindo:

O z/OS NEGOU ACESSO A UM RECURSO.


☕ A FILOSOFIA DO S913

No mundo mainframe:

NADA É ACESSADO SEM AUTORIZAÇÃO.

Nem:

  • dataset

  • transação

  • programa

  • loadlib

  • tape

  • recurso CICS

  • DB2

  • spool


🔥 O GRANDE SEGREDO

O S913 normalmente NÃO é erro de COBOL.

É:

erro de segurança.


☕ ANALOGIA BELLACOSA MAINFRAME

Imagine um cofre bancário.

Você possui:

✅ crachá
✅ login
✅ senha

Mas tenta entrar numa área:

❌ sem autorização.

O segurança aparece imediatamente.

Isso é o:

☠️ S913


🔥 O VERDADEIRO VILÃO

🚨 RACF

Ou equivalentes:

  • ACF2

  • Top Secret


☕ O QUE É RACF?

Resource Access Control Facility

O guardião do z/OS.

Controla:

  • quem acessa

  • o quê

  • quando

  • como

  • com qual permissão


🔥 O MOMENTO EXATO DO S913

Fluxo:

Programa/JCL tenta acessar recurso
 ↓
SAF/RACF intercepta
 ↓
Valida permissão
 ↓
Acesso negado
 ↓
S913

☕ O CASO MAIS CLÁSSICO

DATASET SEM AUTORIZAÇÃO


🔥 EXEMPLO

//CLIENTE DD DSN=EMPRESA.FINANCEIRO.MASTER,
// DISP=SHR

Mas o usuário NÃO possui acesso.

Resultado:

💥 S913


☕ O MAINFRAME OLHA E DIZ

“VOCÊ NÃO TEM PERMISSÃO PARA VER ISSO.”


🔥 O IEC150I 913-38

Lenda clássica do z/OS.


☕ O QUE SIGNIFICA?

Frequentemente:

dataset authorization failure.


🔥 O ICH408I — A MENSAGEM SAGRADA

Essa é ouro puro.

Exemplo:

ICH408I USER(USER01) GROUP(GRP1)
NAME(USER TESTE)
EMPRESA.FINANCEIRO CL(DATASET)
INSUFFICIENT ACCESS AUTHORITY

Isso revela:

  • usuário

  • grupo

  • recurso

  • classe

  • nível negado


☕ O MAIOR ERRO DO PADAWAN

Ver:

S913

e recompilar COBOL.

Não.

O problema geralmente NÃO está no código.


🔥 O S913 E O DISP=OLD

Outro clássico.


☕ EXEMPLO

//ARQ DD DISP=OLD

Mas usuário só possui:

READ

Não possui:

UPDATE

Resultado:

☠️ S913


🔥 O S913 E O LOADLIB

Até executáveis possuem proteção.


☕ EXEMPLO

//STEPLIB DD DSN=EMPRESA.PROD.LOAD

Sem permissão de EXECUTE/READ:

💥 S913


🔥 O S913 E O CICS

No CICS isso aparece MUITO como:

NOTAUTH

AEY9

RACF violation


☕ O S913 E O DB2

Outro território sombrio.

Usuário tenta:

SELECT * FROM CLIENTES

Sem permissão.

DB2 chama RACF/segurança.

Resultado:

☠️ acesso negado.


🔥 O S913 E O JES2

Até o spool pode ser protegido.

Você tenta:

  • cancelar job

  • ver output

  • acessar SYSOUT

Sem autorização:

💥 S913


☕ O S913 E O FTP

Clássico enterprise.

Usuário tenta transferir:

dataset protegido

FTP recebe:

permission denied.

Origem real:

RACF.


🔥 COMO INVESTIGAR O S913 PASSO A PASSO


✅ PASSO 1 — PROCURE ICH408I

Essa mensagem é a Bíblia do S913.


✅ PASSO 2 — IDENTIFIQUE O RECURSO

Exemplo:

EMPRESA.ARQ.CLIENTE

✅ PASSO 3 — IDENTIFIQUE O TIPO DE ACESSO

Pergunte:

Tentou:

  • READ?

  • UPDATE?

  • ALTER?

  • EXECUTE?


✅ PASSO 4 — VERIFIQUE DISP


☕ DISP=SHR

Normalmente leitura.


☕ DISP=OLD

Controle exclusivo/update.


☕ DISP=MOD

Alteração.


🔥 PASSO 5 — FALE COM SEGURANÇA/RACF

Sim.

Mainframe é trabalho em equipe.


☕ O DUMP DO S913

Muitas vezes:

dump quase irrelevante.

Porque o erro é de autorização.

O ouro está nas mensagens:

  • ICH408I

  • IEC150I

  • IEFxxxx


🔥 O S913 E O “FUNCIONAVA ONTEM”

O clássico absoluto.


☕ O QUE ACONTECEU?

Talvez:

  • RACF mudou

  • grupo mudou

  • perfil mudou

  • dataset foi recatalogado

  • ACL alterada

  • migração ocorreu


🔥 O S913 FANTASMA

Outro terror real.

Job A cria dataset.

Job B tenta acessar.

Mas:

owner/permissão mudou.

Resultado:

💥 S913


☕ O S913 E O PROTECTED DATASETS

Datasets críticos costumam ser blindados:

  • folha salarial

  • financeiro

  • cartões

  • PIX

  • banking core

  • produção

O RACF leva isso MUITO a sério.


🔥 O S913 E O AUDITOR

Toda violação geralmente fica registrada.

Mainframe possui auditoria fortíssima.


☕ O S913 E O OPERADOR

Até operadores podem ter limites.

No z/OS:

privilégio é granular.


🔥 O S913 E O SURROGAT

Modo arquimago ativado.

Jobs submetidos em nome de outros usuários podem falhar por:

surrogate authorization.


☕ O S913 E O APF

Bibliotecas APF também possuem proteção pesada.


🔥 O SEGREDO DOS VETERANOS

Veteranos sempre perguntam:

“QUAL RECURSO FOI NEGADO?”

Porque o S913 é:

sintoma.

O alvo verdadeiro está na mensagem RACF.


☕ COMO EVITAR S913


✅ Validar permissões antes


✅ Revisar DISP


✅ Entender READ vs UPDATE


✅ Validar grupos RACF


✅ Revisar mudanças de segurança


✅ Evitar hardcode de datasets protegidos


✅ Trabalhar junto com equipe RACF


🔥 CURIOSIDADE HISTÓRICA

O S913 nasceu na era em que:

bancos começaram a depender totalmente do mainframe.

IBM percebeu cedo que segurança corporativa precisava ser:

rígida

auditável

centralizada

RACF virou um dos sistemas de segurança mais respeitados do mundo.


☕ EASTER EGG MAINFRAME

Veteranos brincam:

“S913 significa:

Você Tentou Entrar Onde Não Devia.”


🔥 O MAIOR ENSINAMENTO DO S913

Ele ensina algo profundo:

no z/OS, SEGURANÇA vem antes da conveniência.

Não importa:

  • se o programa funciona

  • se o JCL está perfeito

  • se o COBOL compilou

Sem autorização:

nada acontece.


☕ A VERDADE FINAL

O S0C7 pune dados inválidos.
O S0C4 pune memória inválida.
O S806 pune programas inexistentes.
O S878 pune fragmentação de storage.

Mas…

☕ O S913 É O MOMENTO EM QUE O z/OS OLHA PARA VOCÊ… E DECIDE QUE VOCÊ NÃO TEM PERMISSÃO PARA PASSAR PELO PORTÃO.


Vagner Renato Bellacosa, IBM Champion e especialista em IBM Mainframe
IBM Z17 SYSTEM ONLINE
Sobre o autor

Vagner Renato Bellacosa

IBM Champion 2026 • Especialista em IBM Mainframe

Vagner Renato Bellacosa trabalha com IBM Mainframe desde 1988 , é IBM Champion e especialista em COBOL, CICS, Db2, z/OS e IBM Z. Compartilha experiências profissionais, conhecimento técnico, história da computação e práticas do universo mainframe para aproximar novas gerações das tecnologias que sustentam empresas, bancos e governos ao redor do mundo.

IBM Champion IBM Z COBOL CICS Db2 z/OS Mainframe desde 1988