토나와 블랙리스트 vs 화이트리스트, 무엇이 다른가

03 May 2026

Views: 5

토나와 블랙리스트 vs 화이트리스트, 무엇이 다른가

보안 운영을 몇 달만 해보면 같은 말이 입에 붙는다. 토나와. 스팸도, 봇도, 악성 IP도 끝없이 밀려온다. 새로 막으면 우회가 나오고, 규칙을 촘촘히 하면 정상 사용자가 걸린다. 명단을 하나 더 늘리면 그날은 조용해지지만 일주일 뒤 다시 소란이 시작된다. 그럴수록 기본으로 돌아가야 한다. 블랙리스트와 화이트리스트, 두 가지 단순한 관점이 언제 유효하고 어디에서 한계를 드러내는지 차분히 가르는 일부터.
블랙리스트와 화이트리스트, 말의 정의부터
블랙리스트는 금지 목록이다. 특정 대상을 식별자나 속성으로 묶어 나열하고, 목록에 있으면 차단한다. 일반적으로 스팸 발신 IP, 악성 도메인, 유해한 앱 패키지 이름, 탈취된 카드 번호 대역처럼 부정한 것으로 판명된 것들을 올린다. 블랙리스트가 잘 작동하는 영역은 악성의 행태가 반복되고 식별자가 재사용되는 곳이다.

화이트리스트는 허용 목록이다. 정해진 항목만 통과시키고 나머지는 모두 막는다. 기업 내부망에서 외부로 나가는 도메인을 화이트리스트로 한정하거나, B2B API에서 고객사 IP만 허용하는 식이다. 정체가 분명한 대상만 상대해야 하고 실패 비용이 큰 환경에서 효율적이다.

요즘 업계에서는 용어의 포용성 문제 때문에 allowlist와 denylist라는 표현을 선호하는 추세다. 용어가 바뀐다고 기술적 원리는 달라지지 않는다. 중요한 것은 기본 원리와 운영 방식이다.
어디에서 무엇을 막고, 무엇을 통과시킬 것인가
명단 기반 통제는 여러 계층에서 동시에 일어난다. 네트워크, 애플리케이션, 데이터, 심지어 사람과 프로세스까지. 방화벽 ACL처럼 네트워크 경계에서 사용할 수도 있고, 웹 애플리케이션 레벨에서 사용자 행위에 점수를 매긴 뒤 블랙리스트 규칙으로 조치할 수도 있다. 메시지 플랫폼은 발신자 평판을 기준으로 메일을 스팸함으로 보낸다. 결제 게이트웨이는 BIN과 거래국가, 디바이스 지문을 결합해 차단 결정을 기록한다.

현장에서 인상 깊었던 예는 CDN과 WAF를 함께 운영하던 한 미디어 서비스였다. 개봉 당일 영화 리뷰 페이지에 트래픽이 평소의 20배 몰린 날, 페이지 스크롤 길이와 자바스크립트 실행 시간을 기반으로 웨이브 형태의 짧은 요청을 구분해 일시 차단했다. 블랙리스트 규칙 하나로 수 분간 급한 불을 껐다. 그런데 나중에 보니 오래된 삼성 브라우저 사용자가 일부 같이 걸렸다. 고전적인 역풍이다. 임시 규칙으로 시간을 벌고 나면, 근본적인 분류 기준과 위치를 재검토해야 한다.

