방화벽(Firewall)

  • 정의: 특정 포트, IP, 프로토콜 등 다양한 기준을 기반으로 네트워크 통신을 허용하거나 차단하는 보안 시스템
  • 역할: 외부에서 내부로 들어오는 인바운드(Inbound) 트래픽과 내부에서 외부로 나가는 아웃바운드(Outbound) 트래픽에 대한 규칙을 설정하여 패킷을 허용하거나 차단함
  • 특징: 주로 수동적 차단에 집중하며, 내부자 공격이나 암호화된 트래픽 분석에는 취약할 수 있음
  • 종류:
    • 패킷 필터링 방화벽: IP, 포트, 프로토콜 기반 단순 차단
    • 상태기반 검사 방화벽 (Stateful Firewall): 세션 연결 상태 추적
    • 차세대 방화벽 (NGFW): 애플리케이션 계층 분석, 침입 방지 기능 통합

침입 탐지 및 방지 시스템 (IDS/IPS)

  • IDS (Intrusion Detection System):

    • 정의: 시스템/네트워크에 대한 침입 시도 및 이상 행위를 탐지하고 이를 관리자에게 알리며 로그를 남기는 시스템임
    • 유형:
      • HIDS (Host-based IDS): 개별 호스트(서버, PC)의 로그와 활동을 모니터링
      • NIDS (Network-based IDS): 네트워크 트래픽을 모니터링하여 비정상 패턴 탐지
    • 특징: 주로 사후 탐지 기능을 수행하며 자동 차단은 불가능함
  • IPS (Intrusion Prevention System):

    • 정의: IDS의 기능을 포함하며, 탐지된 위협에 대해 실시간으로 차단 및 방어하는 시스템임
    • 특징:
      • 네트워크 패킷을 인라인(In-line) 방식으로 처리
      • 비정상적인 트래픽을 즉시 차단
      • DoS/DDoS 공격, 웜, 바이러스 등 자동 대응 가능

보안 시스템 비교

구분방화벽IDSIPS
목적접근 통제 및 인가침입 여부 탐지침입 사전 차단
패킷 차단OXO
패킷 내용 분석XOO
장점접근 통제 강화, 네트워크 경계 보호침입 탐지, 로그 기반 분석실시간 대응, 자동 차단
단점내부 공격 취약, 암호화 트래픽 분석 어려움오탐/미탐 가능, 차단 불가오탐 발생 가능, 고가 장비 필요

리눅스 환경에서의 방화벽 및 IDS/IPS

  • iptables (IPS 역할):

    • 명령어 형식: iptables [규칙] [체인명] [옵션] [타겟]
    • 규칙 (Rules):
      • -A: 새로운 규칙을 맨 뒤에 추가
      • -I: 새로운 규칙을 맨 앞에 추가
      • -D: 특정 규칙 삭제
      • -F: 모든 규칙 초기화
      • -L: 현재 규칙 목록 확인
    • 체인명 (Chains):
      • INPUT: 외부 → 내부 패킷 처리
      • OUTPUT: 내부 → 외부 패킷 처리
      • FORWARD: 경유(라우팅) 패킷 처리
    • 타겟 (Target):
      • ACCEPT: 허용
      • DROP: 응답 없이 차단
      • REJECT: 거부 메시지 전송
      • LOG: syslog에 기록
      • RETURN: 상위 체인으로 제어 반환
    • 예시:
      • iptables -A INPUT -p tcp -s 195.2.3.5 --sport 31523 -j DROP
        → 발신지 IP 195.2.3.5의 소스 포트 31523에서 오는 트래픽 차단
  • nftables:

    • 2022년 이후 리눅스 배포판에서 iptables 대신 기본 방화벽으로 사용됨
    • sudo nft flush ruleset으로 정책 초기화 가능
  • 권한 관련:

    • root: 윈도우의 Administrator와 동일한 최고 관리자 권한
    • su: 관리자 권한으로 전환하는 명령어
    • sudo passwd: root 계정 비밀번호 등록

리눅스 IDS – Snort

  • 정의: 실시간 트래픽 분석 및 패킷 로깅이 가능한 오픈소스 IDS
  • 특징:
    • 패킷 스니퍼: 네트워크 트래픽 캡처
    • 패킷 로거: 로그 저장
    • IDS/IPS 기능: 탐지 및 차단 모두 가능 (리눅스: IDS/IPS, 윈도우: IDS만 가능)
  • 역사:
    • 1998년: 패킷 스니퍼로 시작
    • 2001년: Sourcefire 설립, 상용 버전 출시
    • 2013년: Cisco가 Sourcefire 인수, 보안 장비 솔루션 확대
  • 규칙 구조:
    • [동작] [프로토콜] [출발지IP] [출발지포트] -> [목적지IP] [목적지포트] (옵션)
    • 예시:
      • alert icmp any any -> any any (msg:"PING TEST"; sid:1000001;)
  • SID 규칙 번호:
    • 99 이하: 시스템 예약
    • 100 ~ 1,000,000: Snort 기본 지정
    • 1,000,001 이상: 사용자 지정
  • 버전 차이:
    • Snort2: 전통적인 규칙 기반
    • Snort3: Lua 기반, 성능 및 모듈성 향상
    • 버전 불일치 시 오류 발생 가능하므로 실습 환경에 맞는 버전 확인 필수

0개의 댓글