이쿠의 슬기로운 개발생활

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

반응형

분류 전체보기 415

15. Docker 구조

Docker 구조 원래 최초에 docker는 이러한 구조를 가지고 있지 않고 docker 하나로 구성되어이 있었음. 하지만 이후 고수준(high-level) 컨테이너 런타임, 저수준(Low-level) 컨테이너 런타임 프로젝트로 분리되며 위와같은 구조를 가지게 되었음. 해당 구조를 직접확인해볼려면 아래와 같은 명령어로 확인 가능함. [구조 확인 명령어 ] ps aux | grep docker [결과] 상위 그림과 같이 실제로 dockerd, containerd, runc를 확인 할 수 있음 dockerd란? 일반적으로 docker를 사용하기 위해 실행했던 명령어(docker image, docker ps등)는 docker cli를 사용했던 것임. docker cli를 이용해서 명령어를 사용하면 최초로 d..

클라우드/Docker 2021.10.20

CRI-O 와 함께 사용되는 tool

CRI-O 와 함께 사용되는 tool CRI-O의 경우는 오로지 container를 실행하는 역할을 담당하고 있음. docker와 비교하자면 docker구조에 포함되어있는 containerd와 동일한 역할을 수행함. 즉 CRI-O는 container 실행만 담당하지 이외의 기능인 image build, cli, image registry 생성 등과 같은 부가적은 기능은 수행하지 못함. kubernetes의 CRI로 연동되기 위해서는 충분한 조건을 가지고 있어서 CRI-O만 설치하면 kubernetes는 문제없이 사용할 수 있음. 하지만 docker를 사용했을 때 처럼 image build 등과 같은 부가 기능을 사용하고 싶다면 이를 가능하게 하도록 CRI-O와 함께 사용할 수 있는 Tool로 Builda..

클라우드/CRI-O 2021.10.05

CRI-O 설치

CRI-O 설치 목표 kubernetes 설치 시 container runtime tool을 cri-o로 사용하기 위해 cri-o 설치 방법을 알아봄. Test 환경 OS = CentOS 7 설치는 root 계정으로 진행함. [주의] CRI-O 메이저와 마이너 버전은 쿠버네티스 메이저와 마이너 버전이 일치해야 함. CRI-O란? docker가 deprecated 되면서 인지도가 더 올라가고 있는 container runtime tool로 레드햇, 인텔, SUSE, Hyper, IBM 등의 관리자와 컨트리뷰터들이 커뮤니티 중심으로 개발된 오픈소스 프로젝트임 . OCI와 CRI 표준을 준수하고 있음. 1. yum update [명령어] yum update 2. 커널 모듈 로딩 설정 systemd를 사용하는 ..

클라우드/CRI-O 2021.10.05

00. containerd 설치

Containerd 설치 목표 kubernetes 설치 시 container runtime tool을 containerd로 사용하기 위해 containerd 설치 방법을 알아봄. Test 환경 OS = CentOS 7 설치는 root 계정으로 진행함. containerd란? 일반적으로 container runtime tool의 대표라고 하면 docker를 떠올릴 것임. 하지만 docker 구조를 더 자세히 파고들어서 따지고 보면 docker가 container runtime tool이라기 보단 docker 를 구성하고 있는 것 중 containerd가 container runtime tool에 해당함. docker는 version 1.11 이후 버전부터 containerd를 container runtim..

Kubernetes docker에서 containerd로 마이그레이션

kubernetes docker에서 containerd로 마이그레이션 목표kubernetes container runtime tool을 docker에서 containerd로 변경하는 작업을 진행해봄순서는 master node 부터 containerd로 migration을 진행하고다음으로 worker node를 진행함.  Test 환경on-premise 환경에서 진행. [Master Node server]OS = CentOS 7리눅스 커널 버전 : Linux 3.10.0-1062.el7.x86_64docker version : 20.10.8docker api verison : 1.41 [Worker Node server]OS = CentOS 7리눅스 커널 버전 : Linux 3.10.0-1062.el7.x..

Kubernetes docker 지원 중단 관련 설명

kubernetes docker 지원 중단 관련 설명 목표kubernetes 에서 2021년 하반기 1.23 version 부터 docker를 지원하지 않는다고 하는데그 이유를 자세히 알고싶어서 리서치를 진행했던 과정을 정리해봄.이유와 대처 방법을 알아봄.  2022-02 월 내용 추가 사항현재 Docker는 Mirantis(미란티스)가 인수해서 cri-docker를 지원함.그래서 k8s 1.23에서 Docker를 사용할 수 있음.프로젝트 링크 : https://github.com/Mirantis/cri-dockerd 공식 관련 내용 확인2020.12.02 글 확인https://kubernetes.io/blog/2020/12/02/dont-panic-kubernetes-and-docker/ 결론 요약ku..

오류 : Unit kubelet.service entered failed state.

오류 : Unit kubelet.service entered failed state. [상황]기존 docker version이 1.13 version이였는데docker version 을 20.? 으로 수정한 후 kubernetes version도 1.22 로 update함.그 후 kubelet 이 정상 실행이 안되고 있음. [오류 메세지][systemctl status kubelet 결과]Unit kubelet.service entered failed state.kubelet.service failed. [journalctl -a -f 결과]"Faild to run kubelet" err=failed to run Kubelet: missconfiguration: kubelet cgroup driver: ..

DEP(Data Execution Prevention) 이란?

DEP(Data Execution Prevention) DEP 란? Data Execution Prevention 데이터 실행 방지 기법 실행 권한이 없는 메모리 영역의 코드가 실행되지 못하도록 방지하는 기법 스택이나 힙영역에서의 shell 코드 실행을 막아주는 메모리 보호 기법 [종류] HardWare DEP : 가상 메모리 페이지 단위로 해당 메모리에서 코드를 실행 할 수 없도록 함 SoftWare DEP : SEH overwirte 같이 특정 유형의 악의적인 코드 공격을 막음 DEP를 사용하는 이유 어셈블리 공격 코드와 Buffer overflow 공격을 통해 Heap 영역, 스택 또는 private 영역 에서 악의적인 코드를 실행 시키는 공격방법이 존재하는데 이 공격법을 막는 방법이 DEP 기법 ..

보안 2021.08.27

ASLR 이란?

ASLR ASLR 이란? Address Space Layout Randomization 프로세스의 가상주소 공간에 어떤 object 가 매핑될 때 그 위치를 프로그램 실행 시 마다 랜덤하게 변경하는 보안 기법 메모리 해킹 방지를 위해 Windows Vista 부터 지원된 기법 스택이나 힙, 라이브러리 등의 주소를 랜덤으로 프로세스 주소 공간에 배치하는 기법 프로세스를 실행 할 때 마다 데이터의 주소가 변경됨 ASLR 을 사용하는 이유 user32.dll 와 같이 windows 에서 제공해 주는 라이브러리 안에 dll 을 import 하는 LoadLibrary 함수와 GetProcAddress 함수가 있음. 이 함수를 사용하는 법은 고정 라이브러리 메모리 주소가 있어서 항상 해당 메모리 주소로부터 + 얼마..

보안 2021.08.27
반응형