Search
Duplicate
3️⃣

비밀번호 관리

1. 고수준 비밀번호

: 유효기간이나 이력 관리를 통한 재사용 금지 기능뿐만 아니라 비밀번호를 쉽게 유추할 수 있는 단어들이 사용되지 않게 조합을 강제하거나 금칙어를 설정하는 기능
: MySQL 서버에서 비밀번호의 유효성 체크 규칙을 적용하려면 validate_password 컴포넌트를 이용
비밀번호 정책
LOW: 비밀번호 길이만 검증
MEDIUM: 비밀번호의 길이를 검증하며 숫자와 대소문자 그리고 특수문자의 배합을 검증
STRONG: MEDIUM 레벨의 검증을 모두 수행하며, 금칙어가 포함됐는지 여부까지 검증
validate_password.length
: 설정된 길이 이상의 비밀번호가 사용됐는지를 검증
validate_password.mixed_case_count, validate_password.number_count, validate_password.special_char_count
: 숫자와 대소문자, 특수문자가 시스템 변수에 설정된 글자 수 이상을 포함하고 있는지 검증
validate_password.
: 금칙어는 설정된 사전 파일에 명시된 단어를 포함하고 있는지를 검증

2. 이중 비밀번호

: 데이터베이스 서버의 계정 정보는 쉽게 변경하기가 어려운데, 그중에서도 비밀번호는 서비스가 실행 중인 상태에서 변경이 불가능, 한번 설정한 비밀번호를 몇년씩 사용하는 문제
: 이를 해결하기 위해 계정의 비밀번호로 2개의 값을 동시에 사용할 수 있는 기능이 추가, 2개 중 하나만 맞아도 됨
: 프라이머리와 세컨더리로 구분되며 최근에 설정된 비밀번호가 프라이머리, 이전 비밀번호는 세컨더리가 됨
: 이중 비밀번호를 사용하려면 다음과 같이 기존 비밀번호 변경 구문에 RETAIN CURRENT PASSWORD 옵션을 추가하면 된다.
-> 비밀번호를 'ytrewq'로 설정 ALTER USER 'root'@'localhost' IDENTIFIED BY 'old_password'; -> 비밀번호를 'qwerty'로 변경하면서 기존 비밀번호를 세컨더리 비밀번호로 설정 ALTER USER 'root'@'localhost' IDENTIFIED BY 'old_password' RETAIN CURRENT PASSWORD; -> 세컨더리 비밀번호를 삭제 ALTER USER 'root'@'localhost' DISCARD OLD PASSWORD;
JSON
복사
: 이처럼 프라이머리와 세컨더리 비밀번호를 만든 후, 세컨더리 비밀번호를 삭제하는 것이 일반적