Pular para o conteúdo principal

✅ Checklist de Offboarding Seguro

Versão: 1.0
Última atualização: Novembro 2025
Responsável: HR (coordenação) + DevOps (técnico) + AppSec (validação) + Security Champion
Ciclo: T-14 dias antes até T+1 dia após término


📖 Objetivo

Formalizar e executar processo de offboarding seguro para:

  • Contractors cujo contrato termina
  • Fornecedores críticos que são rescindidos
  • Membros de equipa (internos ou externos) que saem da organização

Benefício: Revogação completa de acesso, recuperação de ativos, conformidade DORA/NIS2


🏃 Timeline de Offboarding

T-14 dias: Notificação de término é conhecida
└─ HR notifica Security Champion + DevOps + AppSec

T-10 dias: Preparação começa
└─ Checklist de offboarding enviado a stakeholders

T-5 dias: Avisos iniciais
└─ Notificação ao contractor/fornecedor (email + verbal)
└─ Backup de trabalho iniciado

T-1 dia: Avisos finais
└─ Last day confirmation email
└─ Equipamentos recolhidos agendados

T+0 (Dia de Término):
└─ Acesso revogado em T+0 (imediato após fim do expediente), com verificação até T+1
└─ Assets finais recuperados

T+1 dia: Verificação
└─ Sign-off de conclusão
└─ Entrevista de saída (feedback)

T+7 dias: Auditoria
└─ Revisão de logs (comportamento suspeito?)
└─ Validação de limpeza

📋 PRÉ-OFFBOARDING (T-14 a T-1)

1. Notificação Inicial e Planning

ItemOwnerStatusDataNotas
HR notifica: CISO, Security Champion, Tech Lead, DevOps Lead, ManagerHR[ ]____Email com data de término
Meeting de planning 2 semanas antesSecurity Champion[ ]____Checklist enviado, responsabilidades atribuídas
Aviso ao contractor (se conhecido com antecedência)Manager[ ]____Verbal + escrito
Documentar motivo de saídaHR[ ]____Resignação, fim de contrato, rescisão, etc.

2. Backup e Recuperação de Trabalho

ItemOwnerExecutadoVerificadoNotas
Identificar todos os repositórios/dados do contractorTech Lead[ ][ ]Listar Git repos, Jira boards, compartilhados OneDrive
Last commit identificadoDevOps[ ][ ]Data, SHA, conteúdo
Backup full de repositórios privadosDevOps[ ][ ]Ex.: git clone --mirror
Backup de código-fonte desenvolvidoDevOps[ ][ ]Archive zip, versionado com timestamp
Backup de documentação criadaTech Lead[ ][ ]Wikis, README, specs, design docs
Backup de comunicação importanteHR[ ][ ]Mails críticas, mensagens Slack (se compliance requer)
Arquivo em storage seguroDevOps[ ][ ]Rétention: 7 anos (DORA requirement), acesso restricted

Armazenamento:

Location: /archive/offboarded/{contractor-name}/{date}/
├─ git-repos-backup.tar.gz
├─ code-artifacts/
├─ documentation/
└─ metadata.json (index, sizes, checksums)

3. Notificações Pré-Offboarding

ComunicaçãoDeParaQuandoConteúdo
Aviso de OffboardingSecurity ChampionContractorT-7 diasData exata de término, lista de o que entregar
Aviso de Rescisão de EquipamentoHRContractorT-5 diasQuando/onde devolver laptop, telemóvel, badges, etc.
Aviso de Confidencialidade Pós-TérminoLegalContractorT-1 diaObrigações legais de sigilo continuam, duração, consequências
Last Access EmailSecurity ChampionContractor + ManagerT-0Último dia de acesso - atividades finais?

🔐 OFFBOARDING EXECUTION (T+0 DATA DE TÉRMINO)

4. Revogação de Acesso Técnico (<24h após T+0)

Timeline: Começar revogação entre T+0 (fim de expediente) e T+1 (manhã)

4.1 Git & CI/CD Access

