segunda-feira, 19 de setembro de 2011

Informix–Conexão Segura

Pode-se administrar a segurança das conexões do servidor do banco de dados usando a autenticação e os processos de autorização.

Um usuário deve ser autenticado com uma instalação segura fornecendo um ID de usuário válido e uma senha segura que correspondam  as credenciais de uma conta de usuários do sistema operacional de onde esta instalado o Informix. Um tipo de método de autenticação é baseada no próprio sistema operacional, em que um ID de usuário e senha são passadas diretamente para o sistema operacional para verificação. Podemos também configurar as autenticações de conexões usando módulos de autenticação. Dependendo do sistema operacional, podemos usar um dos seguintes tipos de módulos de autenticação:

  • Autenticação pelo PAM para Informix rodando em UNIX ou Linux. Podemos utilizar esse modulo para implementar mecanismos alternativos de autenticação. Você pode usar os módulos para implementar um mecanismo de autenticação alternativa que você cria para uma aplicação especifica.
  • Suporte de autenticação à Lightweight Directory Access Protocol (LDAP) para Windows. Utilize o módulo LDAP  quando quiser utilizar a autenticação do informix pelo LDAP.

Usuários autenticados devem especificar um banco de dados ao qual se conectar. Um usuário pode executar ações em determinados banco de dados ou acessar objetos, desde que tenham sido autorizados pelo DBA. Por exemplo, usuários com privilégios de CONNECT pode se conectar a um banco de dados e executar consultas, enquanto que usuários com privilégios RESOURCE podem criar objetos.

Você pode garantir que senhas de autenticação de conexão são seguras, criptografando usando um módulo de suporte de comunicação (CSM).  O CSM com senha simples (SPWDCSM) fornece criptografia de senha.  SPWDCSM esta disponível para todas as plataformas.

Se quiser pode-se autenticar por um ambiente Single Sign-On  (SSO), pode-se usar também o Generic Security Services CSM (GSSCM) para implementar uma autenticação Kerberos. Além disso, o protocolo Kerberos tem vários recursos internos que podem proporcionar benefícios de segurança, mesmo que simples e senhas CSM criptografadas. Autenticação SSO verifica a identidade de um usuário,

SSO autenticação verifica a identidade de um usuário e facilita o gerenciamento centralizado de usuários e senhas. Se os serviços de confidencialidade e integridade estão habilitados no GSSCSM, o Kerberos criptografa as transmissões de dados e assegura que a troca de dados entre o usuário e o servidor de banco de dados seja uma conexão segura.

Conexões com o HDR não podem usar esses módulos de autenticações, mas pode funcionar com estes módulos, restringindo as portas de rede específica para a replicação e conexões de alta disponibilidade.

Pode-se configurar o IBM Informix para verificar se o ID do usuário que está executando o programa corresponde ao ID do usuário que está tentando se conectar ao banco de dados.

Você pode configurar o IBM Informix para verificar se o ID do usuário que está executando o programa corresponde ao ID do usuário que está tentando se conectar ao banco de dados.

Você pode limitar os ataques de negação de serviço para impedir que conexões legítimas para o servidor de banco de dados seja bloqueada.

Abaixo mais detalhes sobre a autenticação PAM

 

Pluggable authentication modules para sistemas rodando no UNIX ou Linux

O Pluggable Authentication Module (PAM) é uma estrutura de módulos muito bem definidas para suportar diferentes tipos de autenticação, originalmente desenvolvido pela Sun Microsystems. PAM é suportado em ambas plataformas de 32 e 64 bits, nos sistemas Solaris, Linux, HP-UX e AIX.

Administradores de Sistema pode usar o PAM para implementar diferentes mecanismos de autenticação para diferentes tipos de aplicações. Por exemplo, a autenticação de login no UNIX pode ser diferente da autenticação de um servidor de banco de dados. PAM permite muitos cenários em uma única maquina, porque os serviços de autenticação são aplicadas em camadas.

Administradores de Sistema pode usar o PAM para habilitar um aplicativo para selecionar o método de autenticação conforme exigido,

PAM para habilitar um aplicativo para selecionar o autenticação conforme exigido e empilhamento do modulo. Alguns módulos podem ser empilhados um após o outro, permitindo assim que a aplicação será autenticado de varias maneiras, antes de conceder acesso. PAM fornece um conjunto de APIs para suportar a autenticação, gerenciamento de contas, gerenciamento de sessões e gerenciamento de senhas.

