전체 글 102

모놀리식 아키텍쳐(MA)와 마이크로 서비스 아키텍쳐(MSA)

클라우드네이티브환경에서 자주 등장하는 용어 중 하나는 마이크로 서비스 아키텍처(MSA)이다. MSA는 소프트웨어 아키텍처의 한 종류로 MSA를 이해하기 위해 기존에 사용하는 아키텍처인 모놀리식 아키텍처(MA)와 비교해서 이해할 필요가 있다.  모놀리식 아키텍처란(MA)?모놀리식 아키텍처(MA)는 하나의 애플리케이션에 모든 컴포넌트가 밀접하게 연결되어 있는 구조를 의미한다. monolithic은 단단히 짜여 있다는 뜻으로 각각의 컴포넌트들이 밀접하게 연결되어 있으며, 하나의 큰 애플리케이션으로 배포되는 것을 의미한다. 모놀리식 아키텍쳐의 특징모놀리식 아키텍처는 모든 컴포넌트가 하나의 코드베이스에서 존재하기 때문에 상호작용하는 문제를 걱정할 필요가 없어 초기에 개발 및 배포가 편리하다. 하지만 각각의 컴포넌..

Back-End 2024.09.26

Vagrant 실습 환경 구축 (Windows)

Vagrant란?가상 머신(VM), 컨테이너 환경을 쉽게 설정하고 관리할 수 있도록 도와주는 IaC도구입니다. 대표적인 IaC도구는 Terraform, Vagrant, Ansible등이 존재하는데, Vagrant는 로컬환경에서 가상머신(VM)을 관리할때 주로 사용합니다.*IaC란 Infra as Code의 약자로 인프라를 코드로 관리하는 것을 의미합니다. 코드기반으로 관리하면 일관된 인프라를 구성할수 있다는 장점이 존재합니다.  Virtualbox 설치(6.1.50 버전)가상머신(VM)은 Virtualbox를 설치합니다. 설치를 하기 전에 Vagrant와 호환이 되는 Virtualbox 버전을 확인해야 합니다. 호환이 되는 버전은 아래와 같으며, 추후에 변경될 수도 있으므로 공식사이트를 통해 확인하는 것..

Back-End 2024.09.24

가상화와 컨테이너

컨테이너 인프라 환경을 이해하기 위해서는 가상화와 컨테이너의 개념에 대해서 이해해야한다. 두 개념은 모두 서버 자원을 효율적으로 사용하기 위한 기술이다.  가상화(VM, Virutal Machine)하나의 컴퓨터에서 여러 운영체제를 독립적으로 실행할수 있도록 하는 기술이다. 하이퍼바이저라는 소프트웨어를 통해서 가상머신(VM)을 관리한다. 가상화 기술을 사용할수 있는 대표적인 도구는 VirutalBox와 VMware가 있다. 구조를 확인해보면 물리적인 컴퓨터 위에 하이퍼바이저를 올리고 이를 통해 여러대의 가상머신(VM)이 존재하는것을 알수 있다. 각각의 가상머신(VM)은 Guest OS, Bins/Lib, APP을 가지고 있어 독립적인 환경처럼 동작한다.  *하이퍼 바이저 종류에는 bare-Metal 하이..

Back-End 2024.09.23

[웹 취약점 실습] 정보공개 취약점(Information disclosure) - 1

정보공개취약점이란웹사이트가 의도치 않게 사용자에게 민감한 정보를 노출하는 취약점이다. 공격자들은 이를 통해 민감한 정보(계정정보, 금융정보, 개인정보 등) 얻거나, 에러발생 시 노출되는 정보(애플리케이션 정보, DB정보, 웹서버구성정보, 개발 관련 주석 등)를 통해 추가적인 공격을 시도할 위협이 존재한다. 실습하기해당 실습은 에러발생 시 취약한 버전의 서드파티 프레임워크가 노출되는 것을 확인하는 실습이다. ACCESS THE LAB 버튼을 클릭하여 실습사이트로 이동할수있다.실습사이트 접속 시 해당 페이지를 확인할 수 있다. 버프스위트의 프록시 기능을 통해 해당 페이지의 요청 및 응답값을 확인할 것이다. Open browser클릭하여 실습사이트에 접속하고 intercept off 기능을 눌러 요청 및 응답..