ItemOwnerComando/AçãoStatusVerificação
Remover contractor de Github/GitLab orgsDevOpsgithub:remove-member {org} {user}[ ]Contractor não consegue clonar repos private
Revogar SSH keys (todas)DevOpsDelete de ~/.ssh/authorized_keys e Git platform[ ]SSH clone fails
Revogar Personal Access Tokens (PATs)DevOpsRevoke via GitHub/GitLab settings[ ]API calls fail com 401
Revogar CI/CD credentialsDevOpsDelete service account tokens[ ]CI/CD pipeline fails se contractor tenta trigger
Remove collaborator permissionsTech LeadRemove from all repositories[ ]No "edit" access visible
Archive contractor repos (se pessoal)DevOpsgit archive and move to /archive[ ]Repos marked as archived on platform

Verificação:

# Post-revocation check (5 min após revogação)
ssh -i /tmp/test-key git@github.com
# Expected: Permission denied (publickey)

git clone https://github.com/[org]/[private-repo]
# Expected: fatal: repository not found / access denied

4.2 VPN, Wifi, Physical Access

ItemOwnerAçãoStatusVerificação
Desativar VPN accountITDeactivate in VPN management console[ ]VPN login fails
Revogar Wifi credentialsITRemove MAC address / WiFi certificate[ ]Device cannot connect
Desativar badge/card accessFacilitiesCard deactivated in access control system[ ]Badge scan denied at doors
Desativar parking passFacilitiesRemove license plate from parking system[ ]Cannot access parking

4.3 Cloud & SaaS Platforms

PlataformaItemOwnerAçãoStatusVerificação
AWSIAM UserDevOpsDeactivate access key + delete user[ ]aws s3 ls fails (401)
AzureService Principal / UserDevOpsDelete or disable in Entra ID[ ]Cannot login to Azure portal
Google CloudService AccountDevOpsDelete service account[ ]GCP API calls fail
JiraUser AccountTech LeadDeactivate user in directory[ ]Cannot login, all issues reassigned
ConfluenceUser AccountTech LeadDeactivate user[ ]Cannot access wikis
SlackUser AccountHRDeactivate user[ ]Cannot login, marked as "inactive"
EmailCorporate EmailHRDisable mailbox (may keep 30 days)[ ]OWA/IMAP login fails

4.4 Database & Data Store Access

ItemOwnerAçãoStatusVerificação
Revogar PostgreSQL rolesDBADROP ROLE contractor_name[ ]psql connection rejected
Revogar MySQL usersDBADROP USER 'contractor'@'%'[ ]MySQL login fails
Revogar MongoDB authDBARemove user from database[ ]MongoDB auth fails
Revogar S3/Storage accesDevOpsRemove IAM policy, delete credentials[ ]AWS S3 upload/download fails
Revogar Vault accessDevOpsRemove AppRole, invalidate token[ ]Vault auth fails

4.5 MFA & Authentication

ItemOwnerAçãoStatusVerificação
Remover MFA deviceITRemove from Microsoft Authenticator / Authy[ ]Contractor cannot log in com MFA
Revogar biometric accessFacilitiesRemove fingerprint from system[ ]Badge reader rejects biometric
Revogar corporate device registrationITRemove from MDM (Mobile Device Management)[ ]Device loses corporate mail, VPN

4.6 Integrações, Automação e Acessos Indiretos

ItemOwnerAçãoStatusVerificação
Inventariar integrações associadas ao utilizadorDevOpsListar apps/integrações ligadas a Git, CI/CD, ChatOps, ALM[ ]Lista anexada ao offboarding
Revogar tokens de aplicações e integraçõesDevOpsRevogar tokens OAuth, webhooks, apps instaladas, bots, runners[ ]Eventos/ações deixam de executar
Revogar credenciais em gestores de segredos e automaçãoDevOpsInvalidar tokens/approles, remover bindings a pipelines[ ]Acesso falha / execuções falham
Remover configurações de sincronização/exportaçãoIT/DevOpsDesativar sincronizações, forwards, ligações a storage externo[ ]Não existe export pós-T+0
Validar que não existem permissões herdadas por gruposIT/Tech LeadRever grupos/roles indiretos em diretórios e plataformas[ ]Sem acesso residual via grupo

5. Recuperação de Ativos Físicos

