'안전한 웹서비스'에 해당되는 글 1건

  1. 2008.11.04 내 웹사이트가 있는 서버 관리자는 보안을 모른다? (4)
보안글2008.11.04 20:39

내 웹사이트가 있는 서버 관리자는 보안을 모른다?

일단 보안의 정의부터 간단히 알아보면 다음과 같습니다.

위키백과
보안
위키백과 ― 우리 모두의 백과사전.

보안(保安)은 위험이나 손실로부터 보호 받는 상태를 가리킨다. 일반적으로 보안은 안전과 비슷한 개념을 가진다. 이 두 용어는 밖의 위험으로부터 보호된다는 것을 강조하는 느낌을 준다. 보호 상태에 있는 개인이나 활동은 보안 파괴에 책임을 진다.
보안이 안전과 동의어로 쓰이기도 하지만, 보안이라는 기술적 용어는 무언가가 안전하지 않으나 안전해야 함을 뜻한다. 전자 통신에서, 보안이라는 용어는 다음과 같이 정의한다:
- 불의의 행위나 영향으로부터 침입 상태를 보증하는 보호 기준의 확립과 유지 보수의 결과를 낳는 상태
- 권한이 없는 사람들이 국제 보안을 지키는 공식 정보에 접근하지 못하도록 하는 상태

보안은 권한이 없는 사람들로부터 정보를 접근하지 못하게 하고 상태를 보호하는것 으로 간단히 말하면 내 소중한 자료에 허락하지 않은 사람이 손대지 못하는 것입니다. 이렇듯 보안이란것은 권한이 있고 없고를 분명히 정해야 하며, 그에따라서 허용할지, 말아야 할지 조치를 취해야 합니다.

웹서비스에서의 보안은 어떨까요..

일단 웹서비스라는것에 대해서 관련된 사람들을 그룹지어보면 서버를 운영하는 서버관리자, 웹사이트를 운영하는 사이트운영자, 웹사이트를 개발하는 개발자 등이 있습니다. ( 그룹지어지지 못한 분들은 이글의 논외부분이고 보안보다는 아리따움이나 독특한 사이트를 만드시는 분들이기때문에 제외하였습니다. ) 그리고 사이트를 몇년 운영하신 분들은 개발자가 없는 형태로 서버관리자와 사이트운영자만 있는 곳도 있습니다. 이들은 각자에 맞는 웹서비스에서의 역활 충실할때 웹서비스에서도 서로가 만족할만한 결과가 나타나게 됩니다. 물론 웹서비스 보안도 마찬가지 입니다. 서버관리자의 정기적인 서버보안설정과 신속한 패치, 웹사이트 운영자의 내부정보관리, 개발자의 웹서비스 유지보수 및 입력값등의 데이터검증 등이 이루어질때 만족할만한 웹서비스 보안이 이루어졌다라고 말할수 있을것입니다.

하지만 요즘 유행하는 'SQL 인젝션' 을 당해서 데이터가 변조되거나 정상적인 사이트 운영이 어려울때, 사이트 운영자는 서버관리자에게 변경한것이 없는데 문제가 생겼다며 클레임을 합니다. 하지만 서버관리자는 서버의 상태나 네트워크접근에 관련된 부분까지 확인해도 별문제가 없다는 결과를 사이트 운영자에게 설명합니다. 사이트 운영자는 머리로는 이해를 해도(못하는 분들도 상당히 많다는것에 놀란적은 있습니다.) 답답함에 비용지불에 대한 대가를, 서버관리자는 서버상의 문제점이 아니고 특정사이트만의 문제라는것을 이야기하게 됩니다. 그냥 보기에도 완전 다른 이야기입니다.

그런데 이와중에 빠진 분들이 있습니다. 사이트를 만든 개발자들입니다.
물론 사이트 운영에 필요한 유지보수라고 하면서 아무것도 안하고 돈만 잡아먹는 비용이 아까워서 해고를 한경우도 있을수 있고, 나름대로의 사정에 의해서 업무인계도 못한 경우도 있을수 있습니다. 그리고 정말 소수라고 생각하고 싶은 보안은 생각하기엔 너무 바쁜 개발자일수도 있습니다.

