데이터실무

DA, SQL, DB보안 등 실무자를 위한 위한 DB기술 바이블!

계정 및 권한 관리

데이터 운영관리
보안관리
계정 및 권한 관리
작성자
admin
작성일
2021-02-15 15:22
조회
5089

빅데이터의 보안관리 필요성

컴퓨터에서 저장·처리되는 정보는 신속한 업무 처리와 함께 적절한 의사결정을 위해 필요한 이해관계자들에게 시의 적절하게 정확한 정보를 제공할 수 있어야 한다. 그러나 이와 같은 정보를 권한이 없는 사용자가 부정한 방법으로 가로채거나 부적절하게 기록하면, 해당 정보를 필요로 하는 사람이나 개인에게 커다란 피해를 입힐 수 있다. 그러므로 권한이 없는 사용자의 부적절한 접근을 막고 동시에 정당한 권한을 갖고 있는 사용자는 정보 시스템이 서비스 요구를 거부하지 않도록 보호할 수 있도록 계정관리를 할 필요가 있다.
민감한 정보의 외부 유출 사례를 보면, 내부자에 의한 소행이 70~80% 이상을 차지하는 것으로 나타난다. 따라서 다양한 경로로 유출될 수 있는 민감한 정보에 대해서는 암호화를 고려해야 한다. 대용량 데이터를 보관하는 DB 관리 시스템일수록 민감한 정보 비율도 커질 수 있으므로 데이터의 무결성, 기밀성, 가용성 등의 보장이 필수적이다.


  • 사용자 계정의 생성 및 관리, 폐기에 대한 관리
  • 사용자에게 부여되는 권한에 대한 관리
빅데이터 시스템의 보안과 권한 관리

빅데이터의 보안 관리가 미흡해 데이터가 손실되면 데이터를 소유한 조직체의 운영에 심대한 지장을 초래할 수 있다. 따라서 권한이 없는 사용자로부터 데이터를 보호해야 한다. 데이터 간 릴레이션을 생성하면 생성자를 제외한 다른 사용자들은 그 릴레이션에 접근할 수 없다. 공유하고 있는 데이터에 생성된 릴레이션들은 일반적으로 여러 사용자가 접근할 수 있도록 권한을 허가해야 한다. 데이터를 관리하는 시스템은 릴레이션의 생성자가 다른 사용자들에게 적절한 수준의 권한을 허가하고, 허가한 권한을 취소하는 권한 관리 기법을 제공해야 한다.


3가지 유형의 보안

물리적 보호, 권한 보호, 운영 보호와 같은 3가지 유형의 보안이 빅데이터 시스템에서는 필요하다. 화재, 홍수, 지진 같은 자연 재해, 도둑, 컴퓨터 시스템의 우연한 손상, 데이터에 손상을 주는 기타 유형의 위험으로부터 데이터를 보호하는 것을 물리적 보호라고 한다. 권한을 가진 사용자만 특정한 접근 모드로 데이터를 접근할 수 있도록 보호하는 것을 권한 보호라 한다. 데이터의 무결성에 대한 사용자 실수의 영향을 최소화하거나 제거하는 조치하는 것을 운영 보호라고 한다.

[그림 Ⅴ-3-1] 빅데이터의 무결성과 보안

[그림 Ⅴ-3-1] 빅데이터의 무결성과 보안


데이터 보안과 관련해 제공해야 하는 2가지 기능

빅데이터 시스템의 로그인 과정을 통제하기 위해 사용자 계정과 암호를 관리하는 것을 접근 제어(access control)라고 하며, 빅데이터 시스템에 대한 접근을 통제할 수 있는 기능이다. 빅데이터 시스템은 특정 사용자 또는 사용자들의 그룹이 지정된 데이터 영역만 접근할 수 있고 그 외의 영역은 접근할 수 없도록 통제하는 기능을 제공하는데, 이를 보안 및 권한 관리라고 한다.


2가지 보안기법

