[위시켓] 안전하면서 잘 디자인된 웹 사이트 만들기

2014.03.19

|

824

[위시켓] 안전하면서 잘 디자인된 웹 사이트 만들기

a0037851_4cf919aadcda2

웹 사이트를 개발 할 때 보안과 디자인이라는 두 마리 토끼를 모두 다 잡기는 매우 어렵습니다. 처음에 웹 사이트 개발 미팅을 하면 디자인과 보안을 모두 고려하지만 프로젝트가 시작되면 디자인에 초점이 맞춰지는 경우가 많습니다. 아무래도 보안보다 디자인이 더 눈에 띄고 즉각적으로 효과를 보이는 항목이기 때문이죠. 웹 개발의 보안 담당자라면 이것과 비슷한 일을 경험해 보셨을 겁니다. 처음에는 디자인 팀과 보안 팀 그리고 개발 팀이 같은 비중으로 일을 시작하지만 점차 보안 팀의 요구는 먹혀들지 않죠. 오늘 글에서는 왜 이런일이 일어나는지 그리고 어떻게 해결 할 수 있는지에 대한 내용을 담아 보려고 합니다.


디자인이 보안보다 훨씬 중요해 보일 수 있습니다. 

웹 개발 프로젝트에서 보안팀의 일은 그래픽 디자이닝 팀의 ‘창조’과정을 방해하는 듯이 보입니다. 프로그래밍 팀 역시 대부분의 시간을 자바스크립트를 작성하고 작성한 코딩이 완벽한 그래픽 효과를 나타내는지 시험하는 데에 시간을 보냅니다. 기술적인 사항을 점검해야 할 때도 주도권이 디자인 팀에 넘어가는 경우가 많습니다. “사용자들이 홈페이지의 배너가 너무 빨리 바뀐다고 생각하지 않을까? 그리고 등록하라는 버튼이 너무 뻔뻔해 보이지 않나? ” 이런 질문과 이에 대한 회의는 기술 테스트와 앞으로의 디자인 변경과 관련된 추후의 개발 방향에 대해 논의하는 시간을 앗아갑니다. 이런 태도에 대응하는 첫번째 방법은 받아들이는 것입니다. 점차 웹 사이트 오픈 날짜가 다가오면 보안의 중요성이 더 커질 것입니다. 그때가 바로 보안 팀이 나서야 할 때입니다.

업무기능에 대한 소유권을 확보하세요.

보안 팀에게 줄 수 있는 최선의 조언은 미리 준비하여 가장 적절한 때에 액션을 취할 수 있게 하라는 것입니다. 프로젝트가 막 시작되었을 때 모든 개발의 과정 중 보안상의 문제를 일으킬 가능성이 가장 높은 과정을 밝혀내야 합니다. 그리고 그 부분에 대해선 ‘소유권’을 확보해야 합니다. 프로그래밍 팀과 함께 일하면 중심 비즈니스 로직을 알아 낼 수 있습니다. 예를 들어 개발하고자 하는 사이트에서 매주 발행하는 온라인 매거진 구독 서비스를 포함한다고 합시다. 프로그래밍의 순서는 등록, 지불, 로그인, 다운로드 그리고 계정 관리 순으로 짜여 있습니다. 이러한 웹 개발 계획은 프로젝트 이면의 비즈니스 모델을 보여줍니다. 그리고 비즈니스 모델은 아무리 잘 계획되었다고 하더라도 웹 사이트가 서비스를 시작하기 전 까지는 알 수 없는 결함을 포함하고 있습니다. 보안팀에서는 개발 계획 뒤의 비즈니스 모델을 파악하여 초반에 사용자 테스트(user test)를 실시해야합니다. 비록 디자인이 완성되지 않아 사이트가 투박해 보일지라도 말이죠. 미리 결함이 생길 것 같은 부분을 예측하고 그것을 실제로 시험해보는 과정은 웹 사이트 시작 전 급하게 백엔드 코드(back-end code)를 바꿔야 하는 불상사를 막아줍니다.

 car_118_page-bg_25946

뷰(view)와 데이터(data)를 분리하세요.

보안팀과 디자인팀의 소모적인 마찰 없이 프로젝트를 빠르게 진행 할 수 있는 방법은 MVC(Model-View-Controller) 프레임 워크를 사용하는 것입니다. 이것은 개발 작업을 세 부분으로 분리해 줍니다. 여기서 모델(Model)은 데이터를 의미하는 것이고 뷰(View)는 모델을 웹페이지의 형태로 보여줍니다. 그리고 컨트롤러(Controller)는 모델과 뷰에 대한 사용자의 행동과 변화(UI, UX)를 다룹니다. 여기서 모델은 아무런 서식을 포함하고 있지 않습니다. 그렇기에 모델 코드는 여러번의 테스트 없이 한 번의 테스트만 거치면 됩니다. 디자인 팀은 웹 로직 구조와 상관없이 데이터가 어떻게 보여지는 지 즉, 뷰(View)에만 집중하면 됩니다. 이 프레임워크를 통해 디자인 팀 보안 팀 프로그래밍 팀은 서로의 일을 지연시키지 않으면서 함께 일할 수 있습니다.

보름의 대비기간을 두세요.

가장 기본적이고 중요한 조언은 사이트가 오픈하기 보름 전, 사이트를 점검할 시간을 두는 것입니다. 런칭 이전 완성된 사이트를 점검하며 버그를 찾아내고 시험 테스트를 여러번 해보는 것은 사이트의 완성도를 한껏 끌어올릴 것입니다. 물론 이것은 매우 이상적인 이야기라는 것을 알고있습니다. 많은 예산과 넉넉한 작업 시간을 확보한 프로젝트는 거의 없습니다. 프로젝트가 진행되면 당장 웹 사이트를 오픈 하는 데만 관심이 가서 보안이 뒷전으로 밀릴 우려도 있습니다. 보안 팀은 그럴 수록 보안의 중요성을 주장해야 합니다. 개발이 진척되는 상황을 주시하고 여러번의 테스트를 통해 촉박한 기한 일지라도 완성도 높은 사이트를 제작 할 수 있도록 해야합니다.


<이 글과 관련있는 블로그 내 인기 글>

구글 행아웃을 비즈니스 툴로 이용하기

생산성• 유대감• 만족도 업! 원격근무 환경 위한 팁

오픈소스 소프트웨어로 비용은 낮추고 생산성은 높이기!


 위시켓이란

위시켓은 기업의 프로젝트와 개발자 & 디자이너를 연결해주는
온라인 아웃소싱 서비스 입니다.
현재 베타서비스 중입니다.


http://wishket.com

앱 개발 비용 궁금하세요?
위시켓이 바로 알려드릴게요!

MVCwishketwishket.com개발자다자이닝디자이너보안팀사이트 보안웹 사이트 개발위시켓
다음 글

위시켓 블로그의 새로운 소식 받기