Study/Server

· Study/Server
PAM(Pluggable Authentication Module)리눅스/유닉스 기반의 시스템에서 인증을 수행할 수 있게 해주는 '플러그인 방식 인증 프레임워크'Application 상에서 별도로 인증을 구현하지 않더라도, PAM을 통해서 LDAP이나 2FA, Kerberos 등의 다양한 인증방식을 연결할 수 있고, 시스템 보안 정책을 중앙에서 관리할 수 있게 된다.또한, 플러그인 방식이라 PAM을 이용하는 프로그램들을 수정할 필요없이 인증 모듈을 변경하는 것만으로도 인증 방식을 바꿀 수 있다는 장점을 가지고 있다. PAM 설정들은 `/etc/pam.d` 디렉토리 내부에 저장되는데, 이 디렉토리 하위에는 PAM을 이용할 서비스들의 설정파일이 위치한다.대표적으로 아래와 같은 서비스들이 PAM을 사용해서 인증..
· Study/Server
CQRSCommand Query Responsibility Segregation, 명령-조회 책임 분리로 명령(Command)과 조회(Query)의 책임을 분리하는 아키텍처 패턴이다. 이전의 전통적인 CRUD(Create/Read/Update/Delete) 모델에서는 모든 작업이 동일한 하나의 데이터 모델/저장소를 이용했다.CQRS에서는 쓰기와 읽기 작업을 분리해서 각 작업만을 수행하는 DB를 이용해 성능과 확장성을 챙긴 아키텍처를 구축하게 된다. CQRS 구성읽기와 쓰기 작업을 모델별로 분리했기에 아래와 같이 구성된다.Command 모델데이터를 변경(Create, Update, Delete)하는 작업을 수행하는 모델Query 모델데이터를 조회(Query)하기 위한 모델, 오직 조회 작업만 수행한다.이벤..
· Study/Server
졸업 캡스톤 프로젝트에서 사용해보기 위해 라즈베리파이 4B 모델을 구하게 되었다.그리고 이 라즈베리파이에 카메라 모듈도 연결해 영상 스트림을 생성해야했었다.이번에는 라즈베리파이의 초기 설정과 카메라 모듈까지 연결하는 과정을 알아보도록 한다. 라즈베리파이 초기 설정먼저 제품 박스를 열면 손바닥 크기도 채 안되는 사이즈의 메인보드 기판이 나오게 된다.번외로 라즈베리파이 4B의 단자 구성은 아래와 같다.USB 2.0 포트 X 2USB 3.0 포트 X 2기가비트 이더넷 포트micro HDMI 포트 X 2USB-C 파워 포트 먼저 파이에 들어갈 OS를 설치해주어야 한다.기본적으로 파이는 SD카드를 스토리지로 삼는다. SD카드 슬롯은 좌측 (USB 포트 반대편) 하단에 위치한다. ..
· Study/Server
가상화에는 하이퍼바이저 가상화와 컨테이너 가상화, 2가지 유형이 존재한다. 이번 글에서는 컨테이너 가상화에 대해 알아보도록 한다. 컨테이너 하드웨어에 설치된 커널 하나에 격리된 컨테이너 프로세스를 돌리는 구조로 OS 수준의 가상화를 제공한다. 무겁고 느린 hypervisor 가상화 방식의 단점을 해결하기위해 등장했다. 컨테이너는 애플리케이션과 그에 종속되는 것들을 패키지화하고 실행환경을 격리하는데에 목적을 둔다. 각 컨테이너들을 호스트 OS의 리소스를 공유하며, 필요한 라이브러리와 실행 파일만을 포함하고 있어 하이퍼바이저 가상화의 가상머신(VM)보다 가볍게 구동될 수 있다. 컨테이너 가상화의 특징으로는 아래와 같다. 특징 설명 성능과 자원 효율성 가상머신(VM)에 비해 낮은 오버헤드와 빠른 부팅 시간 이..
· Study/Server
관련 이전 글 : SSRF와 Cloud Metadata -1 'Capital One'에서의 SSRF Cloud Metadata leak을 간단하게 설명했었다. 이와 유사한 취약한 환경을 구축하고 탈취 시나리오를 간단하게 살펴보자 취약환경 구축 인스턴스를 생성 후 SSRF에 취약한 Application을 올린 후, S3 bucket에 대해 full_access 권한을 갖는 IAM role을 만들고 이 인스턴스에 연결해준다. 민감정보를 담을 S3 bucket을 생성하고 object를 넣어준다. (해당 bucket은 인터넷 open하지 않음) 정말 간단하게 취약환경을 구성해 보았다. 'Capital One'의 Exploit과 동일하게 SSRF로 Metadata를 탈취해 S3 bucket의 object까지 탈취..
· Study/Server
SSRF Server Side Request Forgery의 약자로, 직역하면 서버측 요청 위조 서버 측에서 위조된 요청을 발생시켜 직접적인 접근이 제한된 내부 서버의 자원 등에 간접적으로 접근해 데이터 유출 및 오동작을 유발하는 공격이다. 외부로 공개된 서버와 내부망에 존재하는 서비스(DB 등)로 이루어진 구조에서 외부서버가 내부서버로 보내는 요청을 외부 사용자가 임의로 변조하는데, 이때 내부서버는 신뢰할 수 있는 위치에서 전달된 Request로 확인하기 때문에 변조된 Request에 대한 응답값을 반환해준다. 주로 내부 서버에 저장된 이미지와 같은 자원에 접근하거나 외부로 Request를 발생시키는 구간에서 자주 발생하고, 사용자가 제공한 데이터(입력값, 쿠키 등등)을 서버 측에서 별다른 검증 로직없..
· Study/Server
가상화 물리 하드웨어 시스템에서 여러 시뮬레이션 환경이나 전용 리소스를 생성하는 기술, 논리적으로 격리된 환경을 생성하는 것이 핵심이다. 하나의 물리 시스템에서 복수의 시스템(서비스)을 구동하는 것, 하드웨어 요소(CPU/메모리/디스크)를 논리적으로 분리하고 각 가상화된 서버별로 분배해 줌으로써 서버를 구동시킨다. 이러한 가상화는 그렇게 최근에 등장한 기술은 아니나, PC의 하드웨어적 스펙이 비약적으로 발전함에 따라 가상화를 안정적으로 활용할 수 있게 되어 근래에 주목받고 있다. 기존에는 하나의 서버에 하나의 OS만 설치해 사용하는 구조를 이용했다고 한다. 그에 따라 각 서비스마다 하나의 물리적 서버가 필요했고, 그에 따라 낭비되는 하드웨어 리소스가 가상화로 하나의 서버에 여러 OS를 설치하게 되어 하드..
· Study/Server
Docker hub에서 이미지를 pull해와서 컨테이너를 관리하는 부분까지 해봤다. 이제는 Dockerfile로 직접 내 이미지를 만들어보자 Dockerfile Docker 이미지를 생성하기위한 스크립트 파일로, Dockerfile 작성 후 build하면, 파일의 내용대로 한 명령어씩 실행되어 환경을 갖춘 이미지가 생성된다. Dockerfile만 작성해두면 어느 환경에서든 빌드를 통해 같은 이미지를 생성할 수 있고, 이미지 구축에 어떤 명령어가 실행되었는지도 파악하기 편리하다. tomcat, APM, Spring 등 웹서비스를 띄울 때, Dockerfile의 편리성이 드러난다. docker hub에 배포된 설치 이미지를 받아 내가 작성한 App을 바로 Copy하도록 Dockerfile을 작성만 해두면 빠..
Omoknooni
'Study/Server' 카테고리의 글 목록