Mostrar mensagens com a etiqueta segurança. Mostrar todas as mensagens
Mostrar mensagens com a etiqueta segurança. Mostrar todas as mensagens

domingo, 16 de agosto de 2015

Como Programar sem Violar a Fortaleza do z/OS ☕🔐

 

Bellacosa Mainframe comenta sobre os risco e perigos e elogia o guardião RACF

🔥 Manual de Segurança RACF para Desenvolvedores

Como Programar sem Violar a Fortaleza do z/OS ☕🔐

No Mainframe, segurança não é um módulo.
É uma camada estrutural invisível que permeia tudo.

E no coração dessa segurança está o RACF (Resource Access Control Facility).

Para o desenvolvedor, RACF pode parecer apenas “aquele erro de autorização”.
Na realidade, ele é o guardião de:

🏦 dados bancários
🪪 informações pessoais
📊 bases governamentais
🧾 registros legais
💰 trilhões em transações

Entender RACF não é opcional — é requisito profissional.


🧠 1) Você não “bypass” RACF — você trabalha com ele

Não existe atalho legítimo.

Se o acesso foi negado, é porque:

👉 Você não precisa dele
👉 Falta autorização formal
👉 O recurso é sensível
👉 Há segregação de funções

Profissionais maduros não pedem acesso amplo — pedem acesso correto.


🔒 2) Princípio do Menor Privilégio

Regra fundamental:

Tenha apenas o acesso necessário para sua função.

Isso reduz:

✔ Risco de erro humano
✔ Possibilidade de abuso
✔ Impacto de incidentes
✔ Superfície de ataque

Se você tem acesso demais, algo está errado.


📁 3) Dataset é recurso protegido

Cada dataset pode ter regras específicas.

Níveis comuns de acesso:

  • READ — leitura

  • UPDATE — alteração

  • CONTROL — manipulação avançada

  • ALTER — controle total

Nunca assuma que READ permite processamento completo.


🏦 4) Bibliotecas de produção são zonas críticas

Load libraries e datasets de produção são altamente protegidos.

Desenvolvedores normalmente:

❌ Não podem alterar diretamente
✔ Devem promover via processos formais
✔ Passam por change management
✔ São auditados

Isso garante integridade operacional.


🧾 5) Logs existem — e são analisados

Cada tentativa de acesso pode ser registrada.

Auditores conseguem ver:

📅 Quem acessou
🕒 Quando acessou
📦 Qual recurso
❌ Tentativas negadas
⚠ Padrões suspeitos

Transparência é total.


🧠 6) IDs pessoais são responsabilidade individual

Nunca compartilhe sua credencial.

Seu ID representa você legal e operacionalmente.

Tudo feito com ele é atribuído a você.


🛑 7) Hardcode de credenciais é proibido

Código não deve conter:

❌ Senhas
❌ IDs de usuário
❌ Tokens
❌ Dados sensíveis

Além de inseguro, viola normas de auditoria.


🔐 8) RACF também protege programas

Não apenas dados.

Pode controlar execução de:

  • Programas autorizados

  • Transações CICS

  • Comandos do sistema

  • Recursos UNIX

  • Serviços especiais

Isso evita uso indevido de funções críticas.


🔁 9) Ambientes são segregados

Desenvolvimento, teste e produção possuem regras diferentes.

Mover código entre ambientes requer:

✔ Aprovação formal
✔ Procedimentos controlados
✔ Registro da mudança

Acesso direto à produção é raro e justificado.


📊 10) Segurança influencia o design do software

Aplicações devem considerar:

✔ Controle de acesso
✔ Proteção de dados sensíveis
✔ Logs apropriados
✔ Não exposição de informações confidenciais

Segurança não é “camada externa”.


🧯 11) Violação pode gerar consequências sérias

Dependendo do ambiente:

⚠ Investigação interna
⚠ Revogação de acessos
⚠ Medidas disciplinares
⚠ Implicações legais