ItemRecolhido PorResponsávelStatusVerificação
Laptop/Desktop computerITSecurity Champion[ ]Device serial verified, collected in person
Mobile phone (if corporate)ITSecurity Champion[ ]Wiped on site (or scheduled)
Badges/CardsFacilitiesSecurity Champion[ ]Physically returned
Keys (office, lab, locker)FacilitiesSecurity Champion[ ]All accounted for
Hardware tokens (security key, fob)ITSecurity Champion[ ]Returned and destroyed
External drives/USB sticksTech LeadSecurity Champion[ ]Scanned for unauthorized data
Documents/printoutsHRSecurity Champion[ ]Collected, shredded or archived
Other equipmentHRSecurity Champion[ ]Specify: _________________

Procedure:

1. Schedule collection meeting (T+0 or T+1)
2. Witness: Security Champion + HR + IT
3. Device powered off, inventory checked
4. Wiping scheduled (within 48h) or done on-site
5. Sign-off form completed
6. Evidence photographed/logged

6. Secrets & Credentials Rotation

ItemOwnerAçãoStatusVerificação
API keys contractor had access toAppSecRevoke in platform, rotate secrets[ ]Old key returns 401
Database passwordsDBARotate in Vault + all apps updated[ ]Old password fails login
JWT signing keysDevOpsRotate if contractor had access[ ]Old tokens become invalid
SSH host keys (if compromised risk)DevOpsRegenerate (ex.: GitHub deploy keys)[ ]Old SSH key fails
OAuth tokensDevOpsRevoke all tokens for contractor's app[ ]App reauthenticates
Certificates/SSL keysDevOpsRotate if contractor had access[ ]Old cert expires or revoked

Timing: All rotations SAME DAY or next day latest (DORA requirement)


📋 PÓS-OFFBOARDING (T+1 a T+7)

7. Verificação de Conclusão

T+1 (Dia após término):

ItemOwnerVerificadoObservações
Confirmação: Todos acessos revogadosDevOps[ ]Cross-check todas plataformas
Confirmação: Todas devices recuperadosIT[ ]Serial numbers matched, wiping initiated
Confirmação: Contractor não consegue fazer login em nenhuma plataformaAppSec[ ]Teste login (deve falhar) em 5 plataformas random
Backup de dados verificadoDevOps[ ]Archive integridade validada (checksums OK)
Sign-off form assinadoSecurity Champion[ ]Todas as partes assinaram

Sign-Off Form Template:

OFFBOARDING SIGN-OFF

Contractor: ________________
Data de Término: ________________
Data de Offboarding Completado: ________________

Confirmamos que o seguinte foi completado:
✓ Acesso técnico revogado (Git, Cloud, VPN, Email, Jira, Slack)
✓ Ativos físicos recuperados (laptop, badge, chaves)
✓ Secrets rotacionados (API keys, DB passwords, etc.)
✓ Backup de dados arquivado
✓ Confidentiality agreement assinado e reforçado
✓ Nenhum acesso residual identificado

Assinado por:
- HR Manager: _________________ Data: _____
- Security Champion: _________________ Data: _____
- DevOps Lead: _________________ Data: _____
- Tech Lead: _________________ Data: _____

Escalonamento (se necessário):
Incidentes durante offboarding: [_______________]
CISO Notificado? [ ] Sim [ ] Não
Data: _____

Contacto para follow-up: _________________

8. Entrevista de Saída (Feedback)

T+1 ou T+2, 1-1 com contractor (opcional mas recomendado)

TópicoQuestãoRespostaAções
SegurançaComo foram as políticas de segurança? Claras? Impedimento?[_____][ ] Feedback para training
IncidentesAlgum incidente/erro de segurança durante projeto?[_____][ ] Incident ticket se sim
Access ControlAcesso foi apropriado? Tiveste permissões excessivas?[_____][ ] Adjustment para próximo
ToolingFerramentas de segurança foram intuitivas?[_____][ ] Tool review se feedback negativo
FormaçãoFormação de onboarding foi suficiente?[_____][ ] Trilho iterado se gaps
RecomendaçõesRecomendações de melhoria?[_____][ ] Backlog item criado

Resultado: Scoring (1–5) agregado para "Contractor Security Rating" (ver US-20)


