데이터베이스 보안

데이터베이스 보안()은 의도하지 않은 활동으로부터 데이터베이스를 보호하는 시스템, 프로세스, 프로시저이다.  의도한 것이 아닌 활동은 권한 오용, 악의 있는 공격 또는 공인된 개인이나 프로세스에 의하여 만들어진 부주의한 실수로 분류될 수 있다.

데이터베이스 보안은 또 넓게 컴퓨터 보안의 분야이다. 전통적인 데이터베이스는 DMZ 존과 상반된 내부 네트워크 내에 데이터베이스 환경이 존재하여, 경계가 되는 방화벽이나 라우터에 의해 외부 연결로부터 보호되어 왔다. 악의적인 보안 통신 트래픽을 감지하여 경고하는 추가적인 네트워크 보안 장치는 호스트 기반 침입탐지 시스템과 더불어 네트워크 침입 탐지 시스템 등이 있다.

데이터베이스 보안은 네트워크가 개발될수록 점점 위험하다. 데이터베이스는 아래의 많은 정보 보안의 계층과 타입을 제공한다.

 Access control
 Auditing
 Authentication
 Encryption
 Integrity controls

데이터베이스 보안은 데이터베이스 환경에 대한 적절한 보안 표준을 생성하고 작성하는 프로세스로부터 시작한다. 이런 표준은 플랫폼간 베스트 프랙티스 모음, 그리고 상위계층 정책 및 규칙에 대한 연결 표준 등 다양한 데이터베이스 플랫폼에 대해 특별한 통제를 포함할 수 있다.

데이터베이스 보안을 평가하는 중요한 절차는 데이터베이스에 대한 취약점 점검을 수행하는 것이다. 취약점 점검은 데이터베이스 침입에 사용될 수 있는 취약 부분을 찾는 것이다. 데이터베이스 관리자나 정보 보안 관리자는 데이터베이스 소프트웨어 내에 알려진 취약점과 더불어 위에 언급된 계층간 통제 구성의 오류를 찾기 위해 취약점 스캔을 실시한다. 스캔 결과는 침입자들의 위협을 줄이고 데이터베이스를 견고히 하기 위해 사용되어야 한다.

데이터베이스 보안 표준 준수를 위하여 지속적인 모니터링 프로그램은 미션크리티컬한 데이터베이스 환경을 위해 또 다른 중요한 역할을 한다. 데이터베이스 보안 준수를 위한 2가지 어려운 점은 패치 관리와 권한 관리이다. (특히 데이터베이스 내 오브젝트에게 주어진 공용 권한) 데이터베이스 오브젝트는 테이블이나 다른 오브젝트 리스트가 될 수 있다. 오브젝트에 대한 SQL 명령어 권한 관리도 이 프로세스에서 고려된다. compliance monitoring은 취약점 점검과 동일해야 된다. 본질적으로 취약점 점검은 compliance program 위험을 점검하는 사전 절차이다. compliance program은 어떤 응용 소프트웨어 레벨에서 변경이 응용 소프트웨어나 애플리케이션 서버에 영향을 미칠 수 있다는 종속성이 고려되어야 한다. 이 토픽과 직접적인 관계가 있는 것이 애플리케이션 보안(application security)이다. 애플리케이션 레벨 인증과 권한부여 메커니즘은 데이터베이스 계층으로부터 추상화를 제공하는 효과적인 수단으로 고려되어야 한다. 추상화의 주요 이익은 여러 데이터베이스와 데이터베이스 플랫폼을 연계하는 싱글-사인-온(SSO)이다. 싱글-사인-온 시스템은 데이터베이스 사용자의 신임장(로그인 아이디와 패스워드)을 저장하고, 데이터베이스에 대해 사용자를 대신하여 인증해야 한다.

좀 더 복잡한 다른 보안 계층은 네트워크상의 데이터베이스 통신 트래픽(SQL)에 대한 실시간 모니터링을 포함한다. 분석은 알려진 방법을 이용한 트래픽에 대해 수행되거나, 침입이 감지되는 있는 비정상적인 활동을 감지하기 위해 네트워크 베이스라인이 정상적인 패턴보다 초과되는 시간을 캡처한다. 이 시스템은 침입 탐지(그리고 잠재적으로 보호) 메커니즘뿐 아니라 포괄적인 데이터베이스 감사 추적을 제공할 수 있다. 네트워크 레벨 감사 시스템이 편리하지 않을 때, 원 데이터베이스 감사 프로그램이 만들어져야 한다. 원 감사 추적(the native audit trail)는 일반적 기준에 의해 추출되어야 하고, 데이터베이스 관리자가 접근하지 않은 지정된 보안 시스템에 전달되어야 한다. 이것은 원 감사 추적이 인증된 관리자에 의해 수정되지 않았다는 것을 증거로 제공하여 임부 분리를 어느 정도 보장한다. 일반적으로, 데이터베이스의 원 감사 추적은 임부 분리에 대한 충분한 통제를 제공하지 않는다. 따라서 네트워크 그리고/또는 호스트 기반 모니터링 커널 모듈 레벨은 포렌시스(forencies)와 증거 보존에 대해 더 높은 차원의 신뢰를 제공한다. 보안 사건 발생 이후, 데이터베이스 포렌시스 사용은 범위를 측정하기 위해 이용될 수 있다.

데이터베이스 보안 프로그램은 반드시 개인적으로 소유한 계정에 부여된 권한의 리뷰를 포함해야 한다. 자동화된 프로세스에 의해 사용되는 계정은 타협의 위협을 줄이기 위해 충분한 암호화와 접근 제어와 같은 암호 저장에 대한 적절한 통제를 해야 한다. 개인 계정에 대해서는, 데이터베이스 환경의 위험과 인증시스템에 대한 비용과 균형이 잡히도록 2가지 측면이 고려되어야 한다.

보다 견고한 데이터베이스 보안 프로그램과 관련하여, 적절한 재해 복구 프로그램이 반드시 존재해야 한다. 이는 서비스가 보안 침입(인시던트) 동안 중단되지 않고, 다른 어떤 인시던트에도 데이터베이스 환경을 중단하지 않는 것을 보장한다. 주요 데이터베이스가 지역적으로 다른 곳에 위치한 replication이 그 예이다.

외부 링크 
 https://web.archive.org/web/20070531225250/http://www.petefinnigan.com/tools.htm 무료 또는 상용 데이터베이스 보안 제품 리스트