17일차 : 물리데이터베이스 설계

Dev_HG·2020년 7월 14일
0

1. 스토리지

1.스토리지(Storage)의 개념

  • 데이터를 보존하고 가능한 한 간편하게 액세스할 수 있도록 개발된 기술을 사용하여 정볼르 보존하는 저장장치를 의미

2. 스토리지 구성

1. DAS(Direct Attached Storage)

  • 데이터 서버와 외장형 저장장치를 전용 케이블로 직접 접속하는 방법
  • 장점 : 전용라인의 사용으로 주어진 성능이 보장되며 안정성도 뛰어나다
  • 단점 : 저장장치에 따른 접속방법이 서로 상이하여 저장장치 공유에 문제가 있다.

2. NAS(Network Attached Storage)

  • LAN을 통해 스토리지와 서버를 접속하는 방식이다.
  • 파일서버를 통한 파일시스템을 공유한다.
  • 장점: 데이터 저장 장치와 서버간의 독립성을 유지한다.
  • 단점: 데이터 접근 요청에 의한 파일 서버의 병목현상 발생 가능하고, 파일 서버 종로(Shutdown) 시 스토리지 접근이 불가능하다.

3. SAN(Storage Area Network)

  • 서버가 광섬유 채널(Fiber Channel)를 통하여 스토리지를 연결하는 기법이다.
  • 장점 : DAS의 접속한계성을 극복하며, n개의 서버가 m개의 저장장치 접속 가능하다.
  • 단점 : 이기종 서버환경을 지원하지 않고, 공유 가능한 파일시스템과 데이터 형식이 제한되어 있다.

2. 분산 데이터베이스

1. 분산 데이터베이스(Distribute Database) 개념

  • 네트워크의 활용을 통해 단일한 데이터베이스 관리 시스템으로 제어되고 논리적으로 집중되어 있으나 물리적으로 분산되어 있는 형태

2. 분산 데이터베이스 특징

1. 장점

  • 분산 제어가 용이
  • 지역 자치성이 높음(자신의 데이터를 지역적으로 제어하여 원격 데이터 처리 센터에 대한 의존도가 높음)
  • 효용성과 융통성이 높음
  • 데이터베이스 복제 및 분산을 통해 사용자 측면에서는 향상된 성능을 제공
  • 장애로 인한 데이터 유실 복구에도 효과적
  • 시스템 확장이 용이

2. 단점

  • 복잡성이 증가(사이트 간 조정 문제로 인해 데이터베이스 설계 및 소프트웨어 개발 비용이 증가)
  • 성능 저하(분산 데이터베이스 간 메시지 교환등으로 인한 오버헤드 발생)
  • 개발 비용의 증가(전문 인력 부족으로 개발 비용 과다)

3. 분산 데이터베이스 구성

1. 전역 스키마

  • 데이터베이스가 마치 분산되어 있지 않은 것처럼 분산 데이터베이스에 포함됨

2. 분할 스키마

  • 분산을 위해 단편화된 구성에 대한 정의(일대다 관계)

3. 할당 스키마

  • 단편들의 위치 정보를 정의
  • 유형에 따라 중복 또는 비중복인지가 결정됨

4. 지역 스키마

  • 물리적 이미지를 해당 지역 DBMS가 관리할 수 있도록 저장하기 위해 변환

4. 분산 데이터베이스의 투명성

1. 위치 투명성

  • 사용자나 응용 프로그램이 접근할 데이터의 물리적 위치를 알아야 할 필요가 없는 성징

2. 복제 투명성

  • 사용자나 응용 프로그램이 접근할 데이터가 물리적으로 여러 곳에 복제되어 있는지의 여부를 알필요가 없는 성징

3. 병행 투명성

  • 여러 사용자나 응용 프로그램이 동시에 분산 데이터베이스에 대한 트랜잭션을 수행하는 경우에도 결과에 이상이 발생하지 않는 성징
  • 로킹(Loking), 타임 스탬프(Time Stamp) 순서 기법 이용