9. Auditoria de Logs (T+3 a T+7)

AppSec Engineer revisão:

VerificaçãoQueryResultado esperadoStatus
Último acesso ao GitGit logs últimas 72hNenhum novo commit/push[ ]
Último acesso ao VPNVPN logs últimas 72hAcesso terminado T+0[ ]
Último acesso ao emailEmail logs últimas 72hNenhum login após T+0[ ]
Último acesso à cloudCloud audit logs últimas 72hNenhuma ação após T+0[ ]
Comportamento suspeitoSIEM alerts últimos 7 diasNenhum alert relacionado ao contractor[ ]
Data exfiltration attemptDLP logs últimos 7 diasNenhuma tentativa de upload/download[ ]
Atividade via integrações/botsLogs de automação/ChatOps/GitHub Apps/CINenhuma execução associada ao utilizador após T+0[ ]

Se anomalia encontrada:

  • Alertar CISO imediatamente
  • Iniciar incidente investigation
  • Rever logs de acesso residual
  • Escalação para Legal se necessário

📊 Artefactos & Documentação

Manter por 7 anos (DORA requirement):

Archive Location: /compliance/offboarding/{contractor-name}/{date}/
├─ offboarding-checklist.pdf (signed)
├─ backup-manifest.json
│ ├─ repositories: [list]
│ ├─ artifacts: [list]
│ └─ timestamp, checksums
├─ device-inventory.pdf (with photos)
├─ secrets-rotation-log.txt
├─ access-revocation-log.txt
├─ audit-logs-excerpt.pdf (last 72h)
├─ exit-interview.pdf
└─ sign-off-form.pdf

⚠️ Red Flags & Escalation

Se qualquer uma das seguintes ocorrer, ESCALATE IMEDIATAMENTE:

Red FlagAçãoOwner
Contractor tenta fazer login após T+0Escalate CISO, investigate login attemptSecurity Monitoring
Dados faltam no backupInvestigate theft/deletion, forensicsDevOps + CISO
Secrets não foram rotacionados a tempoRotate AGORA, investigate whyAppSec + DevOps
Equipamento "desaparecido"Escalate HR + Legal, possibly theftFacilities + HR
Contractor não devolveu equipamentoLegal letter, escalate to managementHR + Legal
Comportamento suspeito nos logsFull forensics, preserve evidenceAppSec + CISO
Contractor em lista de sanções (após saída)Legal + CISO, compliance checkCompliance + Legal

📎 Checklists por Tipo de Saída

A. Rescisão Imediata (por Causa)

Diferença: Sem avisos, revogação no mesmo dia

[ ] Security incident confirmado
[ ] Violação de política de segurança
[ ] Roubo de ativos
[ ] Breach potencial
[ ] Comportamento malicioso confirmado

Ações especiais:
- [ ] Device wiped on-site (não permitir levar laptop)
- [ ] Backup forense realizado ANTES de wipe
- [ ] Legal notificado
- [ ] CISO escalação obrigatória
- [ ] Possível relato a authorities

B. Rescisão Amigável (Fim de Contrato)

Timeline: Planeado com 2 semanas de aviso

[ ] Backup de trabalho completo
[ ] Knowledge transfer realizado
[ ] Entrevista de saída feita
[ ] Referências para re-hire consideradas
[ ] Thank you email sent

C. Fim de Contrato por Expiração

Automático após data pré-definida

[ ] Notificação automática em HR system
[ ] Offboarding inicia T-14 dias automaticamente
[ ] Extensão? Re-negotiate com Procurement

🏁 Success Criteria

Offboarding é considerado COMPLETO quando:

  • ✅ Todos os acessos técnicos revogados (0 acesso residual)
  • ✅ Todos os ativos físicos recuperados
  • ✅ Secrets rotacionados
  • ✅ Backup arquivado com integridade confirmada
  • ✅ Sign-off form assinado por 4+ partes
  • ✅ Auditoria de logs show nenhuma atividade pós-termo
  • ✅ Confidentiality obligations reforçadas
  • ✅ Arquivo completo em storage de compliance (7 anos)


Propriedade: HR + DevOps + AppSec
Revisão: Anual
Última atualização: Novembro 2025