728x90
MySQL의 패스워드 정책을 확인하고 변경하는 방법
패스워드 정책 확인
- MySQL에 로그인
CREATE USER 'zabbix'@'%' IDENTIFIED BY 'ahslxjf11wcd1!';
mysql> CREATE USER 'zabbix'@'%' IDENTIFIED BY 'ahslxjf11wcd1!';
[에러] ERROR 1819 (HY000): Your password does not satisfy the current policy requirements
- 현재 패스워드 정책을 확인
- 비밀번호 유효성 검사 플러그인 시스템 변수 확인(MEDIUM)
SHOW VARIABLES LIKE 'validate_password%';
mysql> SHOW VARIABLES LIKE 'validate_password%';
+--------------------------------------+--------+
| Variable_name | Value |
+--------------------------------------+--------+
| validate_password_check_user_name | OFF |
| 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 |
+--------------------------------------+--------+
7 rows in set (0.01 sec)
- 패스워드 정책
- 0: 패스워드 검증 정책 비활성화
- 1: 낮은 수준의 검증 (길이만 확인)
- 2: 중간 수준의 검증 (길이, 숫자, 대문자/소문자 포함)
- 3: 높은 수준의 검증 (길이, 숫자, 대문자/소문자, 특수 문자 포함)
- 4: 최고 수준의 검증 (길이, 숫자, 대문자/소문자, 특수 문자, 사전에서 사용된 단어 검사)
패스워드 정책 변경
- 비밀번호 유효성 검사 플러그인 시스템 변수 변경
SET GLOBAL validate_password_policy=LOW;
- 비밀번호 유효성 검사 플러그인 시스템 변수 확인(LOW)
SHOW VARIABLES LIKE 'validate_password%';
- 높은 수준의 검증 정책으로 변경하는 예시
SET GLOBAL validate_password.policy = 3;
728x90
mysql> SHOW VARIABLES LIKE 'validate_password%';
+--------------------------------------+-------+
| Variable_name | Value |
+--------------------------------------+-------+
| validate_password_check_user_name | OFF |
| validate_password_dictionary_file | |
| validate_password_length | 8 |
| validate_password_mixed_case_count | 1 |
| validate_password_number_count | 1 |
| validate_password_policy | LOW |
| validate_password_special_char_count | 1 |
+--------------------------------------+-------+
7 rows in set (0.01 sec)
FLUSH PRIVILEGES;
- 패스워드 변경
CREATE USER 'zabbix'@'%' IDENTIFIED BY 'ahslxjf11wcd1!';
mysql> CREATE USER 'zabbix'@'%' IDENTIFIED BY 'ahslxjf11wcd1!';
Query OK, 0 rows affected (0.00 sec)
MySQL의 패스워드 정책을 my.cnf 파일에서 LOW로 변경하는 방법
- MySQL 서버를 정지합니다.
sudo systemctl stop mysql
- my.cnf 환경 설정 파일 편집(validate_opassword_policy에서 LOW로 수정)
- [mysqld] 섹션 내에서 다음 설정을 추가하여 패스워드 정책을 LOW로 설정합니다.
- validate_password.policy = LOW
vim /etc/my.cnf
[client]
default-character-set=utf8
[mysqld]
character-set-server=utf8
##password Policy
validate_password_policy=LOW
validate_password_length=4
- MySQL 서버를 다시 시작합니다.
sudo systemctl start mysql
변경된 패스워드 정책이 적용되었습니다. 새로운 사용자를 생성하거나 기존 사용자의 패스워드를 변경할 때 LOW 정책이 적용됩니다.
주의: 패스워드 정책을 LOW로 설정하면 보안에 취약할 수 있습니다. 가능하면 보안을 강화하기 위해 더 강력한 정책을 고려하는 것이 좋습니다.
참고URL
- MySQL 패스워드 정책 확인, 변경하기 : https://scbyun.com/710
- dev.mysql.com : https://dev.mysql.com/doc/refman/5.7/en/validate-password-options-variables.html
728x90
'리눅스' 카테고리의 다른 글
좀비 프로세스(zombie processes)를 찾고 종료하는 방법 (0) | 2022.11.29 |
---|---|
MySQL의 root 사용자의 패스워드를 변경하는 방법 (0) | 2022.11.29 |
[draft] CentOS 7에서 YUM 패키지 매니저를 사용하여 MySQL을 설치하는 방법 (0) | 2022.11.29 |
BIND(named)의 로깅을 설정하는 방법(bind logging) (0) | 2022.11.28 |
BIND(named)와 queryperf(성능 점검)를 설치하고 사용하는 방법 (0) | 2022.11.28 |