[정보보안기사] 네트워크 보안 - 네트워크 일반
- 목차 -
1. 네트워크 일반
(1) OSI 7 Layer
① 각 레이어의 기능 및 역학
② 레이어별 네트워크 장비
(2) TCP/IP 일반
① IPv4, IPv6 Addressing
② 서브네팅 설계 및 활용
③ CIDR, LSM
④ 데이터의 캡슐화
⑤ 포트주소 의미와 할당 원칙
⑥ IP, ARP, IGMP, ICMP, UDP, TCP 등 각 프로토콜의 원리 및 이해
⑦ Broadcast 및 Multicast 이해
(3) Unix/Windows 네트워크 서비스
① DNS, DHCP, SNMP, Telnet, FTP, SMTP 등 각종 서비스의 원리 및 이해
② Workgroup과 Domain
③ 터미널서비스 등 각종 원격관리 서비스
④ 인터넷공유 및 NAT 원리, 활용
1. 네트워크 일반
(1) OSI 7 Layer
① 각 레이어의 기능 및 역할
▶ OSI(Oepn System Interconnection): 통신절차를 기능별로 구별해 놓은 국제 표준
▶ SDU(Service Data Unit): 동위 계층의 서비스 user 간에 논리적인 통신로를 경유하여 교환되는 데이터 단위
▶ PDU(Protocol Data Unit): SDU의 앞뒤에 Header나 Footer를 덧 붙이는 데이터 캡슐화 과정의 결과물
▷ PDU = Header + SDU + (Footer)
ⅰ. 1 Layer(물리 계층, Physical Layer)
▷ 통신 매체에 대해 전기적, 기계적인 인터페이스를 다루며, 접속 통신 및 접속 해제를 위한 과저을 포함한
데이터를 통신 매체와 조화할 수 있는 신호로 바꾼다.
▷ PDU : Bit Stream(0과 1의 연속 / 전기적신호)
▷ Protocol : None.
▷ Equipment : Repeater / Hub
※ 상세 설명 - https://yjshin.tistory.com/15?category=712833
ⅱ. 2 Layer(데이터링크 계층, Datalink Layer)
▷ 두 논리적 장치 사이의 데이터 수신과 송신을 담당하고 통신 회선의 전송에 대응하는 데이터 링크
프로토콜을 실행한다. 물리적 계층에서 발생하는 오류를 발견하고 수정한 기능을 맡고 링크의 확인,
유지, 단절의 수단을 제공한다.
▷ PDU : Frame
▷ Protocol : Ethernet / HDLC / PPP / ...
▷ Equipment : Bridge / L2 Switch
※ 상세 설명 - https://yjshin.tistory.com/17?category=712833
ⅲ. 3 Layer(네트워크 계층, Network Layer)
▷ 하나 또는 복수의 통신망을 통하여 컴퓨터나 단말 장치 등의 시스템 간에 데이터를 전송한다.
▷ PDU : Packet
▷ Protocol : IP / ARP / ICMP
▷ Equipment : Router / L3 Switch
※ 상세 설명 - https://yjshin.tistory.com/20?category=712833
ⅳ. 4 Layer(전송 계층, Transport Layer)
▷ 품질 차이 보충 및 노드간 데이터의 투과적인 전송 기능을 제공
▷ PDU : Segment
▷ Protocol : TCP / UDP
▷ Equipment : L4 Switch
※ 상세 설명 - https://yjshin.tistory.com/28?category=712833
ⅴ. 5 Layer(세션 계층, Session Layer)
▷ 데이터 전송을 하기 위해 기본이 되는 논리적 통신로를 제공, 대화 제어
ⅵ. 6 Layer(표현 계층, Presentation Layer)
▷ 암호화, 암호해독 기능, 응용계층에서 넘겨 받은 정보를 다른 시스템의 응용계층이 읽을 수 있도록 해줌
ⅶ. 7 Layer(응용 계층, Application Layer)
▷사람이 인식하고 응용 계층 아래의 표현 계층과 상호 작용할 수 있는 데이터와 그림을 사용자에게 제공
▷ PDU : Data or Message
▷ Protocol : Telnet / HTTP / FTP / ...
▷ Equipment : PC / Server / ...
② 레이어별 네트워크 장비
▶ Physical Layer
ⓐ Reapeater : 걍 전기신호 증폭
ⓑ Hub : Reapeater 기능 + Hub에 붙은 모든 장비로 신호 전달
(이 때문에 Hub에 붙은 모든 장비는 하나의 Collision Domain)
▶ Data Link Layer
ⓐ Bridge
▷ Frame의 MAC주소과 MAC Table을 참조해, 어떤 포트로 Frame을 재조립해 내보낼지 결정할
수 있는 장비
▷ Frame을 S/W로 처리되는 방식이기에 Switch보단 느림
▷ 모든 포트가 동일한 속도
▷ Store-And-Forward 방식만 사용
ⓑ L2 Switch
▷ 처리 가능한 패킷의 숫자가 큰 것, 허보보다 전송 속도가 개선된 것
▷ L2 스위치는 MAC 정보를 보고 스위칭을 하는 것
▷ Frame 처리 절차를 칩에 구워서 H/W적으로 구현
▷ 포트 별로 속도를 다르게 처리 가능(각각의 포트가 하나의 Collision Domain)
▷ Store-And-Forward / Cut-Through 방식 사용
▶ Network Layer
ⓐ Router
▷ Packet의 목적지 IP를 보고 목적지와 연결된 인터페이스로 전송해줌(경로결정) / 네트워크보안 / QoS
ⓑ L3 Swtich
▷ L3 스위치는 IP 정보를 보고 스위칭 하는 것 -> 라우팅 기능이 추가됨
▶ Transport Layer
▷ L4 스위치는 IP+Port를 보고 스위칭을 하는 것
▷ 부하분산(트래픽 분산) - 로드밸런싱
(2) TCP/IP 일반
① IPv4, IPv6 Addressing
ⅰ. IPv4
▶ 네트워크 주소와 호스트 주소로 이루어진 32bit 주소 체계
▷ 네트워크를 A, B, C, D Class로 나눠서 구분
▶ IP주소의 고갈로 기형적인 기술인 NAT와 DHCP, Subnet같은 기술이 생김
▷ NAT(Network Address Translation) : 사설IP와 외부IP(공인IP) 간의 변환
▷ Subnet : 네트워크를 Class로 나누는 체계가 아닌, 임의대로 Classless하게 네트워크를 나누는 기술
▷ DHCP : 동적으로 IP를 할당하고, 필요 없는 IP는 회수하는 기술
▶ 사설 IP(다음과 같이 권고되고 있음 / 네트워크 장비도 이렇게 세팅되있더라)
▷ Class A : 10.0.0.0 to 10.255.255.255
▷ Class B : 172.16.0.0 to 172.31.255.255
▷ Class C : 192.168.0.0 to 192.168.255.255
▶ Classful : Subnet 개념이 없는 것. 대표적인 라우팅 프로토콜로 RIPv1, IGRP
▶ Classless : Subnet 개념이 있는 것. 대표적인 라우팅 프로토콜로 RIPv2, EIGRP, OSPF, BGP 등
▶ 데이터 전달 방법 : Unicast / Broadcast / Multicast
ⅱ. IPv6
▶ IPv4의 주소 고갈의 대응책으로써 128bit의 주소 체계
▶ Header의 간소화로 라우팅이 빨라짐(IPv4와 IPv6의 Header가 다름)
▶ 데이터 전달 방법 : Unicast / Anycast / Multicast
② 서브네팅 설계 및 활용
ⅰ. Subnet Mask : IP주소에서 네트워크 주소와 호스트 주소를 구분하는 구별자 역할
▶ 비트열이 1이면 네트워크 주소 부분, 0이면 호스트 주소 부분
▶ CIDR(Classless Inter-network Domain Routing)
→ Subnet Mask 값을 십진수로 변환해 '/24' 같이 IP주소뒤에 붙여서 표현
▶ VLSM(Variable Length Subnet Mask) : 어떤 네트워크에서 다양한 길이의 Subnet Mask를 사용하는 것
ⅱ. Supernetting : 여러개의 네트워크를 하나의 네트워크의 주소로 묶는 것
ⅲ. Subnetting : 하나의 네트워크 주소를 여러 개의 하위 네트워크 영역으로 분할하는 것
③ CIDR, LSM
ⅰ. CIDR(Classless Inter-network Domain Routing)
→ Subnet Mask 값을 십진수로 변환해 '/24' 같이 IP주소뒤에 붙여서 표현
ⅱ. LSM
→ VLSM(Variable Length Subnet Mask) : 어떤 네트워크에서 다양한 길이의 Subnet Mask를 사용하는 것
④ 데이터의 캡슐화
ⅰ. 캡슐화(Encapsulation) :SDU에 Header나 Footer를 붙이는 행위
⑤ 포트주소 의미와 할당 원칙
ⅰ. 포트 주소는 16bit의 정수 형태(0~65535)
▶ Well-known Port(0~1023) : 잘 알려진 서비스에 할당된 포트 주소
ⓐ FTP(TCP 20 / TCP 21)
ⓑ SSH(TCP 22)
ⓒ Telnet(TCP 23)
ⓓ SMTP(TCP 25)
ⓔ DNS(TCP 53 / UDP 53)
ⓕ HTTP(TCP 80)
ⓖ POP3(TCP 110)
ⓗ NetBIOS(TCP 137 / TCP 138 / TCP 139)
ⓘ HTTPS(TCP 443)
▶ Registered Port(1024~49151) : 특정 프로그램에서 등록한 포트 주소
▶ Dynamic Port(49152~65535) : 임의로 사용하는 포트 주소
⑥ IP, ARP, IGMP, ICMP, UDP, TCP 등 각 프로토콜의 원리 및 이해
ⅰ. IP(Internet Protocol)
▶ TCP/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-Cahce생성 : arp -s <IP주소> <MAC주소>
▷ ARP-Cache삭제 : arp -d <IP주소>
▶ 취약점 : 무조건 응답 수용함(요청하지 않은 응답도 수용해버림)
▷ 이런 취약점을 노린 공격을 ARP Cache Posisoning이라 함
ⅲ. 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)
▶ 멀티캐스트 그룹을 관리하기 위한 프로토콜(멀티 캐스트 멤버 가입, 수정, 탈퇴)
▶ 멀티캐스트 호스트와 라우터 사이에서 동작하게 됨(같은 네트워크에서만 동작함 / TTL 1)
ⅵ. TCP(Transmission Control Protocol)
▶ Transport Layer의 프로토콜로써, 신뢰성과 연결지향적 특징을 가짐
▶ 혼잡 제어와 흐름 제어 기능을 제공(Sliding Window) / 에러 제어도 가능(Checksum)
▶ 클라이언트와 서버의 데이터 교환을 위해 TCP 3-Way Handshake를 통해 TCP Session을 확립해야 함
ⅶ. TCP Header Flag
▶ URG : Urgent Pointer가 유효함
▶ ACK : Ack Number가 유효함
▶ PSH : 수신자보고 이거 빨리 응용프로그램으로 전달할 것을 지시
▶ RST : 연결을 Reset하도록 지시
▶ SYN : 연결 시작
▶ FIN : 연결 종료
ⅷ.UDP
▶ Transport Layer의 프로토콜로써, TCP와 달리 비신뢰성과 비연결지향적인 특징을 가짐
▶ Sequence Number와 Ack Number가 없어서 순서 제어와 흐름 제어가 불가능
▶ 따로 연결하는 과정이 없어서 빠른처리와 실시간성을 요구하는 서비스에 적합
⑦ Broadcast 및 Multicast 이해
ⅰ. Broadcast
▶ Broadcast Domain(=Subnet) 범위 이내에 모든 시스템에 Frame을 보냄
▶ 외부로 나가면 Router 단에서 Drop되
▶ Broadcast를 받은 시스템은 CPU가 Packet을 처리하게 끔 함
▶ Broadcast가 많아지면 네트워크트래픽도증가하고, CPU 성능도 낮아짐
ⅱ. Multicast
▶ 네트워크에 연결되어 있는 시스템 중, 일부분에게만 정보를 전송할 수 있는 것
▶ Router가 Multicast를 지원해야만 사용가능함
▶ Multicast Group에 가입, 탈퇴시에 IGMP를 사용함
ⅲ. Unicast
▶ 정보 전송을 위해 Frame에 자신의 MAC와 목적지의 MAC를 첨부해 전송하는 방식
▶ 가장 많이 사용되는 방식으로, Broadcast와 달리 CPU 성능에 문제를 주지 않음
ⅳ. Anycast
▶ IPv4의 Broadcast가 사라지고 IPv6에선 Anycast로 대체됨
(3) Unix/Windows 네트워크 서비스
① DNS, DHCP, SNMP, Telnet, FTP, SMTP 등 각종 서비스의 원리 및 이해
ⅰ-1) DNS(Domain Name Service)
▶ Domain Name과 IP Address를 Mapping 시켜주는 거대한 분산시스템
▶ Server-Client기반으로 작동함
▷ Server : Primary Name Server 1차 네임서버/ Secondary Name Server 2차 네임서버
▷ Client : Resolver
ⅰ-2) DNS Query 종류
▶ Recursive Query : 요청받은 DNS Server에서만 Query 처리
▶ Iterative Query : 요청받은 DNS Server에 정보가 없으면 다른 DNS Server에 반복적으로 Query해서 처리
▷ 이건 DNS Server들 끼리하는 Query라고 생각
ⅰ-3) DNS Query 종류 DNS 동작 순서
▶ Client : DNS Cache 확인 → Hosts 파일 확인 → Server로 Query
▶ Server : DNS Cache 확인 → Zone File 확인 → Iteractive Query / 해석 실패
ⅰ-4) DNS 취약점을 이용한 공격
▶ DNS Cache Poisoning
▶ DNS Spoofing
ⅱ-1) DHCP(Dynamic Host Configuration Protocol)
▶ 네트워크 상의 IP 주소를 중앙에서 관리하고 할당해도록 해주는 프로토콜
▶ DHCP 동작과정
ⓐ Discover : Client가 DHCP Server을 찾음(Broadcast)
ⓑ Offer : DHCP Server가 Client에게 제공할 수 있는 정보를 줌
ⓒ Request : Offer받은 Client가 제공받은 정보를 사용하겠다고 DHCP Server로 알림
ⓓ Ack : DHCP Server가 확인 신호보냄
ⅱ-2) DHCP 공격 유형
▶ DHCP Starvation : 공격자가 DHCP Server의 모든 IP를 할당 받아서 공격
▶ DHCP Spoofing : 공격자가 가짜 DHCP Server를 만들어 잘못된 네트워크 정보를 할당하는 공격
▷ DHCP Server를 인증할 수 없기 때문에 가능한 공격
▷ 공격에 성공하면, Gateway주소를 속여 Sniffing하거나 Pharming 공격을 할 수 있음
ⅲ-1) SNMP(Simple Network Management Protocol)
▶ OSI 7 Layer에 속하며, TCP/IP 기반의 네트워크에서 네트워크상의 각 Host에게서 정기적으로
여러 정보를 수집해 네트워크를 관리하기 위한 프로토콜
▶ Master와 Agent로 구성됨
ⓐ Master : 관리영역의 네트워크상의 정보가 집중되는 장비(정보의 요청이 시작됨)
ⓑ Agent : 관리영역의 네트워크상에서 관리되는 장비
ⅲ-2) SNMP - MIB(Management Information Base)
▶ 각 Agent들이 가지고 있으며, Agent의 정보의 집합
ⅲ-3) SNMP - SMI(Structure of Management Information)
▶MIB 내의 변수들이 어떤것인지 정의한 것
ⅲ-4) SNMP - 메시지 전달 방식
▶ Poliing(UDP 161) : Manager to Agent
▶ Trap(UDP 162) : Agent to Manager
ⅲ-5) SNMP - 종류
▶ SNMPv1
▶ SNMPv2 : 현재 많이 사용(SNMPv1에다가 보안기능을 추가(DES/MD5)
▶ SNMPv3 : 구현의 복잡성 때문에 잘 사용되지는 X
ⅲ-6) SNMP - 통신이 가능하려면 다음과 같은 조건이 만족되어야 함
▶ SNMP의 Version이 일치해야 함
▶ 서로간의 Community 값이 일치해야 함
▶ PDU type이 동일해야 함(값의 범위는 0~4)
ⅳ. Telnet
▶ 원격 접속 프로토콜로써, 데이터가 평문으로 전달되기에 보안성이 떨어짐(TCP 23 Port)
▶ 보안성을 위해 SSH(Secure Shell ; TCP 22 Port)을 이용
ⅴ. FTP(File Transfer Protocol)
▶ 원격 파일 전송 프로토콜(TCP 20/21 Port)
▶ 연결 방식
▷ Active 방식 / Passive 방식
ⅵ. SMTP(Simple Mail Transfer Protocl)
▶ 메일 전송 프로토콜(TCP 25 Port)
▶ 다른 형식의 데이터를 전달하기 위해 MIME을 이용함(HTTP와 구성이 비슷)
② Workgroup과 Domain
ⅰ. Microsoft에서 제공하는 효율적인 디렉토리 관리를 위한 네트워크 모델
ⅱ. Workgroup
▶ 개별적인 관리모델로써, Workgroup 내의 시스템에 접근하려면 해당 시스템에 생성되어 있는
계정으로 인증받아야함(Client-to-Client이라고 보면될듯)
▶ 전체적인 관리가 어려우며 비효율적임
ⅲ. Domain
▶ 통합적인 관리모델로써, Workgroup의 크기가 커지면 시스템마다 계정을 생성해야하는 문제점을 고침
▶ Domain내의 한 Server(DC; Domain Controller)로 모든 시스템의 사용권한 및 보안의 제어가 가능
▷ DC에서 계정을 관리하기에, 각 시스템마다 동일한 계정으로 접근이 가능해짐
▶ Domain의 각 시스템들은 다른 로컬 네트워크에 있을 수 있음
③ 터미널서비스 등 각종 원격관리 서비스
ⅰ. SSH(Secure SHell)
▶ 안전하지 않은 네트워크를 통해 원격 로그인하거나, 안전한 네트워크를 이용하는데 안전한 쉘 프로토콜
ⅱ. Windows Terminal Service
▶ 원격데크스톱연결 - mstsc(기본값으로 TCP 3389 Port)
▷ 보안을 위해 Port를 변경하는게 좋음
▷ GUI로 작업이 가능하다는게 특징(화면 동기화는 지원되지는 X)
▷ 동시접근가능한 계정의 수가 존재(많이 붙으면 버벅거리긴하던데)
④ 인터넷공유 및 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(NAT-Port Address Translation)
→ NAT에 Port주소를 Mapping해서 변환시키는 방법(Port Forwarding)
[ 출처 ]
https://kit2013.tistory.com/210
을 참고하여 보완하고 수정한 글입니다.
'IT > 정보보안' 카테고리의 다른 글
[정보보안기사] 네트워크 보안 - 네트워크 활용 (0) | 2019.06.24 |
---|---|
[정보보안기사] 애플리케이션 보안 - 인터넷 응용 보안 (1) FTP 보안 (0) | 2019.06.24 |
[정보보안기사] 시스템 보안 - 서버 보안 (0) | 2019.06.20 |
[정보보안기사] 시스템 보안 - 클라이언트 보안 (0) | 2019.06.20 |
[정보보안기사] 시스템 보안 - 운영체제 (0) | 2019.06.19 |
댓글