데이터베이스에서 성능과 보안 간의 절충원문: The Compromise Between Database Performance and Security (저자: Robert Agar)
- 2020-01-13
- Posted by: 코리
- Categories: SQL Secure, 데이터베이스 보안
데이터베이스에서 종종 성능이 가장 치명적인 요소로 고려됩니다. 사용자의 요구 사항 만족은 데이터베이스 팀에게 가장 큰 관심 사항이기도 합니다. DBA는 업무 중 상당한 시간을 데이터베이스 수행 속도와 의존신뢰성에 부정적인 영향을 끼치는 이슈를 찾아 들어가면서 보냅니다. 이 책임을 다하지 못하는 경우 불만 전화를 받거나, 관리자와 원하지 않는 회의를 하게 됩니다.
데이터베이스 의존도는 많은 요소들로 인해서 계속 커집니다. 회사는 고객, 거래처, 사업에 관한 데이터를 수집하는 새로운 길들이 자꾸 생겨납니다. 이렇게 수집된 데이터들 중에는 너무나 민감한 정보들도 있어서, 허가받지 않은 사람이 접근하게 되면, 회사와 데이터 유출 대상이 된 개인들에게 해가 됩니다. 엔터프라이즈 데이터베이스에 들어있는 정보를 보호하기 위한 우려와 관심은 이제 데이터베이스 성능 만큼이나 중요하게 여겨지고 있습니다.
공짜 점심은 없다
이 두가지 사이에서 균형을 유지하는 것은 데이터베이스 전문가들에게 매우 중요한 문제입니다. 공짜 점심은 없다라는 속담은 보안과 성능 면에서 모두 수준높은 데이터베이스를 만들 때에도 적용됩니다. 이 두 개념은 경우에 따라 상충되는 것처럼 보이는 데, 데이터베이스의 보안 수준을 높이려면 성능을 희생해야 하는 경우가 있기 때문입니다. 반대로 데이터베이스 성능을 향상시키는 조치가 데이터를 위험에 빠지게 하는 보안 헛점을 노출하기도 합니다. 데이터베이스의 성능에 영향을 끼지지 않으면서 데이터베이스 보안 문제를 완전하게 해결하는 것은 대체로 불가능합니다.
데이터베이스 환경에서 이 두 가지 중 어느 한쪽이라도 강화하려면 더 많은 재정 지원이 필요하기 마련입니다. ‘정보 보안을 잘 관리하면서도 사용자가 데이터에 효율적으로 접근하기에 충분한 용량과 시스템 자원을 제공하기’는 데이터베이스 설계를 계획하고 개발하는 단계에서 가장 먼저 부딪히는 과제입니다. 보안 요구 사항을 구현하는데 드는 전산 비용은 인프라를 제공하는 시점에 이해되고 반영되어야 합니다. 그렇게 하지 못하면, 충분히 반영하기 힘들어집니다.
데이버테이스를 계획하고 구현하는 동안에 보안과 성능 중 어느 쪽을 강조할 것인지 역시 선택하게 됩니다. 유형에 따라 어떤 데이터베이스 애플리이션은 데이터 보안은 조금 덜 고려하는 대신 성능 최적화를 추구하기도 합니다. 민감한 데이터가 전혀 없을 수도 있고, 속도와 정보 접근성이 좋으면 개발자나 관리자들의 다른 우려를 하지 않는 경우일 수도 있습니다.
규제를 고려하다보면 민감한 개인 정보나 사적인 정보를 다룰 때 성능보다는 보안에 치우치게 됩니다. 보안 규제를 준수하지 않는 위험은 규제를 준수하는 데 드는 비용보다 더 큽니다. 데이터 유출과 관련된 벌금과 부정적인 이미지는 기업에게 치명타가 될 수도 있습니다. 데이터베이스 설계 단계에서부터 규제 준수를 반영하고 성능과 보안 모두 일정 수준에 도달하는 데 필요한 컴퓨팅 자원을 제공하는 것이 더 좋은 전략입니다.
성능 책임과 보안 책임을 구분하기
보안와 성능은 서로 경쟁하는 요구를 하기 마련이므로, 팀(또는 담당자)를 각각 다르도록 나누는 것이 최선입니다. 두 팀 모두 데이터베이스 관리에 대한 기초가 튼튼해야 합니다. 하지만, 보안 팀에서 성능을 걱정할 필요는 없습니다. DBA가 성능과 보안 이슈 모두를 최적화하는 임무를 맡는다면 곤란한 상황에 처하게 됩니다. 이 둘 모두 꼭 필요하지만, DBA는 어느 한쪽에게는 불리하고 다른 한쪽에게는 유리한 결정을 내려야 할 상황이 생깁니다.
고성능과 견고한 보안이라는 두가지 목표를 별도의 팀에서 각자 책임을 나누어 가지는 경우, 데이터베이스는 결과적으로 더 안전하고 성능도 좋아질 수 있습니다. 각 팀간의 의견 충돌은 반드시 발생되고 반복됩니다. 그 결과, 보안과 성능 사이에 최적화된 균형이 달성될 수 있습니다. 또한 각 팀에서 서로 다른 도구들을 사용하고, 도구를 통해 수집된 정보를 팀 간에 서로 공유할 때에는 부가적인 장점들도 얻을 수 있게 됩니다.
데이터베이스 보안에 집중하는 도구(들)
데이터베이스 성능 팀은 데이터베이스 모니터링 도구를 가장 좋아합니다. 이 도구를 이용하여 기준선을 설정하고, 기준을 벗어난 요소들을 찝어내서 성능 튜닝을 하고 최적화합니다. 데이터베이스 보안팀에게는 보안 취약점을 식별하고 시스템의 결함을 다루는 도구가 소중합니다.
IDERA의 SQL Secure는 SQL서버 DBA들이 취약점을 식별하고 고치는 다목적 도구로써, HIPPA, GDPR, SOX 등 광범위한 규제 표준들을 시스템이 준수하도록 합니다. 강력한 보안 정책을 만들고 강제할 수 있으며, 커스터마이징할 수 있는 템플릿을 제공하여 규제 감사를 성공적으로 할 수 있도록 합니다. 보안 분석과 위험 측정을 깊이있게 수행할 때에는 SQL Secure의 강력한 리포팅 기능을 사용할 수 있습니다.
IDERA에서 만든 이 기술백서는 데이터베이스 보안과 성능 사이에서 절충을 어떻게 하면 되는지를 연구하였습니다. 여러분의 조직에서 어떻게 올바른 균형을 유지할 것인지를 검토할 때 도움이 될 것입니다. 이런 고민을 여러분의 환경에서 하고 싶지 않을 것입니다. 하지만, 보안 강화를 지나칠 정도로 강조한다고 해도 그것이 결코 나쁜 생각은 아니라는 점을 명심하십시오.