정보처리기사 - 데이터 입출력 구현 #55~57

2023. 8. 19. 11:29자격증/정보처리기사

55. 데이터베이스 보안

55.1 데이터베이스 보안

데이터베이스의 일부 또는 전체에 대해서 권한이 없는 사용자가 액세스하는 것을 금지하기 위해 사용되는 기술
  • 보안을 위한 데이터 단위는 테이블 전체로부터 특정 테이블의 특정 행과 열에 있는 데이터 값에 이르기까지 다양함

55.2 암호화(Encryption)

데이터를 보낼 때 송신자가 지정한 수신자 이외에는 그 내용을 알 수 없도록 평문을 암호문으로 변환하는 것
  • 암호화(Encryption) 과정 : 암호화되지 않은 평문을 암호문으로 바꾸는 과정
  • 복호화(Decryption) 과정 : 암호문을 원래의 평문으로 바꾸는 과정
  • 암호화 기법
    • 개인키 암호 방식(Private Key Encryption)
    • 공개키 암호 방식(Public Key Encryption)

55.3 접근통제

데이터가 저장된 객체와 이를 사용하려는 주체 사이의 정보 흐름을 제한하는 것
  • 객체 : 테이블, 컬럼 등과 같은 데이터베이스 개체들을 의미
  • 주체 : 일반적으로 객체를 사용하기 위해 접근을 시도하는 사용자를 의미
  • 데이터베이스에 대한 사용자들의 접근을 통제함으로써 데이터를 보호하는 방법
  • 접근통제 3요소
    • 접근통제 정책
    • 접근통제 매커니즘
    • 접근통제 보안모델

55.3.1 접근통제 기술

정책 특징
임의 접근통제
(DAC, Discretionary Access Control)
- 데이터에 접근하는 사용자의 신원에 따라 접근 권한을 부여하는 방식
- 데이터 소유자가 접근통제 권한을 지정하고 제어
- 객체를 생성한 사용자가 생성된 객체에 대한 모든 권한을 부여받고, 부여된 권한을 다른 사용자에게 허가할 수도 있음
강제 접근통제
(MAC, Mandatory Access Control)
- 주체와 객체의 등급을 비교하여 접근 권한을 부여하는 방식
- 시스템이 접근통제 권한을 지정
- 데이터베이스 객체별로 보안 등급을 부여할 수 있음
- 사용자별로 인가 등급을 부여할 수 있음
역할기반 접근통제
(RBAC, Role Based Access Control)
- 사용자의 역할에 따라 접근 권한을 부여하는 방식
- 중앙 관리자가 접근통제 권한을 지정
- 임의 접근통제와 강제 접근통제의 단점을 보완
- 다중 프로그래밍 환경에 최적화된 방식

55.4 접근통제 정책

어떤 주체(Who)가 언제(When), 어디서(Where), 어떤 객체(What)에게, 어떤 행위(How)에 대한 허용 여부를 정의하는 것
  • 접근통제 정책의 종류
종류 특징
신분 기반 정책 - 주체나 그룹의 신분에 근거하여 객체의 접근을 제한하는 방법으로, IBP와 GBP가 존재
- IBP(Individual-Based Policy) : 최소 권한 정책으로, 단일 주체에게 하나의 객체에 대한 허가를 부여
- GBP(Group-Based Policy) : 복수 주체에 하나의 객체에 대한 허가를 부여
규칙 기반 정책 - 주체가 갖는 권한에 근거하여 객체의 접근을 제한하는 방법으로, MLP와 CBP가 존재
- MLP(Multi-Level Policy) : 사용자나 객체별로 지정된 기밀 분류에 따른 정책
- CBP(Compartment-Based Policy) : 집단별로 지정된 기밀 허가에 따른 정책
역할 기반 정책 GBP의 변형된 정책으로, 주체의 신분이 아니라 주체가 맡은 역할에 근거하여 객체의 접근을 제한하는 방법

55.5 접근통제 매커니즘

