DevSecOps 입문

가이드 실습 14개와 챌린지 14개로 서비스, 코드, 의존성, 컨테이너, 전달 과정의 보안을 실습합니다.

DevSecOps사이버 보안

💡 이 튜토리얼은 영어로 번역되었습니다. 원본을 보려면 영어로 전환

강의 계획

애플리케이션 경계 이해하기
코드, 자격 증명, 의존성 보호하기
컨테이너 안전하게 빌드하고 실행하기
변경 사항 지속적으로 검사하고 전달하기

소개

DevSecOps 입문은 기본 터미널 사용 능력이 있는 학습자가 일상적인 소프트웨어 전달 과정에 보안을 포함하도록 돕습니다. 작은 헬프데스크 애플리케이션 DeskLite의 유용한 기능을 유지하면서 보안을 개선합니다.

교육 과정에는 가이드 실습 14개와 짝을 이루는 챌린지 14개가 있습니다. 각 가이드 실습은 현재 동작 관찰, 위험 이해, 범위를 좁힌 변경, 결과 테스트라는 작은 단계로 개념을 소개합니다. 챌린지는 이미 배운 능력으로 해결할 명확한 목표와 독립적인 환경을 제공합니다. 서비스 설정에서 시작하여 코드, 컨테이너, 보안 검사, 승인된 릴리스로 차근차근 확장합니다.

학습 내용

  • HTTP 응답을 읽고 관리 수신 대기 범위를 제한하며 서비스 파일에 사용자별로 필요한 접근만 허용합니다.
  • 비공개 설정을 Git 커밋에서 제외하고 노출된 토큰을 폐기하며 클라이언트를 보호된 자격 증명 파일로 전환합니다.
  • 실제 설치된 Python 의존성을 업데이트하고 고정 버전 기록을 동기화하며 기존 애플리케이션 동작을 확인합니다.
  • SQLite 쿼리 구조와 입력값을 분리하고 범위가 한정된 로컬 보안 검사 결과를 해석합니다.
  • 허용 및 거부 요청을 테스트하고 민감한 데이터가 로그에 기록될 때 회귀 테스트를 추가합니다.
  • root가 아닌 사용자로 동작하는 컨테이너를 빌드하고 실행하며 빌드 입력을 제한하고 이미지 계층의 비공개 데이터를 검사합니다.
  • 보안 탐지 결과나 도구 오류가 있으면 전달을 중단하고 워크플로 권한을 제한하며 신뢰할 수 없는 텍스트를 안전하게 처리합니다.
  • 커밋, 검사, 이미지, 매니페스트, 패키지 체크섬을 로컬 스테이징 환경에서 실행 중인 정확한 릴리스와 연결합니다.

추천 대상

애플리케이션의 실제 동작을 통해 보안을 이해하려는 DevSecOps 입문자, 개발자, 운영 학습자에게 적합합니다.

사전 지식: 터미널을 열고 cd, ls, cat을 사용하며 간단히 텍스트를 편집할 수 있어야 합니다. 보안, HTTP, Git, Docker, Python, SQL에 대한 사전 지식은 필요하지 않습니다. 새 명령과 작은 코드 패턴은 사용하기 전에 설명합니다.

학습 환경: 모든 실습은 브라우저의 준비된 Linux 환경에서 독립적으로 시작합니다. 도구, 교육용 데이터, 패키지, 필요한 이미지를 제공합니다. 개인 GitHub 또는 클라우드 계정이나 로컬 설치는 필요하지 않습니다.

자주 묻는 질문

애플리케이션을 처음부터 만들어야 하나요?

아니요. 애플리케이션과 도우미는 준비되어 있습니다. 각 패턴을 배우면서 짧은 설정 파일, 작은 Python 조회 함수, 테스트, 전달 스크립트를 편집합니다.

챌린지는 어떻게 진행하나요?

각 챌린지는 해당 가이드 실습 다음에 새 환경, 명확한 요구 사항, 선택적 힌트, 완전한 해설을 제공합니다. 배우지 않은 도구를 새로 도입하지 않고 연습한 능력을 조합하거나 다른 상황에 적용합니다.

어떤 상태를 수정 완료로 보나요?

실제 상태가 보안 경계를 충족하고 필요한 업무 동작을 유지해야 합니다. 성공 경로와 거부 경로를 모두 테스트합니다. 조사 기록이나 복사한 검사 보고서는 필요하지 않습니다. 테스트, 잠금 기록, 릴리스 패키지가 실제 기술 작업의 결과물일 때는 그 유효성을 평가합니다.

교육용 검사를 통과하면 운영 환경도 안전한가요?

아니요. 재현 가능한 연습을 위해 고정되고 범위가 제한된 규칙과 보안 권고 데이터를 사용합니다. 각 검사가 무엇을 확인하고 어디까지 적용되는지 배웁니다. 워크플로 검사와 스테이징 전달은 로컬에서 실행하며 실제 GitHub 저장소를 설정하거나 운영 환경에 배포하지 않습니다.

강사

labby
Labby
Labby is the LabEx teacher.