우아한형제들 네트워크 인증시스템 교체기

Nov.24.2022 안필호

Infra




네트워크 인증시스템 교체는 일년 동안(2021.05 – 2022.05) 진행한 프로젝트입니다.
담고 싶은 내용이 많지만 우아한형제들에서는 네트워크 인증시스템 변경을 통해 ‘무엇을 하고 싶었는지’ 그리고 ‘단계별로 어느 것을 고려하였는지’ 간략히 그 내용을 공유해보려 합니다.

배경과 목적

우아한형제들에서 기존에 사용한 네트워크 인증 방식은 맥 주소 인증방식입니다. 많은 회사에서 일반적으로 사용하는 방식입니다. 하지만 보안 취약점과 개인정보보호 중요성이 심화됨에 따라 대다수의 단말 제조사에서는 하드웨어 맥-주소(mac-address)를 임의로 변경하는(randomized mac-address) 기능이 기본적으로 활성화되기 시작했습니다. 이로 인해 단말을 관리해야 하는 관리자와 사내망을 사용하는 사용자 모두 힘들어졌습니다. OS에서 기본으로 활성화된 맥 주소 변경 기능을 모두 바꿔주어야 했기 때문입니다.
뿐만 아니라 사업 확장에 따른 지점, 지사의 수도 월 3, 4개로 급격히 증가했지만 기존 시스템 구성으로는 한계도 존재하였습니다. 미흡한 자동화 기능으로 일일이 관리자가 처리해야 하는 월평균 90건의 티켓(요청 업무)도 시스템 교체를 하게 된 배경입니다.
교체하는 시스템의 목표를 NoOps(no operations)로 정하였습니다. 그 이유는 정교하게 이루어진 정책으로 많은 부분이 자동으로 돌아가는 환경을 만들고자 하였습니다. 언뜻 보면 관리자에 초점이 맞춰진 듯한 목표일 수 있지만 사용자가 편리하면 문의가 없을 것이고, 문의가 없으면 관리자도 필요 없기에 NoOps가 궁극적인 목표라 생각했습니다.

프로세스 설계

1단계: 큰 틀 짜기

처음으로 한 일은 사용자 편의기능 제공여부와 기존 인프라와의 호환성과 확장성을 확인하는 것이었습니다. 그리고 보안 요구사항도 나열해 보았습니다. 여기서 도출된 기능 요구사항을 바탕으로 사용할 프로토콜과 기본적인 인증 프로세스의 기틀을 잡았습니다. 마지막으로 우리가 설정한 궁극적인 목적과 방향이 맞는지 요구사항과 비교해 보았습니다.


2단계: 솔루션 선정

1단계에서 작성한 요구사항을 바탕으로 솔루션 제안 소개를 받았습니다. 그중 C사(社)의 I솔루션과 A사(社)의 C솔루션이 대부분의 요구 조건을 만족하였습니다. 본격적으로 PoC(Proof of Concept) 대상을 확정하기 위해 상세평가를 진행하였고 최종적으로 A사(社)의 C솔루션을 대상으로 테스트하였습니다.


3단계: 인증 프로세스

이 단계에서는 사내 사용 단말의 종류와 단말에서 지원하는 프로토콜을 확인하였습니다. 누가, 어디서, 어떻게 사용하는지도 세부적으로 조사하였습니다. 이후 상세 프로세스 설계를 하였습니다. 상세 프로세스 설계시 최소 인증 조건과 개인정보 보안을 만족하는지 보안팀과 밀접하게 논의하고 최종 인증 프로세스를 확정하였습니다.


4단계: 네트워크 대역 재설계

전사에 공통된 인증 정책을 배포하기 위해 표준화된 대역 재설계가 꼭 필요했습니다.
네트워크 담당자는 최소의 IP 대역 운영이 관리요소를 줄일 수 있어 좋습니다. 하지만 보안 담당자 입장에서는 전통적으로 IP 대역 단위의 정책 제어를 사용하기에 서로의 입장이 상반됩니다. 다행히 프로젝트 처음부터 보안 요구사항으로 사용자(user) 단위의 역할 기반 접근 제어(role-based access control, RBAC) 기능 구현이 가능했기에 최소한의 IP 대역으로 재설계가 가능했습니다. 이로써 우아한형제들에서는 적은 IP 대역으로 사용자 직무에 맞는 보안 정책을 부여하고 있습니다.

