Post

07 network - 서버보안

07 network - 서버보안

1. 서버보안

1. 보안 관련 주요 용어

1. 보안 리스크(risk)

  • 서버와 네트워크 운영 중 발생할 수 있는 정보 유출, 서비스 중단, 데이터 변조 등의 위험 요소
  • 주로 인적 실수, 취약한 설정, 악성코드, 네트워크 공격 등에서 발생
  • 사고가 발생하기 이전에 존재하는 잠재적 위험 요소
  • 예시
    • 웹 서버의 관리자 계정 비밀번호가 ‘1234’로 설정되어 있음 → 무차별 대입(Brute Force) 공격에 노출 위험
    • 중요한 데이터베이스가 사설망이 아닌 인터넷에 노출되어 있음 → 침입 가능성 증가
    • OS 보안 패치가 6개월 이상 적용되지 않음 → 알려진 취약점 공격 위험

      2. 보안 인시던트(incident)

  • 실제로 보안 정책 위반, 서비스 장애, 데이터 유출 등 사고가 발생한 사건 자체
  • 리스크가 현실화되어 구체적인 피해가 발생한 상태
  • 예시
    • 해커가 취약한 비밀번호를 뚫고 관리자 계정에 로그인
    • 외부에서 SQL Injection을 통해 고객 개인정보 1만 건이 유출
    • 랜섬웨어 감염으로 서버 데이터가 암호화되어 서비스 중단

      3. 취약점 (Vulnerability)

  • 시스템, 애플리케이션, 네트워크, 운영 절차 등에 존재하는 보안상의 약점
  • 이 자체로는 피해가 발생하지 않지만, 공격자가 이를 이용하면 피해로 이어질 수 있음
  • 예시
    • 웹 애플리케이션에서 입력값 검증 미흡 → SQL Injection 가능
    • 서버 OS의 보안 패치 미적용 → 알려진 취약점 공격 가능
    • 관리자 계정 비밀번호를 단순하게 설정(예: 1234) → 무차별 대입 공격 취약
    • API 응답에서 불필요하게 내부 경로 정보 노출

      4. 리스크 (Risk)

  • 정의: 특정 취약점이 공격자에 의해 악용될 가능성과 그로 인한 피해 규모를 함께 고려한 위험 수준
  • 실제 사고 전의 “잠재적 위험”을 의미
  • 예시
    • 주요 서비스 DB 서버의 포트(3306)가 외부에 개방되어 있음 → 원격 침입 위험
    • 사내 파일 서버에 접근 제어 없이 중요한 문서 저장 → 내부 유출 위험
    • 백업 서버에 암호화 없이 고객 개인정보 저장 → 데이터 유출 시 법적/금전적 손실 위험
    • 개발·운영 계정 공유 사용 → 로그 추적 불가, 악성 행위 식별 어려움

      5. 보안 대상

카테고리구체적 대상위협 예시
정보 자산서버, 네트워크 장비, 스토리지악성코드, 취약점 공격
데이터DB, 파일, API 트래픽유출, 변조, 삭제
운영 환경인증 체계, 소프트웨어, 물리적 보안계정 탈취, 설정 변경, 물리적 침입

2. 방화벽 (Firewall)

  • 네트워크 경계에서 트래픽을 제어해, 허용된 통신만 통과시키고 나머지는 차단하는 보안 장치
  • 목적
    • 접근 제어: 허용된 IP·포트·프로토콜만 통과
    • 위협 차단: 비인가 접근, 악성 트래픽, 스캐닝 등 차단
    • 보안 구역 분리: 내부망·DMZ·외부망 간의 경계 설정
  • 동작 방식
    • 패킷 필터링(Packet Filtering): L3/L4(IP·포트·프로토콜) 기반으로 허용/차단
    • 상태 기반 검사(Stateful Inspection): 세션 상태를 추적해 유효한 연결인지 확인
    • 애플리케이션 필터링: L7(HTTP, FTP 등) 데이터 분석 후 정책 적용