'SQL 인젝션' 은 웹서비스의 취약점을 이용한 공격입니다.웹사이트를 접근하는 어떠한 의도를 가진 누군가가 인위적으로 수정을 가한 값을 정상적인 값으로 사용하기때문에 발생하는 것입니다. 웹서비스를 하는 이상 웹사이트로의 접근을 제한하는것은 소비자를 제한하는 결과와 같아질수 있고, 이는 매출 창출을 위한 행동이라고 볼수 없습니다. 그렇다면 웹서비스를 이용해서 매출을 창출하는 소비자들과 웹사이트 운영자/개발자가 의도하지 않은 접근을 시도하는 사용자를 어떻게 구분하시겠습니까?

" 의도하지 않는 접근을 제한하면 될것입니다. "
이부분은 웹사이트 개발자들이라면, 아니시더라도 조금만 고민해보면 생각해낼수 있는 문제입니다. 바로 입력되는 값의 검증만 되어도 이러한 사용자는 걱정하지 않아도 될것입니다.

그렇다면 서버관리자는 아무런 조치를 하지 않는 것일까요?
제가 아는한 많은 분들도 이러한 문제로 서버상의 보안에 대해서 고민을 하고, 여러가지 방법으로 이를 차단하기 위해 노력을 합니다. 하지만 개발자의 취향과 형식을 모두 갖춘 많은 웹사이트들을 서버관리자가 의도하지 않은 사용자의 접근을 제한하는것은 한계가 있기 마련입니다. 즉, 보다 근본적인 원인을 찾아서 제거해야 안전한 웹서비스를 운영할수가 있게 되는것입니다.

Mass SQL Injection 이라는것이 있습니다. 올해 이전만 하더라도 바로 확인이 가능한 방법을 이용했습니다. 요근래는 정확히는 10월 19일정도 부터 cookie 를 이용해서 웹사이트에 특정 스크립트를 추가하는 추세로 변경되었습니다. 사용자로부터 입력받는 값을 항상 A=A 라는 식으로 생각하고 제작된 사이트의 대다수가 이러한 취약점을 이용해서 사이트에 스크립트가 추가되었고, 그것을 모르고 방문한 소비자들의 PC에 악성코드를 설치하는 것은 결코 서버관리자도, 사이트운영자도, 사이트개발자도 원하는 일은 아닐것입니다.


Posted by Zasfe

댓글을 달아 주세요

  1. 제가 호스팅 받고 있는 Cafe24도 비슷합니다. 때문에 문제를 여러번 고처준적이 있습니다.

    2008.11.06 18:32 [ ADDR : EDIT/ DEL : REPLY ]
    • zasfe

      역시라는 말이 먼저 생각나네요. ^^
      감사합니다

      2008.11.07 09:07 [ ADDR : EDIT/ DEL ]
  2. 매우 위험한 발언이지만 한마디 거들자면..

    웹해킹컬리지의 한 강사는 말합니다.

    " 개발자를 혹사시키지 마세요. 그들을 혹사 시키고 야근을 시키면 일찍 퇴근하기 위해서 일을 대충하게 됩니다. 그들이 잘 몰라서, 혹은 귀찮아서 대충 만드는것이 아닙니다. 다 아는것도 그져 시간에 쫓기다 보면 대충하게 되고 넘어가게 되는겁니다. 시간을 가지고 차근차근 프로세스를 밟아야 합니다. "

    조금만 신경쓰면 막을수 있는것들인데..누군가의 책임으로 떠넘기고 억지 부리는 사람들이 참 많죠.

    2008.12.05 23:34 [ ADDR : EDIT/ DEL : REPLY ]
    • zasfe

      그러한 개발자가 있기때문에 시스템엔지니어가 밤을 새는것입니다.
      개발자만 탓하는것도 문제가 있지만 기본적으로 해야할것을 혹사시킨다는 표현으로 하는것은 장소나 발언자의 위치에비해 아주 적절하지 못하네요.

      2008.12.08 01:29 [ ADDR : EDIT/ DEL ]