데이터베이스 보안
"오늘의AI위키"의 AI를 통해 더욱 풍부하고 폭넓은 지식 경험을 누리세요.
1. 개요
데이터베이스 보안은 데이터베이스 시스템을 무단 접근, 사용, 공개, 파괴, 수정 또는 손상으로부터 보호하는 것을 목표로 한다. 데이터베이스 보안은 시스템 권한과 객체 권한을 포함한 권한 관리, 취약점 평가, 추상화, 데이터베이스 활동 모니터링(DAM), 기본 감사, 그리고 적절한 프로세스와 절차를 통해 구현된다. 최소 권한의 원칙을 준수하고, IT 재해 복구 프로그램을 갖추는 것 또한 중요하다. 데이터베이스 포렌식은 보안 침해 발생 시 범위 파악 및 시스템 개선을 위해 활용된다.
데이터베이스 보안에서 중요한 두 가지 유형의 권한은 시스템 권한과 객체 권한이다.[3]
데이터베이스 보안을 평가하는 한 가지 기술은 데이터베이스에 대한 취약점 평가 또는 침투 테스트를 수행하는 것이다. 테스터는 보안 제어를 무력화하거나 우회하여 데이터베이스에 침입하고, 시스템을 손상시키는 데 사용될 수 있는 보안 취약점을 찾으려고 시도한다. 예를 들어 데이터베이스 관리자 또는 정보 보안 관리자는 자동화된 취약점 검사를 사용하여 위에서 언급한 계층 내 제어의 잘못된 구성(종종 '드리프트'라고 함)과 데이터베이스 소프트웨어 내의 알려진 취약점을 검색할 수 있다. 이러한 검사 결과는 데이터베이스를 강화하고(보안 개선) 식별된 특정 취약점을 차단하는 데 사용되지만, 다른 취약점은 종종 인식되지 못하고 해결되지 않은 채로 남아 있다.[1]
애플리케이션 수준의 인증 및 인가 메커니즘은 데이터베이스 계층으로부터의 추상화를 제공하는 효과적인 수단이 될 수 있다. 추상화의 주요 이점은 여러 데이터베이스와 플랫폼에서 싱글 사인온 기능을 제공한다는 것이다. 싱글 사인온 시스템은 데이터베이스 사용자의 자격 증명을 저장하고 사용자를 대신하여 데이터베이스에 인증한다. 추상화는 복잡한 아이디어를 더 쉽게 이해하도록 만드는 개념이다.
데이터베이스 활동 모니터링(DAM)은 네트워크를 통한 프로토콜 트래픽(SQL) 분석, 소프트웨어 에이전트를 사용하여 각 서버의 로컬 데이터베이스 활동 관찰, 또는 이 두 가지 방식을 모두 활용하는 실시간 감시 체계이다. 에이전트나 기본 로깅을 사용하면 데이터베이스 관리자를 포함하여 데이터베이스 서버에서 실행된 활동을 캡처할 수 있다. 에이전트를 사용하면 데이터베이스 관리자가 비활성화하거나 수정할 수 없는 방식으로 정보를 캡처할 수 있지만, 데이터베이스 관리자는 기본 감사 로그를 비활성화하거나 수정할 수 있다.
외부 도구 외에도 많은 데이터베이스 플랫폼에서 모니터링 또는 감사에 활용할 수 있도록 기본 데이터베이스 감사 기능을 제공한다. 기본 감사 추적은 정기적으로 추출되어 데이터베이스 관리자가 접근할 수 없는 지정된 보안 시스템으로 전송된다. 이는 인증된 관리자가 기본 감사 추적을 수정하지 않았다는 증거를 제공할 수 있는 특정 수준의 직무 분리를 보장하며, 프로덕션 환경에 대한 읽기 권한을 가진 보안 지향적인 선임 DBA 그룹에서 수행해야 한다. 기본 기능을 켜면 서버 성능에 영향을 미친다. 일반적으로 데이터베이스의 기본 감사 추적은 직무 분리를 시행하기에 충분한 제어를 제공하지 않으므로 네트워크 및/또는 커널 모듈 수준의 호스트 기반 모니터링 기능이 포렌식 및 증거 보존에 더 높은 수준의 신뢰도를 제공한다.
양호한 데이터베이스 보안 프로그램은 사용자 계정 및 프로세스에서 사용하는 계정에 부여된 권한을 정기적으로 검토해야 한다. 개별 계정의 경우 2단계 인증 시스템은 보안을 강화하지만 복잡성과 비용이 추가된다. 자동화된 프로세스에서 사용되는 계정은 암호 저장과 관련된 적절한 제어, 예를 들어 충분한 암호화와 접근 제어를 통해 손상 위험을 줄여야 한다.
2. 권한 (Privileges)
2. 1. 시스템 권한 (System privileges)
시스템 권한은 로컬 사용자가 데이터베이스에서 관리 작업을 수행할 수 있도록 허용한다.
2. 2. 객체 권한 (Object privileges)
객체 권한은 다른 사용자가 승인한 대로 데이터베이스 객체에 대한 특정 작업을 사용할 수 있도록 한다. 사용, 선택, 삽입, 업데이트 및 참조가 그 예이다.[3]
2. 3. 최소 권한의 원칙 (Principle of least privilege)
내부 통제를 받는 데이터베이스(예: 공개 보고서, 연례 보고서 등에 사용되는 데이터)는 직무 분리에 따라 개발과 운영 간의 작업 분리가 이루어져야 한다. 각 작업은 실제 코드를 작성하지 않은 제3자에 의해 검증(코드 검토/새로운 시각)되어야 한다. 데이터베이스 개발자는 수행 중인 작업에 대한 문서나 코드에 대한 독립적인 검토 없이 운영 환경에서 어떠한 것도 실행할 수 없어야 한다. 일반적으로 개발자의 역할은 DBA에게 코드를 전달하는 것이지만, DBA가 참여하지 않는 경우에는 최소한 동료가 코드 검토를 수행하는 것이 중요하다. 이는 개발자의 역할이 명확하게 분리되도록 보장한다.[4]
내부 통제의 또 다른 중요한 점은, 특히 운영 환경에서 최소 권한의 원칙을 준수하는 것이다. 개발자가 작업을 수행할 수 있도록 더 많은 접근 권한을 부여하는 것보다, 권한 상승이 필요한 예외 상황(예: 일시적으로 ''EXECUTE AS'' 또는 sudo 사용)에 대해 가장 안전한 방법은 가장 권한이 적은 사용자를 흉내 내는 것이다. 그러나 DBA는 조직의 ''사실상'' 데이터 관리자이므로 규정 및 법률을 준수해야 하므로 모든 책임을 다해야 한다.[4]
3. 취약점 평가 (Vulnerability assessments)
보안이 중요한 데이터베이스 환경에서는 표준 준수를 위한 지속적인 모니터링이 보안을 향상시킨다. 보안 준수는 다른 절차 중에서도 패치 관리와 데이터베이스 내 객체에 부여된 권한(특히 공개) 검토 및 관리를 필요로 한다. 데이터베이스 객체에는 테이블 또는 테이블 링크에 나열된 다른 객체가 포함될 수 있다. 이 과정에서 객체에 대한 SQL 언어 명령에 부여된 권한이 고려된다. 컴플라이언스 모니터링은 취약점 평가와 유사하지만, 취약점 평가 결과는 일반적으로 지속적인 모니터링 프로그램을 이끄는 보안 표준을 도출한다는 점이 다르다. 본질적으로 취약점 평가는 컴플라이언스 프로그램이 지속적인 위험 평가 과정인 경우 위험을 결정하기 위한 예비 절차이다.[1]
컴플라이언스 프로그램은 데이터베이스 수준 변경 사항이 애플리케이션 소프트웨어나 애플리케이션 서버에 영향을 미칠 수 있으므로 애플리케이션 소프트웨어 수준의 모든 종속성을 고려해야 한다.[1]
4. 추상화 (Abstraction)
5. 데이터베이스 활동 모니터링 (DAM)
분석을 통해 알려진 악용 사례나 정책 위반을 식별하고, 시간 경과에 따른 기준선을 캡처하여 침입을 나타낼 수 있는 이상 활동을 감지하는 데 사용되는 정상 패턴을 구축할 수 있다. 이러한 시스템은 침입 탐지 메커니즘 외에도 포괄적인 데이터베이스 감사 추적을 제공하며, 일부 시스템은 의심스러운 행동을 보이는 사용자 세션을 종료하거나 사용자를 격리하여 보호 기능을 제공한다. 일부 시스템은 감사인의 일반적인 요구 사항인 역할 분리(SOD)를 지원한다. 역할 분리는 데이터베이스 활동 모니터링의 일부로, 일반적으로 모니터링되는 데이터베이스 관리자가 데이터베이스 활동 모니터링 기능을 비활성화하거나 변경할 수 없도록 요구한다. 이를 위해 데이터베이스 활동 모니터링 감사 추적은 데이터베이스 관리 그룹에서 관리하지 않는 별도의 시스템에 안전하게 저장되어야 한다.
6. 기본 감사 (Native audit)
7. 프로세스 및 절차 (Process and procedures)
사고 발생 후에는 데이터베이스 포렌식을 사용하여 침해 범위를 결정하고 시스템 및 프로세스에 대한 적절한 변경 사항을 식별할 수 있다.
7. 1. IT 재해 복구 (IT disaster recovery)
견실한 데이터베이스 보안 프로그램과 함께 적절한 IT 재해 복구 프로그램은 보안 사고 또는 기본 데이터베이스 환경의 중단을 초래하는 모든 사고 동안 서비스가 중단되지 않도록 보장할 수 있다. 한 예로 서로 다른 지리적 지역에 위치한 사이트에 대한 기본 데이터베이스의 복제가 있다.[5]
8. 데이터베이스 포렌식 (Database forensics)
사고 발생 후, 데이터베이스 포렌식을 사용하여 침해 범위를 결정하고 시스템 및 프로세스에 대한 적절한 변경 사항을 식별할 수 있다.[5]
참조
[1]
웹사이트
What is database security?
https://www.ibm.com/[...]
IBM
2024-01-21
[2]
뉴스
Nine sacked for breaching core ID card database
https://www.theguard[...]
The Guardian
2009-08-10
[3]
서적
Sams teach yourself SQL in 24 hours
Sams
[4]
웹사이트
Database Security Best Practices
https://technet.micr[...]
2016-09-02
[5]
서적
Database Management Systems
https://www.scribd.c[...]
Technical Publications
2007
본 사이트는 AI가 위키백과와 뉴스 기사,정부 간행물,학술 논문등을 바탕으로 정보를 가공하여 제공하는 백과사전형 서비스입니다.
모든 문서는 AI에 의해 자동 생성되며, CC BY-SA 4.0 라이선스에 따라 이용할 수 있습니다.
하지만, 위키백과나 뉴스 기사 자체에 오류, 부정확한 정보, 또는 가짜 뉴스가 포함될 수 있으며, AI는 이러한 내용을 완벽하게 걸러내지 못할 수 있습니다.
따라서 제공되는 정보에 일부 오류나 편향이 있을 수 있으므로, 중요한 정보는 반드시 다른 출처를 통해 교차 검증하시기 바랍니다.
문의하기 : help@durumis.com