화이트리스트의 힘은 안정된 경로를 전제로 할 때 극대화된다. 예를 들어 내부 인사 시스템에 접근할 수 있는 외부 IP를 본사와 각 지사의 고정 회선으로 제한하면, 일시적으로 계정을 탈취해도 공격자는 접속 자체가 불가능하다. 다만 조직이 원격 근무를 확대하거나, 클라우드 프록시를 도입하면 허용 목록이 기하급수적으로 늘어난다. 운영이 버거워지는 순간이 온다.
강점과 약점, 장면별로 잘라 보기
블랙리스트는 실용적이다. 이미 나쁜 것으로 확인된 대상을 후처리 없이 신속히 차단할 수 있다. 스팸 발신 IP 대역, 알려진 익명화 프록시, 위조 앱의 해시, 반복적으로 악용된 쿠폰 코드 같은 것들이 대상이다. 대개 거짓 양성, 즉 정상 사용자가 막힐 위험이 낮다. 그런데 인터넷은 변한다. 봇넷의 IP는 몇 시간마다 바뀌고, 피싱 도메인은 1일 내 폐기되기도 한다. 규칙 유지가 느리면 새 이름표만 바꾼 공격을 그대로 들여보낸다. 반대로 과하게 확장하면 합법적 트래픽이 함께 적중한다. IPv6 환경에서는 CIDR 차단을 조금만 넓혀도 엄청난 주소 범위를 삼켜 버린다.

화이트리스트는 안전하다. 허용된 것만 통과시키면 위협의 창의성에 신경을 덜 써도 된다. 고객사의 API 호출을 승인된 VPN에서만 허용하면 인증서 탈취가 발생해도 외부에선 사실상 무력하다. 문제는 스케일과 변화다. 파트너가 늘어나고 업무 도구가 바뀌면 허용 항목이 급증한다. 오탑재 한 번으로 서비스 전체가 멈춘다. 보안팀과 운영팀의 SLA가 느슨하면 사용자는 오늘도 접근 요청 메일을 보낸다. 하루 평균 몇 건의 추가 요청을 수용할 수 있을지, 업무 시간 외에도 대응할지, 책임의 경계가 필요하다.

데이터 프라이버시 규정도 고려해야 한다. IP나 디바이스 지문을 일정 기간 보관하는 것은 합법적 근거와 보존 기간 준수가 뒤따라야 한다. 특히 블랙리스트는 종종 범죄 혐의를 암시하는 데이터로 해석될 수 있다. 삭제 요구권과 이의 제기 창구 없이는 쟁점이 된다.
경계가 흐려지는 상황들
경험상 애매한 회색지대가 오히려 운영 난도를 높인다.

CGNAT와 공용 와이파이의 그림자. 한 카페에서 수백 명이 하나의 공인 IP를 공유한다. 여기서 공격 시도가 나오면 블랙리스트로 IP를 막는 순간 정상 손님까지 차단한다. 요즘 모바일 캐리어는 지역 단위로 CGNAT를 쓴다. 같은 이유로 IP 단위 제재의 정확도는 떨어진다.

CDN과 호스팅 사업자 공유 IP. 대형 클라우드에서 나오는 트래픽은 선악이 공존한다. 자체 네트워크에서 나온다는 것만으로는 판단이 어렵다. ASN 단위 차단은 마지막 수단으로 미뤄야 한다.

도메인 프런팅과 서브도메인 셔플. 악성 운영자는 합법적 상위 도메인 아래에서 하위 호스트를 계속 바꾼다. 서브도메인 와일드카드 차단은 손쉬운 해결처럼 보이지만, SaaS 기반의 정상이 함께 묶인다.

VPN과 프라이버시 도구의 보편화. 정상 사용자가 합법적 이유로 VPN을 쓴다. 백서 수준의 프라이버시 정책을 가진 사용자를 블랙리스트로 몰아내면, 브랜드 신뢰가 금세 줄어든다.