임의 보안 기법(discretionary security mechanism)은 시스템 카탈로그에 누가 권한을 허가 받았고 권한을 취소 당했는가를 유지해 사용자들에게 특정 릴레이션, 투플 또는 애트리뷰트를 지정된 모드(예를 들어, 읽기, 삽입, 삭제, 또는 수정)로 접근할 수 있는 권한을 허가하고(grant) 취소하는 (revoke) 기법이다. 이는 대부분의 상용 RDBMS에서 사용되는 기법이다.
강제 보안 기법(mandatory security mechanism)은 데이터와 사용자들을 다양한 보안 등급(1급 비밀, 2급 비밀, 3급 비밀, 일반 정보 등)으로 분류하고, 해당 조직에 적합한 보안 정책을 적용해 다단계 보안을 시행하기 위해 사용되는 기법이다. 대부분의 상용 RDBMS에서는 이런 보안 기법을 제공하지 않는다.


보안을 위한 관리자가 수행하는 작업

사용자 또는 사용자들의 그룹에 대한 새로운 계정과 암호의 생성, 권한 부여와 취소, 특정 계정에 대한 특정 권한의 부여와 취소 등의 작업을 수행해 각 로그인 세션 동안 사용자가 데이터베이스에 가한 모든 연산들을 기록할 수 있게 한다.
권한이 없는 사용자가 데이터베이스를 갱신했다는 의심이 들면, 데이터베이스 감사를 실시해야 한다. 데이터베이스 감사는 특정 기간 데이터베이스에서 수행된 모든 연산들을 검사하기 위해서 시스템 로그를 조사하는 것을 의미한다.


빅데이터 시스템의 보호

인터넷의 발달과 개방화에 따라 빅데이터 시스템의 많은 부분에서 보안 취약성을 갖고 있다. 이러한 보안 취약성으로부터 주요 운영 시스템에 대한 보호를 위해 다음과 같은 보안관리 활동이 요구된다.


운영 및 관리

신규 임용된 임직원·퇴직자·휴직자에 대한 계정관리, 정기적으로 사용자 비밀번호 점검 및 변경관리, 특수계정 권한에 대한 관리, 백업관리지침에 따른 주기적인 백업관리와 같은 활동이 필요하다.


보안점검

전체 시스템에 대한 보안관리의 방향설정 및 주기적인 보안점검 실시를 통해 잠재적인 위협 요소를 발굴해 제거하는 활동이 필요하다.


계정 관리

사용 목적에 따라 사용자 계정을 분류하고 역할에 맞는 적절한 접근권한을 부여한다. 외부 사용자 계정관리 및 미사용 계정에 대해서는 즉각적인 말소관리가 필요하다. 사용자 계정절차의 등록, 변경, 폐기 업무절차가 명확하게 명시돼 있어야 한다.


전산자료 및 데이터베이스 관리

조직 내 정보자산에 대한 위험요소를 식별하고, 적절한 통제를 구현하기 위해 다음과 같은 보안활동이 요구된다.


자료관리

데이터베이스 로그인 계정관리 기준을 정의하고, 비밀번호는 암호화한 형태로 관리해야 한다. 데이터베이스의 수정은 인가자에 한해서만 이뤄져야 하며, 주기적인 백업을 실시해야 한다. 데이터베이스에 대한 접근통제가 이뤄져야 하며, DBMS는 시스템과는 별도의 사용자 인증기능을 수행할 수 있어야 한다.


자료보관

중요 자료로 분류된 자료에 대해서는 자료 보관과 함께 재해 및 비상시에 대비한 소산 계획을 수립해 운영돼야 한다. 중요자료로 분류된 자료의 이용 및 변경에 대한 내용이 기술돼 있어야 한다.


자료의 파기

중요 자료로 분류된 자료의 파기 절차를 정의하고 관련기록을 유지해야 한다.


빅데이터의 계정관리

