Segurança de Serviços Externos
LidoEsta aula aborda a segurança em serviços externos, incluindo SaaS, integrações de terceiros, o modelo de responsabilidade compartilhada e a importância de revisões periódicas de contas e permissões. Você aprenderá como avaliar riscos, implementar boas práticas e proteger sua organização ao usar serviços externos.
A segurança da informação não se limita ao que está dentro do perímetro da sua organização. Com a crescente adoção de serviços em nuvem e ferramentas externas, é essencial entender como proteger dados e sistemas quando você depende de terceiros. Nesta aula, vamos explorar os conceitos fundamentais de segurança de serviços externos, incluindo Software como Serviço (SaaS), integrações de terceiros, o modelo de responsabilidade compartilhada e a necessidade de revisões periódicas de contas e permissões.
Vamos mergulhar em cada um desses tópicos, fornecendo exemplos práticos e recomendações acionáveis para que você possa fortalecer a postura de segurança da sua organização em relação a serviços externos.
SaaS
Software como Serviço (SaaS) é um modelo de distribuição de software em que um provedor terceirizado hospeda aplicações e as disponibiliza aos clientes pela internet. Exemplos comuns incluem Google Workspace, Microsoft 365, Salesforce, Slack e Zoom. Nesse modelo, o provedor é responsável por toda a infraestrutura, manutenção, atualizações e, em grande parte, pela segurança da plataforma. No entanto, o cliente ainda tem responsabilidades significativas, como gerenciar o acesso dos usuários, configurar políticas de segurança e proteger os dados que são armazenados no serviço.
Ao adotar um serviço SaaS, é crucial avaliar o nível de segurança oferecido pelo provedor. Verifique se ele possui certificações como ISO 27001, SOC 2, e se está em conformidade com regulamentações relevantes (LGPD, GDPR). Além disso, entenda onde os dados são armazenados e processados, e quais são as políticas de retenção e exclusão de dados. Uma boa prática é realizar uma due diligence de segurança antes de contratar qualquer serviço SaaS, revisando a documentação de segurança fornecida pelo provedor.
Exemplo de configuração de segurança em um serviço SaaS (simulação de política de senha em um arquivo de configuração):
# Exemplo de política de senha para um serviço SaaS
password_policy:
minimum_length: 12
require_uppercase: true
require_lowercase: true
require_numbers: true
require_special_characters: true
expiration_days: 90
history_count: 5
Third-party
Integrações de terceiros (third-party) são componentes ou serviços externos que se conectam aos seus sistemas para adicionar funcionalidades ou automatizar processos. Isso pode incluir APIs, plugins, bibliotecas de código aberto, ou até mesmo serviços completos que se integram via APIs. Embora essas integrações tragam benefícios, elas também introduzem riscos de segurança, pois podem acessar seus dados e sistemas de maneiras que você nem sempre controla.
Para gerenciar esses riscos, é essencial manter um inventário atualizado de todas as integrações de terceiros utilizadas pela sua organização. Avalie cada integração quanto à sua necessidade, ao nível de acesso que ela exige e à reputação do fornecedor. Sempre que possível, aplique o princípio do menor privilégio: conceda apenas as permissões mínimas necessárias para o funcionamento da integração. Além disso, monitore as integrações quanto a atividades suspeitas e revise periodicamente se ainda são necessárias.
Um exemplo de código para verificar permissões de uma integração em uma API (simulação):
# Verificar permissões de uma integração de terceiros
integration_permissions = {
"name": "AnalyticsTool",
"scopes": ["read:reports", "write:events"],
"status": "active"
}
def check_permission(integration, required_scope):
if required_scope in integration["scopes"]:
return True
else:
return False
# Exemplo de uso
if check_permission(integration_permissions, "admin:all"):
print("Permissão de administrador concedida!")
else:
print("Permissão limitada corretamente.")
Shared responsibility
O modelo de responsabilidade compartilhada (shared responsibility) é um conceito fundamental na segurança em nuvem. Ele define claramente quais responsabilidades de segurança são do provedor de serviços e quais são do cliente. No caso de SaaS, o provedor é responsável pela segurança da infraestrutura, plataforma e aplicação, enquanto o cliente é responsável pela segurança dos dados, gerenciamento de acesso e configuração do serviço.
Entender esse modelo é crucial para evitar lacunas de segurança. Muitas organizações assumem erroneamente que, ao usar um serviço SaaS, toda a segurança é responsabilidade do provedor. No entanto, o cliente ainda precisa garantir que as políticas de acesso, autenticação e proteção de dados estejam adequadamente configuradas. Por exemplo, se você não habilitar a autenticação multifator (MFA) para os usuários da sua conta SaaS, estará assumindo o risco de acesso não autorizado.
Um diagrama de responsabilidades compartilhadas pode ser representado assim:
Responsabilidades do Provedor:
- Segurança física dos datacenters
- Infraestrutura de rede
- Sistemas operacionais
- Aplicação SaaS
Responsabilidades do Cliente:
- Dados e conteúdo
- Gerenciamento de usuários e acessos
- Configuração de segurança
- Conformidade com regulamentações
Account reviews
As revisões de contas (account reviews) são processos periódicos de auditoria das contas de usuário e permissões em sistemas externos. O objetivo é garantir que apenas pessoas autorizadas tenham acesso aos serviços e que as permissões estejam alinhadas com as funções atuais dos usuários. Com o tempo, funcionários mudam de cargo, saem da empresa, ou acumulam permissões desnecessárias, o que aumenta a superfície de ataque.
Implementar um processo de revisão de contas envolve: identificar todos os serviços externos em uso, listar todas as contas associadas, revisar as permissões de cada conta e revogar acessos desnecessários. Isso deve ser feito em intervalos regulares (por exemplo, trimestralmente) e sempre que ocorrer uma mudança significativa, como a saída de um funcionário. Ferramentas de gerenciamento de identidade e acesso (IAM) podem automatizar parte desse processo, mas a revisão humana ainda é necessária para validar se os acessos fazem sentido.
Exemplo de script para listar usuários e permissões (simulação):
# Simulação de revisão de contas em um serviço externo
users = [
{"name": "Alice", "role": "admin", "last_login": "2025-03-10"},
{"name": "Bob", "role": "editor", "last_login": "2025-01-15"},
{"name": "Carol", "role": "viewer", "last_login": "2024-12-01"}
]
for user in users:
print(f"Usuário: {user['name']} - Papel: {user['role']} - Último login: {user['last_login']}")
if user["role"] == "admin" and user["last_login"] < "2025-01-01":
print(" -> Acesso administrativo inativo, considere revogar.")
Boas práticas e observações finais
Para finalizar, aqui estão algumas boas práticas essenciais ao lidar com serviços externos:
- Centralize o gerenciamento de identidades: Use um provedor de identidade (IdP) como Okta ou Azure AD para gerenciar acessos de forma centralizada.
- Aplique autenticação multifator (MFA): Exija MFA para todos os usuários em serviços externos, especialmente para administradores.
- Monitore atividades: Ative logs e alertas para detectar comportamentos anômalos em serviços externos.
- Revise contratos e SLAs: Verifique se os contratos com provedores incluem cláusulas de segurança e confidencialidade adequadas.
- Eduque os usuários: Treine os funcionários sobre riscos de segurança e boas práticas ao usar serviços externos.
Em resumo, a segurança de serviços externos exige uma abordagem proativa e contínua. Ao entender os conceitos de SaaS, third-party, shared responsibility e account reviews, você estará melhor preparado para proteger sua organização contra ameaças relacionadas a esses serviços. Lembre-se de que a segurança é um processo contínuo, não um destino.
Referências
- OWASP Top Ten
- AWS Shared Responsibility Model
- Microsoft Trust Center
- Google Cloud Security
- ISO/IEC 27001
- CISA - Cybersecurity & Infrastructure Security Agency
- NIST Cybersecurity Framework
Exercícios
- Explique o modelo de responsabilidade compartilhada em um serviço SaaS e dê um exemplo de responsabilidade do cliente e do provedor.