Segurança e conformidade
Introdução
Nossa plataforma atende a sistemas de missão crítica no setor de energia. Ele atende aos padrões NERC para fornecer uma infraestrutura estável e segura de HMI a IoT. Esta seção se aprofunda nos principais recursos.
Destaques de segurança
Segurança e confiabilidade
Priorizamos a estabilidade e a segurança em todo o design de nossa plataforma, desde a seleção de tecnologia até a arquitetura do módulo.
Fácil configuração e manutenção
Nossa plataforma oferece configuração e manutenção seguras e diretas para vários cenários, garantindo escalabilidade e consistência.
Estabilidade operacional
A implementação de código 100% gerenciado de nossa plataforma garante estabilidade operacional, apresentando tratamento robusto de exceções e recuperação contínua de falhas.
Redundância e Disponibilidade
Para alta disponibilidade, nossa plataforma oferece redundância com um sistema comprovado de espera ativa para bancos de dados, alarmes e historiadores em tempo real, atendendo a diversas configurações de rede.
NERC
A plataforma foi projetada de acordo com as recomendações aplicáveis do NERC CIP, como CIP-007-1 - Gerenciamento do Sistema de Segurança Cibernética.
Listados abaixo e descritos estão alguns recursos relacionados à segurança disponíveis no produto:
· Controle de acesso: Técnica de segurança que regula quem ou o que pode visualizar ou usar recursos em um ambiente de computação.
· Criptografia de senha: O administrador do sistema não possui acesso à senha do usuário, que é criptografada antes de ser armazenada.
· Idade máxima e mínima para senha: Um recurso que impõe uma idade mínima da senha antes de permitir sua alteração e uma idade máxima antes de expirar.
· Alteração de senha necessária: O usuário deve alterar sua senha após o primeiro login.
· Nome de usuário e senha Comprimento mínimo: Estabelece requisitos mínimos para senhas.
· Bloquear em caso de tentativa de login inválida: Bloqueia o usuário após atingir o máximo de tentativas de logins inválidos.
· Armazenar histórico de senhas: Um intervalo das últimas 0 a 5 senhas pode ser armazenado para garantir que o usuário não repita uma já usada.
· Logoff automático: O usuário é desconectado do sistema por inatividade ou data de expiração.
· Dados da trilha de auditoria: Registo cronológico relevante para a segurança, um conjunto de registos que fornecem provas documentais da sequência de atividades que afetaram uma operação específica em qualquer momento.
Para obter informações adicionais sobre o NERC CIP-007-1 - Gerenciamento do Sistema de Segurança Cibernética, acesse Visão geral do NERC CIP.
Segurança interna do .NET
Action.NET o desenvolvimento é construído no .NET framework, seguindo protocolos de segurança rígidos. Cada módulo segue diretrizes específicas alinhadas com sua função, como a adesão a padrões como IEC61850 para módulos que lidam com comunicações de dispositivos elétricos.
Abaixo estão os principais tópicos de segurança, juntamente com detalhes essenciais sobre cada um.
Segurança no nível central
A implementação de segurança está enraizada no nível principal, em vez de ser aplicada externamente. Os módulos da plataforma incorporam componentes de segurança integrados projetados desde o núcleo.
Para obter informações mais detalhadas sobre a segurança do .NET, consulte a documentação da Microsoft, disponível em Informações de segurança do Microsoft .NET.
Segurança de comunicação
Comunicação entre módulos
A criptografia desempenha um papel crucial na proteção da comunicação entre módulos externos e TServer, abrangendo processos como ScriptTaskServer, DataAccess, Devices, TRichClient, SmartClient, ModuleInfo, TraceWindow e PropertyWatch. Duas classes primárias são empregadas para esse fim:
a) System.Security.Cryptography.RSACryptoServiceProvider (assimétrico, KeySize: 1024): Facilita a criptografia assimétrica e a descriptografia utilizando a implementação do algoritmo RSA fornecida pelo CSP (provedor de serviços criptográficos).
b) System.Security.Cryptography.Rijndael (KeySize: 256): Utilizado para criptografia e descriptografia, o Rijndael opera com um tamanho de chave de 256 bits.
É essencial observar:
Programas externos só podem acessar o TServer depois de passar por validação/autenticação. O TServer responde a solicitações externas somente após a validação/autenticação, realizada por meio da autenticação de usuário/senha ou da Autenticação do Windows.
"RSACryptoServiceProvider" gera chaves privadas/públicas, enquanto "Rijndael" lida com o processo de criptografia/descriptografia, aproveitando as chaves privadas/públicas.
A compactação de dados é empregada apenas se o tamanho do bloco exceder 16000 bytes, utilizando o método de compactação GZIP. O recurso ModuleInformation oferece valores estimados para cada conexão, considerando que o WCF pode introduzir bytes adicionais durante a transmissão de dados.
"Os aplicativos do .NET Framework devem utilizar a versão TLS compatível com o sistema operacional (SO)." O FactoryStudio não configura manualmente a versão do TLS, mas depende da configuração do sistema operacional.
O acesso remoto via serviços WebAccess (programas ou módulos de terceiros) consome serviços web disponíveis via HTTP ou HTTPS.
Comunicação com clientes da web
O HTML5 oferece flexibilidade na escolha entre os protocolos "http" ou "https/ssl". Você pode definir configurações de compactação como GZIP no servidor IIS. Além disso, você pode implementar métodos de autorização personalizados, como filtragem de IP ou autenticação baseada em localização, juntamente com configurações de sessão obrigatórias.
Gateway Web seguro
O TWebGateway é crucial para nossa plataforma, permitindo uma transferência de dados suave entre diferentes zonas de rede de segurança. Ele conecta dados de níveis inferiores, como o chão de fábrica (Nível 2), para níveis mais altos, como a empresa (Nível 4).
O TWebGateway atua como uma barreira protetora, protegendo as redes internas do tráfego inseguro. As empresas confiam nele para proteger funcionários e usuários contra possíveis ameaças de tráfego malicioso da web, sites, vírus e malware.
Proteção de arquivos e execução
Licença/Softkey
O recurso "Licença/Softkey" emprega a classe .NET System.Security.Cryptography.Rijndael, utilizando criptografia simétrica com um tamanho de chave de 256 bits.
Assinatura digital
Todas as montagens criadas pela Spin Eng são assinadas digitalmente.
Formato do projeto (proteção de configuração)
Todas as configurações do projeto, incluindo medidas de segurança como criptografia, recuperação de energia e proteções de usuário/senha, são armazenadas em um banco de dados relacional (arquivo .dbsln). Este arquivo também contém o código-fonte e binários compilados para Scripts e Displays. Esse método de armazenamento centralizado simplifica o gerenciamento e a implantação de projetos, facilitando o acesso e a manutenção.
Autenticação e permissões do usuário
Autenticação do usuário
Nossa plataforma oferece integração com vários sistemas para autenticação de usuários:
Autenticação do Microsoft Active Directory e do Windows
Conexão do servidor LDAP
Banco de dados de usuários integrado
Bancos de dados externos ou servidores de autenticação de usuário
Autenticação do Active-Directory / Windows
Habilitar a Autenticação do Windows ignora a lista de usuários configurada do projeto, contando com as políticas do Windows. O Windows gerencia a autenticação do usuário diretamente, utilizando o usuário do Windows conectado no momento para acesso ao sistema.
LDAP
Quando o LDAP é usado, o projeto ignora sua lista de usuários configurada e depende de políticas gerenciadas pelo Windows e pelo servidor LDAP. A autenticação é feita pelo Windows e pelo servidor LDAP, com o usuário externo conectado ao servidor LDAP sendo utilizado no sistema.
Usuários de tempo de execução
O sistema gera usuários dinamicamente e armazena suas credenciais em bancos de dados SQL. Ele se integra ao Active Directory ou a sistemas de terceiros para recuperar usuários, permitindo segurança integrada e recursos de login unificados.
Funções, permissões e políticas
Permissões de grupo e usuário
Nossos usuários podem definir privilégios com base em grupos ou indivíduos específicos. As permissões podem ser definidas globalmente ou vinculadas a exibições, objetos ou ações de entrada específicas, oferecendo controle granular sobre os níveis de acesso.
Políticas de usuário
Nossa plataforma oferece uma ampla gama de recursos de gerenciamento de usuários, incluindo políticas de identificação, controle de duração de sessão, mecanismos de logoff automatizados, recursos de assinatura eletrônica e funcionalidade robusta de trilha de auditoria.
Proteção contra injeção de banco de dados
Há uma preocupação significativa com a injeção de SQL em operações de banco de dados envolvendo procedimentos armazenados. A injeção de SQL pode ocorrer se os parâmetros forem passados como texto simples dentro de instruções SQL, o que pode permitir que código malicioso seja executado. Para evitar isso, usamos a API do .NET, em que os parâmetros são adicionados à lista de parâmetros de um objeto de comando. Essa abordagem torna a injeção de SQL impossível ao manipular com segurança a entrada do usuário.
Validação externa de segurança
A Veracode ou empresas terceirizadas acessam regularmente a plataforma para relatórios de testes de penetração, análise de lacunas e vários outros tópicos.
Quaisquer problemas que impeçam uma aprovação de 100% são corrigidos.