MySQL 인증에 LDAP를 사용 하시겠습니까?


15

우리는 사용자를 위해 몇 가지 다른 MySQL 서버를 운영합니다. 상용 버전이 아닌 MySQL의 무료 / 오픈 소스 버전을 사용합니다. 이러한 서버에서 계정 비밀번호를 관리하는 것은 쉽지 않습니다.

LDAP를 사용하여 MySQL 권한을 관리 할 수있는 플러그인이 있습니까? 최소한 LDAP 서버에서 일부 사용자 이름과 비밀번호를 얻고 싶습니다.

우리는 MySQL 5.1과 5.5를 사용하고 있습니다. 이 기능을 달성하는 데 필요한 경우 MySQL 5.6으로 업그레이드 할 수 있습니다.

모든 도구는 CLI 기반이며 GUI 또는 웹 인터페이스가 필요하지 않습니다.

답변:


14

Enterprise MySQL (Oracle에 라이센스를 부여한 버전)에는 LDAP 인증을 허용하는 PAM 모듈이 있습니다. https://dev.mysql.com/doc/refman/5.5/en/pam-pluggable-authentication.html

MariaDB (Monty에서 개발 한 이진 호환 MySQL 버전)에는 사용할 수있는 공개 소스 PAM 모듈이 있습니다. http://kb.askmonty.org/en/pam-authentication-plugin/

나는 어느 쪽이든 경험을 가지고 있지 않습니다-나는 들어 본 적이 있지만 테스트하거나 사용하지 않은 기능으로 만 제시합니다.




5

MySQL에는 사용 가능한 PAM 모듈을 사용하여 인증 서비스를 제공 할 수 있는 PAM 인증 플러그인 이 있습니다. pam_ldap비교적 쉽게 구성 할 수 있는 모듈이있어 원하는 것을 수행 할 수 있습니다.

플러그인 문서에는 LDAP 사용 예제가 포함되어 있습니다.


이것이 Kerberos 기반 인증을 지원하는지 알고 있습니까?
Saqib Ali

나도 몰라 나는 적어도 mariadb를 위해 GSSAPI 플러그인이 있다고 생각하지만, 이것에 대한 개인적인 경험은 없습니다.
larsks


2

설치를 Percona Server로 마이그레이션하고 다음 두 가지 방법 중 하나를 사용하여 PAM을 통해 MySQL을 LDAP에 연결할 수 있습니다.

  • auth_pam이라는 전체 PAM 플러그인 이 플러그인은 dialog.so를 사용합니다. 클라이언트와 서버 간의 임의 통신을 통해 PAM 프로토콜을 완벽하게 지원합니다.

  • auth_pam_compat라는 Oracle 호환 PAM 이 플러그인은 Oracle MySQL 클라이언트의 일부인 mysql_clear_password를 사용합니다. 또한 하나의 비밀번호 입력 만 지원하는 등 일부 제한 사항이 있습니다. 암호를 auth_pam_compat에 전달하려면“-p”옵션을 사용해야합니다.

http://www.percona.com/doc/percona-pam-for-mysql/intro.html

우리는 사용하고 auth_pam_compat있지만 클라이언트는 Cleartext Client-Side Authentication Plugin 을 지원해야 함을 기억해야합니다.


1

이제 2017 년 말까지 이것을 제안 할 수 있습니다.

https://www.percona.com/doc/percona-server/LATEST/management/pam_plugin.html

Percona PAM 인증 플러그인은 MySQL 인증 플러그인의 무료 오픈 소스 구현입니다. 이 플러그인은 MySQL 서버, MySQL 클라이언트 및 PAM 스택 간의 중재자 역할을합니다. 서버 플러그인은 PAM 스택에서 인증을 요청하고 PAM 스택의 요청 및 메시지를 유선을 통해 클라이언트 (일반 텍스트)로 전달하고 PAM 스택에 대한 응답을 다시 읽습니다.

그것은 테스트되지 않았으며, 결코 함께 작업 한 적이 없으며 좋을 수도 있으므로 제안하고 싶었습니다.


"일반 텍스트로"-이것을 사용하지 마십시오.
h0tw1r3

@ h0tw1r3, 왜? ِ 사실 사용하기에 부적합하다고 생각하지만 의견을 듣고 싶습니다. 상용 PAM 플러그인에 대한 오픈 소스 대안이 있습니까?
모하메드 누 렐딘
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.