이런 장면에서는 단일한 블랙리스트 혹은 화이트리스트로는 정밀 제어가 어렵다. 신뢰 점수, 행위 기반 탐지, 일시적 제약 같은 보조 수단을 섞어야 한다.
명단을 어디에 둘 것인가, 구조와 성능
명단은 데이터다. 그리고 데이터는 구조에 따라 성능과 비용이 갈린다. IP, CIDR, 도메인, 해시, 계정 ID 등 유형에 맞춰 적절한 자료구조를 택해야 한다. 네트워크 경계에서는 라디क्स 트리나 Patricia trie가 CIDR 매칭에 효율적이다. 대규모 문자열 해시는 블룸 필터로 1차 거짓 양성 허용 필터링을 적용한 후 정밀 매칭으로 넘어가면 메모리 발자국을 줄일 수 있다. 요청당 지연 시간을 1밀리초 이하로 묶어 두고 싶다면 로컬 메모리 캐시와 정기 스냅샷 방식을 선호한다. 반대로 감사 추적과 버전 관리가 중요하다면 중앙 저장소에 변경 이력을 남기고, CDN 엣지에는 읽기 전용 델타만 전파한다.

업데이트 주기도 결정해야 한다. 스팸 도메인처럼 수명이 짧은 항목은 TTL을 24시간 이하로 잡고, 미갱신 항목은 자동 폐기한다. 내부 파트너 IP처럼 장기 항목은 분기마다 재검증하고, 실제로 접속 기록이 없는 값은 퇴출 후보로 표시한다. 변경권한은 최소화하고, 배포는 카나리 방식으로 일부 트래픽에만 적용해 본다. 과거에 10만 건 규모의 블랙리스트를 전량 교체했다가 엣지 노드 2대가 메모리 압박으로 재시작된 사례가 있다. 안전 장치 없이 대량 교체는 금물이다.
탐지와 통제 사이, 회피를 줄이는 법
명단이 실전에서 오래 버티려면 탐지와 통제의 루프가 촘촘해야 한다. 로그를 단순 저장하는 것만으로는 부족하다. 오탐 비율, 누락률, 차단된 트래픽의 재시도 패턴, 차단 직후 에러 페이지 체류 시간 같은 보조 지표를 함께 본다. 차단을 걸었을 때 공격자가 어떤 우회를 택하는지, UI의 어떤 지점에서 이탈이 생기는지, 응답 속도가 어떻게 변하는지 매일 살핀다.

새 규칙은 그림자 모드로 먼저 돌려 본다. 실제 차단은 하지 않고 히트 여부만 기록하는 방식이다. 일주일 정도 샘플을 모아 정상 트래픽에 대한 영향도를 본 뒤, 단계적으로 활성화한다. 이런 절차를 거치면 토나와 싶은 밤의 횟수가 줄어든다.
하이브리드 전략, 점수와 명단의 동거
실무에서 가장 빈도가 높은 형태는 하이브리드다. 블랙리스트와 화이트리스트가 뼈대가 되고, 그 위에 평판 점수와 토나와 https://xn--910bs42bt6h.com/ 행위 기반 룰이 더해진다. 의심 점수가 일정 임계값 이상이면 추가 인증을 요구하고, 더 높으면 일시 차단, 확실하면 영구 차단으로 간다. 이 과정에서 회색지대, 흔히 그레이리스트라 부르는 상태를 적극 활용한다. 의심스러운 신규 발신자는 24시간 동안 전송 한도를 낮추거나 대기열을 통과하도록 지연시킨다. 이 지연은 공격자에겐 경제적 비용이 되고, 정상 사용자에겐 안내 문구 하나로 감내 가능한 수준이 된다.

이 점수는 IP 평판, 디바이스 무결성, 세션 내 마우스 움직임의 자연스러움, 과거 동일 사용자의 성공 실패 기록 같은 신호를 섞어 만든다. 머신러닝을 얹을 수도 있지만, 규칙 기반으로 시작해도 충분히 효과적이다. 모델을 쓴다면 설명 가능성을 확보해야 한다. 왜 차단되었는지 설명할 수 없으면 이의 제기와 컴플라이언스 대응이 어려워진다.
도입 맥락에 따른 선택법
같은 도구라도 맥락이 다르면 처방이 달라진다. 고객군, 위협 모델, 운영 인력의 규모, 제품의 민감도가 변수를 만든다.

