본문 바로가기

VPN은 어떻게 동작하나: 공용 와이파이에서도 안전하게 접속할 수 있는 이유

📑 목차

    방화벽은 “해킹을 막는 만능 장치”가 아니라 “출입문을 관리하는 규칙”이다

    컴퓨터 보안 이야기를 하면 방화벽(Firewall)이라는 단어가 가장 먼저 등장하는 경우가 많다. 그런데 방화벽을 “해킹을 알아서 막아주는 기능” 정도로만 이해하면, 왜 어떤 공격은 막히고 어떤 문제는 방화벽 때문에 생기는지 설명하기 어렵다. 방화벽은 본질적으로 네트워크 트래픽의 출입문을 관리하는 규칙 집합이다. 외부에서 들어오는 연결을 통제하고, 내부에서 나가는 연결도 정책에 따라 제한한다.
    이 글은 방화벽 기초 개념을 방화벽(Firewall), 네트워크 트래픽, 포트(Port), 규칙(Rule), 상태 기반 검사(Stateful Inspection) 같은 핵심 키워드 중심으로 정리한다. 또한 집과 회사에서 자주 겪는 “접속이 안 된다” 문제를 방화벽 관점에서 어떻게 진단하고 해결할지까지 단계적으로 설명한다.


    방화벽의 기본 개념과 핵심 원리

    1) 방화벽이 하는 일: “누가, 어디로, 어떤 방식으로” 통신하는지 통제한다

    방화벽은 네트워크를 지나는 데이터(트래픽)를 검사해 허용하거나 차단한다. 여기서 중요한 점은 방화벽이 파일을 “검사해서 악성인지 판단”하는 백신과 역할이 다르다는 점이다. 방화벽은 주로 다음 정보를 기준으로 통신을 통제한다.

    • 출발지 IP / 목적지 IP
    • 출발지 포트 / 목적지 포트
    • 프로토콜(TCP/UDP/ICMP 등)
    • 연결 방향(인바운드/아웃바운드)
    • 연결 상태(이미 성립한 연결인지, 새로 들어오는 요청인지)

    결국 방화벽은 “규칙에 맞는 통신만 통과시키는 문지기”다.

    2) 외부 공격과 내부 네트워크를 구분하는 이유: 신뢰 구역(Trust Zone) 개념

    일반적인 네트워크 설계에서는 내부 네트워크(사내 LAN, 집안의 사설망)를 상대적으로 신뢰하고, 외부 인터넷은 신뢰하지 않는 구역으로 본다. 이 구분을 기반으로 경계 지점에 방화벽을 두고, 외부에서 내부로 들어오는 트래픽을 기본적으로 엄격하게 제한한다.

    • 내부 → 외부: 사용자가 웹사이트를 접속하거나 업데이트를 받기 위해 대체로 허용이 많다.
    • 외부 → 내부: 허용하지 않으면 원칙적으로 차단이 많다. 필요한 서비스만 예외로 연다.

    이 구조는 현실적이다. 내부의 모든 장치가 외부로부터 직접 접근 가능해지면 공격 표면이 급격히 늘어난다.

    3) 포트(Port)란 무엇인가: “한 컴퓨터 안에서 목적지 프로그램을 고르는 번호”다

    방화벽 이야기에 포트가 항상 따라붙는 이유는, 네트워크 통신이 “컴퓨터 한 대”가 아니라 “그 안에서 실행되는 여러 프로그램”으로 들어가기 때문이다. 포트는 어떤 프로그램(서비스)과 통신할지를 구분하는 번호다.

    • 80/tcp: HTTP(웹)
    • 443/tcp: HTTPS(암호화 웹)
    • 22/tcp: SSH(원격 접속)
    • 3389/tcp: RDP(윈도우 원격 데스크톱)

    예를 들어 웹 서버를 운영한다면 외부에서 80이나 443으로 들어오는 요청을 허용해야 한다. 반대로 일반 사용자의 PC는 외부에서 임의의 포트로 들어오는 연결을 허용할 이유가 거의 없다.

    4) 상태 기반 검사(Stateful Inspection): “대화의 흐름”을 기억하는 방화벽

    초기 방화벽은 단순히 패킷 하나하나를 보고 규칙에 맞으면 통과시키는 방식(정적 필터링)에 가까웠다. 현대 방화벽은 대부분 상태 기반 검사(stateful inspection)를 사용한다. 이는 “이 연결이 정상적으로 시작된 대화인지”를 추적한다는 뜻이다.

    예를 들어 사용자가 내부에서 웹사이트에 접속하면(내부 → 외부, 443/tcp), 서버가 응답을 보내는 트래픽(외부 → 내부)은 “요청에 대한 응답”으로 간주되어 자연스럽게 허용된다. 즉, 외부에서 임의로 들어오는 새 연결은 막되, 내부에서 시작한 연결의 응답은 통과시키는 방식이다. 이 원리 덕분에 사용자는 웹을 정상적으로 사용할 수 있고, 외부 공격 표면은 줄어든다.

     

    VPN은 어떻게 동작하나: 공용 와이파이에서도 안전하게 접속할 수 있는 이유
    방화벽의 인바운드/아웃바운드와 상태 기반 검사 흐름

    5) 방화벽 종류: 네트워크 방화벽과 호스트 방화벽을 구분한다

    방화벽은 설치 위치에 따라 크게 두 가지로 나뉜다.

    • 네트워크 방화벽: 라우터/보안장비처럼 네트워크 경계에 위치한다. 여러 장치를 한 번에 보호한다.
    • 호스트 방화벽: 각 PC나 서버 자체에 설치된 방화벽이다(예: Windows Defender Firewall). 해당 장치 단위로 세밀한 규칙을 적용할 수 있다.

    집에서는 공유기가 네트워크 방화벽 역할을 어느 정도 수행하고, 회사나 서버 운영 환경에서는 네트워크 방화벽과 호스트 방화벽을 함께 쓰는 경우가 많다.


    실제 사례로 이해하는 방화벽과 문제 해결 방법

    1) 사례 1: “웹은 되는데 특정 프로그램만 연결이 안 된다”

    웹 브라우징은 되는데, 특정 게임/업무 프로그램/원격 툴이 연결이 안 되는 경우가 있다. 이때 방화벽 관점에서 가장 먼저 확인할 것은 “그 프로그램이 어떤 포트를 쓰는지”다.

    • 프로그램이 특정 포트를 필요로 하는데 방화벽에서 막고 있을 수 있다.
    • 회사 네트워크에서는 보안 정책상 특정 포트/프로토콜을 차단하는 경우가 흔하다.
    • 집 공유기에서도 일부 보안 설정이나 자녀 보호 기능이 특정 트래픽을 차단할 수 있다.

    실전 점검 순서는 다음이 효율적이다.

    1. 같은 프로그램이 모바일 데이터(테더링)에서는 되는지 확인한다. 된다면 집/회사 네트워크 방화벽 정책 문제일 가능성이 커진다.
    2. 다른 PC에서도 같은 증상이 반복되면 네트워크 방화벽(공유기/회사 장비) 쪽을 의심한다.
    3. 내 PC만 문제면 호스트 방화벽(Windows 방화벽) 또는 보안 프로그램 정책을 의심한다.

    “원격 접속이 안 된다”는 문제의 대부분은 인바운드 차단이다

    집이나 사무실 PC로 원격 접속을 하려면 외부에서 내부로 들어오는 연결이 필요해진다. 그러나 기본 방화벽 정책은 외부 인바운드를 차단하는 경우가 많다. 이때 흔히 등장하는 개념이 포트 포워딩이지만, 여기서는 방화벽의 핵심만 정리한다.

    • 외부에서 내부로 들어오는 서비스(예: 원격 데스크톱, 서버)는 인바운드 허용 규칙이 필요하다.
    • 호스트 방화벽에서도 해당 포트를 허용해야 한다.
    • 공인 IP 여부, NAT 환경, ISP 정책 등도 영향을 준다.

    원격 접속 문제가 발생하면 “내부에서 외부로 나가는 연결이 아니라, 외부에서 내부로 들어오는 연결”이라는 점을 먼저 인식해야 한다. 방향을 잘못 잡으면 점검이 끝없이 길어진다.

    3) 사례 3: 방화벽을 껐더니 된다면, 규칙이 문제라는 뜻이다

    문제 해결을 위해 방화벽을 잠시 끄는 행동은 원인 판별에는 도움이 될 수 있다. 다만 방화벽을 꺼서 해결된다면, 그 결론은 “방화벽이 필요 없다”가 아니라 “필요한 예외 규칙을 올바르게 추가해야 한다”다.
    특히 서버나 업무용 PC에서 방화벽을 상시 끄는 것은 공격 표면을 크게 늘린다. 해결 방식은 다음 원칙을 따른다.

    • 전체 해제 대신, 특정 프로그램/특정 포트/특정 IP에 대해서만 허용한다.
    • 임시 허용 후 정상 동작을 확인하고, 불필요한 규칙은 제거한다.
    • 허용 범위를 최소화한다(필요 최소 권한 원칙).

    연결 실패 시 인바운드/아웃바운드 방향을 구분하고, 필요한 포트와 프로토콜을 확인한 뒤, 전체 해제 대신 최소 범위 예외 규칙으로 해결하는 절차를 단계별로 정리한 흐름도
    방화벽 문제 진단 플로우(방향·포트·규칙 최소화)

    4) 일반 사용자를 위한 체크리스트: 방화벽 때문에 생기는 ‘접속 불가’ 해결 순서

    초보자가 현실에서 자주 쓰는 점검 순서를 정리하면 다음과 같다.

    1. 문제가 “내 PC만”인지 “같은 네트워크의 모든 기기”인지 구분한다.
    2. 인터넷 자체가 안 되는지(웹도 안 됨) 또는 특정 서비스만 안 되는지 구분한다.
    3. 모바일 테더링으로 비교한다(네트워크 정책 문제 분리).
    4. 호스트 방화벽에서 해당 앱이 차단되었는지 확인한다(프로그램 예외).
    5. 회사 환경이면 네트워크 방화벽 정책(차단 포트/차단 도메인) 가능성을 고려한다.

    이 순서를 따르면 방화벽을 무작정 끄거나, 원인을 추측으로만 좁히는 시행착오가 줄어든다.

    5) 보안 관점에서 기억할 한 가지: “열어야 할 때만, 최소로 연다”

    방화벽 규칙은 편의성과 보안 사이의 균형이다. 필요한 통신을 막으면 업무가 안 되고, 필요 이상으로 열면 공격 표면이 커진다. 따라서 방화벽 운용의 핵심은 다음 한 줄로 정리된다.
    외부에서 들어오는 인바운드는 기본 차단하고, 꼭 필요한 서비스만 최소 범위로 허용해야 한다.


    방화벽은 네트워크의 출입문이며, 규칙과 방향을 이해하면 문제 해결이 빨라진다

    방화벽은 외부 공격을 막는 만능 장치가 아니라 네트워크 트래픽의 출입을 규칙으로 통제하는 장치다. 내부 네트워크와 외부 인터넷을 신뢰 구역으로 나누고, 인바운드와 아웃바운드 방향을 구분해 정책을 적용한다. 상태 기반 검사는 내부에서 시작한 정상 연결의 응답을 허용해 사용성을 유지하면서도, 외부에서 시작되는 임의의 인바운드 연결을 차단해 보안을 높인다. 실제 문제 해결에서는 “전체 해제”가 아니라 필요한 포트와 프로그램만 최소 범위로 허용하는 방식이 안전하다.

    다음으로 이어서 보면 좋은 주제는 두 가지다. 첫째, NAT와 공인 IP/사설 IP가 원격 접속과 포트 포워딩에 어떻게 연결되는지에 대한 설명이다. 둘째, HTTPS와 TLS가 방화벽과 어떤 관계를 가지는지, 그리고 암호화 트래픽 환경에서 보안 정책을 어떻게 세우는지에 대한 정리다.