Ⅰ.데이터베이스 정의
정보시스템 및 기업의 비즈니스를 수행하기 위해서 필요한 각종 데이터를 일정한 규칙으로 저장, 관리, 검색하고 제공하기 위한 체계적인 방법론입니다. 데이터베이스는 일반적으로 데이터를 Table 형태로 저장하며, 이를 통해 데이터를 쉽게 추가, 수정, 검색, 삭제할 수 있습니다.
데이터베이스는 여러 가지 종류가 있으며, 일반적으로 관계형 데이터베이스가 가장 많이 사용됩니다. 관계형 데이터베이스는 표(table)로 구성되어 있으며, 이를 통해 데이터를 구조적으로 관리할 수 있습니다. 이외에도 NoSQL 데이터베이스, 그래프 데이터베이스, 객체 데이터베이스 등 다양한 종류의 데이터베이스가 존재합니다.
데이터베이스는 업무처리나 의사결정을 위한 필수적인 자원으로, 많은 기업과 조직에서 사용됩니다. 데이터베이스를 잘 설계하고 구축하는 것은 업무의 효율성과 생산성을 높이는데 큰 역할을 합니다.
Ⅱ. 데이터베이스의 기능
요소 | 대응책 |
지속성 | 영속성, 데이터베이스 재사용 |
데이터 공유 | 동시 사용 시뮬레이션 데이터베이스 유지 |
회복 | 원래 상태로 데이터 베이스 복구 |
데이터베이스 언어 | SQL, 질의처리 및 쿼리 |
보안 & 무결성 | 데이터베이스 쿼리 및 지속 |
1) 데이터 저장: 데이터베이스는 데이터를 구조적인 형태로 저장하며, 이를 통해 데이터를 쉽게 추가, 수정, 검색, 삭제할 수 있습니다.
2) 데이터 검색: 데이터베이스는 사용자가 원하는 데이터를 쉽게 검색할 수 있도록 인덱싱(indexing) 기능을 제공합니다. 인덱싱은 데이터를 빠르게 찾을 수 있도록 데이터의 일부분을 키(key)로 지정하는 것을 말합니다.
3) 데이터 공유: 데이터베이스는 여러 사용자가 동시에 데이터에 접근하고 수정할 수 있도록 공유 기능을 제공합니다. 이를 통해 여러 사용자가 동시에 업무를 처리할 수 있습니다.
4) 데이터 보안: 데이터베이스는 데이터의 무단 접근, 수정, 삭제를 방지하기 위한 보안 기능을 제공합니다. 이를 통해 데이터의 안전성을 보장할 수 있습니다.
5) 데이터 백업 및 복원: 데이터베이스는 데이터를 정기적으로 백업하고 복원할 수 있는 기능을 제공합니다. 이를 통해 데이터의 손실을 방지하고 데이터를 신속하게 복원할 수 있습니다.
6) 데이터 일관성 유지: 데이터베이스는 여러 테이블에 저장된 데이터가 일관성을 유지하도록 관리하는 기능을 제공합니다. 이를 통해 데이터의 신뢰성을 유지할 수 있습니다.
7) 데이터 분석: 데이터베이스는 데이터를 분석하고 요약하는 기능을 제공합니다. 이를 통해 업무에 대한 분석과 의사결정을 지원할 수 있습니다.
Ⅲ. 데이터베이스 보안 위협요소
위협요소 | 설명 |
집합성 | 낮은 보안 등급의 정보들을 이용하여 높은 등급의 정보를 알아 내는 것 |
추론 | 보안등급이 없는 정보를 접근하여 기밀정보를 유추 |
데이터베이스는 많은 민감한 정보를 보유하고 있기 때문에 다양한 보안 위협 요소가 존재합니다. 일반적으로 데이터베이스 위협 요소는 다음과 같습니다.
1) 불법적인 데이터 접근: 악의적인 해커나 내부 직원 등이 데이터베이스에 불법적으로 접근하여 데이터를 유출하거나 변조할 수 있습니다.
2) 악성코드: 컴퓨터 바이러스, 웜, 트로이 목마 등의 악성코드가 데이터베이스에 침투하여 데이터를 파괴하거나 유출할 수 있습니다.
3) 보안 취약점: 데이터베이스 시스템에 취약점이 존재할 경우, 해커 등의 공격으로부터 데이터베이스를 보호할 수 없게 됩니다.
4) 인증 및 권한 부족: 인증이 부적절하거나 권한이 부족하면 내부 직원이나 외부 공격자가 데이터베이스에 불법적으로 접근하여 데이터를 파괴하거나 유출할 수 있습니다.
5) 데이터 유출: 외부 공격자나 내부 직원이 데이터를 불법적으로 유출할 수 있습니다.
6) 데이터 손상: 잘못된 수정, 삭제, 입력 등으로 데이터가 손상되는 경우가 있을 수 있습니다.
7) 불법적인 백업: 불법적으로 백업된 데이터베이스가 유출될 경우, 데이터를 악용할 수 있습니다.
8) 서비스 거부 공격: 대량의 트래픽을 유발하여 서비스를 마비시키는 공격이 있을 수 있습니다.
위와 같은 위협 요소로부터 데이터베이스를 보호하기 위해서는 보안 전략을 수립하고 취약점을 제거하며, 데이터베이스의 인증 및 권한 관리를 철저히 해야 합니다. 또한 데이터 백업 및 복원 등의 대처 계획을 수립하여 데이터 유실을 최소화해야 합니다.
Ⅳ. 데이터베이스 암호화 및 접근 통제
데이터베이스에 접근하는 모든 사용자의 요청을 DBMS가 검사하고, 권한이 있는 사용자만 데이터베이스에 접근할 수 있도록 제어하는 것을 의미합니다.
구분 | 내용 |
사용자인증 | 암호나 개인 신분 번호를 확인 특정 사용자만 가지고 있는 물건 제시 : 카드 / 키 등 특정 사용를 구분 할 수 있는 신체적 특징을 이용하는 방법 : 지문, 홍채 등 특정 사용자만이 알고 있는 함수를 이용하는 방법 |
권한부여 | 사전에 사용자 / 데이터 항목별 권하누 부여 테이블을 유지 인증 과정을 거친 사용자를 대상으로 사용자가 해당 데이터 항목에 대한 연산을 수행할 권한이 있는 확인하는 과정 |
암호화 | 데이터의 내용을 암호화함으로써 불법적으로 데이터 취득 시 해독이 불가능하도록 하기 위함 |
접근 제어 | 권한이 부여된 사용자만 데이터베이스 객체에 접근할 수 있도록 제어하는 과정입니다. 이를 통해 불법적인 접근을 방지할 수 있습니다. |
Ⅳ. 데이터베이스 보안통제
데이터베이스 보안통제는 데이터베이스에 저장된 민감한 정보를 보호하고 불법적인 접근, 변경, 삭제 등을 방지하기 위한 전략입니다. 데이터베이스 보안통제는 다음과 같은 기술적, 물리적, 관리적 대책을 적용하여 수행됩니다:
구분 | 설명 |
접근 통제 | 인증된 사용자에게 허가된 범위 내에서 시스템 내부의 정보에 대한 접근을 허용하는 기술적인 방법 사용자가 DB에 접근할 때는 접근 권한이 있는지 검사하여 허용 여부를 결정 |
추론 통제 | - 간접적으로 노출된 데이터를 통해 다른 데이터를 추론하여 다른 데이터가 공개되는 것을 방지 - 추론 방지를 위한 방법 1) 허용 가능한 질의를 제한 2) 질의의 응답으로 제공되는 데이터를 한정 3) 데이터를 숫자의 경우 반올림하거나 일관성이 없는 결과 노이즈를 포함 |
흐름 통제 | 접근이 가능한 객체들 간의 정보의 흐름을 조정 정보의 흐름: A값이 B에 기록이 되었다면 이를 'A에서 B로 흐름이 발생했다'고 함 보안 등급이 높은 객체에서 낮은 객체로의 정보흐름을 제어 |
위의 3가지와 더불어 데이터베이스 보안통제를 위한 방법은 다음과 같습니다.
1) 접근 통제: 인증 및 권한 관리를 통해 불법적인 접근을 방지합니다. 데이터베이스에 접근하는 사용자를 인증하고, 그들이 데이터베이스에서 수행할 수 있는 작업을 권한을 부여함으로써 접근을 통제합니다.
2) 암호화: 데이터베이스 내에 저장된 민감한 정보를 암호화하여 해독하기 어렵게 만듭니다. 암호화된 데이터는 무단으로 접근하여도 민감한 정보를 파악하기 어려워 보호됩니다.
3) 모니터링: 데이터베이스 내의 모든 작업을 모니터링하여 불법적인 작업을 감지합니다. 모니터링은 관리자가 데이터베이스 사용자들의 작업을 추적하고 분석하여, 불법적인 작업이 감지되면 즉시 대처할 수 있습니다.
4) 백업 및 복원: 데이터베이스의 백업 및 복원 계획을 수립하여 데이터 유실을 방지하고 데이터 복구를 수행합니다. 이를 통해 데이터의 안전성을 보장합니다.
5) 물리적 보안: 데이터베이스 서버를 물리적으로 보호하고, 접근이 제한되도록 합니다. 이를 위해서는 출입 통제, CCTV 등의 물리적 대책을 수행합니다.
6) 교육 및 훈련: 데이터베이스 사용자에 대한 보안 교육과 훈련을 제공하여, 사용자들이 보안 정책을 준수할 수 있도록 합니다.
데이터베이스 보안통제는 위와 같은 대책을 종합적으로 수행하여 데이터베이스의 보안을 강화합니다. 이를 통해 데이터베이스 내에 저장된 민감한 정보를 보호하고, 데이터 유실과 변경 등의 문제를 최소화할 수 있습니다
Ⅴ. 데이터베이스의 신뢰성과 일관성 있는 데이터 관리
구분 | 설명 |
부적절한 접근방지 | 모든 사용자의 접근요청을 DBMS가 검사하고 승인된 사용자만 접근토록 해야 함 |
추론방지 | 일반적 데이터로부터 비밀정보를 획득하는 추론이 불가능하도록 해야 함 |
운영적 무결성 보장 | 트랜잭션의 병행처리 동안에 데이터에 대한 논리적인 일관성을 보장해야 함 1) 로킹(Locking) 기법 등과 같은 병행 수행 제어 기법 등이 사용되어야 함 2) 로킹기법 : 고유 가능한 데이터에 대한 접근을 상호배타적으로 통제하는 병행수행제어기법으로 데이터의 논리적 일관성 보장 |
의미적 무결성 보장 | 데이터베이스는 데이터에 대한 허용값을 통제함으로써 변경 데이터의 논리적 일관성을 보장해야 함 |
감사기능 | 데이터베이스에 대한 모든 접근에 대한 감사기록을 생성해야 함 |
사용자 인증 | DBMS는 운영체제의 사용자 인증과 별개로 엄격한 인증이 요구 |
'데이터베이스' 카테고리의 다른 글
Oracle Rman 에 대해 알아보도록 하겠습니다. (0) | 2023.10.03 |
---|---|
Mysql 설정 할 때 사용되는 my.cnf 에 대해 알아보겠습니다. (0) | 2023.09.29 |
DDL, DML, DCL 에 대해 알아보겠습니다. (0) | 2022.12.04 |
데이터베이스의 정규화(normalization)에 대해 알아보겠습니다. (0) | 2022.12.03 |
데이터베이스 기본 보안가이드#1 (0) | 2022.11.29 |