일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- 생활코딩
- 풀이
- BOJ Python
- 자료구조 복습
- siss
- 숙명여자대학교 정보보안동아리
- CSS
- WarGame
- c
- Javascript
- hackctf
- C언어
- SWEA
- c++
- 숙명여자대학교 정보보안 동아리
- Sookmyung Information Security Study
- HTML
- 드림핵
- 웹페이지 만들기
- 기계학습
- The Loard of BOF
- 파이썬
- PHP 웹페이지 만들기
- Python
- hackerrank
- 머신러닝
- XSS Game
- 백준
- lob
- BOJ
- Today
- Total
혜랑's STORY
[Network Security Study] 2주차 이론 본문
네트워크 기본 구조(스위치/허브, 라우터)
1. 허브(Hub)
- 여러 개의 시스템을 연결할 경우 각 포트 별로 케이블을 연결하여 사용할 수 있는 물리 계층의 장치이다.
- 분배 장치의 역할을 하는 것으로 여러 개의 포트로부터 신호를 입력 받아서 다시 여러 개의 포트로 신호를 송출한다.
- 기본적으로 물리계층에서 동작하지만 허브 장치의 특성에 따른 데이터 링크 및 네트워크 계층에서도 동작한다.
- 만약 허브 장치에 장애가 발생하는 해당 허브에 연결되어 있는 시스템들은 통신을 할 수가 없다. 하지만 하나의 시스템 장애는 전체 네트워크 장애를 발생시키지 않는다.
- 네트워크 상태를 모니터링 할 수 있고, 리피터 기능을 장착하고 있어서 디지털 신호 증폭기 역할도 수행한다.
종류 | 설명 |
더미허브 (Dummy Hub) |
- 단순한 장치로 시스템과 네트워크 장치 연결만 수행 - 10Mbps 대역폭을 가진 허브에 5대의 시스템을 연결하면 5대의 시스템이 대역폭을 나누어 사용 - 연결 된 시스템의 수가 증가하면 성능이 떨어진다. - 리피터로 구성 |
지능형 허브 (Intelligent Hub) |
- SNMP 프로토콜을 사용해서 네트워크 관리 기능이 추가되어 있는 허브 - 포트에 연결된 네트워크 연결 상태를 점검 |
스위치 허브 (Switching Hub) |
- 스위칭 기능이 추가되어 있어 네트워크 효율을 향상시킴 - 리피터가 내장되어 있음 - 여러 개의 포트에서 입력을 받아서 특정 포트로만 데이터를 전송할 수가 있음 |
2. 스위치(Switch)
- 허브와 거의 유사하지만 스위치는 허브보다 전송 속도가 향상되었다.
- 네트워크에서 충돌이 발생하지 않도록 목적지의 포트로 직접 전송하기 때문에 네트워크의 효율이 향상된다.
- 스위칭 허브(Switching Hub) 또는 포트 스위칭 허브(Poty Switching Hub)하고도 한다.
- 송신자 노드와 수신자 노드를 일대일로 연결하므로 충돌이 발생하지 않는다.
- 빠른 데이터 전송이 가능하며 송신 및 수신 노드의 수가 증가해도 네트워크의 속도는 저하되지 않는다.
LAN Switching 방식 | 설명 |
Cut through | 목적지의 MAC Address만 확인 후 해당 포트로 전송 |
Store and Forward | 전체 Frame을 모두 저장 후에 Error Check를 수행 후 전송 |
Fragment Free | - Modify Cut Through - Frame의 64bit를 검사, Header의 Error를 섬사 후 전송 - 512bit가 수신될 때까지 대기 후 에러가 존재하지 않으면 전송하는 방식 |
3. 라우터(Router)
- 라우터는 인터네트워킹(Internetworking) 장비로 네트워크에서 IP 주소를 읽어서 경로를 결정하는 장비이다.
- LAN과 LAN을 연결하고 TCP/IP 프로토콜을 지원한다.
- OSI 7계층의 네트워크 계층에서 동작하고, 패킷에서 IP 주소를 읽어서 경로를 결정한다.
- 주기적인 라우팅 브로드캐스트를 사용하여 최신의 라우팅 테이블을 유지한다.
- 특정 IP에서 유입되는 패킷이나 특정 IP로 전송괴는 패킷에 대해서 필터링(Filtering)을 수행할 수 있다.
- 브로드캐스트를 차단하거나 입력 인터페이스로 입력된 패킷을 출력 인터페이스로 전송하는 포워딩(Forwarding)을 수행한다.
논리적 네트워크(내부 네트워크, 외부 네트워크)
내부 네트워크망과 외부 네트워크망을 분리하면 외부로의 침입을 막고 내부 정보의 유출을 막아 보안을 강화할 수 있다. 이렇게 내부 네트워크망과 외부 네트워크망으로 분리하는 것을 '망분리'라고 부른다.
물리적 망분리는 말 그대로 물리적으로 외부의 네트워크와 내부의 네트워크를 별도로 구축하여 네트워크망을 분리한다. 물리적으로 분리가 되어 있기 때문에 가시성이 확보되어 분리된 상태를 눈으로 직접확인할 수 있고 시스템적으로 완전하다는 장점이 있다. 그러나 각 망별로 PC가 필요하고 이는 1명당 PC를 둬야하는 비용적 부담이 따른다. 또한 각 PC를 오가며 작업을 해야하는 불편함도 있다.
두 번째 망분리 방법은 SBC(Server-based Computing) 기술인 가상화 기술을 기반을 한다. SBC 망분리는 아래 그림과 같이 구성된다.
VMware와 같은 가상머신을 탑재한 서버를 중앙에 두고 각 단말이 서버에 접속하여 업무를 처리하게 된다. 사용자 PC는 업무 처리를 위하여 업무용 가상 머신 서버에 접속하여야 하고, 생성되거나 조회한 문서는 중앙서버를 벗어날 수 없어 문서의 외부 유출을 막을 수 있다. 또한 PC가 영구적 손상을 입는다 하여도 새PC를 지급받는 즉시 업무가 가능해진다. 그러나 물리적 망분리에 비해서 가시적이지 않고 검증된 기술이 아니라는 단점이 존재한다. 게다가 서버 기반이기 때문에 고성능 PC 하드웨어 자원을 사용하지 못한다.
위 그림은 데스크탑에서의 가상화방법을 그려놓은 것이다. SBC와 같이 가상화 기술을 기반으로 하지만 가상머신이 PC에서 동작한다는 것이 차이점이다. 랜카드를 두 개 사용하여 호스트 운영체제와 가상머신에 각각 할당하고 분리된 망으로 연결하거나 VPN을 통하여 내부망으로 접속하도록 하여 망분리를 실행한다. SBC 방법에 비하여 중앙에 데이터가 집중됨으로써 얻는 장점은 없지만 PC의 하드웨어 자원을 전부 사용할 수 있다. 그러나 PC의 하드웨어가 가상 머신을 구동할 수있을 정도로 충분한 성능을 가지고 있어야 한다.
마지막으로 데스크탐 가상화의 일종인 OS 레벨에서의 가상화를 사용한 방법이다. 이 방법은 OS를 추가적으로 필요하진 않고 현재 사용되고 있는 OS상에 가상의 공간을 생성하고, 가상 공간에서 실행된 어플리케이션만 인터넷에 접속되도록 함으로써 망분리를 실행한다. 이 방법은 특별한 하드웨어가 필요하지 않고, 시스템 자원을 많이 소비하지 않기 때문에 기존의 PC에 얼마든지 적용할 수 있고 최소한의 비용으로 망분리를 구축할 수 있다. 그러나 OS레벨에서 구현된 프로그램을 공격하는 악성코드가 제작될 수 있다는 단점이 있다.
네트워크 통신(유니 캐스트, 브로드 캐스트, 멀티 캐스트)
데이터 전송 방식은 송신자와 수신자 간에 어떻게 데이터를 보낼 것인지를 의미한다. 즉, 1 대 1로 데이터를 전송하는 것은 유니캐스트(Unicast)이고 1대 N으로 모두에게 전송하는 것은 브로드 캐스트(Broadcast)라고 한다. 멀티캐스트(Multicast)는 1 : N 전송에서 특정 사용자에게만 데이터를 전송하는 방식이다.
전송 방식 | 내용 |
Unicast | 1 : 1 전송 방식 |
Broadcast | 1 : N 전송 방식 (동일한 서브넷 상의 모든 수신자에게 전송) |
Multicast | M : N 전송 방식 (하나 이상의 송신자들이 특정 그룹의 수신자에게 전송) |
이 외에도 Anycast가 존재하는데 이는 Ipv6에 새롭게 등장한 것으로 그룹에 등록된 노드 중에서 최단 경로 노드 한 개에만 전송하는 기술이다. 그리고 Ipv6부터 브로드캐스트가 없어졌다.
IP / MAC Address
IP 및 MAC 주소는 네트워크에서 장치 및 연결을 고유하게 정의하는 주소이다. MAC 주소는 제조 업체에서 NIC(랜카드)에 할당한 번호이다.
1. IP Address
- 네트워크 통신에 있어서 각각의 통신기기(컴퓨터, 핸드폰 등)에 할당된 식별번호를 나타낸다.
- 이 주소는 통신기기마다 고유하게 할당되어 있는 것이 아니라, 대부분 통신사에 일정 금액을 지불하고 받아오는 것이기 때문에 경우에 따라 바뀔 수 있다.
- 다른 네트워크 대역의 호스트들과 연결하기 위해서는 라우팅(Routing)이 필요하다.
2. MAC Address
- IP 주소와 마찬가지로 네트워크 통신에서 통신기기의 식별번호를 나타내는 것으로 각 통신기기의 하드웨어 자체에 부여된 고유한 식별번호가 있다.
- 다시말해 MAC주소는 제품의 시리얼 넘버라고 생각할 수 있다. 세상에 하나밖에 없는 유니크한 값을 가지며, 변경될 수 없다.
- MAC 주소를 알고 있다면 IP 주소와 상관없이 데이터를 전송할 수 있다.
IPv4 / IPv6
IP 프로토콜은 IP 주소 형태로 송신자와 수신자의 IP 주소를 가지고 있고 IP 주소를 읽어서 최적의 경로를 결정할 수 있도록 해준다. 32비트 주소 체계로 이루어진 IPv$와 128비트 체계로 이루어진 IPv6이 있다.
- IP 프로토콜이란 TCP/IP 망의 네트워크 계층(IP계층)의 주소화, 데이터그램 포맷, 패킷 핸들링 등을 정의해놓은 인터넷 규약이다.
- IPv6은 IP 주소의 부족 문제를 해결하기 위해서 주소 비트 수를 128비트로 늘린 것으로 이것은 모든 디지털 단말기에 IP 주소를 부여하여 인터넷과 연결하려고 하는 것이다.(IoT 서비스)
- IP Header는 버전 정보(IPv4와 IPv6 구분)를 가지고 있다. 즉, 버전 정보를 보고 라우터가 IP Header의 구조를 파악한다.
- Flag와 Fragment offset은 패킷을 전송할 때 패킷의 크기가 너무 크면 패킷은 분할된다. 데이터 수신 후 다시 조립해야 하기 때문에 패킷 분할과 관련된 정보가 존재한다.
- TTL(Time To Live)은 IP 패킷이 통과할 수 있는 라우터의 수를 의미하여 라우터를 하나 통과할 때마다 1씩 감소하여 0이 되면 패킷은 자동으로 폐기된다. 이는 인터넷에서 무한으로 네트워크에 떠도는 패킷을 없애기 위해 존재한다.
- Protocol은 IP Header위의 상위 프로토콜의 종류를 의미하며, TCP 혹은 UDP인지를 의미한다.
- Header checksum은 헤더의 무결성을 검사하기 위함이다.
참고
https://www.ahnlab.com/kr/site/securityinfo/secunews/secuNewsView.do?seq=14140
https://ko.wikipedia.org/wiki/%EC%9C%A0%EB%8B%88%EC%BA%90%EC%8A%A4%ED%8A%B8
'무지성 공부방 > Network Security' 카테고리의 다른 글
[Network Security Study] 4주차 (0) | 2022.05.13 |
---|---|
[Network Security Study] 3주차 실습 (0) | 2022.05.06 |
[Network Security Study] 3주차 이론 (0) | 2022.05.06 |
[Network Security Study] 2주차 실습 (0) | 2022.04.29 |
[Network Security Study] 1주차 이론 정리 (0) | 2022.04.08 |