| Bellacosa Mainframe e ibm mfa racf e tokens login seguro |
☕🔐 “A SENHA MORREU” — COMO O MAINFRAME DESCOBRIU QUE USERID + PASSWORD NÃO ERAM MAIS SUFICIENTES 💀🖥️📱
Imagine a cena…
Um programador júnior abre o emulador 3270, digita:
LOGON ===> VBELLA
PASSWORD ===> MAIN123
E pensa:
“Pronto… estou seguro.”
Só que não.
Durante décadas, milhares de ambientes z/OS confiaram apenas em:
USERID
senha RACF
O problema?
Se alguém roubasse:
sua senha
dump de memória
print
phishing
keylogger
…o invasor entrava no mainframe como se fosse você.
Foi aí que nasceu o:
🔥 Dual Login / MFA no Mainframe
Agora o login exige:
Algo que você SABE
+
Algo que você POSSUI
Ou seja:
Senha RACF
+
Token do celular
O celular virou literalmente:
📱 A CHAVE FÍSICA DO MAINFRAME
☕ O QUE É O “DUAL LOGIN” NO z/OS?
É a autenticação em dois fatores.
No mundo IBM Z normalmente envolve:
RACF
IBM Z MFA
Microsoft Authenticator
Google Authenticator
RADIUS/TOTP
Fluxo:
TSO → RACF → IBM MFA → celular → validação
🔥 O QUE O PROGRAMADOR VÊ
Antes:
USERID + PASSWORD
Agora:
USERID + PASSWORD + TOKEN
Exemplo:
USERID ===> VBELLA
PASSWORD => MAIN123483921
Onde:
MAIN123= senha RACF483921= token do celular
🖥️ O QUE O RACF FAZ POR TRÁS
O RACF:
valida usuário
valida senha
detecta MFA habilitado
chama o IBM MFA
valida o token
Se tudo bater:
ICH70001I LOGON ACCEPTED
Senão:
ICH70004I INVALID MFA TOKEN
📱 COMO O MICROSOFT AUTHENTICATOR ENTRA NA HISTÓRIA
O Microsoft Authenticator não “fala diretamente” com o TSO.
Ele apenas:
🔥 GERA CÓDIGOS TEMPORÁRIOS
Exemplo:
483921
30 segundos depois:
992184
Esses códigos são calculados matematicamente usando:
horário atual
chave secreta compartilhada
☕ O SEGREDO MAIS IMPORTANTE
Quando o MFA é configurado:
o servidor IBM MFA cria uma SECRET KEY
essa chave vai:
para o z/OS
para o celular
Os dois lados fazem o mesmo cálculo.
Por isso:
📱 O CELULAR E O MAINFRAME “PENSAM IGUAL”
🔥 PASSO A PASSO DO CADASTRO MFA
1. Administrador habilita MFA no RACF
Exemplo:
RDEFINE MFADEF FACTOR.AZFTOTP
Isso cria o fator TOTP.
2. Associar MFA ao usuário
Exemplo:
ALTUSER VBELLA MFA(FACTOR(AZFTOTP) ACTIVE)
Agora o usuário:
VBELLA
é obrigado a usar token.
3. IBM MFA gera QR Code
Algo parecido com:
otpauth://totp/MAINFRAME:VBELLA
4. Usuário abre o Microsoft Authenticator
No celular:
+
Other Account
Scan QR Code
5. O celular começa a gerar tokens
Exemplo:
483921
Mudando a cada 30 segundos.
🔥 COMO O LOGIN ACONTECE
O programador digita:
LOGON ===> VBELLA
PASSWORD ===> MAIN123483921
O RACF separa:
Senha = MAIN123
Token = 483921
IBM MFA calcula o token esperado
Internamente:
HASH(secret + current_time)
Resultado:
483921
Se bater:
ACCESS GRANTED
💀 O QUE MAIS DÁ PROBLEMA EM PRODUÇÃO
1. Token expirado
O usuário demora demais.
O token muda:
483921 → 992184
E o login falha.
2. Horário do celular errado
MFA depende do relógio.
Se o celular estiver dessincronizado:
token inválido
RACF rejeita
3. Usuário troca de celular
O MFA precisa ser reassociado.
Senão:
LOGIN BLOQUEADO
4. Print do QR Code
Isso é gravíssimo.
Quem tiver o QR:
consegue clonar o MFA
☕ ONDE ISSO É CONFIGURADO NO MAINFRAME?
RACF
Comandos:
ALTUSER
MFADEF
perfis MFA
IBM MFA STC
Started task típica:
AZFSTC
Ela:
conversa com RACF
valida tokens
integra com Authenticator
Arquivos de configuração
Dependendo da instalação:
AZFCONF
AZFEXEC
PARMLIB
🔥 COMO O TSO “ENXERGA” O MFA
O TSO puro não entende Authenticator.
Quem entende é:
RACF + IBM MFA
O TSO apenas:
recebe USERID
recebe PASSWORD field
O RACF interpreta o resto.
☕ A GRANDE SACADA DO MAINFRAME MODERNO
O mais impressionante é que:
💀 UM SISTEMA DOS ANOS 70 CONSEGUIU INTEGRAR MFA COM CELULAR MODERNO
Hoje é possível usar:
FaceID
push notification
Microsoft Authenticator
biometria
tokens cloud
…em cima de um:
3270 verde-preto
E isso é absurdamente fascinante.
🧠 RESUMO MENTAL PARA JÚNIOR
Pense assim:
TSO = tela de login
RACF = segurança principal
IBM MFA = motor MFA
Authenticator = gerador de token
Fluxo:
Usuário
↓
TSO
↓
RACF
↓
IBM MFA
↓
Microsoft Authenticator
↓
Token validado
↓
ISPF liberado
☕ FRASE FINAL
“No passado, invadir um mainframe exigia roubar uma senha.
Hoje, você precisa roubar também o bolso do programador.” 🔐📱💀