Computer >> 컴퓨터 >  >> 시스템 >> Windows

방화벽의 인바운드·아웃바운드 규칙, 제대로 이해하기

방화벽의 인바운드·아웃바운드 규칙, 제대로 이해하기

방화벽이 하는 일이 무엇이냐고 물으면, 대부분 "안전하게 지켜준다"라고 답할 것입니다. 물론 틀린 말은 아니지만, 방화벽이라는 큰 개념을 지나치게 단순화한 표현일 뿐입니다. 이 겉보기에 낯선 소프트웨어를 제대로 이해하려면 어떻게 안전을 지켜주는지, 그리고 어떤 원리로 작동하는지를 아는 것이 훨씬 중요합니다. 사용 중인 방화벽에 '인바운드(inbound)'와 '아웃바운드(outbound)'라는 두 가지 '규칙' 세트가 있다는 것을 눈치챘을 수도 있습니다. 이 용어들은 무엇을 의미할까요? 정말 둘 다 필요한 걸까요? Windows든 Linux든 Mac OS든, 운영체제와 관계없이 반드시 알아두어야 할 핵심 개념들을 함께 살펴보겠습니다.

인바운드와 아웃바운드는 무엇을 의미할까?

이 두 용어는 각각 관리하는 데이터의 방향을 나타냅니다.

인바운드 규칙은 인터넷에서 컴퓨터로 들어오는 패킷을 통제합니다. 방화벽에서 특정 포트나 애플리케이션에 대한 인바운드 패킷 차단을 설정하면, 해당 경로로 들어오는 트래픽만 차단됩니다. 특정 애플리케이션에 대한 인바운드 차단 규칙을 적용하면, 방화벽은 먼저 그 애플리케이션이 패킷 전송을 위해 열어둔 포트를 확인한 뒤, 해당 포트로 들어오는 모든 전송을 차단합니다.

아웃바운드 규칙은 컴퓨터에서 외부로 나가는 데이터를 통제합니다. 적용 방식은 인바운드 규칙과 같은 논리이며, 유일한 차이점은 아웃바운드 차단이 특정 포트를 통해 컴퓨터 밖으로 나가려는 패킷을 차단한다는 점입니다.

악성 패킷이 컴퓨터로 들어오는 것을 막아야 하므로 인바운드 보호가 필요하다는 것은 당연해 보입니다. 그렇다면 아웃바운드 보호도 정말 필요할까요?

방화벽의 인바운드·아웃바운드 규칙, 제대로 이해하기방화벽의 인바운드·아웃바운드 규칙, 제대로 이해하기

아웃바운드 보호가 존재하는 이유

컴퓨터에서 나가는 패킷 역시 여러분에게 해가 될 수 있습니다. 애플리케이션이 동의 없이 신용카드 정보나 비밀번호가 담긴 패킷을 외부로 전송한다면, 본인도 모르는 사이에 정보가 유출되는 셈입니다. 실제로 일부 바이러스가 이런 방식으로 심각한 피해를 일으킵니다. 하지만 아웃바운드 보호가 굳이 불필요하다는 주장에도 분명한 일리가 있습니다.

아웃바운드 보호가 꼭 필요하지 않을 수 있는 이유

Windows 방화벽은 애플리케이션을 차단할지, 인터넷 접근을 허용할지 묻는 메시지를 띄울 때 사용자의 선택에 따라 인바운드 규칙을 생성합니다.

방화벽의 인바운드·아웃바운드 규칙, 제대로 이해하기

대부분의 리눅스 배포판 기본 방화벽은 수동으로 설정해야 하며, 초보 사용자에게는 다소 번거로울 수 있습니다. 이 글의 이해를 돕기 위해 Windows 방화벽만 예시로 들겠습니다. 참고로 MTE에는 대다수 배포판의 기본 방화벽인 iptables에 대한 풍부한 자료가 이미 마련되어 있습니다.

즉, Windows 방화벽은 기본적으로 인바운드 기준으로 애플리케이션을 차단합니다. 이것이 왜 중요할까요?

아마도 이 경우 아웃바운드 차단은 사실상 중복이 되기 때문입니다. 설명해 보겠습니다. 정보를 외부로 전송하는 바이러스에 감염되더라도, 해당 바이러스는 먼저 '마스터(제어 서버)'와 연결을 수립해야만 정보를 전송하기 시작하는 경우가 대부분이며, 이 과정 역시 인바운드 접근이 필요합니다(연결이 수립되었다는 서버의 응답을 받아야 하기 때문입니다). 물론 UDP처럼 연결 없는 프로토콜을 통해 정보를 전송하는 바이러스도 있고, 아웃바운드 방화벽 소프트웨어의 흔한 취약점을 이용해 설정된 규칙에서 벗어나는 바이러스도 있습니다. 방화벽 규칙을 우회하는 가장 흔한 방식은 시스템 내 다른 애플리케이션에 자신을 붙인 뒤, 윈속(Winsock, 인터넷 서버에 연결하고 상호작용할 수 있게 해주는 Windows의 네트워크 소켓)을 통해 정보를 빼내는 것입니다.

그럼에도 바이러스가 걱정된다면 백신 프로그램을 살펴보는 것이 좋습니다. 바이러스 제작자가 어설프고 게으르지 않은 한, 방화벽만으로는 큰 효과를 기대하기 어렵습니다. 또한 대부분의 바이러스는 시스템에 피해를 주기 위해 정상적인 인터넷 연결이 필요하지 않으며, 오직 일부 바이러스(예: 트로이 목마)만 인터넷에 의존해 작동합니다.

덧붙여, 단순히 보안을 한층 더 강화하고 싶다면 서드파티 방화벽까지 설치할 필요는 없습니다. Windows 방화벽만으로도 아웃바운드 규칙을 충분히 잘 처리해 줍니다.

결론은?

필자가 무엇이라 말하든, 아웃바운드 방화벽에는 분명 쓸모가 있습니다. 예컨대 애플리케이션이 몰래 데이터를 전송하는 '폰홈(phone home)' 행위를 막아줍니다. 기술에 익숙한 독자라면, 멀웨어가 아닌 일반 애플리케이션의 인터넷 접근을 차단해야 하는 많은 상황에서 아웃바운드 규칙이 결정적인 역할을 한다는 사실에 공감할 것입니다. 하지만 일반 가정용 사용자라면 아웃바운드 방화벽의 세부 작동 방식까지 신경 쓸 필요는 없습니다. 탄탄한 백신 프로그램과 함께 인바운드 규칙만으로도 충분합니다.

궁금한 점이 있다면 아래에 댓글을 남겨주세요. 답변해 드리겠습니다.