전송 매체와 전송 경로, 방화벽, 접근제어
1. 통신 매체 (Communication Medium)
유도 매체 (Guided Media): 전송되는 신호가 물리적 경로를 따라 이동
- 해저 케이블 (Submarine Cable)
- 바닷속에 설치되어 대륙 간 또는 섬과 육지 간 통신 및 전력 전송을 가능하게 하는 케이블.
- 대부분의 국제 인터넷 트래픽은 해저 케이블을 통해 전송됩니다. 높은 대역폭과 안정성을 제공하지만, 설치 및 유지보수가 어려움
- 동축 케이블 (Coaxial Cable)
- 구리선 도체를 중심으로 절연체, 금속 차폐층, 외부 재킷으로 구성된 케이블
- 외부 전자기 간섭에 강하며, 과거 케이블 TV, 근거리 통신망(LAN) 등에 널리 사용
- "10G"는 10 기가비트 이더넷(10 Gigabit Ethernet)을 의미하며, 동축 케이블도 특정 표준(예: 10GBASE-CX4)에서 10Gbps의 속도 지원
- UTP (Unshielded Twisted Pair) 케이블
- 여러 쌍의 구리선이 서로 꼬여 있는 형태의 케이블
- 가격이 저렴하고 설치가 용이하여 현재 가장 널리 사용되는 근거리 통신망(LAN) 케이블
- UTP 케이블을 꼬는 이유
- 내부 선을 꼬는 것은 전자기 간섭 (EMI) 및 누화 (Crosstalk) 를 상쇄하기 위함
- 꼬임을 통해 인접한 선에서 발생하는 전자기 유도 효과를 상쇄시켜 신호의 무결성을 유지하고 노이즈를 줄임.
- 해저 케이블 (Submarine Cable)
비유도 매체 (Unguided Media / Wireless)
신호가 물리적 경로 없이 공중으로 전파됩니다 (예: 전파, 마이크로파, 적외선).
2. 네트워크 장비 및 토폴로지
GBIC (Gigabit Interface Converter)
네트워크 장치(스위치, 라우터 등)를 파이버 채널(Fibre Channel)이나 기가비트 이더넷과 같은 광섬유 기반 전송 시스템에 연결하는 데 사용되는 인터페이스 변환기
전기 신호를 광 신호로, 광 신호를 전기 신호로 변환하여 광 통신을 가능
일반적으로 Hot-swappable이 가능하며, SFP(Small Form-factor Pluggable)는 GBIC의 소형 버전으로 현재 더 널리 사용
현재 기본 네트워크 기준
오늘날 대부분의 근거리 통신망(LAN) 및 광범위한 네트워크는 이더넷 (Ethernet) 표준과 TCP/IP 프로토콜 스택 기반
이는 높은 대역폭, 유연성, 그리고 광범위한 호환성을 제공하기 때문
링형 인프라 (Ring Topology Infrastructure)
네트워크 노드들이 원형으로 연결된 형태를 의미
- 링형을 하는 이유
- 한쪽 방향의 연결이 끊겼을 때 반대쪽으로라도 데이터 전송이 가능하게 하여 회선 이중화를 제공
- 토큰 링과 같은 프로토콜에서 사용되었으며, 장애 발생 시 우회 경로를 제공하여 네트워크의 안정성을 높임
- 그러나 하나의 노드에 문제가 생기면 전체 네트워크에 영향을 줄 수 있는 단점 존재 (이중 링 또는 기타 복구 메커니즘이 없는 경우).
라우터로 확인했을 때 스타 토폴로지처럼 보임
패킷 전달 경로 확인 리눅스 명령어
traceroute
tracepath
이 명령어들은 중간 라우터(홉) 정보를 보여주어 네트워크 경로 문제를 진단하는 데 유용
3. 인터넷 서비스 용어
AS (Autonomous System - 자율 시스템)
단일하고 명확하게 정의된 라우팅 정책을 갖는 하나 이상의 IP 네트워크 그룹
인터넷에서 라우팅 정보를 교환하는 독립적인 네트워크 실체
ASN (Autonomous System Number - 자율 시스템 번호)
인터넷에서 AS를 고유하게 식별하는 번호
BGP(Border Gateway Protocol)를 사용하여 다른 AS와 라우팅 정보를 교환할 때 사용
PoP (Point of Presence - 접속 지점)
인터넷 서비스 제공업체(ISP) 또는 기타 네트워크 사업자의 네트워크가 다른 네트워크에 접속되는 물리적인 위치
데이터 전송 거리를 줄여 지연 시간을 최소화하고 네트워크 효율성을 높이는 데 중요한 역할
Peering (피어링)
두 개 이상의 독립적인 네트워크(AS)가 직접 연결하여 서로의 트래픽을 교환하는 것을 의미
이를 통해 상호 간에 비용을 지불하지 않고 트래픽을 전송하며, 네트워크 효율성과 성능을 향상
Core Network (코어 네트워크)
통신 네트워크의 중앙 부분으로, 주요 네트워크 노드 간에 효율적이고 신뢰성 있는 트래픽 전송 보장
높은 대역폭과 빠른 속도를 제공하며, 네트워크의 '백본' 역할
경계 경로 프로토콜 (Border Gateway Protocol - BGP)
인터넷에서 데이터를 전송하는 데 가장 적합한 네트워크 경로를 결정하는 데 사용되는 핵심 라우팅 프로토콜
AS 간에 라우팅 정보를 교환하여 전체 인터넷의 연결성을 유지
BGP Tools (Border Gateway Protocol Tools)
BGP는 인터넷의 라우팅을 담당하는 핵심 프로토콜이므로, BGP 라우팅 테이블을 확인하거나, BGP 세션 상태를 모니터링하고, 라우팅 정책을 구성하는 데 사용되는 다양한 도구(예:
bgpmon
,looking glass
서버 등)를 통칭
4. 메모리 및 접근 제어
CAM (Content Addressable Memory - 콘텐츠 주소 지정 메모리 / 내용 주소화 기억장치)
일반적인 RAM이 주소를 통해 데이터에 접근하는 방식과 달리, 데이터(콘텐츠)를 검색어로 사용하여 해당 데이터의 주소를 찾아내는 특수한 형태의 메모리입니다. 매우 빠른 검색 속도를 제공하며, 주로 네트워크 스위치에서 MAC 주소 테이블을 관리하는 데 사용
TCAM (Ternary Content Addressable Memory - 삼진 콘텐츠 주소 지정 메모리):
CAM의 확장된 형태로, 0과 1뿐만 아니라 'X'(Don't Care, 어떤 값이든 상관 없음)를 허용하는 세 가지 상태를 저장하고 검색가능
예를 들어, "10XX0"으로 검색하면 10000, 10010 등 'X' 부분에 어떤 값이든 들어갈 수 있는 모든 일치하는 패턴을 찾음.
이는 ACL이나 QoS정책, 라우팅 테이블의 Longest Prefix Match와 같이 복잡한 패턴 매칭이 필요한 네트워크 장비에 사용
ACL (Access Control List - 접근 제어 목록)
네트워크 장비(라우터, 스위치, 방화벽 등)에서 특정 트래픽의 허용 또는 거부를 결정하는 규칙의 집합
- Standard ACL (표준 ACL)
- 출발지 IP 주소만을 기준으로 트래픽을 필터링
- 간단하고 처리 속도가 빠름
- Extended ACL (확장 ACL)
- 출발지 및 목적지 IP 주소, 프로토콜 (TCP, UDP, ICMP 등), 출발지 및 목적지 포트 번호 등 더 다양한 기준을 사용하여 트래픽을 필터링
- 더 세밀한 제어가 가능하지만, 처리 부담이 더 큼
- established 종류에 따라 속도의 차이 존재
- ACL에서
established
키워드를 사용하는 것은 TCP 세션의 상태를 기반으로 트래픽을 허용하는 기능 - 이미 설정된(established) 연결에 속하는 트래픽만 허용하는 방식으로, 주로 내부에서 시작된 통신에 대한 외부 응답을 허용할 때 사용
- 단순히 IP 주소나 포트만을 확인하는 것보다 추가적인 상태 확인이 필요하므로, 지속적인 확인(상태 추적)이 필요하여 속도에 차이가 발생가능
- 방화벽의 Stateful Inspection(상태 기반 검사)과 유사한 개념
- ACL에서
5. 리눅스 방화벽
- iptables
- 리눅스 커널의 Netfilter 프레임워크를 조작하는 명령
- IPv4 패킷 필터링, NAT(Network Address Translation) 등을 설정하는 데 사용되는 전통적인 방화벽 도구
- 규칙은 테이블과 체인으로 구성
- ebtables
- 이더넷 브리지 테이블 관리 도구로, 이더넷 프레임(MAC 주소 수준)을 필터링하는 데 사용
- 브리징 환경에서 특정 MAC 주소를 기반으로 트래픽을 제어할 때 유용
- nftables
- iptables, ip6tables, arptables, ebtables의 기능을 통합하고 대체하기 위해 설계된 Netfilter의 최신 서브시스템
- eBPF (extended Berkeley Packet Filter)
- 리눅스 커널에서 사용자 정의 프로그램을 안전하게 실행할 수 있도록 하는 기술
- 커널 모듈을 직접 로드하지 않고도 커널의 기능을 확장할 수 있어, 고성능 네트워크 필터링, 보안 정책 적용, 로드 밸런싱 등 다양한 네트워크 및 보안 기능에 활용
- 기존 방화벽보다 훨씬 높은 성능 제공가능
- firewalld
- 리눅스에서 동적으로 방화벽 규칙을 관리하는 데몬(백그라운드에서 계속 실행되는 프로세스)
zone
개념을 사용하여 네트워크 인터페이스나 소스 IP 주소에 따라 다른 보안 정책을 적용할 수 있어, 관리가 용이
- UFW (Uncomplicated Firewall)
- iptables의 복잡성을 줄이고 사용자가 방화벽을 쉽게 구성할 수 있도록 설계된 간소화된 인터페이스
- 주로 Ubuntu와 같은 데비안 기반 시스템에서 사용되며, 직관적인 명령어로 방화벽 규칙을 설정 가능
- 스위치 ACL과 유사하게 특정 포트나 IP 주소 기반의 트래픽 허용/거부를 쉽게 구현
- Cloud Firewall (클라우드 방화벽)
- 클라우드 환경에서 가상화된 방화벽 서비스를 의미
- Proxmox 기본으로 stateful로 기능 (iptables, nftables) VM에서 방화벽 안 걸어도 됨
- Proxmox VE(Virtual Environment)와 같은 가상화 플랫폼은 호스트 수준에서 기본적으로 상태 기반(stateful) 방화벽 기능(iptables 또는 nftables 기반)을 제공
- 한 번 통신이 시작되면 해당 세션의 모든 관련 트래픽을 자동으로 허용/거부할 수 있음
- 따라서 VM(Virtual Machine) 내부에 별도의 방화벽을 설정하지 않아도 호스트 방화벽이 VM의 트래픽을 관리 가능
6. 기타 서버 및 보안 관련 용어
OpenSSHD (OpenSSH Daemon)
SSH(Secure Shell) 프로토콜을 사용하여 원격 시스템에 안전하게 접속하고 파일을 전송하는 데 사용되는 서버 데몬
암호화된 통신 채널을 제공하여 보안을 강화
- Conditional Match (조건부 일치)
- OpenSSHD 설정 파일(
sshd_config
)의Match
지시어를 의미 - 사용자 이름, 그룹, 호스트명, IP 주소 등 특정 조건이 일치할 때만 적용되는 설정 정의
- 예를 들어, 특정 사용자에게만 SFTP 접속을 허용하고 쉘 접속을 제한하는 등의 세부적인 접근 제어가 가능
- OpenSSHD 설정 파일(
- 사전 동작 확인 필요 Ubuntu 22, Rocky 8이상에서 동작 확인 설정 문법 오류
- OpenSSHD 설정 변경 시에는 변경 사항을 적용하기 전에 항상 설정 파일의 문법 오류를 확인하고(예:
sshd -t
) 호환성을 검증하는 것이 중요 - Ubuntu 22.04, Rocky Linux 8 이상 버전에서는 새로운 기능이나 변경된 구문이 있을 수 있으므로, 해당 운영체제에서 특정 설정이 올바르게 동작하는지 사전 확인 필요
- OpenSSHD 설정 변경 시에는 변경 사항을 적용하기 전에 항상 설정 파일의 문법 오류를 확인하고(예:
Nginx, Apache HTTPD
웹 서버 소프트웨어입니다.
- Nginx
- 가볍고 고성능이며 동시 연결 처리에 강점
- 주로 정적 콘텐츠 서빙, 리버스 프록시, 로드 밸런서 등으로 사용
- Apache HTTPD
- 가장 오래되고 널리 사용되는 웹 서버 중 하나로, 다양한 모듈과 유연한 설정으로 복잡한 웹 환경에 적합
- 동적 콘텐츠 처리에 강함
VPN 없이 VPN 효과를 낼 수 있음
전통적인 VPN(Virtual Private Network)은 아니지만, 유사한 보안 및 연결 효과를 제공하는 기술이나 구성 방식이 있음
예를 들어, 웹 서버(Nginx, Apache)의 특정 기능을 활용하는 경우
- Reverse Proxy with SSL/TLS: Nginx나 Apache를 리버스 프록시로 설정하고 SSL/TLS 암호화를 적용하면, 외부에서 내부 네트워크로의 접속을 암호화하여 보안된 터널 효과를 냄
- 특정 웹 애플리케이션에 대한 접근만 허용하는 방식으로 VPN과 유사한 보안 연결을 제공하면서도, 전체 네트워크 접근이 아닌 특정 서비스에 한정하여 보안 강화
- SSH Tunneling/Port Forwarding
- SSH를 통해 특정 포트를 암호화된 터널로 연결하여 원격 자원에 접근하는 방식
- 전체 네트워크 트래픽을 암호화하는 VPN과 다르지만, 특정 서비스에 대한 안전한 접근 가능
단일 세션 기준 웹이 제일 빠름
서버 CA에서 CA를 발급해주면 다른 거 없이도 인증해서 CA를 가진 사람만 로그인이 가능
- 서버의 CA(인증 기관)가 클라이언트에게 인증서 발급
- 클라이언트가 서버에 접속을 시도할 때, 이전에 발급받은 클라이언트 인증서를 서버에 제시
- 서버는 자신이 신뢰하는 CA가 발급한 인증서인지 확인하고, 해당 인증서가 유효하면 클라이언트의 신원을 확인하여 로그인을 허용합니다. 이 방식은 사용자 이름/비밀번호 방식보다 훨씬 강력한 보안을 제공하며, 인증서를 가진 사용자만 접근 허용