Skip to content
KitploitKITPLOIT
도구익스플로잇블로그
Log in
제출
도구익스플로잇블로그
제출

해킹, 침투 테스트 및 사이버 보안 도구를 당신의 보안 무기고에!

Kitploit은 해킹, 사이버 보안 및 침투 테스트 도구 디렉토리입니다. 최신 프로젝트 업데이트를 발견하여 취약점을 찾고, 시스템을 분석하고, 테스트를 자동화하고, 보안을 강화하세요.

··피드·문의·개인정보·© 2026 Kitploit

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
sdproxy — 라우팅된 DNS 포워딩, 필터링 및 자녀 보호에 중점을 둔, 단순하고 빠르지만 기능은 결코 단순하지 않은 DNS 프록시입니다. | Kitploit
도구/GitHubGitHub/cbuijs/sdproxy
Defensive ToolsEncryption/Decryption ToolsInformation GatheringWeb SecurityNetwork SecurityPrivacyUtilities & FrameworksMachine LearningDNS AnalysisAnomaly Detection
GitHubcbuijs/sdproxy
553910시간 28분 전Kitploit 검토 완료

인기

모두 보기 →

커뮤니티에서 가장 많이 사용되는 도구를 찾아보세요.

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

sdproxy

라우팅된 DNS 포워딩, 필터링 및 자녀 보호에 중점을 둔, 단순하고 빠르지만 기능은 결코 단순하지 않은 DNS 프록시입니다.

저장소 보기

sdproxy

홈 네트워크를 진정으로 제어할 수 있게 해주는 DNS 프록시입니다.


소개

저는 "대형" 네트워킹 및 보안 "무대"에서 컨설턴트로 수년간 일했습니다. DNS 보안은 제 일상 업무이자 즐겨 만지는 취미이기도 합니다. 이제 아이들이 있고 책임감 있는 부모가 되어야 하기에, 아이들을 위해 거대한 나쁜 인터넷을 필터링하기로 마음먹었습니다. 그래서 sdproxy(Simple DNS Proxy)를 만들었습니다. 엔터프라이즈/대형 수준의 보호/방법/정밀함을 (어느 정도) 가정 네트워크 수준으로 가져옵니다.

이 프록시는 Go로 작성되었으며 저렴한 라우터용으로 가벼운 바이너리로 컴파일됩니다. 클라우드 구독이나 월 요금은 없습니다. 모든 종류의 DNS를 지원하며 안정성을 유지하기 위한 적응형 수락 제어를 포함합니다. 그저 (어느 정도) 가볍고, 강력하며, 네덜란드식으로 설계된 거실용 정밀함입니다. 당신과, 하나의 실행 파일과, 하나의 yaml 파일만 있으면 됩니다.

그리고 기억하세요... 항상 DNS입니다!


참고: full_reference_config.yaml이 이 README보다 항상 최신입니다. 의문이 들면 그곳을 확인하세요.


DNS는 인터넷의 전화번호부입니다 - 네트워크의 모든 기기가 어딘가에 연결하기 전에 이름을 조회합니다.

sdproxy는 그 중간, 즉 라우터 위에 위치하여 다음에 무슨 일이 일어날지 결정할 수 있게 해줍니다: 캐시하기, 차단하기, 다른 리졸버로 라우팅하기, 고급 ML 보안 모델 적용하기, 또는 자녀별로 시간 제한 적용하기. 클라우드 구독도, 월 요금도, 다운되는 외부 서비스도 없습니다.

Go로 작성되었고, 단일 바이너리로 컴파일되며, 저렴한 가정용 라우터(TP-Link, GL.iNet 또는 NetGear의 OpenWrt, pfSense, OPNsense 또는 그냥 평범한 Linux 박스)에서 실행될 만큼 가볍습니다.

대안 대비 주요 장점은 여기를 참조하세요.


무엇을 하는가

모든 종류의 DNS를 지원하고 자동 업그레이드

