네트워크 보안
2024. 11. 29. 19:25ㆍLinux*security/Network
반응형
01 구축 프로세스, 시나리오
구축과정
- 장비 상태 점검
- CPU, 메모리, 대역폭 등: 서비스 제공을 위한 서버와 네트워크 장비의 상태를 점검한다. CPU와 메모리 용량, 네트워크 대역폭 등이 적정 수준인지 확인하여 성능 저하나 병목 현상이 발생하지 않도록 한다.
- 문제 접수 및 조치
- 체크리스트 점검 후 레이어별 확인: 서비스 런칭 후 발생할 수 있는 문제를 빠르게 식별하고 해결하기 위해 체크리스트를 활용하여 각 레이어(네트워크, 서버, 애플리케이션 등)를 점검한다. 문제 발생 시 신속한 대응을 위해 우선순위를 정하고, 문제를 해결한다.
- 모니터링
- 지속적인 연결성과 레이턴시 확인: 서비스가 오픈된 후에는 연결성과 레이턴시를 지속적으로 모니터링하여, 서비스의 안정성 및 성능을 점검한다. 네트워크 지연이나 서버의 연결 문제를 빠르게 발견하고 조치할 수 있도록 한다.
서비스 런칭 및 실제 대내외 서비스 오픈
- 대내 서비스: 내부 직원들이나 테스트 환경에서 서비스가 원활히 작동하는지 점검한 후, 실제 운영 환경으로의 전환을 준비한다.
- 대외 서비스: 외부 고객을 대상으로 서비스를 오픈하며, 트래픽과 실제 사용 환경에서의 반응을 지속적으로 모니터링한다.
구축 과정: 서브네팅과 IP 할당
- 서브네팅 및 IP 할당
- 네트워크를 효율적으로 관리하기 위해 서브넷을 나누고, 각 서브넷에 적절한 IP 주소를 할당하는 과정이다. 이 과정은 네트워크를 효율적으로 운영하고, 충돌을 방지하며 보안을 강화하는 데 중요한 역할을 한다.
- 서비스 또는 팀별 서브넷 구분
- 네트워크 상에서 각 서비스나 팀별로 별도의 서브넷을 구분하여 관리한다. , 개발팀, 운영팀, 관리팀 등을 각각 다른 서브넷으로 분리하면 네트워크 보안과 성능을 향상시킬 수 있다. 이를 통해 각 팀이나 서비스가 독립적으로 통신할 수 있도록 한다.
- 공인 IP (WAN 구간 라우터 IP 할당, 서버, NAT 등)
- 공인 IP 할당: 인터넷과 연결되는 WAN 구간의 라우터에 공인 IP를 할당한다. 이 공인 IP는 외부와의 직접적인 통신을 담당한다.
- 서버에 IP 할당: 서비스 제공을 위한 서버에 공인 IP를 할당하여 외부 접근이 가능하도록 설정한다.
- NAT (Network Address Translation): 내부 사설 IP를 공인 IP로 변환하여 외부와 통신할 수 있도록 하는 NAT를 설정한다. 이는 주로 보안을 강화하고, 공인 IP 수를 절약하는 데 사용된다.
- 사설 IP (L3 백본 기준으로 서비스 또는 팀별 구분 -> Zone & VLAN)
- L3 백본 네트워크: L3 스위치를 기준으로 네트워크를 분리하여 각 서비스나 팀별로 사설 IP를 할당한다.
- Zone 및 VLAN 설정: 각 서비스나 팀에 맞는 네트워크 구분을 위해 Zone과 VLAN (Virtual LAN)을 사용한다. VLAN을 통해 각 서브넷을 논리적으로 분리하고, 각 구역에 대한 접근 제어를 강화할 수 있다.
- Zone: 보안, 트래픽, 또는 서비스에 따른 구역을 설정하여 서로 다른 구역 간의 통신을 제한한다.
- VLAN: 가상 네트워크를 생성하여 물리적 장비에 의존하지 않고 네트워크를 분할하고, 각 VLAN 간의 트래픽을 논리적으로 구분하여 보안 및 성능을 관리한다
테스트 과정: 물리적 작업 완료 후 기본 통신 점검
- 네트워크 연결성 점검
- 인접 장비 점검:
- Ping: 네트워크 연결이 정상적으로 이루어지는지 확인하기 위해 인접 장비에 대해 ping 테스트를 실행한다. 이는 네트워크 경로가 열려 있는지, 패킷 손실이 없는지 확인하는 기본적인 방법이다.
- Tracert (Traceroute): 네트워크 경로를 추적하여 패킷이 목적지까지 어떻게 이동하는지, 중간 경유지에서의 지연 시간을 확인한다. 이 방법은 라우팅 경로와 네트워크 지연 문제를 점검하는 데 유용하다.
- 인접 장비 점검:
- 라우팅 점검
- Static Routing: 라우터에 수동으로 설정된 정적 라우팅이 올바르게 작동하는지 확인한다. 이 단계에서는 각 라우터가 정의된 경로를 통해 올바르게 패킷을 전달하는지 점검한다.
- BGP (Border Gateway Protocol): BGP를 통한 동적 라우팅 설정이 제대로 이루어졌는지 확인한다. BGP는 대규모 네트워크에서 경로 정보 교환을 담당하므로, 올바르게 동작하는지 점검이 필요한다.
- OSPF (Open Shortest Path First): OSPF 프로토콜을 사용하여 내부 라우팅이 잘 이루어지는지 점검한다. OSPF는 대형 네트워크에서 빠르고 효율적인 경로 선택을 위한 프로토콜이다.
- 서비스 점검
- 개별 서비스 확인: 네트워크 연결성 및 라우팅이 정상적이라면, 각 서비스(웹 서버, 데이터베이스 서버, 애플리케이션 등)가 정상적으로 작동하는지 확인한다. 각 서비스의 포트와 프로토콜을 점검하여 클라이언트가 서버와 정상적으로 통신할 수 있는지 확인한다.
- 예: HTTP 서비스가 제공되는 웹 서버에 대해 curl 또는 웹 브라우저를 사용하여 정상적으로 페이지를 로드하는지 확인한다.
- 예: 데이터베이스 서버에 대해 SQL 클라이언트 도구를 이용하여 접속 가능 여부를 점검한다.
- 개별 서비스 확인: 네트워크 연결성 및 라우팅이 정상적이라면, 각 서비스(웹 서버, 데이터베이스 서버, 애플리케이션 등)가 정상적으로 작동하는지 확인한다. 각 서비스의 포트와 프로토콜을 점검하여 클라이언트가 서버와 정상적으로 통신할 수 있는지 확인한다.
요약
- 네트워크 연결성: ping과 tracert를 사용하여 인접 장비와의 연결을 점검한다.
- 라우팅 점검: Static Routing, BGP, OSPF 등의 라우팅 프로토콜이 정상 작동하는지 확인한다.
- 서비스 점검: 각 서비스가 정상적으로 동작하는지 확인한다.
요구사항 수립
- 서비스 확인
- 웹 서비스:
- 트래픽 예상: 외부 접속 시 웹 서비스는 약 1Gbps의 트래픽을 예상. 이를 수용할 수 있는 대역폭을 확보하고, 웹 서버와 관련된 인프라를 준비한다.
- ERP 시스템:
- 내부 백플레인 트래픽 예상: ERP 시스템의 내부 네트워크에서의 트래픽은 약 100Gbps가 예상된다. 내부 서버 간의 빠르고 안정적인 데이터 전송을 위한 고속 네트워크 환경이 필요하다.
- 외부 원격 근무 인원: 원격 근무 인원은 약 100Mbps의 트래픽을 사용할 것으로 예상된다. 이를 위한 VPN 및 원격 접속 인프라를 준비한다.
- 웹 서비스:
- 공인 IP 할당
- 웹 서버: 외부에서 웹 서비스에 접근하기 위해 공인 IP를 1개 할당한다.
- 내부 NAT용: 내부 서버가 외부와 연결할 수 있도록 NAT용 공인 IP를 1개 할당한다.
- 개발 서버: 개발 서버에는 공인 IP를 1개 할당하여 외부와의 통신을 원활하게 한다.
- 전용선 구입
- 확장성 고려: 전용선의 대역폭은 2Gbps로 구입하여, 향후 네트워크 확장에 대비할 수 있도록 한다.
- 공인 IP C 클래스: 공인 IP C 클래스 대역에서 32개를 할당받아, 서버 및 장치에 IP를 효율적으로 배정한다.
- 장비 구입
- 회선용 라우터: 외부와의 연결을 담당할 회선용 라우터를 1대 구입한다. 이 라우터는 전용선 및 외부 인터넷과의 연결을 관리한다.
- 백본용 L3 스위치: L3 스위치 1대를 구입하여 내부 네트워크의 라우팅과 트래픽 분배를 담당한다. 대규모 네트워크의 효율적인 운영을 위해 중요한 장비이다.
- 서버존 L2 스위치: 서버와 연결할 L2 스위치 1대를 구입하여 서버 간 통신을 지원한다. 이 스위치는 주로 데이터 링크 계층에서 작동하며, 빠른 데이터 전송을 돕는다.
- VLAN 기능을 지원하는 내부 L2 스위치 (48포트): 내부 네트워크의 가상 LAN(VLAN)을 구현하고, 여러 포트를 통해 서버 및 다른 장치들을 연결할 수 있는 L2 스위치 (48포트)를 구입한다. 이는 네트워크의 효율성과 보안을 향상시키는 데 중요하다.
스펙 확인
- 전용선 속도 확인
- 테스트용 PC 연결: 전용선의 회선 스위치에 테스트용 PC를 연결하여 속도를 확인
- 속도 확인 웹사이트: http://www.benchbee.co.kr에서 속도를 측정
구성도 작성
1. 전체 네트워크 구성
+------------------+
| 외부 (EXT) | <--- 인터넷 연결
+------------------+
|
[Router]
|
+------------------+
| L3 스위치 | <--- 라우팅 및 VLAN 분배
+------------------+
|
+--------------------+
| DMZ 영역 | <--- 웹서버 및 외부 연결
+--------------------+
|
+------------------+
| 웹 서버 1대 | <--- 외부 접속을 위한 웹 서비스
+------------------+
|
+------------------+
| Backbone L3 SW | <--- 백본 네트워크, 대규모 트래픽 처리
+------------------+
|
+-----------------+------------------+
| |
+------------+ +-------------+
| 내부 L2 SW| | 내부 L2 SW | <--- 각 VLAN별 내부 네트워크 연결
+------------+ +-------------+
| |
+-----------------+ +-----------------+ +-------------------+ +------------------+
| VLAN100 | | VLAN200 | | VLAN210 | | VLAN220 |
| 개발팀 | | 총무팀 | | 인사팀 | | 영업팀 |
+-----------------+ +-----------------+ +-------------------+ +------------------+
| |
+--------------------+ +---------------------+
| 개발 서버 1대 | | 사용자 PC 20여명 | <--- 각 팀의 사무실/PC 연결
+--------------------+ +---------------------+
| |
+-------------+ +-------------+
| 기술팀 | | 관리자 등 |
+-------------+ +-------------+
구성 설명
- 외부(EXT): 인터넷을 통한 외부 연결.
- Router: 인터넷과 내부 네트워크를 연결하는 라우터. 외부와 내부 트래픽을 관리.
- L3 스위치: 라우팅 기능을 제공하는 레벨 3 스위치로, 여러 VLAN 간 트래픽을 라우팅한다.
- DMZ (Demilitarized Zone): 웹 서버와 같이 외부와 연결된 서버들이 위치하는 구역. 이곳에서 외부와의 접속을 처리한다.
- Backbone L3 SW: 네트워크 백본을 구성하는 레벨 3 스위치로, 데이터의 빠르고 효율적인 전달을 담당한다.
- L2 스위치 (내부): 각 VLAN에 속한 장치들을 연결하는 L2 스위치로, 주로 내부 통신에 사용된다.
- VLAN:
- VLAN100 (개발팀): 개발팀에 할당된 네트워크 구간.
- VLAN200 (총무팀): 총무팀에 할당된 네트워크 구간.
- VLAN210 (인사팀): 인사팀에 할당된 네트워크 구간.
- VLAN220 (영업팀): 영업팀에 할당된 네트워크 구간.
- VLAN230 (기술팀): 기술팀에 할당된 네트워크 구간.
- 개발 서버: 개발팀에서 사용할 서버.
- 사용자 PC: 각 팀의 사용자들이 사용하는 PC로, 각 VLAN에 연결된다.
02 네트워크 관리(Network Management)
네트워크의 성능, 안정성, 보안 및 효율성을 보장하기 위해 네트워크 인프라 자원을 적절히 배치하고 유지 관리하는 작업이다.
주요 영역:
- 유지보수 (Maintenance):
- 네트워크 장비의 정기적인 점검 및 고장 수리.
- 펌웨어/소프트웨어 업그레이드 및 패치 적용.
- 모니터링 및 관제:
- 네트워크 트래픽, 성능, 상태를 실시간으로 점검.
- 장애 발생 시 빠르게 탐지하고 해결.
NMS (Network Management System)
네트워크 구성 요소를 효과적으로 관리하기 위한 소프트웨어 시스템이다.
주요 기능:
- 모니터링:
- 네트워크 상태 및 트래픽 확인.
- 장애 탐지 및 경고.
- 관리:
- 장비 설정 변경.
- 장비 간 연결 및 자원 할당 관리.
관련 프로토콜 및 기술
- SNMP (Simple Network Management Protocol):
- 네트워크 장비를 관리하고 모니터링하기 위한 표준 프로토콜.
- SNMP Agent가 장비의 정보를 NMS에 제공.
- E-SNMP는 강화된 SNMP로, 추가적인 보안 기능을 제공한다.
- Syslog:
- 네트워크 장비에서 발생한 이벤트와 로그를 기록하는 표준.
- NMS에서 로그를 분석하여 문제를 파악할 수 있음.
- NTP (Network Time Protocol):
- 네트워크 장비 간 시간 동기화를 제공.
- 로그와 이벤트 분석 시 정확한 타임스탬프가 필수적.
- Port Mirror:
- 네트워크 스위치에서 특정 포트의 트래픽을 복제하여 분석 장비로 전송.
- 트래픽 모니터링 및 침입 탐지에 유용.
- Telnet & SSH:
- Telnet: 장비의 원격 접속을 위한 기본 프로토콜(보안 취약점 존재).
- SSH: Telnet의 보안 강화 버전으로, 암호화된 데이터 전송을 제공.
실제 활용 예
- NMS를 이용한 중앙 집중식 관리:
- SNMP와 Syslog를 사용해 네트워크 장비의 상태를 NMS에서 확인.
- NTP로 모든 장비의 시간을 동기화.
- 문제 발생 시 빠른 대처:
- Syslog에서 경고 메시지를 분석해 원인 파악.
- SSH로 장비에 접속해 설정을 수정.
- 트래픽 분석:
- Port Mirror를 통해 특정 장비의 트래픽을 모니터링 툴로 전송.
SNMP (Simple Network Management Protocol)
- 네트워크 관리 프로토콜로, 네트워크 장치(라우터, 스위치, 서버 등)의 상태를 모니터링하고 관리한다.
- SNMP는 관리 시스템(NMS)과 에이전트(네트워크 장치) 간에 데이터를 교환하는 데 사용된다.
MIB (Management Information Base)
- MIB란?
네트워크 장비에서 모니터링 및 제어 가능한 자원(객체)의 정보를 계층적 트리 구조로 관리하는 데이터베이스이다. - 주요 특징:
- 트리 구조(Tree Structure):
- 객체를 계층적으로 정리하여 관리.
- 루트 노드부터 말단까지 OID(Object Identifier)를 사용하여 객체를 식별.
- RFC 표준:
- RFC1213-MIB는 SNMP에서 가장 일반적으로 사용하는 MIB 모듈 중 하나이다.
- OID (Object Identifier):
- MIB의 각 객체를 고유하게 식별하기 위해 사용되는 번호 체계.
- 트리 구조(Tree Structure):
MIB 트리 구조
- 트리 구조의 루트는 국제 표준화 기구(ISO)에 의해 정의된다.
- 주요 경로:
1.3.6.1.2.1 | ├── system (1.3.6.1.2.1.1): 시스템 정보 ├── interfaces (1.3.6.1.2.1.2): 네트워크 인터페이스 정보 └── ...
OID (Object Identifier)
- OID란?
객체를 고유하게 식별하는 숫자 기반 경로. - 예시:
- 1.3.6.1.2.1
- ISO > org > dod > internet > mgmt > mib-2
- 1.3.6.1.2.1.1:
- system 객체 (시스템 정보: Uptime, 이름 등)
- 1.3.6.1.2.1.2:
- interfaces 객체 (네트워크 인터페이스 관련 정보)
- 1.3.6.1.2.1
SNMP MIB의 주요 구성
- mib-2 (1.3.6.1.2.1):
- 네트워크 장치와 관련된 기본 MIB.
- 주요 하위 그룹:
- system (1.3.6.1.2.1.1):
- 장비의 이름, 가동 시간(Uptime), 설명 정보.
- interfaces (1.3.6.1.2.1.2):
- 네트워크 인터페이스의 상태 및 통계 정보.
- system (1.3.6.1.2.1.1):
- SNMPv2-SMI (Structure of Management Information):
- SNMP에서 관리 데이터를 표현하는 방법을 정의.
- 데이터 유형과 객체 정의.
MIB와 SNMP의 관계
- SNMP 에이전트는 MIB를 기반으로 데이터를 저장하고 관리.
- SNMP 관리 시스템(NMS)는 OID를 사용하여 에이전트에서 데이터를 요청하거나 제어.
- OID 요청 예:
- 1.3.6.1.2.1.1.3: 시스템 가동 시간(Uptime)을 조회.
SNMP 동작 프로세스
SNMP는 Manager(관리자)와 Agent(에이전트) 간의 요청/응답으로 작동한다.
1. GET Request (객체 값 요청)
- 목적:
- 관리자가 에이전트(네트워크 장비)에서 특정 객체의 값을 요청한다.
- 프로세스:
- Manager: 특정 OID 값을 요청 (GET Request).
- Agent: 해당 값 응답 (GET Response).
- 예시:
- 요청: 1.3.6.1.2.1.1.3 (시스템 가동 시간).
- 응답: "123456" (초 단위의 Uptime 값).
2. GET Next Request (다음 객체 값 요청)
- 목적:
- 다음 OID에 해당하는 객체 값을 요청한다.
- 트리 구조로 이루어진 MIB에서 순차적으로 객체를 탐색할 때 유용하다.
- 프로세스:
- Manager: GET Next Request 요청.
- Agent: 다음 OID 값을 반환 (GET Next Response).
- 사용 사례:
- MIB 테이블의 모든 값 조회.
3. SET Request (객체 값 설정)
- 목적:
- 관리자가 에이전트의 객체 값을 설정하거나 변경한다.
- 프로세스:
- Manager: OID에 새로운 값을 설정 (SET Request).
- Agent: 설정 성공 여부를 반환 (SET Response).
- 예시:
- 네트워크 장비의 IP 주소나 설정 변경.
4. GET Bulk Request (대량 객체 값 요청)
- 목적:
- 여러 객체의 값을 한 번에 요청한다.
- 대규모 데이터를 조회할 때 효율적이다.
- 프로세스:
- Manager: 여러 OID 값 요청 (GET Bulk Request).
- Agent: 요청된 OID에 해당하는 값 반환 (GET Bulk Response).
5. Trap (트랩)
- 목적:
- 네트워크 장비에서 문제가 발생하거나 이벤트가 발생했을 때, Agent가 Manager에게 알림을 보낸다.
- 특징:
- Manager의 요청 없이도 Agent가 자발적으로 전송.
- 예시:
- 네트워크 장비의 장애 발생, 인터페이스 다운.
- 구성:
- Trap Receiver(트랩 수신기)는 트랩을 수신하고 관리자에게 알림.
동작 요약
GET Request | 특정 객체 값 요청 | 단일 값 조회 |
GET Next Request | 다음 객체 값 요청 | 객체를 순차적으로 조회 |
SET Request | 객체 값 설정 | 네트워크 설정 변경 |
GET Bulk Request | 대량 객체 값 요청 | 여러 값 조회 |
Trap | 에이전트가 자발적으로 알림 전송 | 장애 및 이벤트 알림 |
예시 시나리오
- 네트워크 상태 확인:
- Manager가 SNMP GET Request로 라우터의 CPU 사용량 요청.
- Agent가 CPU 사용량 데이터를 응답.
- 인터페이스 상태 조회:
- Manager가 GET Next Request를 사용하여 인터페이스 상태를 순차적으로 확인.
- 장애 발생 알림:
- 라우터에서 장애 발생 시, Agent가 Trap으로 관리자에게 즉시 알림.
추가 내용
- SNMP 버전에 따른 차이점
- SNMPv1: 초기 버전으로 보안이 미흡하며, 기본적인 요청/응답 방식만 제공.
- SNMPv2c: GET Bulk Request 추가 및 성능 개선.
- SNMPv3: 인증, 암호화 등의 강력한 보안 기능 도입.
- Trap 이외의 알림 방식
- Inform: Trap과 비슷하지만, Manager의 확인 응답(Acknowledgment)을 받음.
- SNMP 동작의 활용 사례
- 모니터링 시스템: Zabbix, Nagios 같은 도구에서 SNMP를 통해 장치 상태를 실시간 모니터링.
- 자동화: 네트워크 장치 설정 자동화 및 장애 대응.
- MIB 정보의 활용
- OID 구조
- 예: 1.3.6.1.2.1.1
- 1 - ISO
- 3 - org
- 6 - dod
- 1 - internet
- 2 - mgmt
- 1 - MIB-2
- 1 - System Group
- 예: 1.3.6.1.2.1.1
- 이를 통해 SNMP에서 어떤 데이터를 요청할지 구체적으로 알 수 있음.
- OID 구조
추가 예시 시나리오
- 장비 상태 모니터링:
네트워크 관리자(Manager)가 SNMP GET Bulk Request를 사용해 모든 라우터 인터페이스 상태를 확인.- 응답: 인터페이스별 전송량, 에러 수치 등이 포함된 데이터.
- 설정 변경:
특정 라우터의 SNMP Agent를 통해 IP 주소를 SET Request로 변경.- 요청: 1.3.6.1.2.1.4.20 (IP Table 관련 OID).
- 응답: 성공 시 "OK" 메시지.
반응형
'Linux*security > Network' 카테고리의 다른 글
HSRP는 고가용성 라우터 (0) | 2025.01.31 |
---|---|
와일드카드 마스크(wildcard mask) (0) | 2025.01.10 |
데이터 링크 계층 (Data Link Layer) (0) | 2024.11.29 |
물리 계층(Physical Layer) (0) | 2024.11.29 |
UART(Universal Asynchronous Receiver/Transmitter) (0) | 2024.09.02 |