D-04
DB 계정 최소 권한 부여
위험도: 상
📌 아래 내용이 표준 보고서에 포함되어야 합니다. 자신이 작성한 보고서와 대조하세요.
📋 현황 (점검 명령어 및 결과)
📄 표준 내용
# 계정별 권한 확인 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;