DevOps 텍스트 교육
DevOps의 정보 보안을 어떻게 보장하나요?
대부분의 조직에서 정보 보안은 DevOps 도입에 반대하는 가장 흔한 이유 중 하나입니다. 그러나 DevOps 방법론은 세계에서 가장 안전한 시스템을 제공하는 데 가장 좋은 기법 중 하나입니다.
많은 조직에서 전체 소프트웨어 엔지니어링 팀 대비 정보 보안 전문가의 비율은 1/100입니다. 여러분의 조직도 그럴 수 있습니다. 다시 말해 100명인 소프트웨어 엔지니어링 팀에 보통 보안 전문가는 한 명뿐입니다. 소프트웨어 보안 문제 해결에 긴 리드 타임이 필요하고 소프트웨어 제공이 늦어지며, 더 나쁘게는 고객에게 제공하는 정보 보안 수준도 떨어집니다.
소프트웨어 제공 경험에서 한 가지를 배웠다면, 프로젝트 마지막에 나타나는 중대한 장애물은 나쁘지만 보안 문제 때문에 생긴 장애물은 더 나쁘다는 것입니다. 모든 DevOps 팀원은 정보 보안을 프로젝트 말에 확인란에 표시하는 일이 아니라 일상 엔지니어링 업무로 받아들여야 합니다.
소프트웨어 엔지니어링 초기부터 정보 보안 전문가 참여시키기
소프트웨어 배포 직전 정보 보안 문제가 중대한 장애물이나 병목이 되지 않도록 엔지니어링 초기부터 보안 전문가를 참여시키세요. 시연, 초기 계획, 검토에 초대하여 소프트웨어와 관련된 비즈니스를 이해하게 합니다. 그러면 잠재적인 정보 보안 위험과 문제를 더 잘 판단하고, 엔지니어링 과정에서 다뤄야 할 정보 보안 및 규정 준수 목표를 DevOps 팀이 정하도록 돕습니다.
정보 보안은 일상 업무입니다
보안 기능과 인시던트를 추적할 때 팀이 거의 보지 않는 규정 준수 관리 도구에 떠넘기지 말고 표준 작업 계획 및 인시던트 관리 도구를 쓰세요. 소프트웨어 아키텍처, 설계 또는 가동 중인 시스템에 정보 보안 문제가 있으면 DevOps 팀에 알려 주세요. 근본 원인을 이해하고, 같은 문제가 다시 생기지 않도록 유사한 상황에 어떻게 사고하고 접근해야 하는지 알게 하세요.
정보 보안과 관련하여 DevOps 팀은 다음과 같이 접근합니다.
- 보안 실수가 반복되지 않도록 합니다.
- 보안 목표를 프로젝트 목표, 계획 및 추적 도구에 반영합니다.
- 보안 테스트를 배포 파이프라인의 자동화된 테스트에 포함합니다.
- 특정 제품 및 서비스 기능의 정보 보안을 모든 측면에서 종합적으로 분석한 뒤, 조직의 정보 보안 모범 사례를 반영한 재사용 가능한 셀프서비스 도구와 소프트웨어 라이브러리를 정의합니다.
- 정보 보안이 반드시 핵심 역량은 아닌 DevOps 개발자와 운영 엔지니어를 교육하고 신뢰합니다.
소프트웨어에 사용할 안전한 라이브러리, 절차, 청사진, 아키텍처 및 설계 구축하기
이러한 재사용 가능 자산을 구축해 다음과 같은 주요 영역의 정보 보안을 표준화하세요.
- 클라이언트와 소프트웨어 간의 통신 및 데이터 전송.
- 데이터 저장.
- 안전한 환경.
- 취약점을 예방하기 위한 운영체제, 데이터베이스, 타사 도구, 구성 요소 및 기타 인터페이스의 구성.
- 비밀번호 저장.
- 비밀번호 분실 처리.
- 민감한 고객 정보의 로깅 처리.
- 교차 사이트 스크립팅(XSS) 방지.
- SQL 인젝션.
- 비즈니스와 그에 적용되는 법규 환경에 특유한 기타 정보 보안 취약점.
DevOps 방법론에서 권장하는 정보 보안 기법
- 정적 분석: 백도어와 보안 취약점을 찾는 코드 분석.
- 동적 분석: 시스템이 실행되는 동안 백도어와 취약점 분석. 비프로덕션과 프로덕션에서 CPU, RAM, 네트워크 I/O, 디스크 I/O 작업을 지속적으로 모니터링하고 분석합니다.
- 종속성 분석: 통제할 수 없는 소스 코드를 포함하는 외부 도구 및 종속성에 대한 정적 및 동적 분석입니다. 타사 도구, 라이브러리, 서비스를 쓰면 해당 정보 보안 문제도 함께 물려받습니다. 타사 구성 요소에서 해결되지 않은 보안 인시던트와 공급업체의 문제 해결 속도 기록을 검토하세요.
- 소스 코드 접근 보안: DevOps 팀은 공개 키 인프라를 사용해야 하며, 모두가 공개 키 하나와 개인 키 하나를 보유해야 합니다. 그러면 코드 저장소의 모든 체크인, 체크아웃, 읽기에 권한이 부여되고 모니터링되며, 모든 변경은 수행자가 직접 서명합니다.
- 환경에 보안 모니터링(텔레메트리) 통합하기: 보안 침해를 파악하기 위해 시스템 사용 내역을 확인합니다. 이런 침해는 로그인 실패 시도, 비밀번호 복구 요청, 한 사용자가 여러 신용카드로 하는 구매 등 사용자가 일으킨 특정 주요 이벤트가 과도하게 많이 발생하는 것으로 나타납니다.
결론
이 장에서는 DevOps 방식의 정보 보안에 관한 권장 사항을 소개했습니다. 정보 보안 자체는 실무 기술이자 과학입니다. 이 장의 목적은 정보 보안 전문가를 양성하는 것이 아니라 DevOps 개발 및 제공 방법론이 정보 보안에 어떻게 접근하는지 설명하는 것입니다.
DevOps는 정보 보안을 조직 구성원 모두의 일로 삼아 조직의 보안과 규정 준수 목표를 엔지니어의 일상 업무에 깊이 통합합니다. 세계에서 가장 역동적인 기업은 이것이 고객에게 안전하게 서비스를 제공하는 방법임을 이미 입증했습니다.
