security/D. Network

[Network] 네트워크 교과서

xudegloss 2024. 3. 13. 14:52

1) 컴퓨터 네트워크 기초

- 캐스트 (통신 방식)

연결 지향형

비연결 지향형

 

- 주소

IP (논리 주소)

MAC (물리 주소)

 

- 전송매체

유선랜

무선랜

 

- 포트 번호

포트 번호 프로토콜 명
80 http
443 https
21 ftp
22 ssh
23 telnet
25 smtp
53 dns

 

2) TCP/IP의 기초 

network ID = prefix = subnet ID
host ID (네트워크 안에 해당하는 컴퓨터)

클래스 A = /8 (호스트 2^24 - 2개)
클래스 B = /16 (호스트 2^16 - 2개)
클래스 C = /24 (호스트 2^8 - 2개)

cf) netmask : 나누는 위치
VPN 터널
본사로 가기 위하여 next hop을 본사 게이트웨이로 잡거나, 지사의 기본 게이트웨이를 본사 게이트웨이로 설정
IPSec SSL
IP + Sec
인터넷 프로토콜 굉장히 취약 → 보안 강화 목적
Network 계층에서 동작
네트워크와 네트워크 간 연결
네트워크와 단말 간 연결
http 암호화 목적 (ssl은 키 필요하고, https는 인증서 필요)
Application 계층에서 동작

 

3) 유선랜의 기초

※ 이더넷 연결 구조

단말 NIC  커넥터 (예를 들면 RJ45) 케이블 (금속 혹은 광섬유)
1) 전이중 : 동시에 송, 수신 가능
2) 반이중 : 송, 수신 번갈아 가면서 진행

 

- 스위치 동작 과정

## 패킷의 src 확인 후 dst 확인 진행 ##
1) 스위치 테이블에 해당 ip에 대한 port가 있는 경우
- frame의 src ip가 스위치 테이블에 있는지 확인 (없는 경우 port, ip 추가)
- frame의 dst ip가 스위치 테이블 有 → 스위치 테이블 참고하여 해당 port로 전송

2) 스위치 테이블에 해당 ip에 대한 port가 없는 경우 (새로운 단말 추가되는 경우 등)
- frame의 src ip가 스위치 테이블에 있는지 확인 (없는 경우 port, ip 추가)
- frame의 dst ip가 스위치 테이블 有 → Flooding 통하여 해당 ip에 맞는 port 찾아서, 전송 
- Self-Learning

 

- 고가용성 목적 (Single Point of Failure 방지 목적)

1) 이중화 → active, standby (cold, warm, hot)
2) 다중화 → (n+1) 구성
3) 부하 분산 구성
4) 네트워크 다중화 → STP
5) 라우터 다중화 → VRRP

 

4) 인터넷과 네트워크 서비스

- 인터넷 구조

Tier-1 ISP
Tier-2 ISP
Tier-3 ISP → 통신사
단말

 

- NAT vs NAPT

1) NAT : 동시에 2대가 통신 불가 (공인 IP 1개이기 때문에)
2) NAPT : 동시에 2대 이상 통신 가능 (공인 IP 1개, 그러나 송신지 port 다르게 설정하면 됨)

 

- 도메인명

1) top-level domain
2) second-level domain
3) third-level domain

## DNS 동작 원리 ## 
## 예시) www.example.com ##
1) 단말이 cache 서버에 질의, 기록 남아 있는 경우에는 바로 ip 주소 제공 받음
2) cache 서버에 남아 있지 않은 경우, root DNS 서버에 요청
3) com의 DNS 서버에 요청하라고 응답
4) com의 DNS 서버에 요청하니, example.com 서버에 요청하라고 응답
5) example.com 서버에 요청하니, www.example.com 서버에 요청하라고 응답
6) www.example.com 서버에 요청하니, 해당 ip 주소 제공

 

- 웹 서비스

  • hypertext 안 hyperlink
  • url 통하여 위치 정보 확인 가능 (http, https ... +  도메인명 + 경로) 
## https://tinokim.tistory.com/226 ##
- https 프로토콜 이용
- 도메인명은 tinokim.tistory.com
- 경로는 226

5) 보안과 암호화 

- 정보보안 3요소 (CIA)

