지난 몇 달 동안 Redis 교육 팀은 Redis 보안을 다루는 새로운 과정 개발에 매진해 왔습니다. 오늘 드디어 RU330: Redis Security 과정의 정식 출시를 발표하게 되어 기쁩니다. 프로덕션 환경에서 Redis를 운영하고 계신다면 반드시 수강하시기 바랍니다.
아직 확신이 서지 않으시다면, 계속 읽어보세요.
왜 Redis 보안인가?
훌륭한 데이터베이스라면 반드시 안전해야 한다는 것은 보편적인 진리입니다. 그렇다면 Redis는 어떻게 보호해야 할까요? 솔직히 말씀드리자면, 초기 Redis 개발은 대체로 보안보다 유용성과 안정성을 우선시했습니다.
하지만 최근 몇 년간, 특히 Redis 6가 출시되면서 상황이 크게 달라졌습니다. 이제는 액세스 제어 목록(ACL)을 활용해 최소 권한 원칙을 구현할 수 있고, TLS(전송 계층 보안) 암호화를 활성화하여 Redis 연결을 안전하게 보호할 수 있습니다.
이러한 흐름을 바탕으로 우리는 Redis 보안에 관한 확실한 가이드를 만들고자 했고, 그 결과물이 바로 RU330: Redis Security입니다.
그렇다면 이 과정은 누가 가르치고, 왜 수강해야 하며, 무엇을 배우게 될까요?
강사 소개
Redis Security 과정의 아이디어는 보안을 전담하는 Redis 프로덕트 매니저인 Jamie Scott에게서 시작되었습니다. Jamie는 매일 고객들과 보안에 관한 이야기를 나누며, 오픈소스 Redis 6, Redis Enterprise, Redis Enterprise Cloud의 보안 기능 개발에 깊이 관여해 왔습니다. 말할 것도 없이 이 작업을 주도하기에 가장 적임이었으며, 실제로 보안 과정 대부분의 리드 강사를 맡고 있습니다.
저는 Jamie의 공동 강사입니다. 오랜 경력의 소프트웨어 엔지니어이자 기술 저술가, 그리고 경험이 풍부한 Redis University 커리큘럼 개발자로서, 여러분의 시간을 들일 가치가 충분한 흥미롭고 유익한 과정을 함께 만들었습니다.
배울 수 있는 내용
본 과정은 보안 교육에 대한 총체적인 접근 방식을 취합니다.
Redis 고유의 주제를 다루기 전에, 누구나 알아두어야 할 일반적인 보안 원칙부터 시작합니다. 기밀성·무결성·가용성을 아우르는 CIA 삼각 요소(CIA triad), 심층 방어(defense in depth), 최소 권한 원칙 등 정보 보안의 기본기를 먼저 다룹니다. 이를 바탕으로 Redis의 기본 보안 통제 기능들을 살펴보게 되며, 과정 후반부에는 Redis 배포 환경에서 TLS를 구현하는 구체적인 방법을 알려드리기 전에 암호화와 공개 키 암호학에 대한 철저한 소개도 제공합니다.
Redis 보안 기능의 설계 의도를 설명하면서, 우리의 목표는 프로덕션 배포 시점에 최선의 결정을 내리도록 돕는 것입니다. 예를 들어, 애플리케이션이 실제로 필요로 하는 Redis 액세스 수준이 무엇인지 깊이 고민해보시길 바랍니다. 만약 RediSearch 검색 쿼리 처리만 담당하는 서비스를 운영한다면, 해당 서비스를 위한 전용 ACL 사용자를 생성하는 것이 좋습니다. 정의하는 ACL 사용자는 다음과 같을 수 있습니다:
user searchservice on >secret +FT.SEARCH ~*
이 ACL 지시문은 단 하나의 Redis 명령인 FT.SEARCH(RediSearch 인덱스를 조회하는 명령)만 실행할 수 있는 사용자를 생성합니다. 애플리케이션이 침해당하더라도 시스템에 피해를 입힐 가능성을 크게 줄여주기 때문에 훌륭한 관행입니다. 예를 들어, 이 경우 애플리케이션은 모든 Redis 데이터를 삭제해 사용자에게 심각한 불편을 초래할 수 있는 FLUSHDB 명령을 호출할 수 없습니다.
공포 사례 이야기
이 과정을 'Redis 공포 사례(horror story)'를 피하기 위한 일련의 기법 모음이라고 생각하시면 됩니다. 실제로 Redis는 널리 배포되어 있어 악의적인 해커나 스크립트 키디(script kiddie)의 표적이 될 수 있습니다. 일종의 동기 부여 차원에서, Jamie와 저는 과정에서 매주 서로 다른 Redis 공포 사례를 소개하는 아이디어를 냈습니다. 악명 높은 Redis 익스플로잇 사례들과, 당시 어떤 조치를 취했더라면 예방할 수 있었을지 학습하게 됩니다.
오픈소스 Redis 중심
본 과정은 오픈소스 Redis에 초점을 맞추고 있어 대부분의 Redis 사용자에게 폭넓게 적용됩니다. 조직에서 Redis 사용 범위를 확장할 때 필요할 수 있는 Redis Enterprise 또는 Redis Enterprise Cloud의 기능을 때때로 짚어드리겠지만, Redis는 오픈소스 Redis 사용자에게도 완전히 헌신하고 있습니다. 따라서 현재 제공 중인 다른 6개의 Redis University 과정과 마찬가지로 본 과정 역시 오픈소스 Redis를 중심으로 진행됩니다.
Redis 배포 환경을 안전하게 지키세요
누구든 Redis 보안을 배울 수 있으며, 올바른 보안 결정만으로도 대부분의 공격자를 효과적으로 차단할 수 있습니다. RU330: Redis Security는 이러한 내용뿐만 아니라 보호해야 하는 모든 시스템에 적용할 수 있는 다양한 보안 원칙까지 가르쳐 줍니다.
과정은 강사 주도 방식으로 3주간 진행되며, 기말 시험을 위해 1주가 추가로 제공됩니다. 진행 기간 동안 저는 과정 Discord 채널에서 여러분의 모든 질문에 답변드리거나 가볍게 인사를 나눌 준비가 되어 있습니다. 여러분의 참여를 기다립니다!