데이터베이스 보안과 암호화 완벽 정리

2025-10-17


💾 데이터베이스 보안과 암호화 완벽 정리

DB보안(Database Security)DB암호화 기술의 전반적인 내용을 학습합니다. DB 접근통제, 권한관리, DBMS 보안설정, 백업 관리, 암호화 구현 방법 등 실제 보안 환경에서의 설정 예시를 중심으로 정리했습니다.


1️⃣ DB 보안의 개요

데이터베이스 보안이란, 비인가된 변경, 파괴, 노출 및 비일관성으로부터 DB를 보호하는 모든 기술과 절차를 말합니다.

주요 보호 목표

  • 부적절한 접근 방지: 인가된 사용자만 접근 허용
  • 무결성 유지: 오류, 바이러스 등으로부터 데이터 손상 방지
  • 추론 방지: 데이터로부터 개인 정보 유추 차단
  • 감사 기능: 접근 기록(Audit Log) 생성
  • 정보 노출 방지: 시스템 프로그램 간 부적절한 정보 전송 차단
  • 엄격한 사용자 인증: 정당한 사용자만 접근 허용
  • 다단계 보호: 등급별 접근 제한으로 기밀성 강화

2️⃣ DB 보안의 필요성과 배경

정보화 사회의 발전으로 데이터 유출 경로가 다양해지고, 내부자 유출의 비율이 높아졌습니다.

산업기밀 유출의 90%가 내부자 소행으로 밝혀졌으며, 발생 건수는 적지만 피해 규모는 막대합니다.

DB보안은 단순한 기술적 보호가 아닌, 기업 신뢰와 브랜드 이미지 보호를 위한 필수 요소입니다.


3️⃣ DB 보안의 목적

보안 목표설명
기밀성 (Confidentiality)부적절한 정보 유출 방지
무결성 (Integrity)데이터의 변조 방지 및 탐지
가용성 (Availability)서비스 거부 방지 및 정상 접근 보장
인증 (Authentication)정당한 사용자만 DB 접근 허용

DB 보안의 3요소: 인증 / 접근통제 / 감사


4️⃣ 접근통제(Access Control)

접근통제는 **사용자 또는 응용 프로그램(주체)**가 테이블, 뷰, 행, 열 등 객체에 접근할 수 있는 권한을 정의·제한하는 기술입니다.

구성 요소

  • 주체(Subject): 사용자 또는 응용 프로그램
  • 객체(Object): DB 내의 테이블, 컬럼, 뷰 등
  • 조치(Action): 읽기, 쓰기, 삭제, 수정 등
  • 제약(Constraint): 접근에 대한 정책적 제한

5️⃣ 접근통제의 종류

종류정의특징적용 방식
DAC (임의적 접근제어)객체 소유자가 접근 여부 결정ID 기반 통제, 트로이목마에 취약ACL, Capability List 기반
MAC (강제적 접근제어)관리자가 보안등급 기반 접근 제어비밀성 유지, 상하위 등급 전파등급별 접근: Unclassified → Top Secret
RBAC (역할기반 접근제어)중앙관리자가 역할 단위로 권한 부여사용자-역할-권한 관계로 효율적 관리조직별 역할(Role) 기반

RBAC은 현대 DB보안의 표준 모델로, 사용자 권한을 직무(role) 단위로 부여하여 관리 복잡도를 낮춥니다 oai_citation:3‡[교안]인터넷보안_05.pdf.


6️⃣ DB 권한 관리

DBMS는 사용자별로 접근 권한을 설정하며, 권한 오남용을 방지하기 위해 권한 부여(GRANT)회수(REVOKE) 절차를 거칩니다.

🔹 MySQL 권한 관리 예시

-- 사용자 등록
mysql> CREATE USER 'username'@'localhost' IDENTIFIED BY 'password';
 
-- 권한 부여
mysql> GRANT SELECT, INSERT, UPDATE ON DBname.* TO 'username'@'localhost';
 
-- 권한 회수
mysql> REVOKE UPDATE ON DBname.* FROM 'username'@'localhost';

기본적으로 모든 권한은 'N'으로 설정되며 필요 시 'Y'로 변경합니다

7️⃣ SYSDBA 로그인 제한 (Oracle 예시)

  • 문제: DBA 그룹에 속한 사용자는 패스워드 없이 SYSDBA 접근 가능
  • 위험: 비인가자가 그룹에 포함될 경우 DB 삭제·변조 가능
  • 조치 방법:
sqlnet.authentication_services = (none)
 
$> sqlplus /nolog
SQL> connect sys/<패스워> as sysdba

설정 후 반드시 인증 과정을 거쳐야 접속이 가능합니다


8️⃣ DBMS 보안 설정

보안 항목설명조치 방법
백업관리DBMS 유지보수 및 업그레이드 시 전체 Full 백업 수행정기 백업 정책 수립 및 검증 서버 제외
샘플 DB 제거초기 설치 시 포함된 TEST DB 제거운영 환경정보 노출 방지
원격접속 제한허용되지 않은 IP에서의 접속 차단방화벽, IPS 설정을 통한 네트워크 통제

9️⃣ DB 암호화 방식

암호화는 데이터의 기밀성을 보장하며, **저장형(Static)**과 전송형(Transit) 암호화로 구분됩니다.

암호화 구현 방식 비교

구분DB연동 방식응용프로그램 연동 방식
설명DB 서버단에서 암호화/복호화 수행응용프로그램 소스코드에서 암호화 수행
장점기존 시스템 수정 최소화신규 시스템 구축 시 효율적
단점DB 부하 증가 가능소스 수정 시 유지보수 어려움

🔟 DB 보안 운영 및 법적 준수

보안의 궁극적 목적은 법적 기준을 충족하는 시스템 안정성 확보입니다. DB 보안 정책은 다음과 같은 원칙을 따라야 합니다.

  • 개인정보보호법 등 관련 법률 준수
  • 접근권한 최소화 (최소권한 원칙)
  • 정기적인 취약점 점검 및 로그 감사
  • 내부자 보안 교육 및 사고 대응 체계 구축

“보안은 기술이 아니라 책임의 문화다.”


🧭 정리

  • DB 보안의 3대 목표는 기밀성 / 무결성 / 가용성
  • 접근통제는 DAC, MAC, RBAC 세 가지 방식으로 분류
  • 권한관리 및 로그인 제한, 백업, 원격접속 제한은 필수
  • 암호화는 DB단 / 응용단에 따라 구현 방식이 다름
  • 모든 보안활동의 기반은 법적 준수와 관리체계 수립

댓글

GitHub 계정으로 댓글을 남겨보세요!