GNU Health/Segurança

Protegendo seu Ambiente GNU Health

editar

A segurança é uma tarefa multidisciplinar, envolvendo componentes de rede, sistema operacional, banco de dados e de aplicação (Tryton) e os recursos humanos, para citar alguns.

Esta página vai tentar dar uma visão geral de alguns conceitos básicos que o ajudarão a melhorar o controle de acesso ao seu sistema. Também vamos falar sobre como ativar criptografia de chave pública para assinar documentos e registros de diferentes modelos.

  De modo algum esta página introdutória irá substituir o conselho de especialistas em segurança de computador para sua instalação específica!


Alertas de Segurança do GNU Health

editar

O GNU Health libera Avisos de Segurança (Security Advisories - SA) a qualquer momento que uma vulnerabilidade é encontrada. O formato de alerta de segurança é inspirado no FreeBSD.

Os avisos de segurança do GNU Health são enviados para todos os assinantes na lista de discussão "health-security". Consulte a seção "Recursos" para se inscrever.

Você pode verificar a lista de alerta de segurança atualizada em https://ftp.gnu.org/gnu/health/security/security_advisories.html

Controle de Acesso

editar

Portas padrão do servidor

editar

O servidor JSON-RPC Tryton escuta por padrão na porta 8000. É aconselhável mudar para outra porta em ambientes de produção.

Serverpass: O Utilitário de Senha do Servidor

editar

O utilitário Serverpass permite que você altere facilmente a senha de super-usuário do servidor Tryton. O "super-usuário" é o único que pode fazer tarefas administrativas em bancos de dados do cliente Tryton (criar, apagar, copiar, restaurar).

Nas versões atuais do Tryton (desde 3.4) a senha do super usuário é criptografada. Para facilitar a criação e atualização da senha, o utilitário Serverpass está incluído e é chamado automaticamente no final do processo de instalação. O Serverpass usa cracklib, um pacote que impõe a utilização de senhas "fortes", assim aumenta a segurança do seu servidor.

Executando o Serverpasss a partir da linha de comando

editar

Se você quiser atualizar sua senha atual, você pode executar o comando serverpass a partir da linha de comando. O utilitário está localizado em $HOME/gnuhealth/tryton/servidor/util.

Por exemplo:

gnuhealth@veganworld:~/gnuhealth/tryton/servidor/util$ python ./serverpass.py
Using Tryton configuration file  /home/gnuhealth/gnuhealth/tryton/server/config/trytond.conf
Password: 
Again
Password: 
Configuration file updated with new password !

A senha criptografada de super-usuário do servidor foi atualizada, na seção correspondente do arquivo trytond.conf. Aqui está uma amostra do arquivo:

[database]
uri = postgresql://localhost:5432
path = /home/gnuhealth/attach
[session]
super_pwd = JonB./CoLl8F6

Desabilitar usuários demonstrativos em ambientes de produção

editar


  Por razões de segurança, desativar usuários demo em ambientes de produção!


O GNU Health vem com um conjunto de usuários pré-definidos para fins de demonstração. Todos eles têm o sufixo "demo_" (demo_doctor, demo_front_desk, demo_nurse, etc.).

Por favor desative-os em ambientes de produção.

Para desativar os usuários, siga o seguinte caminho: Administração -> Usuários -> Usuários

 
Desativação de usuário de demonstração em ambiente de produção

Em filtros, você pode escolher: nome de login: demo_

Desmarque a opção "ativa" de cada um deles. Os usuários demonstrativos estão agora desativado no seu ambiente.

Criptografia de chave pública no GNU Health

editar

Módulo Criptográfico do GNU Health

editar
 
Botão que gera a prescrição eletrônica e sua mensagem de resumida
 
Resumo da prescrição eletrônica
 
Verificação de documento no módulo criptográfico do GNU Health mostra uma data alterada.

O objetivo do módulo é o de alcançar os conceitos de confidencialidade, integridade e garantia de aceitação no GNU Health.

O módulo health_crypto atualmente fornece as seguintes funcionalidades:

  • Serialização de documentos
  • Codificação de documentos (MD)
  • Assinatura de documentos
  • Verificação de documentos

O módulo irá funcionar em registros a partir de modelos que terão esta funcionalidade, como a prescrição, a avaliação do paciente, cirurgias ou exames de laboratório.

A serialização inclui as informações em um formato predefinido (JSON) e codificação (UTF-8).

Haverá um campo que irá conter o Resumo da Mensagens do processo de serialização, e que irá verificar se há quaisquer alterações. Se houver caso de alteração em quaisquer campos.

O processo de assinatura será sobre aquele campo Resumo da Mensagem, enquanto que o processo de criptografia irá funcionar a nível de linha ou coluna.

Chave-pública/criptografia assimétrica será usado para assinar os documentos.

Os modelos padronizados que estão incluídos são Prescrição, Certidão de Nascimento e Certidão de Óbito. Claro que você pode aplicar a funcionalidade para qualquer modelo que você sentir necessidade. Além disso e com base nos pedidos da comunidade, vamos incorporando novos modelos nas próximas versões.

Usando Assinaturas Digitais no GNU Health

editar
 
Usando GPG no GNU Health para assinar digitalmente um documento
 
Validando uma assinatura de documento usando GPG no GNU Health


O GNU Health trabalha junto com GNU Privacy Guard para assinatura e verificação de documentos. A fim de usá-lo, é necessário fazer o seguinte no seu cliente:

  • O Plugin de criptografia do GNU Health para o cliente Tryton, enviado com o tarball principal (no diretório backend/plugins). A partir da versão 2.8.0, o plugin cripto do Tryton GNU Health será um pacote separado.
  • O pacote GPG (vem com a maioria dos sistemas operacionais modernos).
  • A biblioteca python-gnupg (https://pypi.python.org/pypi/python-gnupg).


 Estes pacotes são instalados no cliente e não no servidor!


A instalação do plugin Crypto

editar

Vamos supor que você tenha instalado o cliente Tryton utilizando os arquivos fontes. Suponha que você esteja usando o cliente Tryton 3.4.1 no seu diretório $HOME:

<Syntaxhighlight lang="bash"> cp -a gnuhealth_crypto_plugin_dir $HOME/tryton-3.4.1/tryton/plugins/crypto </ Syntaxhighlight>

Reportando uma vulnerabilidade de segurança

editar

Nós levamos a segurança muito a sério, e agradecemos sua ajuda sobre isso!

Se você acredita ter encontrado uma vulnerabilidade no GNU Health, envie um e-mail para security@gnusolidario.org