정보보안 전문가를 꿈꾸며 작성하는 블로그입니다.

SK 쉴더스 루키즈

[SK 쉴더스] 클라우드기반 시스템 운영/구축 실무 1일차

minjoo 2022. 11. 1. 19:54

(관제 실무)

■ 네트워크 개요

1.1 네트워크 주소

- FQDN

- Port Number

- IP Address

- MAC Address

 

1.2 논리적 주소(3계층 주소)

1) IP address 구성

- Network ID + Host ID

2) Subnet Mask 기능

- IP Address의 Network ID와 Host ID 구분

ex) ID Address : 192.168.1.10 → Network ID : 192.168.1.0 (192.168.1.0망의 10번째 PC)

3) IP address & Subnet mask = Network ID 

 

1.3 내부망/외부망

- 송신자 : 데이터를 보내는 측 / 수신자 : 데이터를 받는 측

- 내부망 : 송수신자가 동일한 네트워크 ID를 사용

- 외부망 : 송수신자가 서로 다른 네트워크 ID를 사용

 

1.4 물리적 주소(2계층주소)

- Network Interface Card(NIC) 또는 Ethernet Card (LAN Card)에 부여된 주소

- 데이터링크 계층의 MAC 계층에 의해 사용되는 48비트의 하드웨어 주소

- MAC 주소(16진수 표현) : 00-40-D0-15-81-C5(식별번호+일련번호)

 

1.5 FQDN(Fully Qualified Domain Name, 7계층 주소) = DNS

- Host Name + Domain Name

ex) www.test.com  

 

* IP / MAC / FQDN Address

1) MAC address : 2계층 주소

- 제조회사 + 일련번호

2) IP address : 3계층 주소

- 네트워크 ID + 호스트 ID

3) FQDN address : 7계층

- 호스트명 + 도메인명

 

1.6 포트번호(4계층 주소)

- 데이터 송수신 번호

- 서비스 번호 또는 애플리케이션 번호

- 애플리케이션에서 부착해 전송

- Well-Known Port : 1~1023 (서버용 포트)

- Registered Port : 1024~49151

- Dynamic Port : 49152~65535 (클라이언트용 포트)

- 웹서버용 프로그램에 클라이언트용 포트를 부여할 수 있음

→ [웹서비스 주소 : 포트] 로 접속하도록 해야함(바뀐 포트번호를 공지해야 함)

→ 혼란을 야기할 수 있으므로 바꾸지 않는 것이 좋음

 

1.7 DNS / ARP

- DNS : text(문자주소)를 기반으로 IP 주소를 알려줌/IP를 기반으로 text(문자주소)를 알려주기도 함 → 양방향 조회

- ARP : IP 주소를 MAC 주소로 변환해줌 → 정방향 조회

- RARP : MAC 주소를 IP주소를 변환해줌 → 역방향 조회

- text를 기반으로 MAC 주소로 변환해주는 네트워크 서비스는 없음

 

2. 전송모드

(송신지 : 수신지)

1) Unicast - 1:1

- 전송데이터 + L4주소(수신지 port, 송신지 port) + L3주소(수신지 IP, 송신지 IP) + L2주소(송신지 MAC, 수신지 MAC)

- 클라이언트 측에서 웹브라우저를 띄우는 순간 포트주소가 결정됨(운영체제가 결정)

- 서버 주소와 DNS를 이용해 수신지 IP주소를 알아냄

- 수신지 IP주소와 ARP를 이용해 수신지 MAC 주소를 알아냄 

 

2) Broadcast - 1:m(불특정다수) - Virtual Address → 운영체제 설치와 동시에 세팅되는 값

* Broadcast IP 주소 :

- Limited Broadcast(local broadcast) : 255.255.255.255(현재 망 내부에서만 돌아감)

- Directed Broadcast : 192.168.1.255/24(분리된 망(비연속적 net)에서도 가능)

* Broadcast MAC 주소 : FFFF.FFFF.FFFF

→ 가상의 주소