4. 사용자가 하나의 논리적인 릴레이션이 여러 단편으로 분할되어 각 단편의 사본이 여러 장소에 저장되어 있음을 알 필요가 없는 성질

5. 장애투명성

  • 데이터베이스가 분산되어 있는 각 지역의 시스템이나 통신망에 이상이 생기더라도, 데이터의 무결성을 보존할 수 있는 성징
  • 2PC(Phase Commit) 활용

3. 데이터베이스 이중화 구성

1. 데이터베이스 이중화 개념

  • 물리적으로 떨어져 있는 여러 개의 데이터베이스에 대하여 로컬 데이터베이스 변경된 내용을 원격데이터베이스에 복제하고 관리하는 기술이다.

2. 데이터베이스 이중화 목적

  • 데이터베이스의 무정지 서비스를 가능하게 한다.
  • 사용자는 하나의 데이터베이스에 대해서만 작업을 수행한다.
  • 데이터베이스 이중화시스템에 연결되어 있는 다른 데이터베이스에도 작업 내용이 동일하게 적용한다.
  • 여러 개의 데이터베이스를 동시에 관리한다.

3. 데이터베이스 이중화 형태

1. 액티브-액티브(Active-Active)

  • 여러 노드가 동시에 가동되는 형태
  • 두 노드가 동시에 동작하므로 성능이 좋음

2. 액티브-스탠바이(Active-Stanby)

4. 데이터베이스 암호화

1. 데이터베이스 암호화 개념

  • 데이터베이스에 저장된 데이터를 읽기 어려운 값으로 변환하여 권한이 없는 제3자가 볼 수 없도록 저장하는 기술이다.

2. 데이터베이스 암호화 유형

1. 응용 프로그램 자체 암호화

  • 암,복호화 모듈이 API 라이브러리 형태로 각 애플리케이션 서버에 설치되고, 응용프로그램에서 해당 암,복호화 모듈을 호출하는 방식

2. DB 서버 암호화

  • 암, 복호화 모듈 DB서버에 설치되고 DB 서버에서 암,복호화 모듈을 호출하는 방식

3. DMBS 자체 암호화

  • DB 서버의 DBMS 커널이 자체적으로 암,복호화 기능을 수행하는 방식

4. DBMS 암호화 기능 호출

  • 응용 프로그램에서 DB 서버의 DBMS 커널이 제공하는 암,복호화 API를 호출하는 방식

5. 운영체제 암호화

  • OS에서 발생하는 물리적인 입출력을 이용한 암,복호화 방식으로 DBMS의 데이터 파일 암호화하는 방식

3. 데이터베이스 암호화 적용 방식

[컬럼 암호화]

  • API : 암,복호화 모듈을 애플리케이션 서버 내에 설치하고 이곳에서 암/복호화를 수행하는 구조
  • 플러그 인(Plug-In) : 암,복호화 모듈을 DB 서버 내에 설치하고 이곳에서 암,복호화를 수행하는 구조
  • 하이브리드(Hybrid) : 플러그 인 방식의 단점인 배치 업무의 성능 저하를 보완하기 위해 API방식을 이용하는 구성

[블럭 암호화]

  • TDE 방식 : DBMS에 추가 기능으로 제공되는 암호화 기능을 이용하여DB 내부에서 데이터 파일 저장 시 암호화하고, 파일에 저장된 내용을 메모리 영역으로 가져올 때 DBMS에 의해 자동으로 복호화 되는 방식
  • 파일 암호화 방식 : 파일 암호화 방식은 OS 상에서 확인이 가능한 개체인 파일을 암호화 하는 방식

5. 접근제어

1. 접근제어(Access Control)개념

  • 불법적인 데이터의 접근으로부터 데이터베이스를 보호하는 기법이다.
  • 데이터베이스는 가장 내부에 위치하고, DBMS 자체는 강력한 보안기능을 제공하기 때문에 접근 권한을 가진 사용자가 권한을 남용하여 유출하거나 변조가 가장 큰위험이다.

