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

DBMS 불필요 기능 비활성화 (FILE/EXECUTE)

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

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

📄 표준 내용
# FILE 권한 확인 (로컬 파일 읽기/쓰기)
SELECT user, host, File_priv FROM mysql.user;
+------+-----------+-----------+
| root | localhost | Y         |   ← FILE 권한 있음
+------+-----------+-----------+

# FILE 권한 악용 예시
SELECT LOAD_FILE('/etc/passwd');   ← 서버 파일 읽기 가능!
SELECT '<?php system($_GET[cmd])?>' INTO OUTFILE '/var/www/html/shell.php';   ← 웹쉘 생성!

🔧 조치 방안 및 이행 확인

📄 표준 내용
# FILE 권한 회수
REVOKE FILE ON *.* FROM 'root'@'localhost';

# secure_file_priv 설정으로 경로 제한
# /etc/mysql/mysql.conf.d/mysqld.cnf
[mysqld]
secure_file_priv = /var/lib/mysql-files/

# local_infile 비활성화
SET GLOBAL local_infile = 0;