→ 모든 기기가 같은 Broadcast 주소를 가지고있으므로 모든 기기에(불특정다수) 전송됨

- Port, IP, Mac 주소 자동으로 맵핑되므로 DNS, ARP 필요 x

 

3) Multicast - 1:n(특정다수) - 애플리케이션 운영을 위해 부여되는 가상의 주소

- 224~239.x.x.x (224~239로 시작)

ex) 192.168.1.255 : 192.168.1.0 망에 있는 모든 기기 → Multicast 주소는 아님

(Multicast 주소는 반드시 224~239로 시작)

- 특정 프로그램에 할당된 IP/MAC에 연결(특정 IP를 사용중인 다수)

* Multicast MAC 주소 형식 : 0100.5Enn.nnnn(앞 6자리(제조회사 번호) 고정)

- 앞 25bit : 고정번호, 뒤 23bit : 일련번호

→ 0100.5E로 시작한다고 해서 무조건 Multicast MAC 주소는 아님

(25번째 bit자리가 0이든 1이든 MAC주소는 같음)

 

* arp -a : arp 캐시 table 확인하는 cmd 명령어

- unicast, muliticast, broadcast 주소 확인 가능

 

3. ARP(Address Resolution Protocol)

- IP주소에 대응되는 MAC주소를 조회 변환해주는 서비스

* ARP 패킷 종류

1) ARP request 패킷

- 송신지가 수신지의 MAC 주소를 조회하기 위해 보내는 질의 패킷

- 브로드캐스트 방식

2) ARP reply 패킷

- ARP request에 대한 응답패킷

- 유니캐스트 방식

→ request와 reply를 주고받은 두 PC는 각각 ARP Cache Table에 서로의 MAC주소를 등록해놓음

* request를 보내지않았는데 reply가 온 경우) Arp Cache Table에 등록함 → ARP의 취약점

 

4. 계층별 장비

- Forwarding : 하나의 송신지 포트에서 하나의 수신지 포트로 트래픽 전송(Unicast 형식 전송)

- Flooding : 송신지 포트를 제외한 나머지 포트들로 트래픽 전송(Broadcast 형식 전송)

 

4.1 Switch : 2계층

- MAC Address를 기반으로 운영

- MAC Address Table (경로 DB) : 목적지 MAC주소, switch 출구번호 매핑

- MAB Address Table에 기록되어있는 경우 Forwarding, 기록이 없는 경우 Flooding 방식 이용

 

4.2 Router : 3계층

- IP Address를 기반으로 운영

- Routing Table(경로 DB) : Network ID로 구성(그룹 ip)

- routing table에 기록되어있는 경우 forwarding, 없는 경우 drop

* drop : 패킷 폐기

- router 관리자들은 패킷이 폐기되지않고 전송될 수 있도록 routing table을 관리

 

* MAC Address Table과 Routing Table에는 브로드캐스트 주소, 멀티캐스트 주소를 등록하지 않음

→ 스위치는 브로드캐스트 주소, 멀티캐스트 주소에 대해 Flooding 방식 이용

라우터는 브로드캐스트 주소, 멀티캐스트 주소 drop

 

4.3 Hub(dummy hub) : 1계층

- 경로DB가 없음 : 주소가 없음

- Flooding 방식만 이용

 

* cmd) displaydns 명령어로 dns cache 테이블 확인 가능

 

* 도메인주소만 이용해 접속하는 과정

1) DNS를 이용해 수신지 IP 주소 조회

2) 송신지의 서브넷마스크를 이용하여 수신지 내부망/외부망 확인

3) ARP를 이용하여 수신자 MAC주소 조회(ARP Cache Table 확인 후 없으면 ARP Request/Reply)

 

5. Media Translation

- 3계층 이상의 장비에서 처리

- 패킷이 출발지에서 목적지까지 가는 동안 3계층 장비를 거칠때마다 L2 헤더(프레임 헤더) 변경

- 3계층 주소(IP주소) 변환 없음

- 2계층 주소는 스위칭 환경에 따라 변환

 

