1. 네트워크 일반
(1) 네트워크 개념
▶ 거리에 따른 네트워크 유형
- PAN(Personal Area Network) : 3m 이내의 인접 지역간의 통신, 짧은 거리로 인해 유선보다는 무선의 WPAN으로 주로 활용
- LAN(Local Area Network) : 근거리 영역의 네트워크, 동일한 지역 내의 고속의 전송 회선으로 연결하여 구성, Client/Server와 Peer-to-Peer 모델, WAN보다 빠른 통신 속도
- WAN(Wide Area Network) : 광대역 네트워크로 LAN 간의 상호 연결망, LAN에 비해 에러율, 전송 지연 높음, 라우팅 알고리즘(두 목적지 사이의 최단거리) 중요
- MAN(Metropolian Area Network) : LAN과 WAN의 중간 형태의 네트워크, 전송매체는 동축 케이블, 광케이블
▶ 회선교환 방식과 패킷교환 방식
- 회선교환(Circuit Switching) : 교환기를 통해 통신 회선을 설정하여 직접 데이터를 교환하는 방식 (ex. 전화)
- 고정적인 대역폭을 사용하며, 대용량의 데이터를 고속으로 전송할 때 좋음
- 연결된 두 장치는 서로 전송률과 기종이 동일해야 송수신 가능
- 패킷교환(Packet Switching) : 송신측에서 모든 메시지를 일정한 크기의 패킷으로 분해/전송, 이를 수신측에서 원래의 메시지로 조립
- 고신뢰성, 고품질, 고효율
- 패킷별 헤더 추가로 인한 오버헤드 발생 가능
- 가상회선(Virtual Cicuit) : 패킷을 전송하기 전에 논리적인 연결을 먼저 수행
- 데이터그램(Datagram) : 각 전송 패킷을 미리 정해진 경로 없이 독립적으로 처리하여 교환하는 방식
▶ 네트워크 토폴로지
- 각 형태 별 장단점 알아놓기
- 계층형(트리형)
- 수평형(버스형)
- 망형(그물형)
- 성형(스타형)
- 원형(링형)
(2) OSI 7 Layer
1. 각 레이어의 기능 및 역할
▶ OSI(Open System Interconnection) : 국제표준화기구(ISO)에서 개발한 모델로, 컴퓨터 네트워크 프로토콜 디자인과 통신을 계층으로 나누어 설명한 것
▶ SDU(Service Data Unit) : 상향/하향 두 통신 계층 간에 전달되는 실제 정보(실제 데이터 단위량)
▶ PDU(Protocol Data Unit) : 동일 통신계층(Peer-to-Peer) 간에 운반되는 전체 데이터량(실제 데이터 + 운반 수단)
- PDU 구성 :
- PCI(Protocol Control Unit) : 헤더 정보(발신지 주소, 수신지 주소, 순서 번호, 오류검출용 FCS 등)
- SDU(Service Data Unit) : 실제 사용자 정보
▶ OSI 7 Layer
- 물리 계층(Physical Layer)
- PDU : Bit Stream(0과 1의 연속 / 전기적 신호)
- Protocol : Ethernet RS-232C
- Equipment : Repeater / Hub
- 데이터링크 계층(Datalink Layer)
- PDU : Frame
- Protocol : Ethernet / HDLC / PPP / ...
- Equipment : Bridge / L2 Switch
- 네트워크 계층(Network Layer)
- PDU : Packet
- Protocol : IP / ARP / ICMP
- Equipment : Router / L3 Switch
- 전송 계층(Transport Layer)
- PDU : Segment
- Protocol : TCP / UDP
- Equipment : L4 Switch, Gateway
- 세션 계층(Session Layer)
- 표현 계층(Presentation Layer)
- 입출력 데이터를 하나의 표현 형태로 변환 (이해할 수 있는 포맷으로 변환)
- Protocol : JPEG, MPEG, SMG, AFP
- 응용 계층(Application Layer)
- PDU : Data or Message
- Protocol : Telnet / HTTP / FTP / SSH ...
- Equipment : PC / Server / ...
2. 레이어별 네트워크 장비
▶ Physical Layer
- Cable : Twisted Pair Cable, Coaxial, Fiber-Optic Cable
- Repeater : 전기신호 증폭
- Hub : Repeater 기능 + Hub에 붙은 모든 장비로 신호 전달(이 때문에 Hub에 붙은 모든 장비는 하나의 Collision Domain)
▶ Data Link Layer
- Bridge : Frame의 MAC주소와 MAC Table을 참조해, 어떤 포트로 Frame을 재조립해 내보낼지 결정할 수 있는 장비
- Frame을 S/W로 처리되는 방식이기에 Switch보단 느림
- 모든 포트가 동일한 속도
- Store-And-Forward 방식만 사용
- Switch : Mac 주소와 포트 번호가 기록된 Mac Address Table를 가지고 있어, 목적지 MAC 주소를 가진 장비가 연결된 포트로만 프레임 전송
- Frame 처리 절차를 칩에 구워서 H/W적으로 구현(ASIC; Application Specific Integrated Circuit) 비교적 Bridge보다 빠름
- Repeater 기능 + Bridge기능
- 포트 별로 속도를 다르게 처리 가능
- Store-And-Forward / Cut-Through 방식 사용
▶ Network Layer
- Router : Packet의 목적지 IP를 보고 목적지와 연결된 인터페이스로 전송해줌(경로결정) / 네트워크 보안 / QoS
- L3 Swtich
▶ Transport Layer
- L4 Switch : 부하분산(트래픽 분산)
▶ Application Layer
- Gateway : 서로 다른 네트워크망과 연결, 패킷 헤더의 주소 및 포트 외 거의 모든 정보 참조
※ Store-And-Forward : 들어오는 프레임을 전부 일단 버퍼에 담아두고, 어러검출과 같은 처리를 완전히 수행한 후에 목적지를 향해 포워딩하는 스위칭 기법
※ Cut-Through : 수신된 패킷의 헤더 부분만 검사하여, 곧바로 스위칭하는 기법
(3) TCP/IP 일반
▶ TCP/IP Layer
- 1 Layer (Network Access Layer)
- 2 Layer (Internet Layer)
- 3 Layer (Transport Layer)
- 4 Layer (Application Layer)
- 관련 서비스 : FTP, DNS, HTTP, Telnet, SMTP, DNMP
▶ IPv4, IPv6 Addressing
- IPv4
- 네트워크 주소와 호스트 주소로 이루어진 32bit 주소 체계
- 네트워크를 A,B,C,D Class로 나누어 구분
- IP주소의 고갈로 기형적인 기술인 NAT와 DHCP, Subnet같은 기술 생성
- NAT(Network Address Translation) : 1개의 공인 IP로 다수의 사설 IP 통신 가능, 내부에 있는 IP 보안 가능
- Subnet : 네트워크를 Class로 나누는 체계가 아닌, 임의대로 Classless하게 네트워크를 나누는 기술
- DHCP(Dynamic Host Configuration Protocol) : 동적으로 IP를 할당하고 필요없는 IP를 회수하는 기술
- IPv4 Address Classes
-
- Class A : 0.0.0.0 to 127.255.255.255
- Class B : 128.0.0.0 to 191.255.255.255
- Class C : 192.0.0.0 to 223.255.255.255
- Class D : 224.0.0.0 to 239.255.255.255
-
- 데이터 전달 방법 : Unicast / Multicast / Broadcast
- 네트워크 주소와 호스트 주소로 이루어진 32bit 주소 체계
- IPv6
- IPv4의 주소 고갈의 대응책으로써 128bit의 주소 체계
- Header의 간소화로 라우팅이 빨라짐(IPv4와 IPv6의 Header가 다름)
- 데이터 전달 방법 : Unicast / Multicast / Anycast
▶ Subnetting 설계 및 활용
- Subnet Mask : IP주소에서 네트워크 주소와 호스트 주소를 구분하는 구별자 역할
- 비트열이 1이면 네트워크 주소 부분, 0이면 호스트 주소 부분
- CIDR(Classless Inter-network Domain Routing) : Subnet Mask 값을 십진수로 변환해 '/24/ 같이 IP주소 뒤에 붙여서 표현
- VLSM(Variable Length Subnet Mask) : 서로 다른 크기의 Subnet을 지원하고 필요한 호스트의 수를 계산해서 호스트의 수가 많은 Subnet을 먼저 계산하는 방식
- Supernetting : 여러 개의 네트워크를 하나의 네트워크의 주소로 묶는 것
- Subnetting : 하나의 네트워크 구소를 여러 개의 하위 네트워크 영역으로 분할하는 것 / 하위 네트워크를 Subnet이라 함
▶ 데이터의 캡슐화
- 캡슐화(Encapsulation) : 사용자 데이터가 각 계층을 지나면서, 상위 계층으로부터 온 데이터에 자신의 계층 특성을 담은 제어 정보를 헤더화 시켜 이를 결합하는 과정
▶ 포트주소 의미와 할당 원칙
- 포트 주소는 16bit의 정수 형태(0~65535)
- Well-known Port(0~1023) : 잘 알려진 서비스에 할당된 포트 주소
- FTP (TCP 20,21)
- SSH (TCP 22)
- Telnet (TCP 23)
- SMTP (TCP 25)
- DNS(TCP 35 / UDP 53)
- HTTP(TCP 80)
- POP3(TCP 110)
- NetBIOS(TCP 137,138,139)
- HTTPS(TCP 443)
- Registered Port(1024~49151) : 특정 프로그램에서 등록한 포트 주소
- Dynamic Port(49152~65535) : 임의로 사용하는 포트 주소
- Well-known Port(0~1023) : 잘 알려진 서비스에 할당된 포트 주소
▶ IP, ARP, IGMP, ICMP, UDP, TCP 등 각 프로토콜의 원리 및 이해
- IP(Internet Protocol)
- TPC/IP 네트워크에서 출발지, 목적지 IP 주소를 지정하는 프로토콜
- Packet의 목적지 주소를 보고 최적의 경로를 찾아 패킷을 전송해주는게 주된 역할
- 신뢰성이 없고 비연결 지향적임(신뢰성보다는 효율성에 중점)
- IHL(HLEN) : (Header의 길이/4)로써 Option이 없으면 20Byte이므로 5라는 값을 가짐
- Flags(3 Bits) :
- Reserved(Must be zero)
- DF(Don't Flagement) : Datagram의 분할을 방지
- MF(More Flagment) : Datagram이 분할될 때 마지막 조각이면 0, 아니면 1
- ARP(Address Resolution Protocol)
- IP주소를 MAC 주소로 변환하는 표준 프로토콜
- 해당 IP주소가 동일 네트워크에 있음 : 해당 목적지의 MAC 주소
- 해당 IP주소가 외부 네트워크에 있음 : Router의 MAC 주소
- ARP Request는 Broadcast, ARP Reply는 Unicast
- ARP 한 번 찾은 MAC주소를 ARP-Cache에 일정 기간동안 IP주소-MAC주소 형태로 보관함
- ARP-Cache 확인 : arp -a
- ARP-Cache 생성 : arp -s <IP주소> <MAC주소>
- ARP-Cache 삭제 : arp -d <IP주소>
- 취약점 : 무조건 응답 수용함(요청하지 않은 응답도 수용해버림)
- 이런 취약점을 노린 공격을 ARP Cache Posisoning이라 함
- IP주소를 MAC 주소로 변환하는 표준 프로토콜
- RARP(Reverse ARP)
- MAC주소를 IP주소로 변환하는 표준 프로토콜
- ICMP(Internet Control Message Protocol)
- IP의 특징인 비신뢰성과 비연결성의 한계를 보완하기 위해, 노드 간의 에러사항이나 통신 제어를 위한 메시지를 보고 할 목적으로 만들어진 프로토콜
- 에러를 Report할 뿐, 해결하는 기능은 없음 / 대표적인 프로그램으로 PING이 있음
- ICMP는 TCP/UDP Header가 필요없고 IP Header와 IP Data 부분에 ICMP 메시지를 포함해서 보냄
- ICMP 메시지의 종류(일부만)
- Type 8 : Echo Request
- Type 0 : Echo Reply
- Type 3 : Destination Unreachable (CODE 영역에 원인 설명)
- Type 4 : Source Quench(Flow Control 할 때, 전송속도 줄이라는 의미)
- Type 5 : Redirect ; Route를 변경하라는 메시지
- Type 11 : Time Exceeded
- IGMP(Internet Group Management Protocol)
- 멀티캐스트 그룹을 관리하기 위한 프로토콜(멀티 캐스트 멤버 가입, 수정, 탈퇴)
- 멀티캐스트 호스트와 라우터 사이에서 동작하게 됨(같은 네트워크에서만 동작함 / TTL1)
- TCP(Transmission Control Protocol)
- Transport Layer의 프로토콜로써, 신뢰성과 연결 지향적 특징을 가짐
- 혼잡 제어와 흐름 제어 기능을 제공(Sliding Window) / 에러 제어도 가능(Checksum)
- 재전송 방법 : GO-Back-N 방법 (되돌아온 ACK 번호 이후의 것 전부 재전송)
- ICMP 프로토콜로 주기적으로 송수신 가능 여부 체크
- 클라이언트와 서버의 데이터 교환을 위해 TCP 3-Way Handshake를 통해 TCP Session을 확립해야 함
- TCP Header Flag
-
- URG : Urgent Pointer가 유효함
- ACK : 확인응답 필드에 확인응답번호(Acknowledgement Number)값이 셋팅됐음을 알림
- PSH : 버퍼링된 데이터를 가능한 발리 상위 계층 응용프로그램에 즉시 전달할 것
- RST : 연결확립(ESTABLISHED)된 회선에 강제 리셋 요청
- SYN : 연결시작, 회선개설 용도
- FIN : 연결해제, 회선종결 용도
- 에러제어(Error Control)
- FEC(Forward Error Correction)
- 수신받은 데이터에 에러가 없는지 확인
- 패리티 검사(Parity Check), 볼록합계 검사, 해밍코드(Hamming Code)
- BEC(Backward Error Correction)
- 수신측이 에러 검출 후 송신측에게 에러가 발생한 데이터 블록을 다시 전송 요청하는 방식
- Stop-and-Wait, Go-back-N, Selective Repeat ARQ, Adaptive ARQ
- FEC(Forward Error Correction)
- 흐름제어(Flow Control)
- 흐름제어 : 송수신 측 사이 전송 패킷의 양, 속도를 조절하여 네트워크를 효율적으로 사용
- 슬라이딩 윈도우(Sliding Window)
- 호스트 간에 송수신 혹은 수신할 수 있는 Size 정보를 제공
- Stop-and-Wait의 단점을 보완한 방식
- 불필요한 네트워크 부하 최소화
- 혼잡제어(Congestion Control)
- 송신 단말의 전송률을 제어하여 혼잡으로 인해 손실된 데이터를 재전송
- TCP Slow Start : TCP가 시작될 때 전송속도를 초기값부터 지속적으로 올리는 법
- 혼잡회피(Congestion Avoidance)
- UDP
- Transport Layer의 프로토콜로써, TCP와 달리 비신뢰성과 비연결지향적인 특징을 가짐
- Sequence Number와 Ack Number가 없어서 순서 제어와 흐름 제어가 불가능
- 따로 연결하는 과정이 없어서 빠른처리와 실시간성을 요구하는 서비스에 적합
▶ 데이터 전달 방식
- Broadcast
- Broadcast Domain(=Subnet) 범위 이내에 모든 시스템에 Frame을 보냄
- 외부로 나가면 Router 단에서 Drop
- Broadcast를 받은 시스템은 CPU가 Packet을 처리하도록 함(Broadcast가 많아지면 네트워크 트래픽도 증가하고, CPU 성능도 낮아짐)
- Broadcast Domain(=Subnet) 범위 이내에 모든 시스템에 Frame을 보냄
- Anycast
- IPv4의 Broadcast가 사라지고 IPv6에서는 Anycast로 대체
- Multicast
- 네트워크에 연결되어 있는 시스템 중, 일부분에게만 정보를 전송할 수 있는 것
- Router가 Multicast를 지원해야만 사용가능
- Multicast Group에 가입, 탈퇴시에 IGMP를 사용
- Unicast
- 정보 전송을 위해 Frame에 자신의 MAC와 목적지의 MAC을 첨부해 전송하는 방식
- 가장 많이 사용되는 방식으로, Broadcast와 달리 CPU 성능에 문제를 주지 않음
(4) Unix/Windows 네트워크 서비스
▶ DNS, DHCP, SNMP, Telnet, FTP, SMTP, HTTP 등 각종 서비스의 원리 및 이해
- DNS(Domain Name Service)
- Domain Name과 IP Address를 Mapping 시켜주는 거대한 분산 시스템
- Server-Client 기반으로 작동함
- Server : Primary Name Server / Secondary Name Server
- Client : Resolver
- DNS Query 종류
- Recursive Query : 요청받은 DNS Server에서만 Query 처리
- Iterative Query : 요청받은 DNS Server에 정보가 없으면, 다른 DNS Server에 반복적으로 Query해서 처리
- DNS 동작 순서
- Client : DNS Cache 확인 → Hosts 파일 확인 → Server로 Query
- Server : DNS Cache 확인 → Zone File 확인 → Iteractive Query / 해석 실패
- 취약점을 이용한 공격
- DNS Cache Poisoning
- DNS Spoofing
- DHCP(Dynamic Host Configuration Protocol)
- 네트워크 상의 IP 주소를 중앙에서 관리하고 할당하도록 해주는 프로토콜
- DHCP 동작과정
- Discover : Client가 DHCP Server를 찾음 (Broadcast)
- Offer : DHCP Server가 Client에게 제공할 수 있는 정보를 줌(Broadcast, 물론 시스템에 따라 Unicast인 경우도 있음)
- Request : Offer 받은 Client가 제공받은 정보를 사용하겠다고 DHCP Server로 알림
- Ack : DHCP Server가 확인 신호보냄
- 공격 유형
- DHCP Starvation : 공격자가 DHCP Server의 모든 IP를 할당 받아서 공격
- DHCP Spoofing : 공격자가 가짜 DHCP Server를 만들어 잘못된 네트워크 정보를 할당하는 공격
- DHCP Server를 인증할 수 없기 때문에 가능한 공격
- 공격에 성공하면, Gateway주소를 속여 Sniffing하거나 Pharming 공격을 할 수 있음
- SNMP(Simple Network Management Protocol)
- OSI 7 Layer에 속하며, TCP/IP 기반의 네트워크에서 네트워크 상의 각 Host에게서 정기적으로 여러 정보를 수집해 네트워크를 관리하기 위한 기술
- Master와 Agent로 구성됨
- Master : 관리 영역의 네트워크 상의 정보가 집중되는 장비(정보의 요청이 시작됨)
- Agent : 관리영역의 네트워크 상에서 관리되는 장비
- MIB(Management Information Base) : 각 Agent들이 가지고 있으며, Agent의 정보의 집합
- SMI(Structure of Management Information) : MIB 내의 변수들이 어떤 것인지 정의한 것
- 메시지 전달 방식
- Polling(UDP 151) : Manager to Agent
- Trap(UDP 162) : Agent to Manager
- 종류
- SNMPv1
- SNMPv2 : 현재 많이 사용(SNMPv1에다가 보안기능을 추가(DES/MD5))
- SNMPv3 : 구현의 복잡성 때문에 잘 사용되지는 X
- SNMP 통신이 가능하려면 다음과 같은 조건이 만족되어야 함
- SNMP의 Version 일치
- 서로 간의 Community 값이 일치해야 함(기본값 public ; 안전을 위해 변경 권장)
- PDU Type이 동일해야함 (값의 범위는 0~4)
- Telnet
- 원격 접속 프로토콜로써, 데이터가 평문으로 전달되기에 보안성이 떨어짐(TCP 23 Port)
- 보안성을 위해 SSH(Secure Shell ; TCP 22 Port)를 이용
- FTP(File Transfer Protocol)
- 원격 파일 전송 프로토콜(TCP 20/21 Port)
- 제어 접속 포트(TCP 21) 및 데이터 접속 포트(TCP 20)분리
- ftpuser에 등록된 사용자는 FTP 접근 불가
- 연결 방식
- Active 방식 / Passive 방식
- SMTP(Simple Mail Transfer Protocol)
- 인터넷 전자우편 표준 프로토콜(TCP 25 Port)
- Store-and-Forward 방식
- MTA(Mail Transfer Agent), MDA(Mail Delivery Agent), MUA(Mail User Agent)
- 다른 형식의 데이터를 전달하기 위해 MIME를 이용함(HTTP와 구성이 비슷)
- POP3
- TCP 110 Port, 메일서버에 접속해 저장된 메일을 내려받는 MDA 프로그램
- 메시지 수신 후 서버에서 해당 메일 삭제
- IMAP, IMAP3
- IMAP 143 Port, 메시지 수신 후 메일 서버에 원본 유지
- HTTP(Hypter Text Transfer Protocol)
- WWW(World Wide Web)로 시작되는 인터넷에서 웹 서버와 웹 클라이언트 사이에 문서를 전송하기 위해 사용되는 통신 프로토콜
- TCP 80 포트 사용
- State-less 프로토콜 : 요청이 있을 때 연결 후, 요청 처리 후에는 연결 종료
- HTTP Version 1.0
- 연결을 수행할 때 마다 3-Way Handshaking 기법 사용
- HTML 페이지를 수신 받고 완전히 연결 종료, 필요 시 다시 연결
- HTTP Version 1.1
- Keep Alive Connection : 연결을 종료하지 않고 유지
- 따라서, 서비스 요청 이후에 바로 연결을 종료하지 않고 연결 대기 이후 종료
- HTTP Version 2.0
- 더 빠른 데이터 처리 가능
- 멀티플렉싱(Multiplexing) : 동시 다발적 양방향 통신
- 헤더압축(Header Compression) : 헤더 정보를 1/3 수준으로 압축
- 서버푸시(Server Push) : 웹 서버가 웹 브라우저에게 필요한 데이터를 알아서 미리 전송
- HTTP 프로토콜 구조
- GET 방식 : 데이터를 URL에 포함시켜 전송, 전송 데이터 양 제한(2Kbyte or 4Kbyte)
- POST 방식 : 데이터를 Request Body에 포함시켜 전송, 전송 데이터 양 제한 X
- HTTP Header
- HTTP Request 시에 전달해야하는 정보 저장
- HTTP Body
- POST 방식의 Request 시에 Body에 파라미터의 정보를 넣고 전송
- 클라이언트 측의 정보 유지 방식
- Cookie
- 클라이언트 측에 상태 정보를 저장
- 쿠키 저장 시 종료 시점 설정, 설정 정보가 없으면 웹 브라우저 종료 시점에 종료
- Session
- 서버 측에 상태 정보 저장
- Cookie
▶ 라우팅 프로토콜 분류(BGP, OSPF, RIP 등)
- Distance Vector
- 최단 경로를 구하는 벨만 포드 알고리즘 기반
- 네트워크 변화 발생 시 인접한 라우터에 정기적으로 전달, 인접 라우터에서는 라우팅 테이블 정보 갱신
- 모든 라우터까지의 거리 정보 보관
- RIP, IGRP, EIGRP, BGP
- Link State
- 최소 신장트리를 구하는 다익스트라 알고리즘 기반
- 라우터와 라우터를 연결하는 Link 상태에 따라 경로 설정
- 라우터가 Network 변화 감지 시 링크 상태 변경 정보를 인접한 라우터에게 즉각 전달 후 저장
- 인접 라우터까지의 Link Cost 계산
- OSPF, IS-IS
▶ Workgroup과 Domain
- Microsoft에서 제공하는 효율적인 디렉토리 관리를 위한 네트워크 모델
- Workgroup
- 개별적인 관리모델로써, Workgroup 내의 시스템에 접근하려면 해당 시스템에 생성되어 있는 계정으로 인증받아야함
- 전체적인 관리가 어려우며 비율적임
- Domain
- 통합적인 관리모델로써, Workgroup의 크기가 커지면 각 시스템마다 계정을 생성해야하는 문제점을 고침
- Domain 내의 한 Server(DC ; Domain Controller)로 Domain 내이 모든 시스템의 사용권한 및 보안의 제어가 가능
- DC에서 계정을 관리하기에, 각 시스템마다 동일한 계정으로 접근이 가능해짐
- Domain의 각 시스템들은 다른 로컬 네트워크에 있을 수 있음
▶ 터미널 서비스 등 각종 원격 관리 서비스
- SSH(Secure Shell)
- 안전하지 않은 네트워크를 통해 원격 로그인하거나, 기타 안전한 네트워크를 이용하는데 안전한 쉘 프로토콜
- Windows Terminal Service
- mstsc(기본값으로 TCP 3389 Port)
- 보안을 위해 Port를 변경하는 것이 좋은
- GUI로 작업이 가능하다는게 특징(화면 동기화는 지원되는 X)
- 동시접근가능한 계정의 수가 존재
- mstsc(기본값으로 TCP 3389 Port)
▶ 인터넷 공유 및 NAT 원리, 활용
- 인터넷 공유(ICS ; Internet Connection Service)
- 한 시스템에 네트워크 인터페이스가 2개 이상 존재할 때, 인터넷에 연결된 하나의 네트워크 인터페이스를 통해 인터넷에 접속하는 방법
- ICS를 제공하는 시스템에서, DHCP를 통해 나머지 시스템에게 IP를 할당하고 NAT로 외부와 연결가능하게 함
- 즉, Windows 시스템을 하나의 Router로 이용하는 기술
- NAT(Network Address Translation)
- 사설 IP를 공인 IP와 Mapping하여 변환하는 프로토콜
- IP 주소의 고갈 / 설계의 효율성 / 보안의 강화 등의 이유로 사용함
- 종류
- Static NAT : 사설 IP와 공인 IP를 1:1로 할당
- Dynamic NAT : 공인 IP의 범위가 정해져있는 Pool에서 자동으로 공인 IP를 선택해서 사설 IP에 Mapping
- NAT-PAT(NATPort Address Translation) : NAT에 Port 주소를 Mapping해서 변환시키는 방법(Port Forwarding)
- 사설 IP를 공인 IP와 Mapping하여 변환하는 프로토콜
2. 네트워크 활용
(1) IP Routing
▶ IP Routing 종류 및 프로토콜
- IP Routing : 주어진 IP Packet을 목적지 주소까지 전달하는 것으로 전달 경로의 설정이 핵심
- Routing Table : 목적지 네트워크로 데이터를 전달하기 위한 경로 정보 Database
- Routing Table을 채우는 방법
- Connected : 직접 Interface에 연결된 장비의 정보를 학습
- Static Route : 관리자가 수동으로 목적지 네트워크에 대한 경로 정보를 입력해서 학습
- Dynamic Route : Routing Protocol을 이용해, 장비 간 경로 정보를 주고 받아서 정보를 학습
- Redistributed : 다른 Router와 정보 교환(Routing Protocol 간의 정보 교환)
- Static Routing
- Router(config) # ip rout <Destination Network IP> <Subnet Mask> <다음 Router IP>
- Default Routing : Routing Table에 없는 목적지의 경우 보내는 경로
- Router(config) # ip route 0.0.0.0 0.0.0.0 <Defult Router IP>
- Dynamic Routing
- Routing 경로가 Router와 Routing Protocol에 의해 설정이 되는 형태
- Unicast Routing Protocol
- IGP(Interior Gateway Protocol) ; AS 내부
- Distance Vector 방식(목적지 네트워크까지 갈 수 있는 경로 중, 최적의 경로 선택)
- RIP
- Link-State 방식(LSA를 통해 전체 토폴로지 구성 후에, 리크마다 값 매겨서 최적의 경로 선택)
- OSPF
- Distance Vector 방식(목적지 네트워크까지 갈 수 있는 경로 중, 최적의 경로 선택)
- EGP(Exterior Gateway Protocol) ; AS 간의
- Adavanced Distance Vector 방식
- BGP
- iBGP : 외부 AS의 경로를 내부에서 Routing
- eBGP : AS와 AS 사이에서 경로를 Routing
- BGP
- Adavanced Distance Vector 방식
- IGP(Interior Gateway Protocol) ; AS 내부
- Multicast Routing Protocol
- DVMRP
- MOSPF
- PIM
- Dense&Spares
- Routing Protocol의 우선순위
- Connected > ICMP redirect > Static > OSPF >RIP
- Routing Table을 채우는 방법
(2) 네트워크 장비 이해
▶ 랜카드, 허브, 스위치 및 브리지 기능
- LAN Card(NIC ; Network Interface Card)
- Point-to-Point 포폴로지 형태
- 신호 전달 방식 : Full Duplex / Half Duplex
- Hub
- 1계층 장비
- 신호 전달 방식 : Half Duplex
- CD(Collision Domain)를 확장시키지만, CSMA/CD 기법을 사용해 예방과 해결 가능
- Switch
- 2계층 장비
- 신호 전달 방식 : Half Duplex / Full Duplex (CD가 분리됨)
- Port마다 다르게 설정가능
- Bridge와는 달리 H/W 방식으로 Switching을 함
- Switching 하는 방식
- Stored and Forwarding : 전체 Frame 모두 받고 오류 검출 후 전달
- Cut-Through : Frame에서 목적지 주소만 보고 바로 전달
- Fragment-Free : Frame의 64Byte까지만 받고 검사 후, 바로 전달
- Flooding : 목적지 MAC주소가 자신의 MAC Table에 없거나, MAC Table이 가득차면 Hub처럼 동작
- Swtich jamming : MAC Table 가득 차게 만들어서, Hub처럼 동작하게 만들어 Sniffing하는 방법
- MAC Table
- Learning : 출발지 MAC 주소 확인 후, MAC Table에 없으면 저장
- Aging : MAC 주소 기억하는 시간
- Bridge
- 2계층 장비
- Switch와는 달리 S/W적으로 구현됨
- Swtiching하는 방식
- Sore and Forward
▶ VLAN 구성 및 관리
- VLAN(Virtual Local Area Network) : 물리적인 네트워크와 상관없이 논리적으로 네트워크를 분리하는 기술
- 기본적으로, VLAN 소속이 다르면 서로 통신이 불가능함(통신을 위해서 Router나 Routing Module이 필요)
- Switch 내부적으로 Frame에 VLAN 정보가 있는 Tag를 붙여서 내보내는데, VLAN 소속이 다르면 버림
- Switch의 모든 Port는 기본적으로 VLAN 1로 할당되어 있음
- VLAN이 설정된 Switch의 각 Port의 구분
- Port : 지정된 VLAN Tag 정보만 허용되는 Port (Host로의 연결에 사용)
- Trunk Port : VLAN Tag 정보를 확인 안하는 Port(다른 Switch와의 연결에 사용)
- Trunking Protocol
- 802.1Q : 표준 Protocol(Native VLAN 지원 O)
- ISL : Cisco Only Protocol(Native VLAN 지원 X)
- Native VLAN
- Trunk Port로 Frame이 나갈 때 특정 VLAN에 대한 정보를 Tagging 하지 않고 전달
- 예를 들어 Native VLAN이 2라면, VLAN 2인 Frame은 Tagging없이 전달
- Trunk Port로 Frame이 나갈 때 특정 VLAN에 대한 정보를 Tagging 하지 않고 전달
- VTP(VLAN Trunking Protocol)
- Cisco Only Protocol
- Trunk로 연결된 Switch들 간의 VLAN 설정 정보를 통합적으로 관리하기 위한 것
- VLAN 정보가 공유되는 네트워크를 도메인이라고 지칭
- VTP Mode
- Server Mode : VLAN 정보를 생성, 변경, 제거가 가능하며, 도메인 내에 퍼트리는 존재
- Client Mode : VLAN 정보를 받는 존재
- Transparent Mode : 도메인 내에 있지만, 자신만의 VLAN 정보를 생성하고 제거
(3) 무선통신
▶ 이동/무선통신 보안
- 무선랜 유형
- WPAN(Wireless Personal Area Network)
- 단거리 Ad-Hoc 방식 / Peer to Peer 방식 (노트북과 마우스 등)
- WLAN(Wireless Local Area Network)
- 일반적으로 우리가 말하는 Wi-Fi
- Half Duplex 방식으로 신호가 전달되므로 CSMA/CA로 충돌을 회피함
- WMAN(Wireless Metropolitan Area Network)
- 도시 규모의 지역에서 무선 광대역 접속 기능(WiMAX)
- WPAN(Wireless Personal Area Network)
- 무선랜 접속 방식
- Infrastructure Network
- 유선 네트워크와 무선 네트워크를 연결하는 AP(Access Point) 장비에 의해 외부통신이 지원되는 WLAN
- Ad-Hoc Network
- WLAN 장비 사이에서 직접 통신이 일어날 뿐, 외부와의 연결은 X
- Infrastructure Network
- WLAN 보안 설정
- WEP(Wireless Equivalent Privacy)
- RC4 암호화 알고리즘을 사용(RC4 자체가 알고리즘 자체에 취약점이 존재)
- 정적인 암호화 키를 사용하기에 도청에 약함
- WPA(Wi-Fi Protected Access), WPA2
- WEP의 문제점을 보완
- WPA : 인증(802.1X/PSK), 암호화(TKIP)
- WPA2 : 인증(802.1X/PSK), 암호화(CCMP) ; CMMP가 AES를 사용하는 거
- WEP(Wireless Equivalent Privacy)
(4) 네트워크 기반 프로그램 활용
▶ ping, Tracerout 등 네트워크 기반 프로그램의 활용
- Ping(Packet Internet Grouper)
- Traceroute(Windows는 tracert)
- IP의 TTL값 1씩 늘려가며 Time Exceeded 에러 메시지를 통해 목적지까지의 경로를 추적
- Unix/Linux : traceroute(UDP 생성)
- Windows : Tracert(ICMP Echo Request 생성)
- Firewalking : Linux의 traceroute를 이용해 방화벽에 도착하는 port 번호 조작하여 방화벽을 우회하는 기법
▶ Netstat, Tcpdump 등 활용
- Netstat
- 시스템에서 제공되고 있는 서비스 정보(현재 open되어 있는 port 정보) 확인
- netstat -an
- Tcpdump
- NIC로 입출력되는 트래픽을 사용자에게 출력해주는 분석 도구
- 추가
참고자료 :
'자격증 > 정보보안기사' 카테고리의 다른 글
[어플리케이션 보안] 인터넷 응용 & 데이터베이스 보안 (0) | 2021.03.09 |
---|---|
[네트워크 보안] 네트워크 기반 공격 기술 및 대응 기술 (0) | 2021.03.07 |
[시스템 보안] 클라이언트 보안 (0) | 2021.03.05 |
[시스템 보안] 서버 보안 (0) | 2021.03.04 |
[시스템 보안] 운영체제의 구조 및 이해, 관리 (0) | 2021.03.02 |
댓글