Docker Port Docker Port컨테이너는 가상 머신처럼 가상 IP를 부여받는다. 도커에서는 기본적으로 172.17.0.x 를 순차적으로 할당한다.아무 설정도 하지 않았다면, 기본적으로 컨테이너는 도커가 설치된 호스트에서만 접근 가능하다. 컨테이너를 외부에서 접속하기 위해서는 -p 옵션을 사용하여 컨테이너의 포트를 호스트의 포트에 매핑해야 한다.형식은 [호스트의 포트]:[컨테이너의 포트] 이다.예를 들어, 호스트의 7777번 포트를 컨테이너의 80번 포트와 연결하려면 7777:80 과 같이 입력하면 된다.호스트의 특정 IP를 사용하려면 192.168.56.100:7777:80 처럼 바인딩 할 IP와 포트를 명시하면 된다.만약 여러 개의 포트를 개방하려면 -p 옵션을 여러 번 사용하여 설정하면 된다. 원래는 d.. Docker container 목록, 삭제 컨테이너 목록docker ps 명령어를 사용하면 실행중인 컨테이너들을 볼 수 있다.-a 옵션을 추가하면 정지된 컨테이너 포함 모든 컨테이너를 볼 수 있다CONTAINER ID : 컨테이너에 부여된 고유의 IDIMAGE : 컨테이너를 생성할 때 사용된 이미지COMMAND : 컨테이너가 시작될 때 실행될 명령어 /bin/bash기 때문에 -it로 터미널 사용이 가능했다.CREATED : 컨테이너가 생성되고 난 뒤 얼마나 지났는지 나타낸다.PORTS : 컨테이너가 개방한 포트와 호스트에 연결한 포트를 나타낸다.NAMES : 컨테이너의 이름이다 --name으로 지정하지 않으면 임의로 생성한다. docker rename으로 변경 가능하다. 컨테이너 삭제더 이상 사용하지 않는 컨테이너를 삭제할 때는 docker.. Docker 컨테이너와 이미지 Image이미지는 컨테이너를 생성할 때 필요한 요소이다. 가상 머신을 생성할 때 사용하는 iso 파일과 비슷하다고 할 수 있다.여러 개의 계층으로 이루어진 바이너리 파일로 존재하며, 컨테이너를 생성할 때 읽기 전용으로 사용된다.즉, 컨테이너를 생성하는데 사용되는 설계도인 셈이다. 이미지는 도커 명령어로 내려받을 수 있기 때문에 별도로설치하거나 할 필요는 없다.일반적으로 도커에서 이미지의 이름은 다음과 같은 형태로 구성된다.[저장소 이름]/[이미지이름]:[태그]Ex. exrepo/ubuntu:14.04Ex. ubuntu:latest저장소 : 이미지가 저장된 저장소를 의미한다. 도커에서 기본적으로 제공하는 도커 허브의 공식 이미지일 경우, 저장소 이름을 생략 가능하다.이미지 이름 : 이미지가 어떤 역할을 하.. Docker 설치 Docker 설치 https://docs.docker.com/engine/install/ InstallLearn how to choose the best method for you to install Docker Engine. This client-server application is available on Linux, Mac, Windows, and as a static binary.docs.docker.com공식 Docs 페이지를 참고하여 해당하는 운영체제에 맞게 설치한다. Ubuntu 기준1. 충돌 가능한 패키지 제거#충돌하는 모든 패키지를 제거 for pkg in docker.io docker-doc docker-compose docker-compose-v2 podman-docker con.. Docker Docker?리눅스 컨테이너에 여러 기능을 추가하여 애플리케이션을 컨테이너로서 쉽게 사용할 수 있도록 만들어진 오픈소스이다.기존 솔루션인 가상 머신과 달리 도커 컨테이너는 성능의 손실이 거의 없어서 차세대 클라우드 인프라 솔루션으로서 많은사랑을 받고 있다. Go 언어(구글에서 개발한 언어)로 작성되어 있다. 가상 머신과의 차이점?기존 가상화 기술은 하이퍼바이저를 이용해 여러 운영체제(Guest OS)를 하나의 호스트에서 생성하여 사용하는 방식이었다. 이러한 운영체제는 가상 머신이라는 단위로 구별되었고 이러한 가상 머신은 다른 가상 머신과완전히 독립된 공간과 시스템을 할당받아 사용한다. 대표적인 가상화 툴로 Virtual Box, VMware 등이 있다.즉, 완벽한 운영체제를 생성할 수 있다는 장점이.. Architecture - 2 저장 동작S3 : 어플리케이션에서 이미지 저장 시 이미지가 업로드 된다.Mongo DB Atlas : 어플리케이션의 데이터가 저장되는 Database역할을 한다. 모니터링ECS 클러스터의 각 EC2 인스턴스 내부의 Filebeat가 어플리케이션의 로그를 Elastic Search 로 보낸다.일반적으로 ELK( Elastic Search, Logstash, Kibana ) 로 사용된다.Filebeat : 로그 수집 및 전송Elastic Search : 로그 저장, 검색, 분석Kibana : 데이터 시각화 이와 같은 ECS 컨테이너 로그를 Filebeat가 수집하여 퍼블릭 서브넷의 인스턴스로 전송한다. 이처럼 로그를 받아 Elastic Search가 분석하고, Kibana가 시각화를 한다. Ro.. Simple 3-Tier Architecture Project Step 2 (구현) 이전 게시물에서 3Tier란 무엇인가와, 클라우드 환경에서 3Tier를 구현하면 얻을 수 있는 장점에 대해 알아보았다.이제 구현을 하기 위해 간단한 웹 어플리케이션을 개발한다.언어는 Python, 프레임워크는 Django를 사용하였다. 1. 웹 어플리케이션 구현Application Code => https://github.com/KimHyoSeob/3tier-was# Django 개발 시 주의점!# Django는 DEBUG=False로 설정 시 정적 파일을 제공하지 않기 때문에# Web티어에서 Nginx 등으로 제공하여야 한다. 2. Local VM 환경에서 테스트클라우드 환경으로 마이그레이션 하기 전에 OracleVM을 이용하여 3Tier 환경에서 테스트를 한다. 각 머신 별로 다음과 같은 과정.. Simple 3-Tier Architecture Project Step 1 (3tier 구조 및 Cloud 환경) 3Tier란?3tier란 뭘까? 왜 3Tier가 어떤 면에서 이득이기에 3Tier 구성을 하는가?다음 사진을 보면 기본적인 3Tier의 구조이다. 1. Presentation Tier (표현 계층)웹 페이지에서 들어가면 가장 먼저 보이는 정적 계층이다. 정말 단순히 사용자와 상호작용 하기 위해서 존재하는UI 등을 말한다. 보통 흔히 웹 코딩 공부를 할 때 사용하는 HTML, CSS, JavaScript 등이 이곳에서 사용된다.즉, 쉽게말해 사용자가 웹 어플리케이션을 원활하게 사용할 수 있도록 User에게 보여주는 계층이다.한마디로 HTML, CSS, JavaScript로 구현된 웹 페이지, 모바일 애플리케이션의 화면 이 Presentation Tier인 것이다. 2. Logic Tier (논리 계층)어.. WPA / WAP2 해킹 WPA와 WPA2의 차이점WPA (Wi-Fi Protected Access):암호화 방식: TKIP (Temporal Key Integrity Protocol)보안: WEP보다 안전하지만, WPA2보다는 약함.WPA2:암호화 방식: CCMP (Counter Mode with Cipher Block Chaining Message Authentication Code Protocol)보안: WPA보다 더 강력한 보안을 제공함.두 프로토콜 모두 WEP의 취약점을 보완하기 위해 만들어졌으며, 둘 다 기본적인 크랙킹 방법은 동일하다. 방법1. WPS의 PIN 이용 WPS (Wi-Fi Protected Setup) 란?WPS는 기기들이 Wi-Fi 네트워크에 쉽게 연결될 수 있도록 돕는 기능이다. 보통 프린터.. WEP 해킹 WEP 이란? Wired Equivalent Privacy 의 줄임말로 보안 취약점 때문에 최신 기기들에서는 쓰지 않는 보안 프로토콜이다.RC4 알고리즘을 사용한다.과정은 다음과 같다.클라이언트가 라우터에 데이터를 보내려고 한다.암호화 하기 위해 패킷마다 고유한 키를 생성한다.키를 생성하기 위해 24비트의 랜덤 IV(초기화 벡터)를 만든다.RC4 알고리즘이 네트워크의 비밀 키와 IV를 사용해서 키 스트림을 만든다.전송할 데이터를 키 스트림과 XOR 연산을 통해 암호화 한다.암호화된 데이터 + IV(복호화 할 때 필요하기 때문) 을 전송한다.라우터는 수신한 패킷에서 IV를 추출해서 키 스트림을 생성한다.이때, 네트워크의 비밀 키는 이미 알고 있기 때문에 IV만 받아도 동일한 키 스트림을 생성할 수 있다... 패킷 스니핑 - 연결 해제 공격 연결 해제 공격 이란?다른 네트워크에 속한 기기의 연결을 해제하는 공격이다.이때, 비밀번호는 몰라도 되기 때문에 아주 간단하다.이론상 과정은 다음과 같다.Mac 주소를 클라이언트의 것으로 바꾼다. (Mac주소를 변경하여 해당 기기를 사칭)해당 기기가 연결된 라우터에 연결 해제를 명령한다.Mac 주소를 라우터의 Mac주소로 바꾸어 연결해제 요청을 받아 연걸을 해제한다고 클라이언트에게 알려준다. 즉, 해당 기기를 사칭해 연결해제신호를 보내고, 다시 라우터를 사칭해 기기에게 연결을 해제한다고 하는것이다.사회공학 기법에서 유용하게 사용되는데, 대상 네트워크에서 클라이언트 연결을 해제하고사용자를 호출해서 IT부서 직원인 척 행세할 수도 있다. 이렇게 백도어나 바이러스를 설치하거나다른 액세스포인트로 접속하게 하여 .. 패킷 스니핑(PACKET SNIFFING) 기초 패킷 스니핑 이란?네트워크를 통해 전송된 패킷을 가로채고 분석하는 기술이다.유선의 경우 : 프로미스큐어스 모드를 활성화하여, 네트워크 인터페이스 카드 자신에게 직접적으로 주소가 지정되지 않은 모든 패킷을 캡쳐한다.무선의 경우 : 모니터모드를 활성화하여, 네트워크 인터페이스 카드가 범위의 모든 패킷을 캡쳐한다.현재 무선 랜카드 사용중이기 때문에 후자를 기준으로 한다. 예시airodump-ng [interface name] 을 사용해 캡쳐를 시작한다.이와 같은 화면을 볼 수 있다ESSID : 주변 네트워크의 이름을 보여준다. (ex. KT-GIGA2.4G-1234)BSSID : 주변 네트워크의 Mac주소를 보여준다.PWR : 네트워크의 신호 강도나 세기를 의미한다.Beacons : 네트워크가 존재를 알.. 이전 1 2 3 4 다음