3. IDS와 IPS

1. IDS (Intrusion Detection System) – 침입 탐지 시스템

  • 네트워크·시스템에 대한 비정상 행위나 침입 시도를 탐지하고 관리자에게 알림
  • 동작 방식
    • 네트워크 트래픽 또는 호스트 로그를 분석
    • 시그니처 기반: 알려진 공격 패턴과 비교
    • 행위 기반: 정상 패턴과 비교해 이상 탐지
  • 특징
    • 패킷 차단 기능은 없거나 제한적 (탐지 전용)
    • 사고 분석, 포렌식에 유용
  • 한계
    • 탐지 후 대응은 별도의 보안 장비(방화벽, IPS)에 의존
    • 새로운 공격(제로데이)에 대한 탐지 정확도 한계

2. IPS (Intrusion Prevention System) – 침입 방지 시스템

  • IDS의 탐지 기능에 더해 공격 트래픽을 실시간 차단
  • 동작 방식
    • 네트워크 경로에 Inline(직렬)으로 배치
    • 탐지 후 즉시 Drop, Reset, Redirect 등 조치
  • 특징
    • 실시간 대응 가능, 서비스 가용성 보호
    • 정책에 따라 정상 트래픽이 차단될 위험(오탐) 존재
  • 한계
    • Inline 구조이므로 성능 저하 우려
    • 잘못된 정책 설정 시 서비스 장애 발생 가능

4. UTM (Unified Threat Management)

  • 방화벽·IPS·안티바이러스·VPN 등을 한 박스에 넣은 올인원 보안 장비
  • 개별 보안 장비를 따로 운영하지 않고 중앙에서 통합 관리
  • 설치·운영 비용 절감, 관리 효율 향상
  • 주요 기능
    • 방화벽(Firewall) – L3/L4/L7 패킷 필터링
    • IPS/IDS – 침입 탐지 및 방지
    • VPN – 원격 접속, 지점 간 보안 연결
    • 안티바이러스 / 안티멀웨어 – 악성코드 검사
    • 웹 필터링 – URL 차단, 콘텐츠 제어
    • 스팸 메일 필터링 – 메일 보안

5. WAF (Web Application Firewall)

  • 웹 애플리케이션을 대상으로 하는 공격을 탐지·차단하는 방화벽
  • L7 기반, 웹 애플리케이션 요청/응답 필터링
  • 동작 방식
    • SQL Injection, XSS, CSRF 등 웹 공격 차단
    • HTTP/HTTPS 트래픽 분석 중심
  • 정책 기반 필터링
    • 시그니처 매칭: 알려진 공격 패턴 차단
    • 행위 분석: 정상 트래픽과 다른 이상 동작 탐지
    • 화이트리스트/블랙리스트 기반 필터링
  • 주요 기능
    • 웹 공격 차단: SQL Injection, XSS, CSRF
    • 악성 파일 업로드 탐지
    • 봇/스크래핑 차단
    • HTTPS 트래픽 복호화 후 검사
    • 로깅/알림 기능: 공격 시 관리자 통보
    • 6. SSL (Secure Sockets Layer)

  • 클라이언트와 서버 간 통신 내용을 암호화하여 기밀성, 무결성, 인증을 제공하는 프로토콜
  • 현재는 TLS로 대체
  • 특징
    • 암호화: 전송 데이터가 중간에 탈취되더라도 읽을 수 없음
    • 인증: 서버(및 필요 시 클라이언트) 신원 확인
    • 무결성: 데이터가 전송 중 변조되지 않았음을 확인
    • 세션 기반: 공개 키로 세션 키 교환 후, 대칭 키로 실제 데이터 암호화 → 성능 최적화
  • 용도
    • HTTPS 웹 통신
    • 이메일(SMTPS, IMAPS) 암호화
    • VPN, API 통신 등 민감 정보 전송 시

