6.3.8.7 클라이언트 측의 일반 텍스트 인증 플러그인
MySQL 5.6.2의 시점에서는 해시 또는 암호화없이 서버에 암호를 보내는 클라이언트 측 인증 플러그인을 사용할 수 있습니다. 이 플러그인은 MySQL 클라이언트 라이브러리에 포함되어 있습니다.
다음 표는 플러그인 이름을 나타냅니다.
표 6.13 MySQL 일반 텍스트 인증 플러그인
서버 측의 플러그인 이름 | 없음 (설명을 참조하십시오) |
클라이언트 플러그인 이름 | mysql_clear_password |
라이브러리 오브젝트 파일 이름 | 없음 (플러그인 내장되어 있습니다) |
기본 MySQL 인증에서는 클라이언트는 비밀번호에 단방향 해시를 수행하고이를 서버에 전송합니다. 이렇게하면 클라이언트가 암호를 일반 텍스트로 전송하는 것을 방지 할 수 있습니다. 섹션 6.1.2.4 "MySQL에서 암호 해시" 를 참조하십시오. 그러나 해시 알고리즘은 일방향이기 때문에 서버 측에서 원래 암호를 복구 할 수 없습니다.
클라이언트 측에서 입력 된 암호를 수신하도록 서버에 요청하는 인증 체계의 경우 단방향 해시를 실행할 수 없습니다. 이러한 경우 클라이언트 플러그인 mysql_clear_password
를 사용하면 암호를 일반 텍스트로 서버에 전송할 수 있습니다. 해당 서버 측의 플러그인은 없습니다. 게다가 클라이언트 플러그인은 일반 텍스트 암호를 필요로하는 모든 서버 측 플러그인에서 사용할 수 있습니다. (PAM 인증 플러그인은 이러한 예 중 하나입니다. 섹션 6.3.8.5 "PAM 인증 플러그인" 을 참조하십시오.)
MySQL의 플러그 인증에 대한 일반적인 정보는 섹션 6.3.7 "플러그 인증" 을 참조하십시오.
일반 텍스트로 암호를 전송하면 일부 구성에서 보안 문제가 발생할 수 있습니다. 암호가 유출 될 가능성이있는 경우 문제를 해결하려면 클라이언트는 암호가 보호되는 방식을 사용하여 MySQL 서버에 접속하도록하십시오. SSL ( 섹션 6.3.10 "안전한 연결을위한 SSL 사용" 참조), IPsec 또는 개인 네트워크에서도 발생할 수 있습니다.
MySQL 5.6.7의 시점에서이 플러그인을 부주의하게 사용되는 가능성을 낮게하려면 클라이언트가 명시 적으로 활성화해야합니다. 이것은 여러 가지 방법으로 실행할 수 있습니다.
LIBMYSQL_ENABLE_CLEARTEXT_PLUGIN
환경 변수를1
,Y
또는y
로 시작하는 값으로 설정합니다. 이렇게하면 모든 클라이언트 연결에서 플러그인을 사용할 수 있습니다.mysql, mysqladmin 및 mysqlslap 클라이언트 프로그램에서 호출 할 때마다 플러그인을 사용하려면
--enable-cleartext-plugin
옵션을 지원합니다.mysql_options()
C API 함수는 연결할 때마다 플러그인을 활성화MYSQL_ENABLE_CLEARTEXT_PLUGIN
옵션을 지원합니다. 또한 클라이언트 라이브러리가 읽는 옵션 그룹에enable-cleartext-plugin
을 포함하면libmysqlclient
를 사용하여 옵션 파일을 읽을 모든 프로그램에서 플러그인을 활성화 할 수 있습니다.