Devocean Kubernetes 세미나 후기: 당신의 쿠버네티스는 안전하십니까?
쿠버네티스 보안의 현재와 미래: 실전 사례와 모범 사례를 통해 본 효과적인 클라우드 보안 전략. 세미나간 메모했던 내용을 공유합니다.
May 30, 2024
Contents
1. Opening세미나 주제: 당신의 쿠버네티스는 안전하십니까? 2. 커뮤니티 소개2-1. OpenInfra 에 대한 소개 2-2. Kubernetes Korea Group3. Kubernetes 보안 ‘그카나마알아’k8s 보안의 핵심. REST API Security4. OIDC를 이용해 동적으로 Kubernetes 접근 제어하기 Native Kubernetes 접근 제어 방식 OIDC를 활용한 Kubernetes 접근 제어 방식 TKS의 Kubernetes 접근 제어 방식 기술구성5. 자동화된 정책으로 클라우드 보안 및 운영 Kubernetes 정책관리 기반기술 소개TKS Policy Serving DemoLession learned & Futur work6. 쿠버네티스 워크로드 보안? 어떻게 동작하는거니?7. QnA5/29일 을지로 입구 T타워에서 쿠버네티스 테크 세미나 두번째 시리즈에 참석하였습니다.
메인 주제는 쿠버네티스 보안이었고 크게 3개의 세션으로 구분되어 있었습니다.
첫번째 세션은 큰 그림에서 쿠버네티스 보안에 대해 얘기하고 세션이 잔행될수록 점점 Low Level에서 쿠버네티스 보안에 대해 진행되어 몰입이 잘 되었던것 같습니다.
또한 Prisma에서도 동일한 기술을 이용하여 정책으로 구현된 부분이 있어 흥미를 가지고 들을 수 있었습니다.
실제 클라우드 환경의 기업들이 어떤 고민을 하고있고 어떤 니즈를 가지고있는지 파악할 수 있었습니다.
1. Opening
세미나 주제: 당신의 쿠버네티스는 안전하십니까?
4 가지 문제 (3,4가지는 아직 미정..)
- 쿠버네티스 설치하기
지난 세미나에서 진행했었다. 후기는 아래 링크에서 확인 가능
2. 쿠버네티스 안전하게 사용하기
오늘 세미나에서 다룰 주제이다. 보안은 절때 등한시해서 안된다. 실전에서 사용할 수 있는 모범사례등을 오늘 소개한다.
- 하반기에 다른 주제를 다룰껀데 아래 링크를 통해 주제를 어떤것으로 할지 의견을 접수한다.
- 오늘 세미나 간 질문은 아래 링크에서도 가능
2. 커뮤니티 소개
2-1. OpenInfra 에 대한 소개
- 오픈스택과 오픈 인프라 프로젝트에 관심있는 한국 거주인 누구나 참여 가능’
- 주로 facebook 그룹에서 많은 정보교류를 하고 있다.
2-1-1. 주요 활동
- 정기 밋업(온라인/오프라인)
- 오픈 인프라 기술 스터디
- 추 후 목표
- 오픈스택 엔지니어 양성을 희망하는 기업과 학교와의 협업 및 파트너십
2-1-2. 향후 일정
- OpenInfra summit > ASIA’24
2-2. Kubernetes Korea Group
- 간략한 소개
- CNCF Graduated Project
쿠버네티스를 첫번쨰로 여러 프로젝트들이 진행중이다.
- KubeCon 유럽의 상황을 보면 처음 참석자가 52%다. 2018년을 기점으로 폭발적으로 증가하였다.
- 9월 24일 화요일 쿠버네티스 코리아 커뮤니티데이 일정이 예정되어있다.
3. Kubernetes 보안 ‘그카나마알아’
Speaker: SKT 한규호
쿠버네티스 전반적으로 이해하기 쉽게 접근할 수 있도록 구성하였다.
가볍고 재미있게 구성하였다.
메인발표에 앞서 커뮤니티에 중요성에 대해 알려드리고싶다.
어떤 큰 목표를 위해서는 개인으로는 어려움이 많다.
커뮤니티 활동을 하면서 서로 지식을 공유하고 피드백받고 하는게 중요한것 같다.
보안이라는게 여기저기 흩어져있다.
쿠버네티스라는게 암기식으로 몇가지 키워드만 입력해놓으면 웬만한것들은 커버할 수 있다.
그런 의미에서 이번 세션의 제목이 ‘그카나마알아’ 이다.
(금속의 이온화 경향을 ‘그카나마알아’로 외우듯이 쿠버도 몇가지 핵심사항만 알아두고 그안에서 파생하면 된다는 의미)
k8s 보안의 핵심. REST API Security
쿠버네티스 자체는 일종의 API 서버다.
API라는게 동작을 시키는 형태로 생각할 수 있는데.
REST 라는거는 내가 원하는 데이터를 저장하는애가 있고 업데이트하고 이런 일련의 과정들을 하고싶은 일을 올리는거. 하고싶은 명령을 API화 해서 요청하는것이다.
이런 구조를 Hub & Spoke 라고도 한다.
쿠버네티스의 보안이나 모든 동작은 데이터가 etcd에 써지느냐 안써지냐 , 누가 쓰느냐 이런것에 대해 파악하는것이다.
결국 Kube API Server 에 대한 보안을 어떻게 할 것이냐에 초점을 맞추면 된다.
일반적으로 보안은 AAA 라고 도 하는데
- Authentication (인증)
- Authorization (인가, 권한부여)
- Accounting (계정 관리)
쿠버에서 Admission 이라는 용어를 사용한다. (계정관리랑 개념도 다르다)
- Authentication
- Authorization
- Admission
Admission
Kubernetes Admission Controllers는 클러스터에 대한 API 요청을 가로채어 유효성을 검사하고, 승인 여부를 결정하는 중요한 구성 요소입니다. Admission Controllers는 요청이 etcd에 영구적으로 저장되기 전에 트리거되며, 요청이 인증(Authorization) 및 권한 부여(Authentication) 단계를 통과한 후에 실행됩니다.
사진1 에서 파란색은 일반적인 API 인증 절차인데 보라색은 쿠버네티스의 특별한 요소로 구성된거라고 보면된다.
사진2 에서 admission controller 에 로직 및 순서를 파악할 수 있다.
- Mutating : 요청된 객체를 변경할 수 있다.
- 예시 :
AlwaysPullImages
는 모든 새로운 Pod에 대해 이미지 풀 정책을 'Always'로 설정합니다. - 단계: 어드미션 컨트롤 과정의 첫 번째 단계에서 실행됩니다.
- 목적: 객체의 기본 값 설정, 추가 데이터 삽입 등을 통해 객체를 수정합니다.
- Validating : 객체를 변경하지 않고, 요청된 객체가 정책을 준수하는지 검증합니다.
- 예시:
PodSecurity
는 새로운 Pod의 보안 설정을 검증합니다. - 단계: 어드미션 컨트롤 과정의 두 번째 단계에서 실행됩니다.
- 목적: 객체가 클러스터의 보안, 리소스 제한 등 정책을 준수하는지 확인합니다.
REST API를 webhook 에 보내서 정책을 판단하고 판단된 정책에 따라 Mutating(변경) 을 하거나 Validating(검증) 한다고 보면된다.
쿠버네티스는 REST API 보안이다 . 누구나 하는 인증과 인가가 있다.
그러나 쿠버네티스는. Admission 이라는 개념이 있고 이거는 자원에 대한 내용을 볼 수 있다.
Authentication (인증)
- 대상이 스스로 주장하는 신원을 확인하는 행위
- 종류
- X.509 (인증서)
- ID Token (HTTP 헤더부분에 들어가는 토큰)
X.509 방식은 공개키를 어떻게 전달하느냐. 어떻게 안전하게 갖고있느냐.
공캐키를 분배하는 방식이 정해지 않다.
- ID Token 방식은 검증을 OIDC 라는 기관에 위임한다.
OIDC
OpenID Connect (OIDC)는 사용자가 안전하게 인증할 수 있도록 하는 간단하고 확장 가능한 인증 프로토콜입니다. OIDC는 OAuth 2.0 프로토콜을 기반으로 하며, 사용자 인증 및 정보 제공을 위한 추가적인 레이어를 제공합니다.
OIDC는 클라이언트 애플리케이션이 사용자 정보를 요청하고, 인증된 사용자인지 여부를 확인할 수 있도록 해줍니다.
예를들어 특정 웹사이트에서 로그인 시 Google로 로그인하기 등이 OIDC가 적용되었다고 볼 수 있다.
Authorization (인가, 권한부여)
RBAC : Role(역할) base access control
내가 어떤 API에 접근할수 있어? 를 정의한게 Role
이 정의한것을 리소스(유저, 시스템)와 매핑하는게 Rolebinding
Admission : Policy enforcement for governance
보안에 이상향. 이상점은 무엇일까에 대한 고민
- 개발자가 신경쓰지 않고 행위를 한다. 그때 잘못되거나 문제되는 행동은 아예 명령이 안먹도록 설정하는 것
- 허용된 범위 안에서 자율성을 보장한다
요약
1. 쿠버네티스 보안의 핵심은 REST API Security. (모든요소가 REST API 통신을 한다)
2. 인증의 수단 : X.509(인증서) / ID Token
3. 인가의 주요 수단 : RBAC
4. 이상적인 보안은 ‘허용된 범위 안에서 자율성 보장’
4. OIDC를 이용해 동적으로 Kubernetes 접근 제어하기
Speaker : SK텔레콤 Solution 개발팀 조동규
Native Kubernetes 접근 제어 방식
- 각 업무자 마다 이해관계가 다르다. 예를 들어 클러스터 관리자는 클러스터의 안전이 우선 , 개발자같은 경우는 마음껏 조작할 환경 , 서비스 운영자는 서비스의 정상동작 여부
- 접근 제어의 니즈가 생긴다.
- 클러스터 관리자는 기본적으로 문서관리로 출발한다. (일반적으로 액셀로 많이 본거같다)
- 문서에 어떤 개발자가 어떤 시스템의 어떤 권한이 필요한지 파악을 해야한다.
- 이후에 RBAC 설정을 해주고, kubeconfig 발급을 진행한다.
- 사용자에게도 서비스 어카운트를 만들어서 아이디 패스워드 주고 ID Token 방식으로 해서 kubeconfig 발급을 하고 저걸 관리자로부터 전달받아서 클러스터에 접근을 해서 접근한다.
이 방식에는 문제가 있다.
- 문서 관리의 어려움
- 고정된 토큰 (토큰 회수가 현실적으로 불가능하다)
사용자 A가 역할이 B 서비스 개발자로 바뀌었을때. 과연 기존의 토큰을 폐기할까?
OIDC를 활용한 Kubernetes 접근 제어 방식
- 빨간색 부분은 OIDC를 도입하므로써 자동화할 수 있는 영역이다.
- OIDC 는 중앙 인증서버를 둬서 쿠버네티스에 접근을 할때 인증서버로 부터 정보를 받아와서 접근할 수 있게 하는것
- Auth Server 에서 전체 쿠버 사용자 리스트 관리를 하고 , 역할까지도 서버에서 관리를 하게 된다.
이런 구성을 하게 되면 Auth Server 만 관리를 하면 된다는 장점이 있다.
OIDC를 적용하면 모든 역할에 대한 kubeconfig 파일에 대한 역할이 동일하게 떨어진다.
기존 service account 방식은 미리 만들어야되는데 OIDC 는 중앙인증서버에서 동적으로 토큰을 받아오는 방식이다.
ODIC를 넘어서 TKS 라는 솔루션에서는 문서관리와 RBAC 설정을 Console에서 진행할 수 있도록
기능을 제공한다.
아래부터는 TKS에 대한 기술 소개이다.
TKS의 Kubernetes 접근 제어 방식
- TKS는 RBAC 설정까지 자동화
기술구성
- 간략한 구성도
- 인증
- 사용자가 서버에게 자신이 누구인지를 증명하는 과정
- 주요 Step
- 자격증명 : ID /PW 입력이나 Face ID 등
- 신원검증: Auth server 에서 정보 비교 후 파악
- 결과 전송: 검증이 성공하면 인증 토큰 발급
- 인증토큰 검증: 유효성 검증 & 신원 확인
- 개인화된 서비스 제공 & 자원 보호
- 인증 토큰은 어떻게 구성되어있는지?
- header
- payload
- iss : 토큰을 발행한 인증 서버의 URL
- iat : 토큰이 발행된 시간
- exp
- aud : 나를 위한 토큰이 맞는지 검증
- sub
- signature : 검증 용도
위의 요소들이 JWT의 정보들이라고 볼 수 있다. 위의 포맷으로 ID Token을 JWT를 사용하여 넘긴다
세미나에서 소개한 JWT에 대해서는 조금 더 깊게 공부해보면 좋을것 같다.
- OpenID Connect
- ID Token 이라는 JWT를 사용하여 최종 사용자 신원 정보를 전달하고 인증 프로토콜
- 커스텀 Claim 정보를 넣을 수 있다.
- 인가
- 인가는 인증에서 확인된 신원정보를 바탕으로 인가를 하게 됨
- 어떤 사용자가 어떤 작업을 수행할 수 있는지를 결정하는 과정
- 권한
- 특정 사용자가 특정 자원에 대해 어떤 작업을 수행할 수 있는지를 결정하는 규칙
- Match
- 주체, 자원, 행위
- HTTP의 경우 일반적으로 HTTP 요청에 처뭅된 Token, Method, PATH를 활용
- Action
- 허용
- 권한관리방식
- ABAC
- RBAC
OIDC를 도입해도 생각보다 해야될게 많다라고 느낄 수있는데
TKS에서는 더 자동화를 시키고(초기설정, 쿠버네티스 OIDC설정 , 롤바인딩 관리) 관리 측면도 Console을 통해 작업 한다.
요약
1. 보안담당자, 운영자, 개발자 간 니즈의 차이 존재 (쿠버네티스 접근제어의 고민)
2. Native 환경에서 보안담당자는 액셀로 A개발자는 A리소스 등 Role을 정하고 권한을 부여함
3. 위의 방법은 문서관리, 고정된토큰(권한 회수의 어려움) 의 문제점이 존재
4. OIDC 도입으로 인증서버를 두고 인증서버만 관리하면 되도록 구성함(feat. JWT)
= 중앙 집중화
+ 더 나아가 TKS 라는 솔루션으로 웹에서 쿠버 사용자들의 인증,인가 정책을 관리할 수 있음
뿐만아니라 role 안에서 상세 rule 도 관리가 가능해보임..? (아마도)
5. 자동화된 정책으로 클라우드 보안 및 운영
Speaker : 임성일
Kubernetes 정책관리
- 인증과 인가를 넘어서
- 권한이 아닌 정책의 예 : 네이밍룰 , 세션관리
거버넌스의 일부분이면서 인가 자체를 판단하고
RBAC 에서 role 하나에서도 개별적인 처리가 필요할 수 있다.
API 접근 가능여부 이상의 것이 필요 → 세분화의 필요성
- 쿠버네티스의 정책관련 지원기능
- PSP : pod security Policies Pod에 정의하여 행위를 제한
- Network Policy : 네트워크 트래픽을 제한
- Admission Policy : 1.30 에서 추가 , CEL 이라는 언어로 정책을 구성
- Kubernetes Admission Controller
- mutatung / validating
예를들어 pod를 정의할때 . 굉장히 많은 정의들이 들어가 있는데 이런게 mutation에서 해주는것
(mutating 과정이 Webhook에서 정책을 비교해서 pod의 정의를 수정해주는 로직이라고 생각됨)
- Kubernetes 용 정책관리 도구 소개
- Gatekeeper
장점 : 폭넓은 정책의 정의 , 외부데이터 활용
단점 : 복잡한 시스템 구성, 별도의 webhook 으로 구성
결국에는 외부데이터 활용이 중요해서 채택하였음
(Gatekeeper, OPA, Istio에 대해서는 deepdive 까지는 아니어도 조금 공부해두면 좋을것 같다)
- 정책관리별 장단점 비교
기반기술 소개
- OPA : Styra에서 개발한 범용 정책 엔진
- MSA/k8s 환경에 적합한 정책 엔진
- Go 기반 오픈소스
- CNCF graduate 프로젝트
- 정책 전용 언어 (Rego) 사용
- Policy as Code
- OPA는 Prolog 기반 정책정의 언어인 REGO를 사용하여 정책의 코드화
- Rego의 특징
- 선언한 규칙들의 나열
- main은 없음
- 입력과 데이터 영역을 가짐
- Policy as Code 사용의 이점
- 정확성, 투명도 향상
- 재사용
- 검증 및 테스트 가능
Prisma에서도 OPA 기반 액세스 컨트롤 정책이 있음
Rego 언어로 커스텀룰을 설정할 수 있음
즉 OPA의 구조와 Rego언어의 기본적인 습득이 필요함
- Gatekeeper
- k8s API 요청이 쿠버네티스 자체 인증 및 인가를 Admission controller 단계에서 실행
- Mutatuion 지원 GateKeeper에서 직접 만든 엔진을 통해 지원
- 구성요소
- Controller : Webhook 자체의 구현체 , kube api로 요청이 들어오면 controller 에서 정책을 판단해서 결정
- Auditor : 스케줄러 , 배치 프로세스
- 정책의 수행
- 입력된 제약사항(Constraint)를 기반으로 감사
- 감사의 타입
- Deny : 차단
- Warn : 경고정도의 의미
- Dryrun : 말하긴하는데 Auditor 가 돌아가면서 운영자에게 noti를 해줌
TKS Policy Serving
- 서비스, 설치형 KaaS 솔루션
- 서비스에 조직을 등록하고 조직 별 k8s 클러스터를 생성/변경/석재 기능 제공
- 클라우드 네이티브 환경에서 거버넌스 조직에서 일관된 정책을 강제할 수 있도록
- Kubernetes 기반 Admission Control
- 클러스터에서 정책을 강제
- 정책 위반시 배포 자체를 원천 방지
- Fine-grained Policy
- Programmable 정책 개발 가능(코드화)
Demo
- 정책엔진
- Gatekeeper 선택
- 정책 스케줄러
- 다중클러스터 지원 이슈
- 정책엔진은 각각의 클러스터에 배포함
- 관리포탈
- 사용자 관점에서는 파라미터만 정의하면 됨
- 정책에만 집중할 수 있도록 구성
- 자원 사용량 , 노드포트 통제, 고가용성 강제(최소 파드 3개 이상 등)
- 소프트웨어 사용통제 ( 명명 규칙 .. 등 )
Lession learned & Futur work
- Gatekeeper 설정
- 삭제에 대한 audit 추가
- 정책 위반으로 거부된 내역에 대해 로그기록 ..
- 장애설정에 대한 처리. gatekeeper 가 장애가 나도 api-server 가 마비되지 않도록
- input 데이터 이외의 자원 접근 시 권한설정 (사용자 자원 추가)
- 외부의 데이터를 함께 사용 가능
- Custom controller 개발
- 초기에 CR을 잘 설정
- Spec 과 Status 를 명확하게 분류
- 외부에서는 Spec 영역 변경
- Reconcile 내부에서는 Status 영역 변경
- 멱등성 고려
Reconsile loop ?
멱등성?
요약
1. Kubernetes 용 정책관리 도구 (Kyverno, OPA Gatekeeper, OPA, Istio)
OPA를 기반으로 Prisma에서도 액세스 제어 정책이 사용됨
2. OPA는 Go 기반 오픈소스이며 Rego 언어를 사용하여 로직을 정의한다.
이때 정책 평가를 위한 컨텍스트는 JSON이다. (JWT)
3. TKS 는 설치형 KaaS 솔루션이며 Cloud Native 환경에서 일관된 정책을 강제할 수 있도록
6. 쿠버네티스 워크로드 보안? 어떻게 동작하는거니?
Speaker: 단국대학교 컴퓨터공학과 교수 남재현
지금까지는 쿠버네티스 상에서 보안에 대해 다뤘다. (high level)
지금부터는 워크로드에 대해 좀더 low한 level에서 다뤄본다.
- 쿠버네티스 워크로드 보안
: 쿠버네티스 클러스터 내에서 실행되는 애플리케이션과 서비스를 보호하는것
- How?
- 네트워크정책
- Pod 보안 정책
- 서비스 계정
- RBAC
- Secret
- Admission Controllers
이런것들은 사전단계에서 하는 보안이다.
무엇에 집중해야하는가?
‘ 실시간으로 바뀌는 것’
- 단계별 보안
- 개발자들이 코드를 작성하고 CI단에 보안이 들어간다.
- Admission : 앞서 보았던 쿠버네티스 상의 보안
- Runtime : 지금 강의에서 핵심이 되는 영역. 컨테이너가 실행중일때 보안
- 동적으로 변하는게 굉장히 많다.
- 컨테이너로 공격자들이 들어와서 행위를 하게 되면 . 취약
런타임 환경에서 솔루션들이 필요하다.
실시간으로 바뀌는것
- 워크로드
- 시스템 : 워크로드가 바뀌면 동작패턴도 바뀐다.
- 네트워크 : 워크로드가 바뀌면 네트워크 패턴도 바뀐다.
- API : 워크로드가 바뀌면 API 패턴도 함께 바뀐다.
시스템? 네트워크? API?
- 시스템 레벨에서의 워크로드 보안
- 대부분의 솔루션들이 eBPF 기반으로 동작
- 우리는 악성행위를 Alerting 도 해주고 Blocking도 해준다 ! 라고 한다.
다양한 솔루션들이 존재한다.
보안정책에 위배되면 그게 악성행위다.
- eBPF ?
- 초기에는 네트워크 분석 및 패킷 필터링을 위해서 사용되었음
- 현재는 다양한 용도로 확장됨
: 리눅스 커널에서 실행되는 플그램을 위한 확장 가능한 프로그래밍 인터페이스
- 시스템 레벨에서의 보안 정책
런타임 시큐리티로 넘어가면 low level에서 볼줄 알아야한다.
어떤 시스템 콜에 어떤 파라미터 값이 들어오면 alert을 해라..
여기서 드는 고민은 너무 low level 이다.
- 기본적으로 보안 정책들은 비정상적 상황을 탐지했을때 컨테이너 킬, 프로세스 킬, 등등 이러한 조치가 들어간다.
- kill=서비스 중단 (Service Downtime)
- 공격자입장에서도 이런 액션을 지속적으로 해서 서비스를 중단시키지 않을까?
기존 보안솔루션들의 이런 접근방식이 과연 모범사례일까?
- 상용 제품은 오픈소스SW 보다 좋을까?
→ 결국 죽이는 행위이다 (컨테이너를)
- Post-Exploit Mitigation
: 공격을 탐지하고 나서 공격 차단을 시도 !
→ 공격자에게 너무 많은 시간을 준다.
- 대안은? Inline Mitigation
→ 공격을 탐지하자마자 차단
- Inline Mitigation 어떻게 동작하는지
- 탐지
- 프로세스 실행
- 파일 접근
- 네트워크 통신
- 시스템 콜 호출
- LSM Hook + eBPF 을 통해 디테일한 monitor 가능
네트워크 ?
개발 / 운영 / 보안 의 개별 역할로 인해 .. 조직내에 다양한 이슈 발생
- 네트워크 레벨에서의 워크로드 보안
- iptables 기반이라면 ?
- eBPF 기반이라면?
검증이 안된다. 일일히 라인별로 보면서 검증이 쉽지 안핟.
패킷 파싱해서 매칭.
API
- 시스템 레벨이나 네트워크 는 그나마 단순한 구조
- API 레벨에선 훨씬 더 구체적인 구조
- API 보안은 서비스 메시 와 밀접
why? : 마이크로서비스 간 통신 시 API 활용
- 같은 API라도 누가 사용하느냐가 중요
- 관리자냐 사용자냐에 따라 정책이 달라짐
- API 레벨에서 워크로드 보안
- Istio
- Linkerd
이런 툴들에서 로깅을 해준다
그런데 URL 메서드 부분에 와일드카드(*) 가 낀다.
너무 복잡해진다.
- 그래서 user-space 의 Proxy를 사용한다.
- 결국은 유저레벨로 가야함.
결론적으로 워크로드 보안정책을 만드는것은 쉽지 않다.
요약
1. 실제 워크로드 보안 솔루션들이 어떻게 동작하는지 Low Level(리눅스 커널 등..)에서 들어볼 수 있었다.
2. 이해하기는 힘들었지만 워크로드 보안이 시스템에서 어떻게 동작하는지 간접적으로 라도 접할 수 있었다.
3. eBPF 는 간단하게라도 알고 있으면 좋을것 같다 (전혀 간단하지 않다)
* eBPF는 Linux 커널에서 고성능, 안전성, 유연성을 제공하는 프레임워크로, 네트워크 모니터링, 성능 분석, 보안 모니터링 등 다양한 용도로 활용됩니다. eBPF 프로그램은 커널 내부에서 특정 이벤트에 반응하여 실행되며, 검증기를 통해 안전하게 로드되고 실행됩니다. eBPF는 현대적인 시스템에서 성능과 보안을 개선하기 위한 강력한 도구입니다.
7. QnA
- 데보션에 세션 발표자료 따로 올림.
- TKS 솔루션 관련 질문들.
Share article