계정 및 패스워드 관리에 대한 책임과 권한을 보안관리 담당자가 갖고 있으며, 데이터에 접근은 항상 인증을 통해서만 가능하도록 해야 한다. 이를 위해 인증 모듈은 항시 작동하도록 제공돼 있어야 하며, 항상 활성화돼 있어야 한다. 데이터에의 접근 제한을 위해서는 롤(role)을 통해 사용자 및 사용자 그룹을 등록해야 한다. 각 사용자명은 비권한자의 사용을 방지하기 위해 패스워드와 연계돼 있어야 하고, 패스워드는 암호화해 보관해야 한다. 빅데이터에서 운영하는 여러 데이터에 연계된 사용자는 동일명의 스키마를 가져야 한다.


계정의 생성과 폐기

빅데이터에서 데이터를 사용할 때는 관리자에게 사용자(업무) 정보 및 사용목적, 사용기간, 연락처 등이 포함된 사용자 계정 및 권한 신청을 해야 한다. 관리자는 사용자 계정 및 권한 신청에 대해 타당성 검토를 한 후 계정을 부여한다. 장기 파견자, 휴직자는 업무에서 신속히 제거해야 한다. 사직원을 제출한 퇴직자의 계정은 반드시 관리자가 계정 반납에 대한 확인을 해야 한다. 디폴트 계정은 설치 후 업무에 사용되지 않는다면 삭제해 관리한다.


계정운영

계정 정보(이름, 연락처, 직위, 업무, DB에서의 작업과 권한)에 관해 계정 사용자 관리대장에 대해 모든 사용자가 누락 없이 작성돼야 한다. 패스워드가 없는 계정은 사용을 하면 안된다. 장애복구나 점검을 위해 관리자에게 권한 위임을 한 경우 작업종료 이후 사용자가 계정의 패스워드를 변경하도록 한다. 관리자 권한을 가지고 있던 사용자가 이직, 퇴직 등의 사유로 다른 곳으로 옮기는 경우 인수자는 즉시 관리자 계정 및 패스워드를 변경한다.


패스워드

신규 사용자가 데이터 사용에 대한 권한을 부여 받을 때 반드시 패스워드를 받도록 한다. 사용자 패스워드는 주기적으로 변경해야 한다. 모든 사용자는 패스워드 인증을 통해서만 빅데이터에 접근할 수 있도록 한다. 계정 이름과 동일한 패스워드를 사용하거나 DB서버의 이름을 패스워드로 사용, 예정된 계정의 이름을 패스워드로 사용하는 경우 쉽게 계정에 대한 패스워드를 추측해 서버에 접속할 수 있으므로 추측하기 쉬운 패스워드는 절대 사용해서는 안된다. 디폴트 패스워드는 항상 추측하기 어려운 복잡한 패스워드로 변경해 사용한다. 정책을 통해 패스워드 관리에 대한 설정을 강화한다.


기타 인증 관리

잘못된 로그인 회수에 제한을 두어 제한된 수를 넘을 경우 자동적으로 연결을 해제해야 한다. 그리고 로그인 이후에 일정 시간 사용자 작업이 없으면 자동으로 로그아웃되도록 한다.


계정관리대장

보안관리 담당자는 시스템 보안을 위해서 관련 산출물을 관리해야 한다. 산출물에는 시스템 명, 사용자 계정, 사용자 명, 사용기간, 폐기일자, 사용자 비밀번호 변경주기, 사용 권한, 승인권자, 승인일자, 비고(특수계정과 연계된 특정 업무)등과 같은 항목이 기재돼 관리돼야 한다. 특히 퇴사자의 경우 공지가 나온 순간에 우선적으로 사용자 계정의 사용을 불가하도록 삭제해야 한다. 또한 대규모의 시스템에서 계정을 관리하고 있는 경우, 사용중인 계정과 비 사용중인 계정의 파악이 힘든 경우에는 우선적으로 모든 사용자 계정을 블록 처리한 후 모두 확인해 사용 가능하도록 하는 계정관리도 필요하다.