본문 바로가기

[정보보안기사] 네트워크 보안 - 네트워크 일반

액트 2019. 6. 24.
반응형


- 목차 -

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

을 참고하여 보완하고 수정한 글입니다.

반응형

댓글