DBMS
1.
취약 여부 | 항목 중요도 | 항목 코드 | |
기본 계정의 패스워드, 권한 등을 변경하여 사용 | 취약 | 상 | D-01 |
조치
- 계정 패스워드 변경 시
mysql> ALTER USER 'username'@'host' IDENTIFIED BY 'new_password';
mysql> FLUSH PRIVILEGES;
2.
취약 여부 | 항목 중요도 | 항목 코드 | |
데이터베이스의 불필요 계정을 제거하거나, 잠금설정 후 사용 | 양호 | 상 | D-02 |
점검
- 사용자 목록 조회
mysql> USE mysql;
mysql> SELECT host, user from user;
조치
- 불필요한 계정 발견 시 제거
mysql> DROP USER 'username'@'hostname';
- 불필요한 계정 발견 시 잠금
mysql> ALTER USER 'username'@'hostname' ACCOUNT LOCK;
3.
취약 여부 | 항목 중요도 | 항목 코드 | |
패스워드의 사용기간 및 복잡도를 기관 정책에 맞도록 설정 | 취약 | 상 | D-03 |
조치
- Step 1) validate_password 값 설정
ON: 비활성화된 플러그인을 활성화
FORCE: 비활성화된 플러그인을 활성화하고, 모든 비밀번호 변경 시 해당 정책을 강제로 적용
- Step 2)
1. 사용기간 설정
default_password_lifetime 파라미터 변경
기존 파라미터 그룹에서 default_password_lifetime 값을 변경
default_password_lifetime = n(일)
2.복잡도 설정
기존 파라미터 그룹에서 validate_password 변경
비밀번호 정책 설정
validate_password_policy = 'MEDIUM';
비밀번호의 최소 길이를 설정
validate_password_length = n
대문자와 소문자를 혼합하여 사용해야 하는 최소 문자 수를 설정
validate_password_mixed_case_count = n
비밀번호에 포함되어야 하는 최소 숫자 개수
validate_password_number_count = n
비밀번호에 포함되어야 하는 특수 문자 개수
validate_password_special_char_count = n
4.
취약 여부 | 항목 중요도 | 항목 코드 | |
데이터베이스의 불필요 계정을 제거하거나, 잠금설정 후 사용 | 양호 | 상 | D-04 |
점검
- 모든 권한을 가진 사용자 조회
SELECT user, host FROM user WHERE
Select_priv = 'Y'
AND Insert_priv = 'Y'
AND Update_priv = 'Y'
AND Delete_priv = 'Y'
AND Create_priv = 'Y'
AND Drop_priv = 'Y'
AND Reload_priv = 'Y'
AND Shutdown_priv = 'Y'
AND Process_priv = 'Y'
AND File_priv = 'Y'
AND Grant_priv = 'Y'
AND References_priv = 'Y'
AND Index_priv = 'Y'
AND Alter_priv = 'Y'
AND Show_db_priv = 'Y'
AND Super_priv = 'Y'
AND Create_tmp_table_priv = 'Y'
AND Lock_tables_priv = 'Y'
AND Execute_priv = 'Y'
AND Repl_slave_priv = 'Y'
AND Repl_client_priv = 'Y'
AND Create_view_priv = 'Y'
AND Show_view_priv = 'Y'
AND Create_routine_priv = 'Y'
AND Alter_routine_priv = 'Y'
AND Create_user_priv = 'Y'
AND Event_priv = 'Y'
AND Trigger_priv = 'Y'
AND Create_tablespace_priv= 'Y';
조치
- 관리자 권한이 필요한 계정 및 그룹에만 관리자 권한 부여
Step 1) 필요한 계정 생성 또는 그룹 지정
CREATE USER 'user'@'%' IDENTIFIED BY 'password'; -- 계정
CREATE ROLE 'group'; -- 그룹
Step 2) 권한 부여
GRANT priv1, priv2 ON 데이터베이스명.테이블명 TO 'user'@'%'; -- 계정 권한 부여
GRANT priv1, priv2 ON 데이터베이스명.테이블명 TO 'group'; -- 그룹 권한 부여
GRANT ALL PRIVILEGES ON 데이터베이스명.테이블명 TO 'user'@'%'; -- 계정 모든 권한 부여
GRANT ALL PRIVILEGES ON 데이터베이스명.테이블명 TO 'group'; -- 그룹 모든 권한 부여
5.
취약 여부 | 항목 중요도 | 항목 코드 | |
패스워드 재사용에 대한 제약 설정 | 취약 | 중 | D-12 |
조치
- 재사용 제약 설정
기존 파라미터 그룹에서 password_history 변경
password_history = n(번째까지 기억)
728x90
'Study > AWS 취약점 진단' 카테고리의 다른 글
취약점 점검 (3) (0) | 2023.12.30 |
---|---|
취약점 점검 (2) (0) | 2023.12.30 |
환경 구축 (10) (0) | 2023.12.30 |
환경 구축 (9) (0) | 2023.12.30 |
환경 구축 (8) (0) | 2023.12.30 |