RBAC 설명, https://m.blog.naver.com/ijoos/221685299627

신규 시스템 사용준비

테스트 그리고 테스트

설계를 마치고 이제 우리가 원하는 대로 작동하는지 테스트했습니다.
호환성 확인과 사용자 대응을 위해 단말종류, OS 버전, 웹브라우저 등 모든 단계에서 테스트가 필요했습니다. 만약 원하는 결과가 나오지 않은 경우 문제가 무엇인지, 다른 대안은 없을지, 그 대안이 처음 세운 궁극적인 교체 목표와 같은지 계속 확인하였습니다. 제일 생각나는 일화는 하나의 단말이라도 다른 OS버전과 브라우저를 테스트하다 보니 기록하면서 하지 않으면 금세 기억하지 못해 했던 것을 몇 번이고 다시 테스트 한 생각이 납니다. 정말 그 과정이 지루하고 힘들어 종종 쉬운 방법을 택하려 했지만 사내 곳곳에 붙어있는 문구 하나가 쉽게 포기하지 말라는 듯이 보였습니다.

사내 문구, https://brunch.co.kr/@lovebrander/35



배포 준비와 협업

사용자 배포를 위한 준비는 혼자 할 수 있는 영역이 아니었습니다.
사내 브랜드 디자인팀에서는 웹페이지와 안내물(사이니지) 디자인 도움을 받았습니다. 전사교육팀에서는 기계에 익숙지 않은 사용자의 눈높이로 매뉴얼 제작 도움을 받았습니다. 마지막으로 피플팀의 도움으로 수 천명의 구성원에게 효율적으로 공지가 전파될 수 있었습니다.



사용자에게 배포하기

베타 테스트

정식 배포 전 마지막 베타 테스트를 실 대상 분들에게 하였습니다. 사용 피드백과 놓친 부분을 확인 하였습니다. 사용자 인증 과정에서 HTTPS, HTTP 웹페이지 전환 간에 발생하는 웹 경고와 Apple 프로파일, Windows EXE 설치 중 발생하는 설치 경고가 불편하다는 피드백을 수용하여 공인 인증서를 발급받아 조치하였습니다. 이제 모든 준비는 끝났습니다.


비서비스 대상 마이그레이션

사내에서 사용하는 단말을 나누어보자면 PDA와 같은 서비스 유형의 단말과 구성원이 사용하는 비서비스 단말로 나눌 수 있습니다. 비교적 사업에 영향이 적은 구성원 단말부터 마이그레이션을 시작 하였습니다.
간혹 발생하는 문의는 충분히 예상된 범위 내에서 해결되었고 큰 문제없이 배포가 완료되었습니다.


서비스 대상 마이그레이션

구성원 대상으로 약 3개월 정도 안정화 기간을 가졌습니다. 그 후 서비스 단말을 마이그레이션 하였습니다. 이로써 6개월간의 마이그레이션이 끝났고 전사에 새로운 인증시스템이 도입되었습니다.

도입 결과

네트워크 인증시스템 교체 후 6개월이 지난 시점에서 교체 목표였던 ‘NoOps’ 지표는 달성했을까요?
결과는 성공적 이었습니다.
사용자 셀프서비스 기능 오픈으로 변경 전 월 평균 티켓(요청 업무) 90건은 현재 월 평균 1건 이하로 유지되고 있습니다. 물론 코로나19 펜데믹으로 시행한 전면 재택근무와 변경 전 대비 5배 이상의 인증단말 증가로 동일 환경에서 정확한 비교를 하기는 어렵습니다.





운영 중인 네트워크 인증 시스템을 사용자 불편 없이 변경하는 일은 정말 쉽지 않은 일 입니다.
이 교체기가 조금이나마 관련된 일을 하시는 분들에게 도움이 되었으면 합니다. 차후에 후속 편을 작성하게 된다면 도입 후 생긴 기술적 고민과 이용 사례도 적어 보도록 하겠습니다.
감사합니다. 끗.