네트워크 보안과 방화벽 시스템

네트워크 보안 기술

침입 탐지 시스템(IDS):

  • 네트워크 접근을 차단하지 않음
  • 내부/외부 네트워크 위협 상황을 수치화 및 위치 파악
  • 주로 경고 및 사후 감시 기능 제공

침입 방지 시스템(IPS):

  • 투명 모드로 작동
  • 데이터 패킷 내용 분석 (오버플로우 공격, 서비스 거부 공격, 트로이 목마 등)
  • 능동적이고 효과적인 네트워크 보호 제공

방화벽:

  • 격리 기능 수행
  • 네트워크 또는 호스트 경계에서 작동
  • 외부에서 내부로의 접근 차단

데이터 유출 방지 시스템:

  • 방화벽과 반대 개념
  • 내부 정보가 외부로 전송되는 것 방지

방화벽 분류

보호 범위 기준:

  • 호스트 방화벽: 단일 호스트 서비스
  • 네트워크 방화벽: 로컬 네트워크 서비스

구현 방식 기준:

  • 하드웨어 방화벽: 전용 하드웨어에서 구현
  • 소프트웨어 방화벽

네트워크 프로토콜 기준:

  • 네트워크 계층 방화벽: OSI 모델 하위 4계층 (패킷 필터링)
  • 애플리케이션 계층 방화벽: 프록시 게이트웨이 (실제 데이터 제어)

패킷 구조:

  • MAC 헤더 → IP 헤더 → 프로토콜/포트 → 7계층 프로토콜 (HTTP, SSH) → 실제 데이터 → 체크섬

방화벽 기능:

  • 패킷 수신 → 해체 → 검사 → 재조립 (문제 없을 경우)
  • 패킷 수신 → 해체 → 검사 → 폐기/격리 (문제 있을 경우)

프록시 서버 유형:

  • 포워드 프록시: 클라이언트 대신 작동 (방화벽 제한 우회, 접속 속도 향상)
  • 리버스 프록시: 서버 대신 작동 (로드 밸런싱, 고가용성 제공)

리눅스 방화벽 도구

netfilter 컴포넌트 기반:

  • iptables: 명령줄 도구 (사용자 공간에서 규칙 작성)
  • firewalld: 최신 프론트엔드 관리 도구
  • nftables: CentOS 8의 새로운 기능

iptables 구조와 개념

5가지 체인 (트래픽 제어 시점):

  • PREROUTING: 라우팅 결정 전
  • POSTROUTING: 라우팅 결정 후
  • INPUT: 로컬 시스템으로 유입
  • OUTPUT: 로컬 시스템에서 유출
  • FORWARD: 패킷 전달

4가지 테이블 (규칙 저장):

  • raw: 상태 추적 여부 결정
  • mangle: 패킷 태그 설정
  • nat: IP 주소/포트 변환
  • filter: 패킷 허용/차단 결정

기본 명령어 예제:

iptables -vnL --line-numbers
# -v: 상세 정보
# -n: 숫자 형식
# -L: 규칙 목록
# --line-numbers: 줄 번호 표시

iptables -A INPUT -s 192.168.0.1 -j DROP
# -A: 규칙 추가
# -D: 규칙 삭제
# -I: 규칙 삽입 (지정 위치)
# -F: 모든 규칙 삭제

기본 액션:

  • DROP: 무응답
  • REJECT: 명시적 거부
  • ACCEPT: 허용
  • LOG: 로깅

주요 옵션:

  • -s: 출발지 주소
  • -d: 목적지 주소
  • -p: 프로토콜 (tcp/udp/icmp)
  • --sport/--dport: 출발/목적지 포트
  • -i/-o: 입력/출력 인터페이스

실제 적용 예시:

# 특정 IP 차단
iptables -A INPUT -s 192.168.116.10 -j DROP

# ICMP 프로토콜 차단
iptables -A INPUT -s 192.168.116.10 -p icmp -j DROP

# 웹 서비스 포트 차단
iptables -A INPUT -s 192.168.116.10 -p tcp --dport 80 -j DROP

# 로컬 인터페이스 허용
iptables -A INPUT -i lo -j ACCEPT

보안 정책 유형:

  • 화이트리스트: 기본 차단 + 특정 허용
  • 블랙리스트: 기본 허용 + 특정 차단

고급 기능 예제:

# 다중 포트 차단
iptables -A INPUT -s 192.168.116.10 -p tcp -m multiport --dports 80,8080 -j DROP

# IP 범위 차단
iptables -A INPUT -m iprange --src-range 192.168.116.10-192.168.116.15 -j DROP

# 문자열 필터링
iptables -A INPUT -p tcp --dport 80 -m string --string "bilibili" --algo bm -j DROP

# 연결 상태 기반 필터링
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A INPUT -m state --state NEW -j DROP

태그: 방화벽 네트워크보안 iptables 리눅스보안 침입탐지시스템

9월 1일 03:19에 게시됨