1. 물리 요소 조사 분석
(1) 스토리지 [DAS/NAS/SAN]
1. 스토리지(Storage) : 데이터를 보존하고 가능한 한 간편하게 액세스 할 수 있도록 개발된 기술을 사용하여 정보를 보존하는 저장장치
2. 스토리지 구성
1) DAS(Direct Attached Storage)
- 데이터 서버와 외장형 저장장치를 전용 케이블로 직접 접속하는 방식
- 장점 : 전용라인의 사용으로 주어진 성능이 보장되며 안전성이 뛰어나다
- 단점 : 저장장치에 따른 접속 방법이 서로 상이하여 저장 장치 공유에 문제가 있음
2) NAS(Network Attached Storage)
- NAS는 LAN을 통해 스토리지와 서버를 접속하는 방식. 파일 서버를 통한 파일 시스템을 공유한다.
- 장점 : 데이터 저장장치와 서버간의 독립성을 유지
- 단점 : 데이터 접근 요청에 의한 파일 서버의 병목 현상 발생 가능. 파일 서버 종료 (Shutdown) 시 스토리지 접근이 불가능
병목현상 이란 ? 전체 시스템의 성능이나 용량이 하나의 구성 요소로 인해 제한을 받는 현상.
3. SAN (Storage Area Network)
서버가 광섬유 채널(Fiber Channel)을 통해 스토리지를 연결하는 기법
- 장점 : DAS의 접속 한계성을 극복하여, n개의 서버가 m개의 저장장치 접속 가능
- 단점 : 이기종 서버 환경을 지원x 공유 가능한 파일 시스템과 데이터 형식이 제한
(2) 분산 데이터 베이스
1. 분산 데이터 베이스 (Distributed Database)
네트워크 상에서 여러 컴퓨터에 물리적으로 분산되어 있지만, 하나의 데이터 베이스처럼 인식하도록 논리적으로 통합된 데이터베이스
2. 특징 => 대체로 장점 (개발 비용 제외하고는..)
장점 | 단점 |
* 분산 제어 용이 * 지역 자치성이 높음 (자신의 데이터를 지역적으로 제어하여 원격 데이터 처리 센터에 대한 의존도가 감소) * 효용성과 융통성이 높음 * 데이터베이스 복제 및 분산을 통해 사용자 측면에서는 향상된 성능을 제공 * 장애로 인한 데이터 유실 복구에도 효과적 * 시스템 확장 용이 |
* 복잡성이 증가 * 성능 저하 * 개발 비용 증가 |
3. 분산 데이터 베이스 구성
전역 스키마 | 데이터 베이스가 마치 분산되어 있지 않은 것 처럼 분산 데이터 베이스에 포함된 모든 데이터를 정의 |
분할 스키마 | 분산을 위해 단편화된 구성에 대한 정의 (일대다 관계) |
할당 스키마 | 단편들의 위치 정보를 정의 유형에 따라 중복 , 비중복 결정됨 |
지역 스키마 | 물리적 이미지를 해당 지역 DBMS가 관리할 수 있도록 저장하기 위해 변환 |
4. 분산 데이터베이스의 투명성
- 위치 투명성 : 사용자나 응용 프로그램이 접근할 데이터의 물리적 위치를 알아야 할 필요가 없다.
- 복제 투명성 : 접근할 데이터가 물리적으로 여러곳에 복제되어 있는지 알아야 할 필요가 없다.
- 병행 투명성 : 동시에 분산 DB 트랜잭션을 수행해도 결과에 이상 발생 x
- 분할 투명성 : 각 단편의 사본이 여러 장소에 저장되어 있음을 알아야 할 필요가 없다.
- 장애 투명성 : 각 지역의 통신망에 이상이 생겨도 데이터 무결성 보존
(3) 데이터 베이스 이중화 구성
1. 데이터 베이스 이중화
물리적으로 떨어져 있는 여러개의 데이터 베이스에 대하여 로컬 데이터 베이스의 변경된 내용을 원격 데이터 베이스에 복제하고 관리하는 기술
2. 데이터 베이스 이중화 목적
- 무정지 서비스를 가능하게 한다.
- 사용자는 하나의 데이터 베이스에 대해서만 작업 수행.
- 여러개의 DB 동시 관리
- DB이중화시스템에 연결되어 있는 다른 DB에도 작업 내용이 동일하게 적용한다.
3. 이중화 형태
Actice - Active : 여러 노드가 동시에 가동되는 형태. 성능 좋음
Active - Standy : 하나의 노드만 가동 (Active), 나머지 노드들은 대기 (Stanby)
(4) 데이터 베이스 암호화
1. 데이터 베이스 암호화
데이터베이스에 저장된 데이터를 읽기 어려운 값으로 변환하여 권한이 없는 제 3자가 볼 수 없도록 저장하는 기술
2. 유형
- 응용 프로그램 자체 암호화
- DB서버 암호화
- DBMS 자체 암호화
- DBMS 암호화 기능 호출
- 운영체제 암호화
3. 암호화 적용 방식
1. 컬럼 암호화
- 테이블에서 특정 컬럼을 암호화하여 데이터를 보관
API | 암, 복호화 모듈을 앱 서버 내에 설치, 수행 |
플러그 인 | 암, 복호화 모듈을 DB서버 내에 설치, 수행 |
하이브리드 | 플러그인의 단점인 배치 업무의 성능 저하를 보완하기 위해 API방식을 이용하는 구조 |
2. 블록 암호화
- 앱 상 수정 필요없이 DB, OS 자체 블록 단위로 암호화 제공
TDE방식 | DBMS에 추가 기능으로 제공되는 암호화 기능을 이용하여 DB내부에서 데이터 파일 저장 시 암호화 파일에 저장된 내용을 메모리 영역으로 가져올 때 DBMS에 의해 자동으로 복호화되는 방식 |
파일 암호화 방식 | OS 상에서 확인이 가능한 개체인 파일을 암호화 하는 방식 |
(4) 접근 제어(Access Control)
1. 접근 제어
- 불법적인 데이터의 접근으로부터 DB를 보호하는 기법
- DB는 가장 내부에 위치하고 DBMS자체는 강력한 보안 기능을 제공하기 때문에 접근 권한을 가진 사용자가 권한을 남용하여 유출하거나 변조가 가장 큰 위험이다.
2. 접근 제어 구성 요소
- 접근 제어 정책 : 자원에 접근하는 사용자의 접근 모드 제한 정의
- 접근 제어 매커니즘 : 시도된 접근 요청을 정의된 규칙에 대응시켜 감시하여 불법적 접근 방어
- 접근 제어 보안 모델 : 시스템 보안 요구를 나타내는 요구 명세로부터 출발하여 정확하고 간결한 기능적 모델 표현
3. 접근 제어 정책
신원 기반 : 그룹들의 신분에 근거하여 객체에 대한 접근을 제한 -> DAC (Discretionary Access Control)
IBP(Individual-Based-Policy) | 단일 사용자가 하나의 객체에 대해 허가를 부여받아 사용하는 정책 |
GBP (Group - Based Policy) | 복수 사용자가 하나의 객체에 대해 같은 허가를 함께 부여받아 사용하는 정책 |
규칙 기반 : 객체에 포함된 정보의 비밀성, 접근 정보에 대해 주체 궈한에 근거하여 객체에 대한 접근을 제한하는 방법 -> MAC(Mandatory Access Control)
역할 기반 : 중앙 관리자가 주체와 객체의 상호관계를 제어하며, 조직 내에서 맡은 역할에 기초하여 자원에 대한 접근 허용 여부를 결정한다.
-> RBAC(Role Based Access Control)
4. 접근 제어 매커니즘
ACL [Access Control List] : 주체가 디렉토리나 파일과 같은 특정 시스템 객체에 접근할 수 있는 허가 받은 접근 종류들이 기록된 목록
CL [Capability List] : 주체에게 허가된 자원 및 권한의 목록