이쿠의 슬기로운 개발생활

함께 성장하기 위한 보안 개발자 EverNote 내용 공유

반응형

Kubernetes 131

Kubernetes 보안 설정 --insecure-port=0

kubernetes 보안 설정 --insecure-port=0 취약점 분석 kubernetes 1.20 version 이하는--insecure-port 설정이 존재하지만 1.20 이상 version은 kube-apiserver의 --insecure-port 설정이 없음. 해당 --insecure-port 설정이 왜 없어졌는지 알아봄. --insecure-port설정은 kube-apiserver 에 http 형식으로 접근을 허가하는 설정임.--insecure-port가 8080 등 다른 port로 설정되어있으면 보안에 치명적임. kubernetes 1.20 version 이상은 해당 --insecure-port없어서 안전함.아래와 같이 https 로만 접근이 가능하고 http는 접근이 불가능함. 하지만 1..

Kubernetes 보안 설정 --anonymous-auth=false

kubernetes 보안 설정 --anonymous-auth=false 취약점 분석kube-apiserver는 인가된 사용자 뿐만 아니라anonymous user도 접속이 허용됨.실제로 확인해보겠음. [anonymous user로 kube-apiserver 접속 확인] 이와 같이 계정을 명시하지 않은 상태로 kube-apiserver에 접속하게 되면system:anonymous 라는 계정으로 접속이 허용됨. 실제로 kube-apiserver static pod 설정을 확인해보면anonymous에 대한 설정이 없음anonymous-auth에 대한 설정이 없으면default로 true 처리가 되어 anonymous 계정도 접속이 허가됨. 이런경우 보안적으로 취약점이 발생함.   결론kube-apiserver..

Kubernetes 보안 설정 automountServiceAccountToken: false

automountServiceAccountToken: false 설정 취약점 분석 모든 namespace에는 default ServiceAccount가 존재하고 있음.아래와 같이 default sa 확인 가능.[namespace service account 확인] 이러한 default ServiceAccount는 pod를 생성할 때 사용됨.pod와 ServiceAccount에 별도의 설정이 없다면 kubernetes는 default로Pod 생성 시 ServiceAccount를 무조건 사용하게 되어 있음. 즉 관리자가 별도로지 pod를 생성할 때  ServiceAccount를 지정하지 않아도Pod를 확인해 보면 자동으로 ServiceAccount가 mount되어 있는것을 확인할 수 있음. 위 image에서..

kube-bench

kube-bench 목표kubernetes 취약점 점검 tool은 kube-bench 사용법에 대해 알아봄   kube-bench란?Aqua security에서 개발한 것으로kube-bench는 kubernetes cluster가 보안적으로 안전하게 구성되어있는지 검사해주는 tool임.CIS Kubernetes Benchmark 문서를 기반으로 kubernetes cluster의 취약점을 확인해줌.취약점 scan 결과를 PASS, FAIL, WARN 3가지로 출력해주고FAIL, WARN 항목에 대해서는 Remediations 항목에서 어떻게 하면 개선되는지 가이드까지 해줌.  CIS Benchmark 란?CIS(Center for Internet Security, 비영리 조직)에서 배포하는 보안 취약점 ..

Container 관련 기술 리서치

Container 관련 기술 리서치 개발하는데 Container에 대한 자세한 이해가 필요해서Container관련 기술에 대해서 글로 정리하며 다시 한번 복습 및 리서치를 진행해봄.리서치와 복습만이 살길이다....ㅠㅠ  Container란?제가 아는 내용을 설명드릴려고 하면 일단 Linux와 Windows는 별개로 설명드려야할 것 같음. linux Containerlinux container는 리눅스 네임스페이스(Linux namespaces), 컨트롤 그룹(cgroup),  루트 디렉터리 격리(chroot) 등의커널 기능을 활용해서 linux 커널을 공유하면서 프로세스를 격리된 환경에서 실행하는 기술임. [container의 대표적인 특징]1. stateless하게 동작해서 container 상태를 보..

kubeadm 설치 에러 : kubelet error

failed to run Kubelet: misconfiguration: kubelet cgroup driver: \"systemd\" 상황kubeadm을 사용해서 kubernetes cluster 구성 시 error 발생함 [사용한 명령어]kubeadm init --pod-network-cidr=10.244.0.0/16 --apiserver-advertise-address=10.0.2.15  ERROR MSG [kubeadm Err msg]Waiting for the kubelet to boot up the control plane as static Pods from directory "/etc/kubernetes/manifests". This can take up to 4m0s[kubelet-chec..

Portieris (v0.12.2)

Portieris  [Container image 인증 관련 글 목록]Notary Service 란?Docker Notary : Docker Content Trust (DCT)DCT를 사용해서 Dcoker Hub에 서명된 Trust Image Push 하기Notary와 DCT를 사용해서 Private Registry에 서명된 Trust Image Push하기개인 인증서를 사용해서 Notary Service 구동kubernetes image인증 - Portieriskubernetes image인증 - Portieris2 목표Portieris가 update되면서 설치 과정이 간편해짐.kubernetes에서 인증된 image 만 cluster에 배포되도록하는 Portieris addon을 설치, 적용해봄. 설..

Pod Security Policy deprecated

Pod Security Policy deprecated 목표Pod Security Policy가 1.25 version 부터 deprecated 된다고 함...해당 원인에 대애 알아봄.  공식 관련 내용 확인1.22 version cluster에서 PSP 사용 시 Warning 발생 2021.04.06 글 확인https://kubernetes.io/blog/2021/04/06/podsecuritypolicy-deprecation-past-present-and-future/결론 요약kubernetes 1.25 version PSP는 더 이상 지원되지 않음. Deprecated 이유 [1. PSP Error 디버깅 문제]PSP 관련 Error 디버깅에 문제가 있다고 판단함.PSP를 적용한 후 kubernet..

Kubernetes Windows node 추가 (Docker)

Kubernetes Windows node 추가 (Docker) 목표IIS web server container 와 같이 linux가 아닌 windows OS에서 실행가능한 container가 있음.해당 container를 실행하기 위해서는 windows worker node가 필요함이를 test해보기 위해 linux kubernetes cluster에 windows worker node를 추가하는 작업을 진행해봄. Windows OS Container Runtime tool은 Containerd로 진행함.   Test 환경on-premise 환경에서 진행.linux cluster로 Master Node, Linux worker Node로 구성되어있는 상태에서 Windows node를 추가해봄. [Mas..

Windows kubernetes

Windows kubernetes 목표 kubernetes 1.14 version 부터 windows worker node를 지원하기 시작함.IIS web server container 와 같이 linux가 아닌 windows OS에서 실행가능한 container가 있음.해당 container를 실행하기 위해서는 windows worker node가 필요함이를 test해보기 위해 linux kubernetes cluster에 windows worker node를 추가하는 작업을 진행해봄.   글을 읽는데 필요한 기초 개념 NIC (Network Interface Card)란?네트워크 어댑터라고 함.물리적 하드웨어 장치로, 물리적 서버와 데이터 트래픽을 주고받는 데 사용됨. 서버 운영 체제는 이를 해당 서..

반응형