키워드 필터(예: Dansguardian, SafeSquid, POESIA 등) 언제 어디서나 테스트하는 방법

개요
키워드 필터는 웹 페이지에 포함된 ‘문제가 될 수 있는‘ 단어 또는 구문을 찾아 차단합니다. 현대 필터는 단순 단어 일치만으로 차단하지 않습니다. 대신 여러 구문과 등장 횟수를 기준으로 가중 점수(weighed keyword score)를 계산합니다. 이 방식은 해부학 문서, 통계 보고서, 행정 문서, 예술 관련 페이지 등에서 발생할 수 있는 우발적인 키워드 출현을 허용하면서도 실제로 차단할 대상은 차단하도록 설계되었습니다.
주요 키워드 차단 도구 예:
- Dansguardian (리눅스에서 인기)
- SafeSquid (리눅스/윈도우에서 사용)
- POESIA, Parental Internet Filter, We-Blocker 등
중요: 이미지와 링크 경로는 본문에 원본 그대로 보존되어 있습니다. 아래의 스크린샷과 예시는 설명을 돕기 위한 것입니다.
왜 단순히 차단 시도를 하면 안 되는가
차단 여부를 확인하려고 실제 성인 사이트 같은 민감한 콘텐츠에 접속해 보는 것은 위험하고 부적절할 수 있습니다. 특히 공공장소나 가족, 미성년자 앞에서 시도하면 문제를 일으킬 수 있습니다. 대신 안전한 테스트 툴을 사용해 필터 동작을 확인하세요.
권장 도구: Block That (http://www.yourfilter.org)
Block That은 웹 브라우저를 통해 필터 동작을 안전하게 검사하도록 설계된 무료 웹 애플리케이션입니다. 현재 완전 릴리스 버전 2를 기준으로 설명합니다. 접속하면 기본 동작은 자동 테스트이며, 테스트는 사용자 화면에 민감한 내용을 노출하지 않고 필터 상태(ON/OFF)를 알려줍니다.
테스트의 기본 원리
- 첫 번째 테스트는 브라우저가 새로 시작되었거나 설정을 바꾸지 않았다면 대체로 정확합니다.
- 하지만 문서화된 권장대로 항상 두 번 테스트(테스트 → 캐시/쿠키 삭제 → 재테스트)해야 합니다.
- 테스트 중 화면에 직접적인 민감 콘텐츠는 표시되지 않습니다. 대신 결과 패널이 필터 상태와 세부 정보를 알려줍니다.
중요: 테스트 화면에 파란 원형 카운트다운이 표시됩니다. 카운트다운이 종료되면 차단 여부와 이유가 결과에 나타납니다.
SafeSquid에서 키워드 필터 활성화 및 임계값 설정
SafeSquid 웹 GUI에서 다음을 수행합니다:
- http://safesquid.cfg/config 로 접속합니다.
- “Select a Section to Configure” 패널에서 드롭다운으로 “Keyword filter”를 선택하고 Submit 클릭.
- Keyword filter 섹션에서 Enabled 라디오 버튼을 켭니다.
- 기본 임계값(threshold) 100을 원하는 값으로 조정합니다. 예: 50.
- 템플릿 박스(Template) 아래에 있는 Submit 버튼을 클릭해야 설정이 저장됩니다.
- 키워드 규칙(rule)이 충분히 있어야 필터가 정상 동작합니다.
더 자세한 설정은 SafeSquid 문서를 참고하세요: https://www.howtoforge.com/blocking-webpages-based-on-keywords-or-phrases-with-safesquid-proxy
Dansguardian 사용자의 업데이트 참고
Dansguardian 사용자는 본 문서의 일부 절차 대신 다음 가이드를 우선 참조하는 것을 권장합니다: https://www.howtoforge.com/never-forget-to-turn-dansguardian-back-on-after-a-cyberspacejaywalk
또한 서비스 상태 확인은 아래 명령으로 합니다(사용자 권한에 따라 하나를 사용):
service dansguardian status
sudo service dansguardian status
su -c 'service dansguardian status'
이 명령은 Dansguardian 서비스가 제대로 시작되었는지 알려줍니다. Dansguardian 관련 상세 정보: http://contentfilter.futuragts.com/wiki/doku.php?id=Main%20Index&DokuWiki=wdievqxsxe
테스트 절차 — 단계별 가이드
- 필터(프록시)의 IP와 포트가 올바른지 확인합니다. (관리자에게 문의하거나 설정 문서 확인)
- 키워드 규칙 집합(rule set)이 충분히 존재하는지 확인합니다. 규칙 수가 너무 적으면 점수 계산이 의미가 없습니다.
- 브라우저를 완전히 종료했다가 재시작합니다.
- 브라우저에서 http://www.yourfilter.org 로 이동합니다.
- 자동 테스트가 실행되면 완료될 때까지 기다립니다. 결과가 “ON”(차단) 또는 “OFF”(비차단)으로 표시됩니다.
- 항상 “Retest(재테스트)” 버튼을 클릭합니다. 재테스트를 시작하면 브라우저 캐시와 쿠키를 비우라는 안내가 나옵니다.
- 안내에 따라 캐시와 쿠키를 삭제한 뒤 재테스트합니다.
- 재테스트 결과가 실제 동작 여부를 확정합니다.
재테스트 실패 시 의미: 필터가 우회되거나 정상적으로 동작하지 않습니다. HTTP는 차단하지만 HTTPS는 우회되는 경우가 흔합니다.
브라우저별 캐시·쿠키 삭제 방법(요약)
중요: 재테스트 전에 반드시 캐시와 쿠키를 삭제하세요. 아래 절차는 브라우저 버전에 따라 다를 수 있습니다.
Google Chrome
- 우측 상단의 공구(또는 세로 점 3개) 아이콘 클릭.
- Tools(도구) → Clear browsing data(인터넷 사용기록 삭제).
- “Empty the cache” 및 “Delete cookies and other site data” 선택.
- 기간을 “Everything(전체)”으로 선택.
- Clear data 버튼 클릭.
Mozilla Firefox
- Tools → Clear Recent History…
- “Time range to clear”에서 Everything 선택.
- Cookies 및 Cache 체크 후 Clear Now 클릭.
Internet Explorer
- Tools → Internet Options → General 탭.
- Browsing history 섹션에서 Delete 버튼 클릭.
- Temporary Internet files 및 Cookies 선택 후 Delete 버튼 클릭.
- Settings 버튼에서 “Every time I visit the webpage”(매번 방문 시) 옵션 선택(선택적).
Opera (Windows)
- Menu → Settings → Delete Private Data…
- Delete temporary cookies, Delete all cookies, Delete entire cache, Clear Persistent Storage 선택 후 Delete 클릭.
Opera (Linux)
- Tools → Delete Private Data → Detailed Options.
- Delete temporary cookies, Delete all cookies, Delete entire cache 선택 후 Delete 클릭.
Apple Safari
- 메뉴 → Preferences → Advanced 탭.
- Change Settings 버튼 클릭 후 Internet Explorer와 유사하게 기록 삭제.
참고: 브라우저 버전에 따른 UI 차이는 있을 수 있습니다. 최신 버전 메뉴 구조를 확인하세요.
자주 발생하는 문제와 해결책(문제별 점검 순서)
필터가 아예 동작하지 않음(테스트 결과 OFF)
- 프록시 설정(IP/포트)이 올바른지 확인.
- 필터 서비스(Dansguardian 등)가 실행 중인지 확인(서비스 상태 명령 사용).
- 키워드 룰이 존재하는지 확인. 너무 적으면 점수 미달로 통과될 수 있음.
- 브라우저가 직접 인터넷에 연결되도록 프록시 설정이 우회되어 있지 않은지 확인(예: VPN, 프록시 예외 목록).
첫 테스트는 ON, 재테스트는 OFF로 변경됨
- 캐시 또는 쿠키가 테스트 결과에 영향. 재테스트 전 반드시 캐시/쿠키 삭제.
- 필터 임계값(threshold)이 너무 높아 일부 페이지에서 우회될 수 있음. 값을 낮춰 테스트.
HTTPS 사이트가 차단되지 않음
- 많은 키워드 기반 필터는 HTTPS 콘텐츠를 중간에서 검사하지 못함(암호화 때문에). 이 경우 프록시 해상(SSL/TLS 중간자) 구성이 필요하거나 HTTPS 검사 기능(SSL interception)을 활성화해야 함. 단, 이는 법적·윤리적 고려와 보안 리스크가 있으므로 관리자와 정책 검토가 필요.
특정 사이트만 계속 통과함
- 해당 사이트가 동적 콘텐츠(자바스크립트 렌더링)로 키워드 탐지를 우회하는지 확인.
- 필터 템플릿이나 예외 목록(whitelist)에 해당 도메인이 포함되어 있지 않은지 확인.
관리자용 점검 체크리스트(롤별 간단 체크리스트)
관리자(네트워크) 체크리스트:
- 프록시 서버 IP 및 포트 설정 확인
- Dansguardian/SafeSquid 서비스 상태 확인
- 키워드 룰 수 및 가중치 검토
- SSL 검사 정책(HTTPS 차단) 검토 및 필요 시 구현 계획 수립
- 로그와 차단 보고서 활성화
학부모/교사 체크리스트:
- 브라우저 캐시 및 쿠키를 삭제하는 방법 숙지
- [ ] 정기적으로 http://www.yourfilter.org 로 필터 상태 점검
- 필터가 실패하면 관리자에게 즉시 알림
사용자(일반) 체크리스트:
- Block That 테스트는 한 번에 하나의 탭에서만 실행
- 테스트 중 사이트를 블랙리스트/화이트리스트에 추가하지 않음
- 홈 페이지로 설정하면 빠른 접근 가능(단, 자동 테스트 동작을 이해하고 사용)
SOP(표준 작업 절차): 키워드 필터 테스트 및 문제 해결(요약)
- 준비
- 브라우저 종료 → 재시작
- 관리자에게 프록시 설정 확인 요청(필요시 직접 확인)
- 1차 테스트
- http://www.yourfilter.org 접속 → 테스트 실행 → 결과 확인
- 캐시/쿠키 삭제
- 사용 중인 브라우저에 맞춰 캐시와 쿠키 삭제
- 2차 테스트(재테스트)
- Retest 버튼 클릭 → 결과 확인
- 실패 시(OFF)
- 관리자에게 로그 전달 및 다음 점검 요청: • 프록시가 우회되지 않는지 확인 • 필터 서비스 상태 확인 • 키워드 룰/임계값 조정 • HTTPS 검사 정책 검토
- 성공 시(ON)
- 테스트 결과 스크린샷 보관(정책 준수 증빙용)
- 주기적으로(예: 분기별) 재검사
인시던트 런북(신속 대응 절차)
- 검출: 사용자 보고 또는 자동 모니터링에서 테스트 실패 통보.
- 초기 조치(사용자 측)
- 즉시 브라우저 캐시/쿠키 삭제 후 재테스트.
- 동일 결과 반복 시 관리자에게 보고.
- 관리자 조치
- 프록시/필터 서비스 재시작.
- 로그 수집(접속 로그, 필터 로그, 시스템 로그).
- 최근 룰 변경 점검(최근 업데이트로 문제가 발생했는지 확인).
- 네트워크 경로 점검(VPN, HTTP 프록시 예외 규칙 확인).
- 복구
- 원인 식별 후 수정(예: 룰 추가/임계값 조정, 서비스 재시작).
- 사용자에게 복구 사실과 재검사 요청.
- 사후 분석
- 재발 방지 대책 수립. 필요 시 정책 문서 업데이트.
테스트 케이스와 수용기준(예시)
테스트 케이스 1: 표준 환경에서 필터 동작 확인
- 절차: 브라우저 새로 시작 → yourfilter.org 접속 → 1차 테스트, 캐시 삭제 → 2차 테스트
- 기댓값: 2차 테스트 결과가 ON(차단) 또는 OFF(비차단)로 확정되어야 함.
테스트 케이스 2: HTTPS 콘텐츠 차단 여부 확인
- 절차: 관리자가 SSL 검사 미구성 상태에서 HTTPS 대상 테스트
- 기댓값: HTTPS는 우회될 수 있음. 결과에 HTTPS 우회 가능성 경고가 있어야 함.
수용기준(acceptance criteria):
- 필터가 ON으로 표시되는 경우, 관련 차단 로그가 필터/프록시 로그에 기록되어야 함.
- 필터가 OFF로 표시되는 경우, 관리자 확인 후 원인 보고서가 생성되어야 함.
의사결정 흐름도(간단한 진단 트리 — Mermaid)
flowchart TD
A[시작: yourfilter.org 접속] --> B{1차 테스트 결과}
B -->|ON| C[테스트 성공: 재테스트 권장]
B -->|OFF| D[캐시/쿠키 삭제 후 재테스트]
D --> E{재테스트 결과}
E -->|ON| C
E -->|OFF| F[관리자에게 보고: 프록시/필터 상태 점검]
F --> G{프록시 설정 정상?}
G -->|아니오| H[프록시 설정 수정 후 재검사]
G -->|예| I{서비스 실행중?}
I -->|아니오| J[서비스 시작/재시작]
I -->|예| K{HTTPS 검사 필요?}
K -->|예| L[SSL 검사 정책 검토]
K -->|아니오| M[키워드 룰/임계값 조정]
보안·프라이버시 노트
- HTTPS를 중간에서 검사(SSL interception)하면 개인 통신을 해독하는 것이므로 법적·윤리적 고려가 필요합니다. 조직의 보안 정책과 개인정보 보호 규정을 반드시 확인하세요.
- 로그에는 민감 정보가 포함될 수 있으므로 로그 보관 및 접근 권한을 엄격히 관리하세요.
대안적 접근 방식
- 블랙리스트/화이트리스트 기반 필터링: 구체적 도메인 차단이 필요한 경우 유용하지만, 새로운 도메인 대응이 느릴 수 있습니다.
- 콘텐츠 기반 분석(CFI, NLP) 적용: 키워드 기반의 한계를 극복하기 위해 문맥 기반 필터링을 도입할 수 있지만 구현 비용과 오탐/과탐 관리가 필요합니다.
- 사용자 교육: 기술적 차단 외에 사용자(특히 학생·자녀)에게 안전한 인터넷 사용 교육을 병행하는 것이 중요합니다.
현장 적용 시의 주의점
- Block That 테스트는 한 번에 하나의 탭/윈도우에서만 실행하세요. 여러 탭에서 실행하면 테스트 결과가 혼동될 수 있습니다.
- http://www.yourfilter.org 또는 해당 단축 URL을 블랙리스트/화이트리스트에 추가하지 마세요. 테스트의 정확성이 손상됩니다.
- 만약 yourfilter.org 를 홈페이지로 설정하면 웹 바로가기를 편리하게 사용할 수 있습니다. 단, 자동 테스트 동작을 이해하고 의도적으로 사용하세요.
용어 1줄 정의(글로서리)
- 키워드 필터: 페이지 내 특정 단어·구문 출현을 기준으로 차단하는 필터.
- 임계값(threshold): 차단을 결정하는 점수 기준값.
- SSL/HTTPS 검사: 암호화된 트래픽을 중간에서 복호화하여 필터링하는 기능(프라이버시·법적 고려 필요).
요약 및 권장 행동
- 핵심 요지: 키워드 필터는 단순 단어 일치가 아니라 가중 점수 방식으로 동작합니다. 안전하게 동작을 확인하려면 http://www.yourfilter.org 로 두 번 테스트하고(테스트→캐시/쿠키 삭제→재테스트) 재확인하세요.
- 관리자 권장: 프록시 설정, 필터 서비스 상태, 룰 수 및 임계값을 정기 점검하고 HTTPS 검사 정책을 검토하세요.
- 사용자 권장: 테스트는 한 창에서만 실행하고, 테스트 중에는 yourfilter.org 를 블랙/화이트리스트에 등록하지 마세요.
중요: 더 자세한 구성 예시나 조직별 정책 문서를 원하면 네트워크 관리자나 SafeSquid/Dansguardian 관련 공식 문서를 참고하거나, 필요 시 외부 전문가와 협의하세요.
참고 문서 및 링크:
- SafeSquid 키워드 필터 가이드: https://www.howtoforge.com/blocking-webpages-based-on-keywords-or-phrases-with-safesquid-proxy
- Dansguardian 관련 가이드: https://www.howtoforge.com/never-forget-to-turn-dansguardian-back-on-after-a-cyberspacejaywalk
- Dansguardian 메인 인덱스: http://contentfilter.futuragts.com/wiki/doku.php?id=Main%20Index&DokuWiki=wdievqxsxe
- 테스트 도구: http://www.yourfilter.org
끝으로, Block That 팀의 “Disclaimer”와 “Doc” 링크를 확인하면 추가 사용법과 주의사항을 볼 수 있습니다.