B2B API를 제공하는 초기 스타트업이라면 화이트리스트 중심으로 출발하는 편이 낫다. 고객 수가 수십 곳일 때는 파트너 IP와 서브도메인을 허용 목록에 올리고, 다른 경로는 모두 거부하는 전략이 단순하고 안정적이다. 오탐이 생겨도 고객사 담당자와 직접 조율이 가능하다. 반면 소비자 대상 서비스에서 화이트리스트는 거의 불가능하다. 신규 유입을 막는다. 이 경우 블랙리스트와 점수 기반 보완을 섞고, CAPTCHA나 추가 인증 같은 단계적 완화를 고려한다.

글로벌로 서비스를 열 계획이면, 국가 기반 차단 같은 거친 블랙리스트는 지양하자. 지리적 IP는 정확도가 95퍼센트 안팎으로 알려져 있지만, 모바일 환경에서는 그보다 낮아질 수 있다. 현지 파트너와 법률 이슈, 현지 결제 망과의 호환성까지 맞물린다. 차라리 고위험 구간에만 추가 인증을 더하는 방식이 부작용이 적다.

내부 시스템을 다루는 보안팀이라면, 이름보다 거버넌스가 먼저다. 누가 어떤 근거로 목록을 올리고 내리는지, 철회 요청은 어디로 접수하는지, 시한이 지난 항목은 어떻게 정리하는지 문서화한다. 6개월만 지나도 목록은 고아 항목으로 가득 차기 쉽다. 실제로 보안 점검에서 가장 자주 적발되는 것이 만료된 화이트리스트 항목이다.
사용자 경험, 언어, 그리고 설득
명단은 기술이지만 사람에게 체감된다. 차단을 당한 사용자가 보는 화면, 다시 시도할 수 있는 방법, 문의 경로가 정중하고 명확해야 한다. 이유를 모두 공개할 수는 없지만, 전혀 설명하지 않으면 적대감만 남는다. 예를 들어 일시 차단이라면 차단 사유의 카테고리와 유효 기간, 즉시 풀릴 수 있는 조건을 간단히 안내할 수 있다. 계정이 겨냥된 공격에서 정상도 함께 걸러졌을 가능성이 있다면, 비밀번호 변경과 2단계 인증 활성화 같은 후속 행동을 제시한다.

용어 선택도 중요하다. 많은 조직이 allowlist와 denylist로 전환하는 이유는 단지 유행이 아니라 협업과 문서에서 불필요한 논란을 피하기 위해서다. 팀이 합의한 언어를 쓰면 토론의 초점이 원리와 데이터로 모인다.
비용과 성능, 숫자로 따져 보기
명단 크기가 수천 건이면 어떤 방식을 써도 큰 차이가 없다. 만 건을 넘기고 백만 건을 바라보면 이야기가 달라진다. 메모리 상주 집합으로 100만 건의 해시를 들고 가면 256MB 안팎의 공간을 쓴다. 엣지 노드가 수십 대라면 메모리 비용만으로도 한 달 수백 달러가 들 수 있다. 외부 위협 인텔리전스 피드를 구독하면 월 수십만 원에서 수백만 원대의 비용이 추가된다. 장애 시나리오도 고려해야 한다. 중앙 저장소가 잠깐 멈췄을 때 엣지의 캐시가 얼마나 오래 버틸지, 부정확한 오래된 명단이 남아 있는 상태로 몇 시간을 버텨야 하는지 SLO를 잡는다.