6. 네트워크 장비

1) 게이트웨이

- 망과 망을 연결시켜주는 중계 장비

- 3계층 이상의 장비

- 라우터, 멀티레이어 스위치, 게이트웨이 전용 장비(방화벽)

 

7. 트래픽 흐름(내부망)

1단계) DNS를 이용하여 수신지 IP주소 조회

- DNS 캐시 조회(cmd) ipconfig /displaydns)

- Hosts.txt 파일 조회(windows\system32\drivers\etc\hosts)

- DNS 서버 이용

2단계) 송신자 서브넷 마스크를 이용하여 수신자가 존재하는 망 확인(내부망/외부망)

3단계) Gateway의 MAC 주소 조회

- ARP 캐시 조회

- ARP Request/Reply 전송

4단계) Media Translation 방법으로 수신지로 트래픽 전송


■ 스니핑 환경 구성

* WireShark를 이용한 Sniffing 환경 구성과 패킷 분석

- 패킷 스니핑(Sniffing) 또는 프로토콜 분석(Protocol analysis)툴

- 네트워크를 통해 전달되는 데이터를 수집하고 해석

 

* 패킷 수집과 패킷 분석

- 패킷 수집 : TCPdump / TShark

- 패킷 분석 : Wireshark 

 

1. 무차별모드(Promiscuous mode)

- 데이터 링크 계층과 네트워크 계층의 주소 필터링을 해제한 모드

- 주소 지정에 관계없이 호스트의 프로세서에 모든 패킷을 전달

- 패킷이 CPU에 전달되면 분석을 위해 패킷 스니핑 애플리케이션에 넘겨짐

- 유닉스 또는 리눅스) 'ifconfig eth0 promisc' 로 설정

- Windows) winpcap(또는 npcap) 설치로 무차별 모드 설정 가능

 

2. Packet Sniffing 환경

1) 허브 환경에서의 스니핑

- 허브를 통해 전송되는 트래픽은 해당 허브에 연결된 모든 포트를 통과(허브는 flooding 방식 이용)

2) 스위치 환경에서 스니핑 방법

- forwarding 방식일 경우 wireshark(sniffer)로 패킷이 넘어오지 않고 flooding 방식일 경우 패킷이 넘어옴

 

* 관제 범위를 넓히기 위해 사용하는 기술

1) 포트 미러링(port mirroring)

- 설정해놓은 포트에서 송수신되는 패킷을 받아옴
- 스위치 관리자가 설정

ex) 7번포트를 이용하는 패킷을 8번포트로 복사하는 설정

monitor session 1 source interface Fa0/7 

monitor session 1 destination

2) 허빙 아웃(hubbing out)

- 스위치 아래에 허브를 붙이고 허브에 관제 대상을 붙여서 관제

- 스위치 관리자에게 보고해야 함(관리자가 폐쇄시킬 수 있음)

3) 탭 사용(tapping)

- 스위치 아래에 TAP(장비)를 붙임

ex) Aggregated TAP

- 3개의 포트로 구성

- 양방향 트래픽을 스니핑하기 위한 물리적 모니터 포트를 하나만 갖고 있음

- TAP에 연결된 포트를 통하는 패킷이 모두 모니터링 포트에도 전송됨

- 스위치 관리자에게 보고하지 않아도 됨

 

 * TAP 종류

- Network TAP

- Port Aggregation TAP

- Link Aggregation TAP

- Regeneration TAP


■ TCP/IP 프로토콜 스택

1. OSI 7 참조모델

- 서로 다른 시스템간의 통신을 허용하기 위해 ISO(국제 표준 기구)에서 만든 OSI(Open System Interconnection) 모델

- network가 제공하는 여러 가지의 기능을 7개의 계층으로 나누어 식별

- 상위 3계층(Software 기능) : Application, Presentation, Session

- Middleware 기능 : Transport

- 하위 3계층(Hardware 기능) : Network, DataLink, Physical

1) 7계층 : Application

- UI 제공 / 데이터 생성