정의된 접근통제 정책을 구현하는 기술적인 방법
  • 접근통제 매커니즘에는 접근통제 목록, 능력 리스트, 보안 등급, 패스워드, 암호화 등이 존재
    • 접근통제 목록(Access Control List) : 객체를 기준으로 특정 객체에 대해 어떤 주체가 어떤 행위를 할 수 있는지를 기록한 목록
    • 능력 리스트(Capability List) : 주체를 기준으로 주체에게 허가된 자원 및 권한을 기록한 목록

55.6 접근통제 보안 모델

보안 정책을 구현하기 위한 정형화된 모델
  • 접근통제 보안 모델의 종류
종류 특징
기밀성 모델 - 군사적인 목적으로 개발된 최초의 수학적 모델
- 기밀성 보장이 최우선
- 군대 시스템 등 특수 환경에서 주로 사용
무결성 모델 기밀성 모델에서 발생하는 불법적인 정보 변경을 방지하기 위해 무결성을 기반으로 개발된 모델
접근통제 모델 - 접근통제 매커니즘을 보안 모델로 발전시킨 것
- 대표적으로 접근통제 행렬(Access Control Matrix)가 존재
- 접근통제 행렬 : 임의적인 접근통제를 관리하기 위한 보안 모델로, 행은 주체, 열은 객체, 즉 행과 열로 주체와 객체의 권한 유형을 나타냄

55.7 접근통제 조건

접근통제 매커니즘의 취약점을 보완하기 위해 접근통제 정책에 부가하여 적용할 수 있는 조건
종류 특징
값 종속 통제
(Value-Dependent Control)
일반적으로는 객체에 저장된 값에 상관없이 접근통제를 동일하게 허용하지만, 값 종속 통제는 객체에 저장된 값에 따라 다르게 접근통제를 허용해야 하는 경우에 사용
다중 사용자 통제
(Multi-User Control)
지정된 객체에 다수의 사용자가 동시에 접근을 요구하는 경우에 사용
컨텍스트 기반 통제
(Context-Based Control)
- 특정 시간, 네트워크 주소, 접근 경로, 인증 수준 등에 근거하여 접근을 제어하는 방법
- 다른 보안 정책과 결합하여 보안 시스템의 취약점을 보완할 때 사용

55.8 감사 추적

사용자나 애플리케이션이 데이터베이스에 접근하여 수행한 모든 활동을 기록하는 기능
  • 오류가 발생한 데이터베이스를 복구하거나 부적절한 데이터 조작을 파악하기 위해 사용

56. 데이터베이스 백업

56.1 데이터베이스 백업

전산 장비의 장애에 대비하여 데이터베이스에 저장된 데이터를 보호하고 복구하기 위한 작업
  • 치명적인 데이터 손실을 막기 위해서는 데이터베이스를 정기적으로 백업해야 함

56.2 로그 파일

데이터베이스의 처리 내용이나 이용 상황 등 상태 변화를 시간의 흐름에 따라 모두 기록한 파일
  • 데이터베이스의 복구를 위해 필요한 가장 기본적인 자료
  • 로그 파일을 기반으로 데이터베이스를 과거로 복귀(UNDO)시키거나 현재 상태로 재생(REDO)시켜 데이터베이스 상태를 일관성 있게 유지할 수 있음
  • 로그 파일 기록 시점
    • 트랜잭션 시작 지점
    • Rollback 시점
    • 데이터 입력, 수저 삭제 시점

56.3 데이터베이스 복구 알고리즘

