[sql] SQL 데이터베이스 접속 로깅을 통해 식별할 수 있는 취약한 보안 설정은 무엇인가요?

취약점 1: 기본 계정의 사용

기본적으로 많은 데이터베이스 시스템은 “root” 또는 “admin”과 같이 기본 관리자 계정을 제공합니다. 이 계정은 보통 취약한 비밀번호로 구성되어 있을 수 있으며, 이러한 계정이 실제 운영환경에서 활성화된 채로 남아 있을 경우 보안 위험이 발생할 수 있습니다.

SELECT * FROM users WHERE username = 'admin' AND password = 'password';

취약점 2: 액세스 권한 부여 미흡

데이터베이스 사용자에게 액세스 권한을 부여하는 과정에서 실수가 발생할 수 있습니다. 취약한 보안 설정의 예로는 모든 사용자에게 너무 많은 권한을 부여하거나, 필요하지 않은 권한을 지속적으로 부여하는 경우 등이 있습니다.

GRANT ALL ON sensitive_table TO public_user;

취약점 3: 로깅 부재

취약한 로깅 설정은 데이터베이스에 접속한 사용자나 액세스 시도에 대한 로그를 기록하지 않거나, 충분한 감사 추적이 이루어지지 않는 경우를 말합니다. 이는 보안 사고 발생 시 적절한 조사와 대응을 어렵게 만들 수 있습니다.

LOG_DISABLED = true;

이러한 취약점을 교정하고 보완하기 위해서는 적절한 보안 모범 사례를 준수하고, 데이터베이스 접속 로깅을 향상시키는 것이 중요합니다.