평범한 UDP/TCP(포트 53), 암호화된 DNS-over-TLS(DoT), DNS-over-HTTPS(DoH), 그리고 DNS-over-QUIC(DoQ).

  • 동적 DoH3 업그레이드: sdproxy는 Alt-Svc 헤더를 기본적으로 파싱하고 표준 DoH 스트림을 고성능 HTTP/3(QUIC) 연결로 즉석에서 매끄럽게 업그레이드합니다.

Encrypted Client Hello (ECH) 및 DDR 자동 검색

TLS Server Name Indication(SNI)을 암호화하여 ISP의 심층 패킷 검사로부터 브라우징을 보호합니다.

  • 인바운드 ECH: sdproxy는 완전한 ECH 서버로 동작하여 클라이언트 hello를 복호화하고 DDR(Discovery of Designated Resolvers)을 통해 로컬 네트워크에 자체 키를 기본적으로 브로드캐스트합니다.
  • 아웃바운드 ECH 자동 검색: 업스트림 제공자와 통신할 때 sdproxy는 그들의 HTTPS/SVCB 레코드를 적극적으로 조회하여 ECH 키를 추출하고 TLS 핸드셰이크를 완전히 자율적으로 보호합니다.

머신러닝 DGA 탐지

네이티브의 제로 할당 로지스틱 회귀 ML 추론 엔진이 핫 패스에서 실행됩니다. Shannon 엔트로피, 모음/자음 편향, n-gram 체인을 추출하여 봇넷, 멀웨어, C2 인프라가 사용하는 알고리즘 생성 도메인(DGA)을 즉시 탐지하고 차단합니다.

데이터 유출 및 DNS 터널링 방어

볼류메트릭 베이스라인 프로파일링은 클라이언트별 또는 서브넷별로 전송된 데이터의 알파 평활 지수 이동 평균(EMA)을 추적합니다. 포트 53을 통해 네트워크를 빠져나가는 갑작스러운 비정상적 데이터 폭증을 탐지하고 해당 클라이언트를 고성능 페널티 박스에 블랙홀 처리합니다.

엔터프라이즈 라우팅 및 합의 검증

sdproxy는 단순히 쿼리를 맹목적으로 전달하지 않고 업스트림을 동적으로 평가합니다.

  • 보안 합의: 그룹 내 모든 업스트림에 동시에 쿼리합니다. 페이로드(CNAME 체인, 최종 IP 엔드포인트)를 심층 검사하고, 어떤 업스트림이든 불일치 데이터나 오염된 NULL-IP를 반환하면 연결을 적극적으로 끊습니다.
  • 가장 빠른 EMA: 모든 업스트림의 나노초 지연을 추적합니다. Epsilon-Greedy 알고리즘을 사용하여 가장 빠른 리졸버에 집중하면서도 복구되는 네트워크 경로를 발견하기 위해 쿼리의 5%를 무작위 탐색용으로 남겨둡니다.
  • SingleFlight 병합: 동일한 동시 캐시 미스 쿼리는 매끄럽게 단일 아웃바운드 실행으로 병합되어 Thundering Herd 스파이크를 제거합니다.

공격적인 캐싱

최근에 응답한 게 있나요? 캐시에서 제공합니다. sdproxy는 32개의 암호학적으로 시드된 락프리 메모리 샤드를 활용합니다. 레코드가 여전히 인기 있는 상태에서 만료되면, sdproxy는 백그라운드 프리페치를 트리거하여 기기가 캐시 미스를 눈치채지 못하게 합니다. RFC 8767 Stale-Serving을 완전히 지원합니다.

로컬 네트워크를 인식

DHCP 임대 파일과 /etc/hosts를 가리키면 업스트림 리졸버를 귀찮게 하지 않고 로컬 이름 조회(NAS, 프린터, Pi)에 응답합니다. dnsmasq, ISC DHCP, Kea, odhcpd와 함께 작동합니다.

기기별로 다르게 라우팅

