Warning: Undefined variable $dir in /var/www/html/includes/report_guide_infra.php on line 177
보고서 가이드 — ForusSec Lab
D-04

DB 계정 최소 권한 부여

위험도: 상
📚 KISA 기준: D-04
📌 아래 내용이 표준 보고서에 포함되어야 합니다. 자신이 작성한 보고서와 대조하세요.

📋 현황 (점검 명령어 및 결과)

📄 표준 내용
# 계정별 권한 확인
SHOW GRANTS FOR 'app_user'@'%';

GRANT ALL PRIVILEGES ON *.* TO 'app_user'@'%'   ← 취약!
→ 일반 앱 계정에 DBA 수준 권한 부여됨
→ 이 계정이 탈취되면 DB 전체 삭제/변조 가능

# 전체 계정 권한 목록
SELECT user, host, Grant_priv, Super_priv
FROM mysql.user;

🔧 조치 방안 및 이행 확인

📄 표준 내용
# 과도한 권한 회수
REVOKE ALL PRIVILEGES ON *.* FROM 'app_user'@'%';

# 필요한 권한만 부여 (최소 권한 원칙)
GRANT SELECT, INSERT, UPDATE ON corp_db.* TO 'app_user'@'%';

# 읽기 전용 계정 별도 생성
CREATE USER 'readonly'@'%' IDENTIFIED BY '복잡한패스워드';
GRANT SELECT ON corp_db.* TO 'readonly'@'%';

FLUSH PRIVILEGES;