1) 주요정보통신기반시설(2017년 기준)

step1) 패스워드 설정 규칙 적용

패스워드 설정 규칙에 맞추어 패스워드를 설정할 수 있도록 시스템 차원에서 기능 제공

 

실제 가이드에 나타난 것처럼 패스워드를 설정하라고 하기 위해서는 구체적인 절차가 있어야 하는데 가이드상에서는 존재하지 않음

 

실제로 mysql password정책을 보기 위해서 조회를 하면 다음과 같이 결과가 나옴. 즉 정책설정 파일 자체가 없다.

 

이를 위해서는 install로 하여 정책을 서버로부터 다운 받아야 함

자세한 사항은 다음 사이트를 참조

https://lefred.be/content/mysql-8-0-and-user-password-management/

 

MySQL 8.0 and user password management

I already covered some information related to users password recently (see this post and this one). Today, let’s have a look at the password management features available in MySQL 8.0.

lefred.be

다음과 같이 정책 설정에 관련된 내용을 조회해 볼수 있다.

 

만약 value값을 변경하고 싶다면 set GLOBAL 해당 Variable_name 기입 후 = 00;

 

다음과 같이 정책을 변경한 후, 다시 조회를 실시

length가 변경된 것을 확인 할수 있다. 나머지 항목들도 같이 똑같이 변경할수 있음

 

1. validate_password.check_user_name 의미 : 패스워드에 user id가 들어갔는지 묻는 것

ex) 만약 아이디와 패스워드가 동일하다면 value값이 on으로 되어 있어 동일하게 사용할수 없음

 

2. validate_password.dictionary_file 의미 : 아직 모름

 

3. validate_password.length = 패스워드의 길이를 의미 (주요정보통신에서 2자리 조합시 10자리, 3자리 조합시 8자리)

 

3. validate_password.mixed_case_count = 대소문자를 적어도 1회 이상 사용할것

 

4. validate_password.number_count = 숫자를 적어도 1회 이상 사용할것

 

5. validate_password.policy = medium의 의미는 위의 정책들이 활성화 되어있음을 의미 위의 정책을 끄고 싶다면

low로 변경. 단, low로 변경을 해도 자릿수는 지켜야 한다. 즉 8자리 이상으로 설정

 

6. validate_password.special_char_count = 특수문자를 적어도 1회 이상은 써야 한다는 것

주요정보통신기반시설에서 계정에서 불필요한 항목을 제거하는 부분이 존재

 

실제 기존 주요정보통신기반시설 가이드에서는 Delete from user where user='삭제할 계정';으로 해야 한다고 함

 

만약 내가 담당자라면 최고 관리자로 로그인 후, 인사관리에서 회원을 조회 후, 기존의 sql 문을 통해 필요없는 회원정리

 

기존 Delete 문법을 통해 삭제하는 방법도 있지만 Drop user '삭제할 계정'@'삭제할 계정 ip';이나 Delete from user where user='삭제할 계정';으로 해도 무방

1.점검내용 : DBMS 기본 계정의 디폴트 패스워드 및 권한 정책 변경사용 점검

2. 점검목적: DBMS 기본 계정의 디폴트 패스워드 및 권한 정책 변경 사용 유무 점검, 비인가자의 디폴트 패스워드 대입 공격차단하고 있는지 확인 하기 위함

3. 보안위협 : DBMS 기본 계정 디폴트 패스워드 및 권한 정책을 변경하지 않을 경우 비인가자가 인터넷을 통해 DBMS 디폴트 패스워드 획득가능

 

★ 주요정보통신기반시설에서 잘못된 점

1. 실제 가이드를 살펴보면 Mysql에서 root 계정 패스워드 변경는 다음과 같이 하라고 나타남

그러나 이렇게 실제로 실행을 하면 에러가 발생됨 그 이유는 주요정보통신기반시설 버전이 너무 오래전이라 최신 Mysql 버전과 맞지 않는다. 지금의 Mysql 최신버전은 8.0.18로 나타남(20.01.13 기준)

또한, 버전의 업데이트로 인해 가이드에 나타난 password 문법역시 변경이 되었는데 실제 password 필드를 조회하기 위해 조회를 하면 다음과 같이 나옴

 

하단부분을 보면 authentication_string로 나타난부분이 기존의 password부분이기 때문에 문법역시 바뀌어져야 한다.

따라서 올바른 정답은 update user set authentication_string=authentication_string('1111') where user='root';로해야한다고 하는데 실제로는 또 오류가 발생한다.

아래 그림은 실제 주요정보통신기반시설에 나타난대로 하였을때 오류와 방금 설명한 바와 같이 변경이 되었을 때를 비교하는 것이다.

문법적 오류는 없을 것 같지만 문제가 지속적으로 발생함 그 이유는 Mysql 가이드에 나타나있다. 이제는 Update가 아니라 alter로 변경이 되었다고 함

 

https://to-dy.tistory.com/58

 

MySQL 8.0 비밀번호 변경하기! (MySQL 5.7버전 이상)

mysql 비밀번호 변경하다가 병들겠네. 5번은 지웠다가 설치한듯.ㅋㅋㅋ 미친듯이 찾다가 중국분이 올리신 글 보고 어느정도 해결된건 안비밀.(중국어 모름) 아니 세상에 내가 중문글을 읽어볼거라곤 꿈에도 몰랐잖..

to-dy.tistory.com

다음과 같이 쿼리문이 정상적으로 작동을 함

기존의 암호화가 적용된 authentication_string부분이 암호화 되어 저장이 된것을 확인

+ Recent posts