Mainframe é ambiente regulado.


🧩 12) Peça ajuda ao time de segurança

Não tente “descobrir sozinho”.

Equipes RACF existem para:

✔ Conceder acessos corretos
✔ Explicar políticas
✔ Garantir conformidade
✔ Evitar incidentes

Colaboração é parte do processo.


🏛️ 13) Segurança é base da confiança no Mainframe

O motivo de bancos e governos confiarem no z/OS é simples:

🔒 Controle rigoroso
📜 Auditoria forte
🧱 Arquitetura segura
⏳ Estabilidade comprovada

Sem RACF (ou equivalente), esse nível de confiança não existiria.


☕ Filosofia Bellacosa Mainframe

Desenvolvedor maduro não luta contra a segurança.

Ele entende que:

“Se o sistema financeiro mundial confia nessa plataforma, a segurança precisa ser implacável.”


⭐ Conclusão

RACF não é obstáculo.
É proteção — inclusive para você.

Quando usado corretamente:

✔ Evita erros catastróficos
✔ Garante conformidade regulatória
✔ Protege dados sensíveis
✔ Sustenta operações críticas

“No Mainframe, segurança não é feature. É fundação.”

sexta-feira, 1 de outubro de 2010

☕🔥 RACF Hardcore — Segurança Mainframe sem verniz

 

Bellacosa Mainframe apresenta o RACF 

☕🔥 RACF Hardcore — Segurança Mainframe sem verniz 

Se você já perdeu acesso ao próprio TSO, já bloqueou produção com um PERMIT mal dado, ou já ouviu

“foi só uma alteração de RACF…”
então este texto é para você.

Aqui não tem introdução infantil.
Aqui é RACF raiz, técnico, sistêmico e perigoso — do jeito que veterano respeita.


🕰️ História & Origem — por que o RACF nasceu paranoico

O RACF (Resource Access Control Facility) surge nos anos 70, quando a IBM percebeu que:

  • Controle por good behavior não escala

  • Segurança precisava ser centralizada

  • Auditoria não podia ser opcional

RACF foi desenhado para:

  • Negar por padrão

  • Controlar quem, o quê, quando e como

  • Integrar com o núcleo do z/OS

Verdade inconveniente:

RACF não confia nem no SYSADM. E está certo.


🔐 Por onde começar com Segurança (visão de veterano)

Segurança não começa no comando. Começa no modelo mental.

Princípios reais:

  • Least Privilege

  • Segregation of Duties

  • Accountability

  • Auditabilidade

🔥 Easter egg:
Ambiente “funcionando” ≠ ambiente “seguro”.


🏗️ A Estrutura de Grupos — o esqueleto invisível

Grupos RACF não são “organizacionais”.
São domínios de autoridade.

  • Grupos pais controlam filhos

  • OWNER ≠ SUPGROUP

  • Hierarquia mal desenhada vira bomba relógio

📌 Exemplo técnico:

ADDGROUP FINANCE SUPGROUP(SYS1) OWNER(SYS1)
ADDGROUP FINANCE.PAYROLL SUPGROUP(FINANCE)

Comentário ácido:

Grupo mal definido é privilégio eterno.


⌨️ Os Comandos RACF — bisturis, não martelos

  • ADDUSER / DELUSER

  • ADDGROUP / DELGROUP

  • CONNECT / REMOVE

  • PERMIT

  • ALTUSER / ALTGROUP

  • SETROPTS

🔥 Regra de Produção:

Se você não sabe desfazer, não execute.


🗑️ Definindo & Excluindo Grupos RACF

Criar grupo é fácil.
Excluir é trauma.

Antes de um DELGROUP:

  • Usuários conectados?

  • Perfis com OWNER?

  • DATASET PROFILE ownership?

  • Surpresas em ACL herdada?

Fofoquice técnica:
DELGROUP em produção é evento histórico.


👤 Definindo Usuários — mais que um ID

Um usuário RACF é:

  • Identidade

  • Responsabilidade

  • Risco

