GNU Health/Segurança
Protegendo seu Ambiente GNU Health
editarA 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.
Alertas de Segurança do GNU Health
editarO 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
editarPortas padrão do servidor
editarO 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
editarO 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
editarSe 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
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
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
editarMódulo Criptográfico do GNU Health
editarO 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
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).
A instalação do plugin Crypto
editarVamos 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
editarNó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