1) 기밀성 (Confidentiality) : 송, 수신자 제외하고는 정보에 대하여 알면 안 된다.
2) 무결성 (Integrity) : 정보의 내용이 변경되면 안 된다.
3) 가용성 (Availability) : 필요 시 항상 사용할 수 있어야 한다.

 

- 정보보안 3가지 대책 

1) 물리적 대책 : 시설 보안 (서버실 잠금, 서버실 들어갈 때 수기출입명부 작성 등)
2) 기술적 대책 : 기술적 보안 (보안 솔루션 설치 등)
3) 관리적 대책 : 인력 보안 (사내 교육, 감사 등)

 

- 보안 소프트웨어

보안 소프트웨어는 Malware 탐지 및 대응 목적
지식 기반 혹은 행위 기반으로 동작

 

- 공통키 vs 공개키, 비밀키

공통키 공개키와 비밀키
전달 시 없어질 가능성 有 → 보안 약화 무결성에 대한 확신 必 (/w 연쇄 효과와 전자서명)

 

송신자가 비밀키로 암호화하고 → 수신자가 공개키로 해당 내용을 복호화 진행하는데, 이 과정에서 "공개키" 의 무결성 검증이 필요하다. 사회적으로 인증되는 기관과 개인의 연쇄 효과와 전자서명을 통하여 공개키에 대한 무결성 검증을 한다.

 

- 연쇄 효과

개인 A B (사회적으로 신뢰를 얻은 기관)
1) 개인 → A 에게 공개키 전달
2) A → 개인에게 인증서 (전자서명) 전달
 
  3) A를 증명하기 위하여 A → B에게 공개키 전달
4) B → A에게 인증서 (전자서명) 전달

 

B는 사회적으로 신뢰를 얻은 기관이기 때문에, 연쇄 효과에 의하여 개인의 공개키도 전자서명서에 의하여 무결성이 보장된다.

 

- 해시 함수

정의) 평문 → 해시값 (/w 해시 함수)
목적) 정보의 무결성 체크

 

- 전자서명 (공개키의 무결성 보장)

## 송신자 → 수신자에게 정보 전달 과정 ##
1) 송신자가 문서를 해시 함수 통하여 해시값을 생성 (문서 무결성 체크 목적)
2) 만들어진 해시값을 암호화
3) 전자서명에 문서와 암호화된 해시값을 넣어서 전달
4) 수신자가 전자서명 받으면 공개키를 통하여 해시값 복호화
5) 문서를 "직접" 해시 함수를 통하여 해시값을 확인하여 복호화된 해시값과 비교
동일하다면 "무결성 검증"
C:\Users\xudeg>certutil -hashfile [대상 파일명] SHA256

 

- SSL/TLS 방식

SMTP, POP3, IMAP4 (평문 전송 → 보안 취약) →  + SSL/TLS 방식 → SMTPs, POP3s, IMAP4s

 

6) 무선랜의 기초

변조 복조
송신자가 정보 담는 과정 수신자가 정보 꺼내는 과정
데이터의 형태가 변경되는 과정 有

 

- 주파수와 파장 (반비례 관계)

  • 주파수가 낮고, 파장이 높은 경우 → 평평한 모양
  • 주파수가 높고, 파장이 낮은 경우 → 빽빽한 모양, 직진성이 강하고 장애물이 많은 경우 많이 부딪힘
  • 주파수는 겹치면 안됨 (단, 채널이 다른 경우 가능)

- 명령 프롬프트에서 네트워크 정보 확인

Microsoft Windows [Version 10.0.19045.4046]
(c) Microsoft Corporation. All rights reserved.

## 명령어 옵션 확인 ##

C:\Users\xudeg>netsh wlan show ?

다음 명령을 사용할 수 있습니다.

이 컨텍스트에 있는 명령:
show all       - 전체 무선 장치 및 네트워크 정보를 표시합니다.
show allowexplicitcreds - 공유 사용자 자격 증명 허용 설정을 표시합니다.
show autoconfig - 자동 구성 논리의 사용 여부를
                 표시합니다.
show blockednetworks - 차단된 네트워크 표시 설정을 표시합니다.
show createalluserprofile - 모든 사람에게 모든 사용자 프로필 만들기가
                  허용되는지 여부를 표시합니다.