Campos críticos:

  • SPECIAL / OPERATIONS / AUDITOR

  • PASSWORD interval

  • REVOKE / RESUME

  • OMVS / DFP / CICS

📌 Exemplo:

ADDUSER JOSE NAME('JOSE SILVA') DFLTGRP(FINANCE) PASSDATE(30)

🔥 Easter egg:
Usuário genérico é pecado capital.


🔗 Conectando Usuários a Grupos

CONNECT é onde a segurança realmente acontece.

  • AUTHORITY (USE, READ, CONNECT, JOIN)

  • GROUP-SPECIAL

  • OWNER implícito

Verdade nua:

CONNECT errado é privilégio que ninguém vê.


🗂️ Perfis de Conjunto de Dados (DATASET PROFILES)

O coração do RACF clássico.

  • HLQ como fronteira de poder

  • DISCRETIONARY ≠ MANDATORY

  • UACC mal definido = vazamento

📌 Exemplo:

ADDSD 'FINANCE.PAYROLL.**' OWNER(FINANCE) UACC(NONE)
PERMIT 'FINANCE.PAYROLL.**' ID(PAYUSR) ACCESS(READ)

🔥 Curiosidade:
UACC(READ) já causou mais incidente que bug de COBOL.


🌐 Perfis Gerais de Recursos (CLASS Profiles)

Aqui o RACF vira onipresente:

  • CICS

  • IMS

  • MQ

  • SDSF

  • OPERCMDS

  • FACILITY

El Jefe warning:

Quem ignora classe FACILITY não entende z/OS moderno.


🧨 Recursos Especiais do RACF

  • SPECIAL

  • OPERATIONS

  • AUDITOR

  • TRUSTED

  • WARNING vs FAIL

🔥 Comentário venenoso:
SPECIAL demais é insegurança institucionalizada.


⚙️ O Comando SETROPTS — o painel nuclear

SETROPTS controla:

  • Ativação de classes

  • Auditoria

  • Regras globais

  • Password rules

📌 Exemplo:

SETROPTS CLASSACT(DATASET) RACLIST(DATASET) REFRESH

☕🔥 Regra sagrada:

SETROPTS sem planejamento vira outage invisível.


🔄 RACF Remote Sharing Facility (RRSF)

RACF em modo distribuído:

  • Compartilhamento de identidades

  • Replicação de perfis

  • Confiança entre sistemas

🔥 Curiosidade:
RRSF mal configurado espalha erro em escala industrial.


🔗 RACF e Sysplex — segurança em cluster

No Sysplex:

  • Database compartilhado

  • Consistência obrigatória

  • Propagação imediata

Verdade dura:

No Sysplex, erro local vira problema global.


🧪 Programas Utilitários RACF

Ferramentas para quem não vive no ISPF:

  • IRRDBU00

  • IRRUT200

  • IRRICE

  • unloads para auditoria

  • Análise offline

🔥 Easter egg veterano:
Auditor sério não confia só em LISTUSER.


🧠 Mentalidade de Segurança Mainframe (nível veterano)

✔️ Segurança é processo, não produto
✔️ Tudo que não está definido será explorado
✔️ RACF não protege sistema — protege negócio
✔️ Auditor não é inimigo
✔️ Log é prova histórica


🥚 Easter Eggs & Fofoquices RACF

  • Todo ambiente tem um ID “histórico”

  • Sempre existe um dataset que “ninguém sabe de quem é”

  • Segurança forte incomoda — e é esse o objetivo

  • Incidente sério sempre começa com:

    “Mas esse acesso sempre existiu…”


☕🔥 Conclusão — Manifesto El Jefe RACF

RACF não é:

  • Cadastro

  • Burocracia

  • Entrave

RACF é:

  • Arquitetura de confiança

  • Controle de risco

  • Linha final de defesa do z/OS

☕🔥 Se você domina RACF,
você não protege arquivos —
protege a empresa inteira.