개인적인 정리

패스워드 만료및 재사용 정책 본문

DB/MYSQL

패스워드 만료및 재사용 정책

yeon.Biju 2020. 2. 12. 09:43

Password Expiration Policy 
패스워드 만료 정책

 

아래와 같은 쿼리를 날리면 패스워드가 만료가 된다.
mysql> ALTER USER 'aaaa'@'localhost' PASSWORD EXPIRE ;

mysql.user system table 에 password_expired 가 Y로 변경되어 있다.

자동으로 만료가 되도록 설정

(가장 최근 passoword가 변경된 것을 기준으로 자동으로 만료가 되도록 설정할 수 있다. )

my.cnf(윈도우는 my.ini)에
default_password_lifetime=180
으로 설정해줄 수 있다. 180일 뒤에 만료가 된다.
만료가 되지 않도록 설정할 수도 있다. 
default_password_lifetime=0
값을 0으로 설정하면 만료가 되지 않는다. 

이렇게 globally 하게 변경할 수 있지만, 기존 생성된 계정에 대해서는 적용이 되지 않는 것 같다.
기존 생성된 계정에 대해서 특정일수가 지나면 패스워드가 만료가 되도록 설정할 수가 있다.
(Require the password to be changed every 90 days)
mysql>CREATE USER 'aaaa'@'localhost' PASSWORD EXPIRE INTERVAL 90 DAY;
mysql>ALTER USER 'aaaa'@'localhost' PASSWORD EXPIRE INTERVAL 90 DAY;

만료되도록 설정된 것을 만료시키는 것을 적용되지 않도록 하는 것은 아래와 같다.(disable passowrd expiration)
mysql>CREATE USER 'aaaa'@'localhost' PASSWORD EXPIRE NEVER;
mysql>ALTER USER 'aaaa'@'localhost' PASSWORD EXPIRE NEVER;

my.cnf 에 설정된 기본정책을 따르도록(global expiration policy) 변경하는 것은 아래와 같다.

mysql>CREATE USER 'aaaa'@'localhost' PASSWORD EXPIRE DEFAULT;
mysql>ALTER USER 'aaaa'@'localhost' PASSWORD EXPIRE DEFAULT;


패스워드 만료가 되면 로그인은 성공하나 쿼리를 날리면
아래와 같은 메세지가 나온다.
ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.



패스워드 재사용 정책
Password Reuse Policy
- number of password changes, time elapsed, or both 
- 패스워드 변경 횟수, 시간의 경과 또는 두가지

global 한 설정을 위해서는 
my.cnf 에서 수정
password_history=6
password_reuse_interval=365

이렇게 globally 하게 변경할 수 있지만, 기존 생성된 계정에 대해서는 적용이 되지 않는 것 같다.
각 계정별로 적용하기 위해서는 아래와 같은 쿼리로 적용할 수 있다.
Require a minimim of password changes
5번 이상 변경되어야 재사용 가능
mysql>CREATE USER 'aaaa'@'localhost' PASSWORD HISTORY 5;
mysql>ALTER USER 'aaaa'@'localhost' PASSWORD HISTORY 5;


Require a minimum of 365 days eplased .
365일이 지나야 재사용 가능
mysql>CREATE USER 'aaaa'@'localhost' PASSWORD REUSE INTERVAL 365 DAY;
mysql>ALTER USER 'aaaa'@'localhost' PASSWORD REUSE INTERVAL 365 DAY;


2개의 퀴리를 조합
mysql>CREATE USER 'aaaa'@'localhost' PASSWORD HISTORY 5 REUSE INTERVAL 365 DAY;
mysql>ALTER USER 'aaaa'@'localhost' PASSWORD HISTORY 5 PASSWORD REUSE INTERVAL 365 DAY;

global 한 설정으로 변경.
mysql>CREATE USER 'aaaa'@'localhost' PASSWORD HISTORY DEFAULT REUSE INTERVAL DEFAULT;
mysql>ALTER USER 'aaaa'@'localhost' PASSWORD HISTORY DEFAULT PASSWORD REUSE INTERVAL DEFAULT;

'DB > MYSQL' 카테고리의 다른 글

SHOW GLOBAL VARIABLES  (0) 2020.02.17
status 또는 \s  (0) 2020.02.17
SUBSTRING_INDEX() 함수  (0) 2020.02.17
사용자 계정 변경  (0) 2020.02.17
사용자 패스워드 변경  (0) 2020.02.11
계정생성 및 권한 부여  (0) 2020.02.09
MySQL 사용자 이름 생성시 읽어볼만 한 것  (0) 2020.02.07
mysql.user 테이블의 패스워드 관련 필드  (0) 2020.02.07
Comments