O Administrador de Sistema pode habilitar ou desabilitar o uso do PAM.Por padrão, o servidor de banco de dados utiliza o mecanismo de autenticação tradicional do Informix ( que se baseia no mecanismo BSD – rhosts) a fim de evitar mudanças importantes para os utilizadores.

Para utilizar o PAM com o IBM Informix:

  • O Banco de dados Informix deve estar em um Sistema Operacional que suporta o PAM.
  • Aplicações Clientes deve ser escrito com um versão mais recente do SDK.
  • O serviço do PAM deve estar devidamente configurado no Sistema Operacional.
  • Deve-se decidir qual o método de autenticação que o PAM vai prover: conexão do cliente através de password, digitando uma senha correta em prompt ( por exemplo, um servidor de autenticação RADIUS) ou ambas as combinações.
  • Linux somente: Quando configurar o PAM para exigir senha e autenticação baseada em resposta,  o serviço do PAM sempre ignora a senha enviada na solicitação de conexão do cliente e pede a senha uma segunda vez.
  • Você deve garantir que a Replicação e clusters de alta disponibilidade não serão afetadas pela autenticação PAM.
  • Deve-se modificar o arquivo sqlhosts no servidor, tanto para a aplicação quanto para o servidor de bando de dados;

O serviço PAM

O serviço PAM identifica o módulo PAM.

O módulo PAM tipicamente esta localizado no diretório /etc/security e seus parâmetros são listados no arquivo /etc/pam.conf.

No Linux, o arquivo /etc/pam.conf pode ser substituído por um diretório chamado /etc/pam.d, onde há um arquivo para cada serviço. Se /etc/pam.d existe, /etc/pam.conf é ignorado pelo Linux.

Métodos de autenticação com o módulo PAM

O módulo PAM determinará se um usuário poderá autenticar-se fornecendo uma senha, respondendo corretamente a um desafio ou ambos.

A implementação PAM no IBM Informix tira proveito do fato de que as solicitações de conexão explicita, o cliente envia uma senha para o servidor. Pode-se configurar o PAM para fazer esta senha o único requisito para autenticação no servidor.

Quando configurar o PAM para usar o protocolo baseado em resposta, a autenticação é concluída depois que o usuário digita a resposta correta para uma pergunta ou outra. Com este modo de autenticação um aplicativo deve ser projetado para responder ao desafio corretamente antes de conectar ao servidor de banco de dados. Pode-se configurar a autenticação do PAM para utilizar somente o modo baseado em resposta, de forma que o PAM ignore as senhas de conexão do cliente.

Linux somente:  Se o PAM é configurado para utilizar o protocolo baseado em resposta, a senha vindo dos clientes são sempre ignoradas. O serviço PAM no Linux pede a senha do usuário uma segunda vez se ambos os modos de autenticação estão habilitados.

Tamanho necessário da pilha para o PAM

Pode-se customizar o tamanho das pilhas disponíveis para o módulos do PAM.

O PAM carrega recursos do Sistema Operacional ou módulos do PAM fornecidos por terceiros (bibliotecas compartilhadas) para as threads do Informix. Os requisitos do tamanho das pilhas não podem ser previsto. Para uma instancia, no Linux alguns módulos exigem mais do que 128 KB de espaço de pilha. Use o parâmetro de configuração PAM_STACKSIZE para modificar o valor.

Por exemplo, configure o parâmetro PAM_STACKSIZE no arquivo onconfig como abaixo:

PAM_STACKSIZE 64        # Stack size needed for the PAM modules (Kbytes)

No UNIX, o valor padrão do PAM_STACKSIZE é 32 KB.

No Linux, o valor padrão é 128 KB mais o valor do STACKSIZE.

Configurando um servidor de banco de dados para utilizar o PAM

Para configurar um servidor para utilizar o PAM, o administrador de sistemas devera saber:

  • O nome do modulo PAM;
  • Se o módulo PAM esta utilizando o método baseado em respostas além de aceitar um nome de usuário e senha.

Abaixo um exemplo do arquivo sqlhosts configurado para utilizar a autenticação PAM baseado em resposta:

prdsoc onsoctcp isis prdsrv s=4, pam_serv=(pam_cha1), pamauth=(challenge)

Abaixo um exemplo do arquivo sqlhosts configurado para utilizar a autenticação PAM baseado em autenticação com senhas:

prdsoc onsoctcp isis prdsrv s=4, pam_serv=(pam_pass), pamauth=(password)

Nenhum comentário:

Postar um comentário