/
MySQL 8 암호 정책(Password policy) 확인 및 수정하기
MySQL 8 암호 정책(Password policy) 확인 및 수정하기
개요
MySQL 이 8로 업그레이드되면서 패스워드 정책이 더 깐깐해졌습니다.
DBMS 이니 보안에 더 충실해진 면도 있고 어떻게 보면 예전 버전들이 너무 보안에 신경 안 쓴 부분도 꽤 있다고 생각합니다.
운영 시스템이라면 이런 철저한 암호 정책을 따라야 겠지만 로컬이나 개발 환경에서는 이런 정책을 다 따르기 어려운 부분이 있습니다.
변경된 암호 정책
5.7 이전까지 버전은 암호 정책을 낮추려면 다음 설정을 mysql 설정 파일에 추가하고 재구동하면 됐습니다.
validate_password_policy=LOW default_password_lifetime=0
8 에서는 저 옵션이 안 먹어서 SHOW VARIABLES LIKE 'validate_password% 로 확인해 보니 아래와 같이 validate_password 뒤에 _ 문자가 . 으로 변경이 되었습니다. 즉 validate_password_policy 는 validate_password.policy 로 바뀌줘야 합니다.
아마 설정을 더 체계적으로 관리하기 위해 도입한 방법인 것 같은데 default_password_lifetime 는 그대로 입니다.
MySQL 8
mysql> SHOW VARIABLES LIKE 'validate_password.%'; +--------------------------------------+--------+ | Variable_name | Value | +--------------------------------------+--------+ | validate_password.check_user_name | ON | | validate_password.dictionary_file | | | validate_password.length | 8 | | validate_password.mixed_case_count | 1 | | validate_password.number_count | 1 | | validate_password.policy | MEDIUM | | validate_password.special_char_count | 1 | +--------------------------------------+--------+
8.0 에서 qwert123 같은 암호를 사용하려면 다음 내용을 mysql 설정 파일에 넣어주고 재구동하면 됩니다.
RHEL/CentOS
echo 'validate_password.policy=LOW' | sudo tee -a /etc/my.cnf echo 'default_password_lifetime=0' | sudo tee -a /etc/my.cnf
Ubuntu
echo 'validate_password.policy=LOW' | sudo tee -a /etc/mysql/mysql.conf.d/mysqld.cnf echo 'default_password_lifetime=0' | sudo tee -a /etc/mysql/mysql.conf.d/mysqld.cnf
추가로 암호 자릿수 제한, 특수 문자 포함 여부, 대소문자 구분, 숫자 포함 여부를 모두 끄려면 아래 내용을 추가해 주고 재구동해주면 됩니다.
RHEL/CentOS
echo 'validate_password.length=6' | sudo tee -a /etc/my.cnf echo 'validate_password.special_char_count=0' | sudo tee -a /etc/my.cnf echo 'validate_password.mixed_case_count=0' | sudo tee -a /etc/my.cnf echo 'validate_password.number_count=0' | sudo tee -a /etc/my.cnf
Ubuntu
echo 'validate_password.length=6' | sudo tee -a /etc/mysql/mysql.conf.d/mysqld.cnf echo 'validate_password.special_char_count=0' | sudo tee -a /etc/mysql/mysql.conf.d/mysqld.cnf echo 'validate_password.mixed_case_count=0' | sudo tee -a /etc/mysql/mysql.conf.d/mysqld.cnf echo 'validate_password.number_count=0' | sudo tee -a /etc/mysql/mysql.conf.d/mysqld.cnf
같이 보기
- MySQL [2054] 에러 해결 - MySQL 8 인증 정책(Authentication policy) 수정하기
- RHEL/CentOS 에 MySQL 8 설치하기
- WSL 2 Ubuntu 20 에 MySQL 8 설치
- RHEL/CentOS, Ubuntu 에 MySQL 5.6, 5.7 설치하기
Ref
, multiple selections available,
Related content
MySQL [2054] 에러 해결 - MySQL 8 인증 정책(Authentication policy) 수정하기
MySQL [2054] 에러 해결 - MySQL 8 인증 정책(Authentication policy) 수정하기
More like this
사용하는 PHP 패키지의 취약점 여부를 진단해 주는 Security Advisories Checker
사용하는 PHP 패키지의 취약점 여부를 진단해 주는 Security Advisories Checker
More like this
PHP에서 MySQL 8 연결 에러 - caching_sha2_password unknown authentication method
PHP에서 MySQL 8 연결 에러 - caching_sha2_password unknown authentication method
More like this
Java에서 MySQL 8 연결 에러 - Establishing SSL connection without server's identity verification is not recommended.
Java에서 MySQL 8 연결 에러 - Establishing SSL connection without server's identity verification is not recommended.
More like this
워드프레스 보안 강화하기
워드프레스 보안 강화하기
More like this
MySQL database 와 table 의 character set encoding 확인하는 법
MySQL database 와 table 의 character set encoding 확인하는 법
More like this