Diferenças entre edições de "MariaDB + LDAP"

Fonte: TecPorto
Saltar para a navegação Saltar para a pesquisa
Linha 1: Linha 1:
 +
= Introdução =
 +
 +
O suporte de LDAP para autenticação dos utilizadores de MariaDB (e MySQL) é sempre feito via PAM. O MariaDB (e o MySQL) não se liga directamente a um servidor de LDAP. Esse processo é sempre feito através do sistema PAM (Pluggable Authentication Modules), existente em praticamente todos os sistemas baseados em Linux e Unix.
 +
 +
= Activação =
 +
 +
Para permitir o suporte de LDAP para autenticação dos utilizadores de MariaDB (e MySQL) é preciso, em primeiro lugar, carregar o plugin de autenticação via PAM. O MariaDB não se liga directamente a um servidor de LDAP - esse processo é sempre feito através do PAM (Pluggable Authentication Modules),
 +
 +
 +
= Problemas comuns =
 +
 
== Problemas com o PHP (nomeadamente phpMyAdmin) ==
 
== Problemas com o PHP (nomeadamente phpMyAdmin) ==
  
Linha 4: Linha 15:
  
 
=== Alternativa 1: autenticação clear text do MySQL/MariaDB ===
 
=== Alternativa 1: autenticação clear text do MySQL/MariaDB ===
 +
 +
Esta é a forma mais fácil e potencialmente menos segura de resolver o problema. Não será crítico se os acessos ao MySQL/MariaDB forem todos localhost mas, caso não seja, recomenda-se que se tome algumas medidas de segurança adicionais como, por exemplo, só utilizar este método em redes internas cuja segurança física possa ser garantida para evitar ataques físicos de eavesdropping ou man-in-the-middle, ou usar túneis para reencaminhar ao tráfego da porta 3306 (através de SSH ou de uma VPN, por exemplo).
 +
 +
Para aplicar este método, deve-se editar o ficheiro de configuração do servidor MariaDB ou MySQL (tipicamente /etc/mysql/mysqld.cnf ou /etc/mysql/mariadb.conf.d/50-server.cnf) e, na secção [mysqld] acrescentar a seguinte linha:
 +
 +
  pam_use_cleartext_plugin = ON
  
 
=== Alternativa 2: Recompilação do módulo de MySQL do PHP ===
 
=== Alternativa 2: Recompilação do módulo de MySQL do PHP ===

Revisão das 21h27min de 12 de outubro de 2021

Introdução

O suporte de LDAP para autenticação dos utilizadores de MariaDB (e MySQL) é sempre feito via PAM. O MariaDB (e o MySQL) não se liga directamente a um servidor de LDAP. Esse processo é sempre feito através do sistema PAM (Pluggable Authentication Modules), existente em praticamente todos os sistemas baseados em Linux e Unix.

Activação

Para permitir o suporte de LDAP para autenticação dos utilizadores de MariaDB (e MySQL) é preciso, em primeiro lugar, carregar o plugin de autenticação via PAM. O MariaDB não se liga directamente a um servidor de LDAP - esse processo é sempre feito através do PAM (Pluggable Authentication Modules),


Problemas comuns

Problemas com o PHP (nomeadamente phpMyAdmin)

O PHP pode dar problemas de autenticação com o pacote padrão do Ubuntu. Para resolver esse problema há duas alternativas:

Alternativa 1: autenticação clear text do MySQL/MariaDB

Esta é a forma mais fácil e potencialmente menos segura de resolver o problema. Não será crítico se os acessos ao MySQL/MariaDB forem todos localhost mas, caso não seja, recomenda-se que se tome algumas medidas de segurança adicionais como, por exemplo, só utilizar este método em redes internas cuja segurança física possa ser garantida para evitar ataques físicos de eavesdropping ou man-in-the-middle, ou usar túneis para reencaminhar ao tráfego da porta 3306 (através de SSH ou de uma VPN, por exemplo).

Para aplicar este método, deve-se editar o ficheiro de configuração do servidor MariaDB ou MySQL (tipicamente /etc/mysql/mysqld.cnf ou /etc/mysql/mariadb.conf.d/50-server.cnf) e, na secção [mysqld] acrescentar a seguinte linha:

 pam_use_cleartext_plugin = ON

Alternativa 2: Recompilação do módulo de MySQL do PHP

Neste caso é necessário recorrer ao código fonte do PHP da mesma versão que o pacote.

TODO

Caso se esteja realmente a usar MariaDB, para compilar é preciso editar o Makefile gerado, apenas se não se tiver usado as opções do ./configure para gerir os caminhos de include! Os dois últimos caminhos

 -I/usr/include/mariadb -I/usr/include/mariadb/mysql

devem ser substituídos por

 -I/usr/include/mariadb/server -I/usr/include/mariadb/server/private