웹이야기

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

D/MySQL

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

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

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;

'D > MySQL' 카테고리의 다른 글

MySQL 5.7 다운로드  (0) 2020.02.25
MySQL 드라이버 다운로드  (0) 2020.02.17
계정생성 및 권한 부여  (0) 2020.02.09
Can't connect to local MySQL server through socket  (0) 2020.02.07
MySQL의 권한 종류  (0) 2020.02.06
Comments