2. 접근제어 구성요소

  • 접근제어 정책 : 자원에 접근하는 사용자의 접근 모드 및 모든 접근 제한 조건 정의
  • 접근제어 메커니즘 : 시도된 접근 요청을 정의된 규칙에 대응시켜 검사함으로써 불법적 접근 방어
  • 접근제어 보안 모델 시스템의 보안 요구를 나타내는 요구명세로부터 출발하여 정확하고 간결한 기능적 모델 표현

3. 접근제어 정책

1. 신원기반(Identity-base) 접근제어 정책

  • 주체나 또는 그들이 속해있는 그룹들의 신분에 근거하여 객체에 대한 접근을 제한하는 방법이다.
  • DAC(Discretionary Access Control)이라고 불린다.
  • IBP(Individual-Based Policy) : 단일 사용자가 하나의 객체에 대해 허가를 부여받아 사용하는 정책
  • GBP(Group-Based Policy) : 복수 사용자가 하나의 객체에 대하여 같은 허가를 함께 부여받아 사용하는 정책

2. 규칙기반(Rule-based) 접근제어 정책

  • 객체에 포함된 정보의 비밀성과 이러한 비밀성의 접근정보에 대하여 주체가 갖는 권한에 근거하여 객체에 대한 접근을 제한하느 방법이다.
  • MAC(Mandatory Access Control)이라고 불린다.
  • MLP(Multi-Level Policy) : 사용자 및 객체가 각각 부여된 기밀 분류에 따른 정책
  • CBP(Compartment-Based Policy) : 조직 내 특정 집단별로 구분된 기밀 허가에 따른 정책

3. 역할기반(Role-based) 접근제어 정책

  • 중앙관리자가 주체와 객체의 상호관계를 제어하며 조직 내에서 맡은 역할에 기초하여 자원에 대한 접근 허용 여부 결정한다.
  • RBAC(Role Based Access Control)이라고 불린다.

4. 접근제어 메커니즘

  • ACL(Access Control List) : 주체가 디렉토리나 파일과 같은 특정 시스템 객체에 접근할 수 있는 허가 받은 접근 종류들이 기록된 목록
  • CL(Capability Lisgt) : 주체에게 허가된 자원 및 권한의 목록

5. 접근제어 보안모델

1. 접근제어 행렬

  • 임의적 접근 제어를 관리하기 위한 보안 모델
  • 행은 주체, 열은 객체를 표시
  • 행과 열은 주체 및 객체의 권한 유형을 표시

2. 기밀성 모델

  • 기밀성(Confidentality에 중점을 둔 수학적인 모델
  • 일반적인 상용 환경에서는 기밀성보다는 무결성의 중요성이 높아 부적합(군대 시스템 등 특수 환경에서 사용되는 모델)
  • 모델은 주체(사용자, 계정)와 객체(릴레이션, 튜플, 속성, 뷰)의 보안 등급을 근거로 제약 조건을 준수
  • 등급 기준 극비(top secret)> 비밀(secret) >일반(confidential) >미분류(Unclassified)
  • 대표적으로 벨라파듈라 모델이 존재

3. 무결성 모델

  • 정보 비밀성을 위해 정보의 일방향 흐름 제어를 활용하는 경우 발생
  • 기밀성 모델과 같이 주체 및 객체의 보안등급을 기반으로 하며, 제약 조건 역시 유사하게 적용
  • 대표적으로 비바 모델과 클락월슨 모델이 존재
    cf : 벨라파듈라 모델(Bell-LaPadula Model) : 군사용 보안구조의 요구사항을 충족시키기 위해 벨과 라파듈라가 개발한 최초의 수학적 모델로 기밀성 모델이다.
    cf : 비바 모델(Biba Model) : 벨라파듈라 모델의 무결성 취약점을 보완하여 불법 수정 방지 내용을 추가로 정의한 무결성 모델로 무결성 모델이다.
    cf : 클락윌슨 모델(Clark-Wilson Model) : 정보의 특성에 따라 비밀 노출 방지보다 자료의 변조방지가 더 중요한 경우 사용하는 모델로 무결성 중심의 상업용 설계 모델이다.
profile
꾸준함

0개의 댓글