Security 2024.09.21

대표적인 웹 취약점- 2

저번 과제와 마찬가지로 대표적인 웹 취약점 4가지를 정리하였다. 대표적인 웹 취약점 - 1국내에서 자주 발생하는 웹 취약점 4가지를 정리하였다. 참고로 웹취약점의 범위와 용어는 KISA의 표준 문서를 기반으로 자신의 회사에 맞게 정의하기 때문에 대표적인 SQLI, XSS와 같은 취약점 이rybbit-life-debugging.tistory.com 1. 취약한 파일 존재 취약점웹루트 하위에 존재하는 취약한 파일(문서파일, 백업파일, 로그파일, 압축파일등)이 외부에 노출되어 발생할 수 있는 취약점 악의적인 사용자는 파일명을 유추하여 민감한 정보가 포함된 내부문서, 백업파일, 압축파일등에 접근하고 이를 통해 시스템에 접근하거나 민감한 정보를 탈취할 위협이 있다. 해당 취약점은 진단하는 범위가 모호하다. 예를 ..

Security 2024.09.20

[Bandit] Level3 → Level4: ls(숨겨진 파일)

풀이다음 레벨로 이동하기 위해 exit명령어를 입력하여 SSH 연결을 해제한다. 아래와 같이 입력하여 ssh를 접속한다. password는 MNk8KNH3Usiio41PRUEoDFPqfxLPlSmx 이다.ssh bandit3@bandit.labs.overthewire.org -p 2220 ls 명령어로 현재디렉터리에 inhere라는 디렉터리가 존재하는 것을 확인(디렉터리는 파란색으로 표시됨) cd 명령어로 inhere로 이동 숨겨진 파일을 확인하기 위해 ls -al 명령어를 입력하니 ...Hiding-From-You라는 파일을 확인 ...Hiding-From-You라는 파일을 확인하면 다음레벨의 password를 확인할 수 있다.  정리ls(숨겨진 파일)숨겨진 파일을 확인하기 위해서는 ls의 -a 옵션을..

Back-End/Linux 2024.09.16

[Bandit] Level2 → Level3: cat(파일명에 공백)

풀이다음 레벨로 이동하기 위해 exit명령어를 입력하여 SSH 연결을 해제한다. 아래와 같이 입력하여 ssh를 접속한다. password는 263JGJPfgU6LtdEvgfWU1XP5yac29mFx 이다.ssh bandit2@bandit.labs.overthewire.org -p 2220 ls 명령어 입력 시, space in this filename이라는 이름의 파일을 확인할 수 있다. 파일명에 공백이 포함되어 있으므로 아래와 같이 입력한다.  정리cat(파일명에 공백)파일명에 공백이 있을 때, 파일내용을 출력하고 싶으면, " "안에 파일명을 넣는다. \(역슬래쉬)를 입력해서 공백을 작성하는 방법도 있다. 공백으로 입력시 오류가 발생한다.

Back-End/Linux 2024.09.16

[Bandit] Level1 → Level2: cat(파일명이 특수기호)

풀이다음 레벨로 이동하기 위해 exit명령어를 입력하여 SSH 연결을 해제한다. 아래와 같이 입력하여 ssh를 접속한다. password는 ZjLjTmM6FvvyRnrb2rfNWOZOTa6ip5If 이다.ssh bandit1@bandit.labs.overthewire.org -p 2220 홈 디렉터리로 이동하기 위해 아래와 같이 입력한다. 현재 위치에 있는 디렉토리 또는 파일은 - 인 것을 확인할 수 있다. 파일이름이 -와 같은 특수문자는 앞에 또는 ./로 입력하여야 확인할 수 있다.  정리cd(change directory)디렉토리를 이동할때 사용하는 명령어 예시1. 특정 디렉토리로 이동cd /home/user/Documents 2. 상위 디렉터리로 이동cd .. 3. 홈 디렉터리로 이동cd ~ 홈디..

Back-End/Linux 2024.09.16