7. VPN (Virtual Private Network)

  • 암호화된 터널을 생성하여, 공용 인터넷을 지나가는 트래픽이 모두 보호되도록 함
  • 터널 내부의 데이터는 외부에서 볼 수 없으며 변조도 어렵게 처리됨
  • 사용자가 원격지에서 사내망에 접근하거나, 지점 간 사설망을 연결할 때 활용
  • 특징
    • 데이터 암호화로 기밀성 확보
    • 사용자/장치 인증으로 접근 통제
    • 사설망처럼 IP 라우팅 가능
    • Site-to-Site, Remote Access 등 형태 다양
  • 예시
    • 집에서 회사 내부 서버에 접속할 때 VPN 클라이언트 사용
    • 본사와 지점 사무실 간 안전하게 내부망 연결
    • 클라우드 서비스 접근 시 전용 VPN 터널 사용

2. 서버 장애 대응

1. 이중화(Redundancy)

  • 하나의 장치/시스템에 문제가 발생해도 다른 장치가 대신 동작하도록 구성
  • 단일 장애점(SPOF) 제거, 서비스 연속성 확보
  • 예시
    • 듀얼시스템 : 두 대의 시스템이 서로 독립적으로 동작, 하나가 장애 발생 시 다른 하나가 서비스 제공
    • 듀플렉스 시스템 : 두 시스템이 항상 동시에 동기화되어 동작, 한 쪽이 장애 발생 시 즉시 다른 쪽이 이어서 처리

2. NIC/티밍(본디) - 네트워크 이중화

1. NIC(Network Interface Card)

  • 컴퓨터나 서버가 네트워크에 연결될 수 있도록 해주는 하드웨어 장치
  • 서버/PC와 네트워크 사이에서 데이터 송수신
  • 유선(Ethernet), 무선(Wi-Fi) 등
  • MAC 주소를 통해 네트워크 내 장치 식별

    2. 티밍(Teaming) 또는 본딩(Bonding)

  • 서버에서 여러 개의 NIC(Network Interface Card)를 하나로 묶어 네트워크 성능과 안정성을 향상시키는 기술
  • 서버의 NIC 여러 개를 하나의 가상 NIC처럼 동작하도록 설정
  • 트래픽 분산 방식: Round Robin, Hash 기반, LACP(Link Aggregation Control Protocol) 등
  • 서버 ↔ 스위치 간 구성 필요 (스위치에서도 LACP 지원 필요)

3. 클러스터링 - 서버이중화

1. 클러스터링

  • 여러 대의 서버를 하나처럼 묶어 서비스 가용성과 성능을 높이는 기술
  • 서버 여러 대를 논리적 그룹으로 구성
  • 요청이 들어오면 클러스터 매니저나 로드밸런서가 트래픽을 분배
  • 장애 발생 시 자동으로 다른 서버가 역할 수행 → 무중단 서비스
  • 종류 : DNS라운드 로빈 / 데이터 베이스 부하분산/ 콘텐츠 전송부하분산 / ELB 부하분산

2. DNS라운드 로빈

  • 하나의 도메인 이름에 여러 서버 IP를 등록하고, 요청이 들어올 때 순차적으로 분배하는 방식
  • 동작 방식
    • 클라이언트가 도메인 접속 요청
    • DNS 서버가 등록된 IP 목록 중 순서대로 또는 무작위로 하나 반환
    • 클라이언트는 반환된 IP로 접속 → 요청이 여러 서버에 분산
  • 종류