show drivers   - 시스템의 무선 LAN 드라이버 속성을 표시합니다.
show filters   - 허용된 네트워크 목록과 차단된 네트워크 목록을 표시합니다.
show hostednetwork - 호스트된 네트워크 속성 및 상태를 표시합니다.
show interfaces - 시스템에 있는 무선 LAN 인터페이스 목록을
                 표시합니다.
show networks  - 시스템에서 볼 수 있는 네트워크 목록을 표시합니다.
show onlyUseGPProfilesforAllowedNetworks - GP가 구성된 네트워크에서만 GP 프로필 사용 설정을 표시합니다.
show profiles  - 시스템에 구성되어 있는 프로필 목록을 표시합니다.
show randomization - MAC 임의 지정이 사용되는지 또는
                 사용되지 않는지를 보여 줍니다.
show settings  - 무선 LAN의 전역 설정을 표시합니다.
show tracing   - 무선 LAN 추적 사용 여부를 표시합니다.
show wirelesscapabilities - 시스템의 무선 기능을 보여 줍니다.
show wlanreport - 최근 무선 세션 정보를 보여 주는 보고서를 생성합니다.

## 인터페이스 정보 확인 ##

C:\Users\xudeg>netsh wlan show interfaces

시스템에 1 인터페이스가 있습니다.

    이름                   : Wi-Fi
    설명                   : Intel(R) Dual Band Wireless-AC 8260
    GUID                   : c07974e7-2883-4eab-b3a4-fe20fd8a4e43
    물리적 주소            : c0:b6:f9:d1:a3:8a
    상태                   : 연결됨
    SSID                   : EB8298EB8BA42E
    BSSID                  : c6:83:3f:74:3b:d2
    네트워크 종류          : 인프라
    송수신 장치 종류       : 802.11ac
    인증                   : WPA2-개인
    암호                   : CCMP
    연결 모드              : 자동 연결
    채널                   : 149
    수신 속도(Mbps)        : 433.3
    전송 속도(Mbps)        : 433.3
    신호                   : 91%
    프로필                : 나다.

    호스트된 네트워크 상태  : 사용할 수 없음

## 네트워크 정보 확인 ##

C:\Users\xudeg>netsh wlan show networks

인터페이스 이름: Wi-Fi
현재 1개 네트워크를 볼 수 있습니다.

SSID 1 : EB8298EB8BA42E
    네트워크 종류            : 인프라
    인증          : WPA2-개인
    암호화              : CCMP

## 네트워크 정보 확인 시 사용할 수 있는 옵션 확인 ##

C:\Users\xudeg>netsh wlan show networks ?

사용법: show networks [[interface=]<문자열>] [[mode=]ssid/bssid]

매개 변수:

    태그             값
    interface     - 이 프로필이 구성된 인터페이스의 이름.
    mode          - 자세한 bssid 정보를 가져옴.

참고:

    시스템에서 사용할 수 있는 네트워크를 표시.
    interface와 bssid는 모두 선택적 매개 변수임.

    인터페이스 이름을 지정하는 경우에는 해당 인터페이스에 있는 네트워크만
    나열됨. 인터페이스 이름을 지정하지 않으면 시스템에서 볼 수 있는
    모든 네트워크가 나열됨.

    mode=bssid를 지정하는 경우에는 각 ssid에 대해 표시되는
    bssid도 나열됨. 그렇지 않은 경우에는 ssid만 나열됨.

예:

    show networks interface="무선 네트워크 연결"
    show networks mode=Bssid
    show networks

## BSSID 모드인 네트워크 확인 ##

C:\Users\xudeg>netsh wlan show networks mode=BSSID

인터페이스 이름: Wi-Fi
현재 1개 네트워크를 볼 수 있습니다.

SSID 1 : EB8298EB8BA42E
    네트워크 종류            : 인프라
    인증          : WPA2-개인 # 암호화 방식
    암호화              : CCMP
    BSSID 1                 : c6:83:3f:74:3b:d2
         신호             : 92%
         송수신 장치 종류         : 802.11ac # 사용 중인 송수신 장치 종류
         채널            : 149
         기본 속도(Mbps): 6 12 24
         기타 속도(Mbps): 9 18 36 48 54