암복호화 모듈이 API 라이브러리 형태로 각 애플리케이션 서버에 설치되어 응용 프로그램에서 해당 모듈을 호출하는 방식
애플리케이션 서버와 DB 서버 간의 통신에서 암호화된 데이터 전송을 보장할 수 있음
DB 서버에 영향을 주지 않아 DB 서버 성능 저하가 적은 편이지만 구축 시 응용 프로그램 전체 또는 일부의 수정이 필요함
차세대 개발 등 기존 애플리케이션에 대한 전면적인 수정이 가능한 경우 적용 시 효과적
Plug-In 방식 — DB 서버 암호화 방식
암복호화 모듈이 DB 서버에 설치되고 DB 서버에서 플러그인으로 연결된 암복호화 모듈을 호출하는 방식
구축 시 응용 프로그램의 수정을 최소화할 수 있으나 기존 DB 스키마와 대응하는 뷰를 생성하고 암호화할 테이블을 추가하는 등의 작업 필요
DB서버에서 암복호화 모듈을 플러그인으로 호출할 때 추가적인 부하가 발생하여 성능 저하 가능
트랜잭션 처리량이 많지 않아 성능에 대한 민감성이 낮은 시스템에 적합
Hybrid 방식 — API 방식과 Plug-In 방식 혼용 — 대용량 트랜잭션 처리와 같이 Plug-In 방식을 사용하면 성능 저하가 발생할 수 있는 부분은 API 방식을 사용하여 성능을 보장하고, 나머지 부분들은 Plug-In 방식을 사용하여 애플리케이션 수정 최소화
블록 암호화 방식
TDE 방식 — DBMS 자체 암호화 방식
DBMS에 내장된 암호화 기능을 이용하여 DB 내부에서 데이터 파일 저장 시 암호화하고 파일에 저장된 내용을 메모리 영역으로 가져올 때 DBMS에 의해 자동으로 복호화
DBMS 커널 수준에서 처리되므로 기존 응용 프로그램의 수정이나 DB 스키마의 변경이 거의 필요하지 않고 DBMS 엔진에 최적화된 성능 제공 가능
DBMS 종류 및 버전에 따라 기능 지원 여부 결정
파일 암호화 방식
OS에서 파일을 암호화하는 방식
다양한 비정형 데이터에 대한 암호화 적용 가능
응용 프로그램이나 DB 스키마의 수정 불필요
파일 전체를 암호화하는 데 DB 서버에 추가적인 부하 발생 가능
OS에 따라 지원 여부 다름
4. 데이터베이스(MySQL) 취약점 점검
개요
기본 테이블
user 테이블
host 테이블 — 호스트 전체에 대한 데이터베이스 접근 권한 정보
db 테이블 — 각각의 데이터베이스에 대한 접근 권한 정보
table_priv 테이블 — 테이블에 대한 접근 권한 정보
columns_priv — 테이블의 컬럼에 대한 접근 권한 정보
mysql DBMS 취약점 점검
root 패스워드 및 계정명 변경
mysql 설치 시 서버에 자동으로 생성되는 mysql 계정의 로그인 차단
원격에서 mysql 서버로의 접근 차단
데이터베이스의 사용자별 접속/권한 설정 확인
user 테이블에 있는 host 칼럼 — 해당 사용자가 데이터베이스에 접근할 수 있는 호스트를 지정하는 컬럼