성능 측면에서는 요청당 매칭 시간을 관건으로 본다. 평균 0.2밀리초, 99번째 백분위 1밀리초 같은 목표를 세우고, 구조화된 프로파일링으로 병목을 찾는다. 문자열 매칭이 병목이면 접두사 트리로 바꾸고, IP 매칭이 병목이면 라디컬 단축을 시도한다. 이런 기초 튜닝이 끝나야 진짜 과제인 오탐과 미탐의 줄다리기를 제대로 볼 수 있다.
명단의 수명 관리, 지우는 능력
좋은 명단은 잘 지워진다. 내부 지침으로 항목별 수명을 미리 정해 두자. 단발성 공격의 IP와 도메인은 7일, 반복적이지만 휘발성인 소스는 30일, 사법기관 통보처럼 신뢰도가 높은 항목은 무기한 같은 단계다. 무기한이라도 연 단위 재검증을 적어 둔다. 운영 대시보드에 만료 예정 항목을 따로 묶어 보여주면, 분기 점검이 한결 수월해진다. 이 절차가 없으면 목록은 금세 앙금처럼 쌓인다. 어느 날 갑자기 정상 서비스가 막혀 있는데, 이유가 2년 전 테스트용으로 올렸던 CIDR 때문인 일, 의외로 흔하다.

명단 변경의 감사 추적은 꼭 남기자. 누가, 언제, 어떤 근거로 추가 혹은 삭제했는지 텍스트로 기록해 두면, 사고 보고서가 빠르고 정확해진다. 실무자는 시간이 부족하다. 템플릿 한 장이면 충분하다. 항목, 근거, 예상 영향, 롤백 방법, 만료일, 승인자.
케이스별 요령, 실제 선택을 돕는 짧은 비교 블랙리스트는 알려진 악성 대응에 빠르다. 새 위협에는 약하고 유지가 필요하다. 화이트리스트는 실패 비용이 큰 내부, 파트너 환경에 적합하다. 변화에 약하고 운영 비용이 크다. CGNAT, CDN 공유 IP, VPN 보편화 같은 환경에서는 IP 단독 기준이 위험하다. 보조 신호가 필요하다. 글로벌 소비자 서비스는 국가 차단 같은 거친 룰보다 단계적 인증과 속도 제약을 권한다. 스타트업 B2B API는 화이트리스트로 단순하게 시작하고, 성장에 맞춰 점수 기반과 그레이리스트를 추가한다. 실수 줄이는 체크리스트 규칙을 배포하기 전 그림자 모드로 최소 3일간 히트율과 오탐을 관찰한다. 항목별 TTL과 재검증 주기를 문서로 정하고, 만료 알림을 자동화한다. 차단 사유와 이의 제기 경로를 사용자에게 간결하게 제공한다. 명단의 소스와 신뢰도를 등급화하고, 외부 피드는 두 개 이상 교차 검증한다. 중대한 변경은 카나리 배포로 일부 트래픽에서만 먼저 적용하고 모니터링한다. 토나와 순간을 줄이는 운영 문화
명단은 도구일 뿐이다. 도구의 성숙은 결국 사람의 습관에서 결정된다. 분기마다 룰을 되돌아보는 회의를 짧게라도 열자. 지난 3개월간 가장 많은 히트를 낸 규칙 10개, 거의 쓰이지 않은 규칙 10개, 오탐이 많았던 규칙 5개를 가져와서 같이 본다. 관련 팀이 함께 보면 더 좋다. 고객지원은 어떤 문구에서 문의가 줄었는지 알려줄 수 있고, 데이터팀은 어떤 신호가 실제로 예측력을 갖는지 수치로 보여줄 수 있다. 회의의 목표는 룰을 더하는 것이 아니라 빼는 데 둔다. 단순함이야말로 유지보수의 가장 강력한 무기다.

서비스가 성장할수록 명단에 기대는 시간이 잦아진다. 토나와 싶은 순간도 온다. 다만 기준과 절차, 데이터와 언어를 조금씩 다듬다 보면 체감이 달라진다. 블랙리스트는 빠르게 반응하고, 화이트리스트는 안정된 경로를 만들며, 그 사이를 점수와 지연, 추가 인증 같은 완충 장치가 메운다. 그렇게 층을 쌓아 가면, 오늘 들어온 새로운 위협에도 급하게 땜질하지 않고 대응할 수 있다. 명단은 늘 바뀐다. 그렇다면 우리 쪽의 습관도 함께 바뀌어야 한다.

Share