전체 글

실습에 앞서 공부하면서 정리하여 부족한 부분이 많습니다. 구축 환경은 다음과 같습니다. - VMware workstation 17 pro in Windows OS - Ubuntu 22.04 LTS 프로젝트 생성 처음 OpenStack을 브라우저에서 실행할 때는 아이디는 admin, 패스워드는 이전 OpenStack 설치 시 local.conf 파일에서 설정한 패스워드로 로그인합니다. 첫 로그인 시 좌측 Project는 admin, 우측 User는 admin으로 설정되어 있습니다. 이제 Test1이라는 새로운 프로젝트를 생성하고, 이 프로젝트에서 User, Network 등을 추가 및 설정하여 환경을 구축해 나갑니다. [인증] → [프로젝트] → [프로젝트 생성]에서 프로젝트 이름을 설정한 후 [프로젝트 ..
사전 준비 이전 실습에서 0.0.0.0의 IP주소와 8000포트로 선언해주었다. 다음 주소로 실행하면 이와 같이 연결이 잘 수행되고 있는 것을 확인할 수 있다. 0.0.0.0:8000 이제 index.html이라는 기본 페이지를 수정하고자 한다. 방법은 크게 두 가지로 나눌 수 있다. 직접 Container 안에 접속하여 html 파일을 수정하거나, 호스트와 컨테이너의 파일 시스템과 매핑한 후 호스트에서 작업을 하는 것이다. Container 에 접속하여 파일 수정 직접 Container 안에 접속한 후, 쉘로 접근하여 파일을 직접 수정할 수 있다. TestWS1 컨테이너를 실행하고, 쉘로 작업하기 위한 명령어를 실행한다. docker start TestWS1 docker exec -it TestWS1 ..
Docker란? Go언어로 작성된 리눅스 컨테이너 기반으로하는 오픈소스 가상화 플랫폼이다. 우리에게 익숙한 가상화 플랫폼인 VMware와 VirtualBox는 호스트 OS위에 게스트 OS 전체를 가상화하여 사용하는 방식이다. 이 방식은 여러가지 OS를 가상화할 수 있고 비교적 사용법이 간단하지만 무겁고 느려서 운영환경에선 사용할 수 없다. 이와 달리 도커는 OS가 아닌 프로세스를 격리 하는 방식이다. 리눅스에서는 이 방식을 리눅스 컨테이너라고 하고, 단순히 프로세스를 격리시키기 때문에 가볍고 빠르게 동작한다. CPU나 메모리는 딱 프로세스가 필요한 만큼만 추가로 사용하고 성능적으로도 거의 손실이 없다. 여러 개의 컨테이너들을 동시에 구동해도 서로 영향을 미치지 않고 독립적으로 실행되기 때문에 마치 가벼운..
CVE - 알려진 공통 취약점 ex) 로그인 페이지에 문자열 필터링 기능이 없어 SQL Query 문을 이용하여 데이터베이스를 탈취 CWE - 소프트웨어 취약점 목록 ex) 로그인 페이지에 문자열 필터링 CCE - 소프트웨어 취약한 설정, 구성에 대한 점검 - 소프트웨어 보안 강화 구성 (하드닝) ex) apache2 index of / 클라우드 주요 보안 위협 1. 데이터 유출/손실 - 데이터에 대한 삭제, 수정, 손실 - 암호화키에 대한 분실 또는 도난 - 인증 및 엑세스 제어의 부적절한 인증으로 클라우드 데이터에 대한 불법적 접근 2. 클라우드 서비스의 공격 - 공격자는 클라우드 서비스에 대한 익명 엑세스 후 다양한 연속적 공격 수행 ① 암호 및 암호화 키에 대한 크랙 ② CAPTCHA 우회 시도 ..
데이터 링크 계층의 역할과 기능 1. 데이터 링크 계층의 역할 TCP/IP의 2계층인 데이터 링크 계층(Data Link)은 물리 계층의 있는 그대로의 전송 설비를 신뢰할 수 있는 링크로 변환합니다. 이는 상위 계층인 네트워크 계층에게 오류 없는 물리 계층으로 보이도록 합니다. 논리적 연결제어를 담당하는 LLC(Logical Link Control)/DLC(Data Link Control)와 장비 간의 물리적인 접속을 담당하는 MAC(Media Access Control)의 두 서브 계층으로 나뉘어집니다. 2. 데이터 링크 계층의 기능 ① 물리 계층에서 전송하는 비트에 대한 비트 동기 및 식별 기능 ② 흐름 제어 기능 보내는 측과 받는 측 사이의 속도 차이를 보장하여 원활한 데이터의 전송을 돕습니다. ③..
본 실습은 이전 포스팅에서 가상환경으로 구축한 pfSense 방화벽과 윈도우 호스트(192.168.30.3)에서 진행한다. 목표는 가상환경이 아닌 PC의 구글 브라우저에서 가상환경에 구축한 윈도우 7 호스트인 192.168.30.1:80으로 접근하는 것이다. pfsense 에서 기본적으로 개인 네트워크 용으로 사용된 IP주소들을 차단하기 때문에, 실습에 앞서 WAN 첫번째 룰의 설정부분의 아래 Block private networks and loopback addresses를 체크 해제 후 [save] → [apply] 한다. WAN으로 들어오는 패킷은 다음과 같다. 이때 포트 번호는 임시로 할당한다. 출발지: 192.168.0.1 목적지: 192.168.0.130:44444 이 패킷이 방화벽을 통과하여..
사전 설정 네트워크 어댑터(Network Adapter)란 서버, 근거리 통신망(LAN) 또는 네트워크 장치를 통해 컴퓨터끼리 서로 통신할 수 있게 하는 하드웨어 구성요소이다. 실습에 앞서 pfSense용 Ubuntu 가상환경을 만든 후, LAN 인터페이스의 IP를 Virtual Network Editor 프로그램을 통해 설정한다.(VMnet1)  방화벽의 NIC는 외부로 나가는 WAN과 내부로 가는 LAN 두개가 필요하다. 그러므로 가상환경에서 네트워크 어댑터를 추가적으로 설정해줘야 한다. 기본값인 NAT이 아니라 임의로 설정한 LAN인 VMnet1으로 변경해줘야 한다.  이후 pfSense 설치를 마치면 WAN과 LAN이 설정된다.  다음은 고정 IP를 선언해준다. NAT의 경우는 자동으로 설정되지만..
교착 상태란? 둘 이상의 프로세스들이 자원을 점유한 상태(Hold)에서 서로 다른 프로세스가 점유하고 있는 자원을 요구(Request)하며 무한정 기다리는 현상입니다. 교착 상태 발생 조건 다음 네 가지 조건이 모두 만족되어야 Deadlock이 발생합니다. 1. 상호 배제 한 프로세스에 의해 점유된 자원을 다른 프로세스들이 접근할 수 없어야 한다. 2. 점유와 대기 최소한 하나의 자원을 점유하고 있으면서 다른 프로세스에 할당되어 사용되고 있는 자원을 추가 로 점유하기 위해 대기하는 프로세스가 있어야 한다. 3. 비선점 프로세스가 자원을 비선점하고 있기 때문이다. 비선점 자원은 그 자원을 이용하는 프로세스의 작업이 끝나야만 비로소 이를 이용할 수 있습니다. 즉, 어떤 프로세스도 다른 프로세스의 자원을 강제..
Blind SQL Injection DB 에러 페이지 등이 노출되지 않아 SQL Injection 취약점 존재를 판단하기 어려울 경우 사용되는 기법입니다. 참 쿼리와 거짓 쿼리를 삽입 후 페이지의 서로 다른 반응이 존재하는지 확인하는 방법으로, 참쿼리에 대한 반응과 거짓 쿼리에 대한 반응에 차이점이 존재할 경우 Blind SQL이 존재한다고 판단합니다. 주로 DB의 Table, Column 등 구조 파악 등 정보 유출의 위험성을 가지고 있으며, 공격자가 일일이 쿼리문을 변경해나가면서 응답하는 참/거짓을 보고 판단을 해야하기 때문에 공격에 대한 공수가 많이 드며, 직관적이지 않습니다. 실습 참 쿼리와 거짓 쿼리 하나씩 날려보겠습니다. 정자동' and 1 = 1 -- >> 참 정자동' and 1 = 2 --..
service, daemon 백그라운드에서 동작하는 기능을 관리하며, 부팅 시 자동으로 실행되는 프로세스 ① Windows: 서비스 ② Linux: 데몬 PCB(Process Control Block) 한정된 CPU 자원을 프로세스에게 배분하고, 프로세스의 실행 순서를 관리하는 자료 구조. (프로세스와 관련된 정보를 저장) 즉, 운영체제는 PCB를 통해 특정 프로세스를 식별하고, 해당 프로세스를 처리하는데 필요한 정보를 판단합니다. 그럼 PCB에 저장되는 정보는 무엇일까요? ① PID ② 레지스터 값: 해당 프로세스가 실행하며 사용했던 PC를 비롯한 레지스터 값들 ③ 프로세스 상태 ④ CPU 스케줄링 정보 ⑤ 메모리 관리 정보: 프로세스가 메모리에 저장된 주소 ⑥ 사용한 파일과 I/O Device 목록 ..
Younngjun
오늘의 공부