기기의 신원을 다른 업스트림 리졸버 그룹이나 자녀 보호 프로필에 매핑합니다.

  • 식별자: MAC 정확 일치, MAC 글롭 마스킹, IP / CIDR, ASN(IPinfo를 통한 자율 시스템 번호), 클라이언트 이름, TLS SNI, HTTP DoH 경로.
  • 즉시 싱크홀: 명시적 DNS 반환 코드(RCODE: REFUSED, NXDOMAIN)를 라우팅 규칙에 직접 바인딩하여 클라이언트를 즉시 격리합니다.

자녀 보호 - 자녀별, 카테고리별

자녀별로 프로필을 설정하고 그들의 기기를 할당한 후 다음을 구성합니다:

  • 스케줄 - 학기 중과 주말에 다른 시간.
  • 시간 예산 - 누적 분 단위 추적. 총 2시간, 하위 제한 포함(게임 1시간, 소셜 미디어 30분).
  • 카테고리 차단 - 공개 저장소(uBlock, hosts 또는 원시 도메인 목록)에서 동적으로 로드됩니다.
  • 상태 추적: 시간 추적은 DNS 하트비트 TTL을 통해 실행되며 재부팅 후에도 유지되도록 디스크에 스냅샷됩니다.

웹 관리 패널

실시간 운영을 위한 선택적이고 비밀번호로 보호되는 브라우저 기반 UI.

  • 기기 그룹을 즉시 ALLOW(게이트 활짝 열기), BLOCK(인터넷 차단), FREE(제한 일시 중지), 또는 LOG(감사 모드)로 전환합니다.
  • 실시간 스트리밍 쿼리 로그와 24시간 링 버퍼 성능 차트를 확인합니다.

DNS 리바인딩 방어

사설 또는 보곤 IP(RFC1918, 루프백, ULA)를 포함하는 업스트림 응답을 NXDOMAIN으로 반환하며 드롭하여 서버 측 요청 위조(SSRF)와 브라우저 피벗 공격을 방지합니다.


빠른 시작

root@kitploit:~
git clone https://github.com/cbuijs/sdproxy
cd sdproxy
go build -o sdproxy .
./sdproxy --config config.yaml

Go 1.25+가 필요합니다. CGo 없음, 외부 라이브러리 없음.

최소 구성

root@kitploit:~
server:
  listen_udp: ["0.0.0.0:53"]

cache:
  enabled: true
  size: 1024

upstreams:
  default:
    - "udp://1.1.1.1:53"
    - "udp://9.9.9.9:53"

라우터용 빌드

root@kitploit:~
# OpenWrt MIPS (TP-Link, Netgear, etc.)
GOOS=linux GOARCH=mipsle GOMIPS=softfloat go build -ldflags="-s -w" -o sdproxy .

# OpenWrt ARM (Linksys, Asus, etc.)
GOOS=linux GOARCH=arm GOARM=7 go build -ldflags="-s -w" -o sdproxy .

# OpenWrt x86_64
GOOS=linux GOARCH=amd64 go build -ldflags="-s -w" -o sdproxy .

-s -w 플래그는 디버그 심볼을 제거합니다 - 바이너리 크기를 30-40% 절약하며, 이는 작은 플래시 저장소에서 중요합니다.


구성

모든 것이 하나의 YAML 파일에 있습니다. 이 저장소의 full_reference_config.yaml은 모든 단일 옵션을 인라인으로 문서화합니다 - 그 파일이 매뉴얼입니다. 복사하고, 필요 없는 것을 제거하고, 나머지를 조정하세요.


로그 출력

root@kitploit:~
2026/05/01 14:23:01 [DNS] [DoH3+ECH] 192.168.1.42 (alice-iphone) -> google.com A | ROUTE: kids | UPSTREAM: doh3://cloudflare-dns.com | OK
2026/05/01 14:23:02 [DNS] [UDP] 192.168.1.42 (alice-iphone) -> google.com A | ROUTE: kids | CACHE HIT
2026/05/01 14:23:05 [DNS] [DoQ] 192.168.1.10 -> nas.lan A | LOCAL IDENTITY
2026/05/01 14:23:10 [DNS] [UDP] 192.168.1.42 (alice-iphone) -> dga-domain-xzq1.com A | DGA INTERCEPT (Score: 98.2) | NXDOMAIN
도구 다운로드