종류 특징
NO-UNDO/REDO - 데이터베이스 버퍼의 내용을 비동기적으로 갱신한 경우의 복구 알고리즘
- NO-UNDO : 트랜잭션 완료 전에는 변경 내용이 데이터베이스에 기록되지 않으므로 취소할 필요가 없음
- REDO : 트랜잭션 완료 후 데이터베이스 버퍼에는 기록되어 있고, 저장매체에는 기록되지 않았으므로 트랜잭션 내용을 다시 실행해야 함
UNDO/NO-REDO - 데이터베이스 버퍼의 내용을 동기적으로 갱신한 경우의 복구 알고리즘
- UNDO : 트랜잭션 완료 전에 시스템이 파손되었다면 변경된 내용을 취소
- NO-REDO : 트랜잭션 완료 전에 데이터베이스 버퍼 내용을 이미 저장 매채에 기록했으므로 트랜잭션 내용을 다시 실행할 필요가 없음
UNDO/REDO - 데이터베이스 버퍼의 내용을 동기/비동기적으로 갱신한 경우의 복구 알고리즘
- 데이터베이스 기록 전에 트랜잭션이 완료될 수 있으므로 완료된 트랜잭션이 데이터베이스에 기록되지 못했다면 다시 실행해야 함
NO-UNDO/NO-REDO - 데이터베이스 버퍼의 내용을 동기적으로 저장 매체에 기록하지만 데이터베이스와는 다른 영역에 기록한 경우의 복구 알고리즘
- NO-UNDO : 변경 내용은 데이터베이스와 다른 영역에 기록도어 있으므로 취소할 필요가 없음
- NO-REDO : 다른 영역에 이미 기록되어 있으므로 트랜잭션을 다시 실행할 필요가 없음
  • 비동기적 갱신(Asynchronous I/O) : 트랜잭션이 완료된 내용을 일정 주기나 작업량에 따라 시간 차이를 두고 저장매체에 기록하는 것
  • 동기적 갱신(Synchronous I/O) : 트랜잭션이 완료되기 전에 데이터베이스 버퍼 내용을 동시적으로 저장매체에 기록하는 것

56.4 백업 종류

복구 수준에 따라서 운영체제를 이용하는 물리 백업과 DBMS 유틸리티를 이용하는 논리 백업으로 나뉨
종류 특징
물리 백업 - 데이터베이스 파일을 백업하는 방법
- 백업 속도가 빠르고 작업이 단순하지만 문제 발생 시 원인 파악 및 문제 해결이 어려움
논리 백업 - DB 내의 논리적 객체들을 백업하는 방법
- 복원 시 데이터 손상을 막고 문제 발생 시 원인 파악 및 해결이 수월하지만 백업/복원 시 시간이 많이 소요됨

57. 스토리지(Storage)

57.1 스토리지(Storage)

단일 디스크로 처리할 수 없는 대용량의 데이터를 저장하기 위해 서버와 저장장치를 연결하는 기술
  • 스토리지의 종류
    • DAS
    • NAS
    • SAN

57.2 DAS(Direct Attached Storage)

서버와 저장장치를 전용 케이블로 직접 연결하는 방식
  • 일반 가정에서 컴퓨터에 외장하드를 연결하는 것이 여기에 해당
구분 내용
장점 - 저장장치를 직접 연결하므로 속도가 빠르고 설치 및 운영이 쉬움
- 초기 구축 비용 및 유지보수 비용이 저렴
단점 - 직접 연결 방식이므로 다른 서버에서 접근할 수 없고 파일을 공유할 수 없음
- 확장성 및 유연성이 떨어짐

57.3 NAS(Network Attached Storage)

서버와 저장장치를 네트워크를 통해 연결하는 방식
  • 별도의 파일 관리 기능이 있는 NAS Storage가 내장된 저장장치를 직접 관리
  • Ethernat 스위치를 통해 다른 서버에서도 스토리지에 접근할 수 있어 파일 공유가 가능
  • 장소에 구애받지 않고 저장장치에 쉽게 접근할 수 있음
  • DAS에 비해 확장성 및 유연성이 우수

57.4 SAN(Storage Area Network)

DAS의 빠른 처리와 NAS의 파일 공유 장점을 혼합한 방식으로, 서버와 저장장치를 연결하는 전용 네트워크를 별도로 구성하는 방식
  • 파이버 채널(FC) 스위치를 이용하여 네트워크를 구성
  • 파이버 채널 스위치는 서버와 저장장치를 광케이블로 연결하므로 처리 속도가 빠름
  • 서버들이 저장장치 및 파일을 공유할 수 있음
  • 확장성, 유연성, 가용성이 뛰어남