(관제 실무)
■ 네트워크 개요
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 주소
'SK 쉴더스 루키즈' 카테고리의 다른 글
[SK 쉴더스] 클라우드기반 시스템 운영/구축 실무 3일차 (1) | 2022.11.10 |
---|---|
[SK 쉴더스] 클라우드기반 시스템 운영/구축 실무 2일차 (0) | 2022.11.07 |
[SK 쉴더스] 클라우드 보안 5일차 (2) | 2022.09.30 |
[SK 쉴더스] 클라우드 보안 4일차 (0) | 2022.09.29 |
[SK 쉴더스] 클라우드 보안 3일차 (0) | 2022.09.28 |