Database

MySQL 8 암호 정책(Password policy) 확인 및 수정하기

페이지 정보

본문

펌 : https://www.lesstif.com/dbms/mysql-8-password-policy-89555994.html


개요Link to 개요

MySQL 이 8로 업그레이드되면서 패스워드 정책이 더 깐깐해졌습니다.


DBMS 이니 보안에 더 충실해진 면도 있고 어떻게 보면 예전 버전들이 너무 보안에 신경 안 쓴 부분도 꽤 있다고 생각합니다.


운영 시스템이라면 이런 철저한 암호 정책을 따라야 겠지만 로컬이나 개발 환경에서는 이런 정책을 다 따르기 어려운 부분이 있습니다.


변경된 암호 정책Link to 변경된 암호 정책

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> 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 설정 파일에 넣어주고 재구동하면 됩니다.

echo 'validate_password.policy=LOW' | sudo tee -a /etc/my.cnf
echo 'default_password_lifetime=0' | sudo tee -a /etc/my.cnf
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


추가로 암호 자릿수 제한, 특수 문자 포함 여부, 대소문자 구분, 숫자 포함 여부를 모두 끄려면 아래 내용을 추가해 주고 재구동해주면 됩니다.

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
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


관련자료

등록된 댓글이 없습니다.
Today's proverb
가을에 피는 국화는 첫 봄의 상징으로 사랑받는 개나리를 시샘하지 않는다. 역시 봄에 피는 복숭아꽃이나 벚꽃을 부러워하지 않는다. 한여름 붉은 장미가 필 때, 나는 왜 이렇게 다른 꽃보다 늦게 피나 한탄하지도 않는다. 그저 묵묵히 준비하며 내공을 쌓고 있을 뿐이다. 그러다가 매미소리 그치고 하늘이 높아지는 가을, 드디어 자기 차례가 돌아온 지금, 국화는 오랫동안 준비해온 그 은은한 향기와 자태를 마음껏 뽐내는 것이다. (한비야)