새 소식우리 회사에 어떤 규제가 적용되는지 알고 계신가요? 3분 안에 확인할 수 있습니다. Panke가 드리는 진심 어린 선물:EU 스코퍼한국 스코퍼
무엇을 도와드릴까요?

채널로 문의하기

KakaoTalkLINE

48시간 이내 답변

이메일 보내기 →
리눅스 방화벽은 IPv6도 커버하고 있을까?
네트워크보안

리눅스 방화벽은 IPv6도 커버하고 있을까?

2026년 10월 7일·Alex Holmquist, Panke IT Solutions LLC

2016년의 한 연구에 따르면, 듀얼 스택 서버의 43%가 IPv4와 IPv6에서 서로 다르게 응답한 것으로 나타났다.

iptables가 IPv6를 무방비 상태로 남겨두는 이유와 1분 만에 서버를 점검하는 방법을 소개한다.

두 개의 문이 있는 건물의 평면도. IPv4 문은 빗장이 걸려 있고 감시되고 있지만, IPv6 문은 '열림 및 감시되지 않음' 표지와 함께 열려 있으며, 점선 화살표가 이를 지나 내부 서비스로 이어진다.

iptables 대 ip6tables

리눅스 커널은 각 IP 버전별로 독립된 규칙 세트를 관리한다.

iptables(8): "iptables와 ip6tables는 리눅스 커널에서 IPv4 및 IPv6 패킷 필터링 규칙 테이블을 설정, 유지 관리, 검사하는 데 사용된다."

iptables로 추가한 규칙은 오직 IPv4에만 적용된다.

기본적으로 커널 소스는 두 프로토콜 모두의 기본 체인을 ACCEPT 정책으로 초기화한다.

결과적으로 iptables로 구축한 방화벽은 IPv6를 완전히 개방된 상태로 방치할 수 있다.

나란히 있는 두 개의 터미널 패널. iptables -L은 수립된 트래픽, 22번 및 443번 포트, ICMP echo에 대한 규칙과 함께 Chain INPUT (policy DROP)을 보여주며 나머지 모든 항목을 차단한다. ip6tables -L은 규칙이 없고 모든 항목을 허용하는 Chain INPUT (policy ACCEPT)를 보여준다.

필터링되지 않은 IPv6가 서버를 위험에 노출시키는 경우

다음 세 가지 조건이 충족되면 비어 있는 ip6tables INPUT 체인이 서비스를 위험에 노출시킨다.

  • 호스트가 공인(Global) IPv6 주소를 가지고 있다.
  • 서비스가 [::](모든 IPv6 인터페이스)에서 수신 대기(listen)한다.
  • 상류(Upstream) 방화벽이 IPv6 트래픽을 필터링하지 않는다.

상류 필터링은 오해하기 쉽다. AWS 보안 그룹은 명시적으로 ::/0 규칙을 추가할 때까지 IPv6를 차단하지만, 많은 듀얼 스택 VPS 및 온프레미스 시스템의 호스트 방화벽은 유일한 방어 계층이다.

운영자가 의도적으로 IPv6를 열어두는 경우는 드물다

NDSS 2016에서 Czyz, Luckie, Allman, Bailey가 발표한 연구에 따르면, 두 IP 스택을 모두 제공하는 서버의 43%가 스택별로 다르게 동작하는 것으로 나타났다.

이 연구는 520,000대의 듀얼 스택 서버와 25,000대의 라우터를 조사했다. 서버의 26%에서 IPv6 설정이 IPv4보다 더 관대했다. 라우터의 경우 SSH, Telnet, SNMP 같은 서비스가 IPv6를 통해 노출될 확률이 2배 더 높았다.

IPv6 방화벽 오설정은 시스템 관리자만의 실수가 아니다. 하드웨어 제조사도 이러한 실수를 저지른다! Pierre Kim은 FiberHome HG6245D 광단말기(2019년 펌웨어 실행)가 모든 ip6tables 체인의 기본 정책이 ACCEPT로 설정된 채 출하되었음을 보여주었다.

"기본적으로 IPv6 연결에 대한 방화벽 규칙이 없으므로 내부 관리 인터페이스가 인터넷에 노출된다."

Czyz 등의 2016년 연구 결과: 520,000대의 듀얼 스택 서버 및 25,000대의 라우터 중 IPv6와 IPv4 설정이 서버의 43%, 라우터의 44%에서 다름.

1분 만에 서버 점검하기

호스트에서 다음 네 가지 명령을 실행하라.

ip -6 addr show scope global  # 공인 IPv6 주소가 존재하는가?
ss -tlnp                      # 서비스가 IPv6([::]:22 또는 *:22)에서 수신 대기 중인가?
sudo ip6tables -L -n -v       # 활성화된 IPv6 규칙은 무엇인가?
sudo nft list ruleset         # 듀얼 스택 "table inet"이 존재하는가?

IPv6를 안전하게 보호하는 방법

  • IPv6 비활성화: IPv6를 사용하지 않는다면 활성화해 두는 것은 좋지 않은 네트워크 관리 습관이다.
  • 규칙 미러링: 모든 iptables 규칙을 ip6tables로 동일하게 복제하라.
  • ufw 사용: Uncomplicated Firewall은 기본적으로 IPv6를 활성화하며(/etc/default/ufw 파일의 IPV6=yes), 이는 2012년 0.31 버전부터 지원된 표준 기능이다.
  • firewalld에서 패밀리 지정자 없이 리치 규칙(rich rules) 사용: firewalld 문서에 설명되어 있듯이 family 및 주소 정의를 모두 생략하면 시스템이 IPv4와 IPv6 모두에 규칙을 적용한다.
  • nftables inet 테이블로 이전: nftables 위키에 명시된 바와 같이, inet 패밀리를 사용하는 테이블은 IPv4 및 IPv6 패킷을 함께 처리한다.

IPv4에서는 닫혀 있다고 생각했던 포트가 IPv6를 통해 응답하는 것을 발견한 적이 있는가?

참고 문헌

  1. Linux man-pages — iptables(8)
  2. Jakub Czyz, Matthew Luckie, Mark Allman, Michael Bailey — Don't Forget to Lock the Back Door! A Characterization of IPv6 Network Security Policy, NDSS 2016
  3. Pierre Kim — Multiple vulnerabilities found in FiberHome HG6245D routers (2021년 1월 12일)
  4. ufw — ChangeLog, release 0.31 (2012년 3월 9일)
  5. nftables wiki — Nftables families
  6. Linux kernel — net/netfilter/xt_repldata.h
  7. firewalld — Rich language documentation
  8. AWS — Security group rules
귀사의 공격 표면이 걱정되시나요?

귀사의 인프라가 공격자의 스코어링 모델에서 어떻게 평가되는지 알고 싶다면 contact@pankeit.com으로 문의해 주세요. 동일한 지문채취 및 스코어링 프로세스를 실행하고 우선순위가 매겨진 개선 목록을 제공합니다.

블로그 구독하기

최신 보안 동향을 가장 먼저 받아보세요

스팸 없음. 언제든 구독 취소.

©2026 Panke IT Solutions LLC

Austin, TX