- 7계층 프로토콜 : HTTP, FTP, Telnet

2) 6계층 : Presentation

- 부호화(인코딩, 2진화) : UI를 통해 생성한 데이터를 2진코드로 변환(ASCII, UNICODE)

- 상위 계층에서 생성된 데이터가 너무 클 경우 압축화 : JPG, BMP, PNG

- 상위 계층에서 중요한 데이서 생성시 암호화 : DES

3) 5계층 : Session

- 양단간(Client&Server) 애플리케이션(서비스)에 연결설정(인증), 유지, 해지 : 세션값, 쿠키값 이용

- 5계층 프로토콜 : SSL

4) 4계층 : Transport

- 양단간에 가상회선 설정(3way handshaking), 유지, 해지

- 3way handshaking 수행(상호간 서비스 가능여부 확인)

- 가상회선 수립 : 서버 및 서비스가 활성화 되어있음을 의미

5) 3계층 : Network

- 라우팅 : 목적지로 가는 최적의 경로를 선정

* 라우터, 라우팅, 라우트의 차이

- 라우터 : 기기

- 라우팅 : 최적경로 선정 작업

- 라우트 : 최적경로

6) 2계층 : DataLink

- 전달(스위치) : Forwarding, Flooding → 스위칭이라고도 함

- 오류 검출 : 송신지 : 데이터+오류검출코드 전송 / 수신지 : 오류검출코드를 이용해 데이터 검사

   → 오류가 검출될 경우 수신자는 데이터 재전송 요청 x(단순히 오류 확인)

- 충돌 제어(매체접근제어) : LAN에서 같은 장비를 공유할 때 기기간 충돌이 일어나지 않도록 하기 위함

* LAN은 2계층 개념(스위치나 허브로 구성됨)

- LAN : 근접한 기기를 공유장비를 통해 연결(공유장비를 사용할만큼 서로 근접함)

* 라우터는 LAN 장비에 속하지않음(라우터는 3계층)

* csma/cd(IEEE 802.3) 기술이 들어있는 유선 LAN card : 이더넷 카드

→ 이더넷 카드로 구성된 망 : Ethernet LAN

* 무선 LAN Card : csma/ca(IEEE 802.11) 기술

7) 1계층 : Physical

- 상위 계층의 기능들을 물리적으로 변환해서 전송

 

2. TCP/IP 모델

- OSI 7 참조모델을 현역에 맞추어 변형(간소화된 모델)

- Application(Application, Presentation, Session 포함), Transport, Internet, Network Access의 4계층으로 구성

 

* 장비와 장비를 연결하는 중계장비는 높은 계층의 장비를 사용하지 않음(보통 1,2,3계층 장비)

→ 높은 계층의 장비를 사용할수록 딜레이 문제 발생

 

3. TCP/IP Protocol Stack

* 데이터의 앞에붙는 제어정보 : Header, 뒤에붙는 제어정보 : Trailer

* 4계층 3계층 이동시 붙는 제어정보 : 송/수신지 Port 번호

* 3계층 2계층 이동시 붙는 제어정보 : 송/수신지 IP 주소

* 2계층 1계층 이동시 붙는 제어정보 : 송/소신지 MAC 주소

* 상위계층에서 하위계층으로 전송되는 행위 : Payload

*  캡슐화 : Payload된 데이터에 통신에 필요한 제어정보를 부착하는 행위

- 송신자측에서 진행

- 상위계층에서 하위계층으로 내려갈 때 제어정보 추가

* 역캡슐화 

- 수신자측에서 진행

- 하위계층에서 상위계층으로 올라갈 때 제어정보 제거

 

3.1 PDU(Protocol Data Unit) - TCP/IP 모델 기준

- 계층별로 데이터를 부르는 이름

- 4계층 : Data

- 3계층 : Segment(Datastream) - 송/수신지포트번호

- 2계층 : Packet(Datagram) - 송/수신지 IP 주소

- 1계층 : Frame - 송/수신지 MAC 주소