종류설명특징예시
단순 라운드 로빈(Simple RR)등록된 IP를 순서대로 반환구현 쉬움, 모든 서버 동일 우선순위www.example.com → 192.168.0.1, 192.168.0.2, 192.168.0.3 순환 반환
가중치 기반 라운드 로빈(Weighted RR)서버 성능/용량에 따라 요청 분배 비율 조정성능이 다른 서버에 효율적서버1:2, 서버2:1 → 3번 요청 중 2번 서버1, 1번 서버2
지리적 위치 기반 라운드 로빈(Geo-based RR)클라이언트 위치에 따라 가까운 서버 IP 반환응답 속도 최적화, 글로벌 서비스 적합한국 클라이언트 → 서울 서버, 미국 클라이언트 → 미국 서버
헬스 체크 기반 라운드 로빈(Health-aware RR)서버 상태 확인 후 정상 서버만 IP 반환다운 서버 선택 문제 보완서버2 다운 → 서버1, 서버3만 반환

3. 콘텐츠 전송 부하 분산

  • 사용자에게 콘텐츠를 더 빠르고 안정적으로 제공하기 위해 트래픽을 여러 서버나 위치로 분산하는 기술
  • 동작 방식
    • 콘텐츠(이미지, 동영상, 웹 페이지 등)를 여러 서버에 캐시
    • 사용자의 요청이 들어오면 가장 가까운 서버 또는 가용 서버로 분배
    • 서버 간 로드 밸런싱 + 캐싱으로 효율적 전송

4. 데이터베이스 부하 분산

  • 데이터베이스 서버의 처리 요청을 여러 서버에 분산시켜 성능을 향상시키고 장애에 대응하는 기술
  • 복제(Replication) 방식
    • 한 DB 서버의 데이터를 다른 서버에 동기 또는 비동기로 복사
    • 방법
      • 동기 복제(Synchronous): Master와 Replica가 동시에 데이터 업데이트 → 일관성 보장
      • 비동기 복제(Asynchronous): 일정 시간 지연 후 Replica 업데이트 → 속도 우선, 약간의 데이터 지연 허용
  • 읽기 복제본(Read Replica)
    • Master DB에서 데이터를 복제한 서버를 읽기 전용으로 운영
    • Master 서버의 읽기 부하 감소가 목적.
    • 방법
      • 쓰기 요청은 Master만 처리
      • 읽기 요청은 여러 Replica로 분산 가능

4. ELB 부하 분산 (Elastic Load Balancer) - 트래픽 분산

  • 트래픽을 여러 서버에 자동으로 분산시켜 서비스 성능과 가용성을 높이는 기술
  • 동작 방식
    • 클라이언트가 ELB 엔드포인트로 요청
    • ELB가 등록된 서버(인스턴스) 중 가용한 서버로 요청 분배
    • 서버 헬스 체크 → 다운된 서버는 요청에서 제외
    • 필요 시 Auto Scaling과 연동 → 서버 수 자동 조정

5. UPS(Uninterruptible Power Supply, 무정전 전원 장치)

  • 전력 공급이 끊기거나 불안정할 때 서버나 장치에 일정시간 전원을 안정적으로 공급해주는 장치
  • 정전이 발생했을때 장치를 안전하게 종료하는 시간을 벌어주는 장치
  • 동작 방식
  • 평상시: AC 전원을 UPS가 통과시켜 장치에 공급
  • 정전 발생 시: UPS 내부 배터리로 전환 → 일정 시간 전원 공급
  • 일부 UPS는 전압 안정화, 서지 보호 기능 포함

6. VRRP(Virtual Router Redundancy Protocol) - 가상 이중화 라우터 프로토콜

  • 라우터/게이트웨이의 장애 시 자동으로 다른 라우터가 트래픽을 이어받도록 하는 프로토콜
  • 동작 방식
    • 클라이언트가 ELB 엔드포인트로 요청
    • ELB가 등록된 서버(인스턴스) 중 가용한 서버로 요청 분배
    • 서버 헬스 체크 → 다운된 서버는 요청에서 제외
    • 필요 시 Auto Scaling과 연동 → 서버 수 자동 조정
This post is licensed under CC BY 4.0 by the author.