고급 보안

카테고리: 🔐 보안 & 인증

개요

도그봇 고급 보안은 서버를 지키는 8인조 경비대라고 생각하시면 됩니다. 레이드 방어·스팸 탐지·관리자 배신 감지·악성 URL 차단 등 8가지 탐지 기능이 교대 근무도 없이 24시간 서버를 지킵니다(물론 서버는 CPU라 커피는 안 마십니다). 봇 초대 즉시 기본값으로 자동 활성화되며, /고급보안 설정에서 기능별로 켜고 끌 수 있습니다. 레이드 방어·관리자 배신 감지·링크 스팸·반복 스팸은 단순히 "몇 번 했나" 숫자만 세는 눈치 없는 경비원이 아니라, 계정 신뢰도·정황 가중치·유사도 판정까지 함께 살펴보는 꽤 눈치 빠른 경비대라, 억울한 오탐을 최대한 줄이도록 설계돼 있습니다.

⚠️ 역할 순서 필수 확인

고급 보안이 정상 동작하려면 도그봇 역할이 서버 역할 목록에서 반드시 최상단(가장 높은 위치)에 있어야 합니다. 비유하자면 경비원보다 계급이 높은 사람은 경비원이 함부로 막을 수 없는 것과 같습니다 — Discord는 봇이 자기보다 낮은 역할에만 권한을 행사할 수 있도록 제한하기 때문에, 도그봇 역할이 낮은 위치에 있으면 역할 박탈·추방·타임아웃 등 제재 자체가 실패합니다.
  • 침입자의 노림수 — 관리진을 사칭하거나 탈취된 관리자 계정으로 도그봇보다 높은 역할을 새로 만들거나 위치를 바꿔치기해서, 경비원(도그봇)의 계급을 몰래 강등시킨 뒤 유유히 테러봇을 끌어들이는 사례가 최근에만 10건 이상 확인됐습니다. 영화로 치면 경비원 유니폼을 빌려 입고 금고 비밀번호를 바꿔버리는 전형적인 내부자 수법입니다.
  • 도그봇 역할을 항상 최상단에 유지하면, 누가 어떤 역할을 탈취하더라도 경비원의 계급장은 절대 뗄 수 없으니 도그봇이 계속 상황을 감지하고 즉시 대응할 수 있습니다.
  • 역할 위치는 Discord 서버 설정 → 역할에서 도그봇 역할을 드래그해 맨 위로 옮기면 됩니다(경비원을 사장님보다 높은 자리에 앉혀주는 느낌입니다). 봇 초대 직후 전송되는 환영 메시지에도 동일한 안내와 예시 이미지가 포함되어 있습니다.

8가지 탐지 기능

기능기본 임계값기본 조치
① 레이드 방어10초 내 10명 입장 + 위험 계정 비율 판정서버 잠금(채널 쓰기 차단) 또는 인증 레벨 강화 — 선택 가능
② 관리자 배신 감지30초(슬라이딩) 내 추방 5회 · 차단 5회 · 채널삭제 3회 · 채널권한수정 5회 · 채널이름변경 5회 (정황 가중치 적용)가해자의 관리 권한 역할 즉시 자동 박탈
③ 멘션 스팸 방지메시지 1건에 멘션 8개 이상메시지 삭제 + 5분 타임아웃
④ @everyone/@here 레이드 방지10초 내 서로 다른 계정 3명 이상이 대량 멘션 도배도배 메시지 삭제 + 채널 임시 슬로우모드 10초 + 관여 계정 전원 격리 역할 부여 + 7일 타임아웃(추방·차단으로 변경 가능)
⑤ 링크 스팸 차단화이트리스트 외 도메인 3회 상당(재게시·다채널·타서버 초대 가중)메시지 삭제 + 5분 타임아웃
⑥ 신규 계정 필터계정 생성 7일 미만추방 또는 홀드 역할 부여 — 선택 가능
⑦ 의심 봇 감지미인증(비공식 인증) 봇 입장 · 초대자 전 서버 합산 카운트즉시 자동 추방, 초대자는 2회차 권한 박탈 · 3회차 영구 등록
⑧ 반복 메시지 스팸10초 내 유사 내용 5회 (SimHash 유사도 판정)메시지 일괄 삭제 + 3분 타임아웃

레이드 감지 및 대응 절차

01
레이드 감지
설정한 시간(기본 10초) 내에 설정한 인원(기본 10명) 이상이 우르르 밀려들어오면 일단 "이거 수상한데?" 하고 1차 후보로 점찍습니다. 여기서 끝이 아니라 각 입장 계정의 위험 신호(계정 생성일·기본 아바타 여부·서버 부스터 여부·Discord 인증 플래그)까지 꼼꼼히 점수화해서, 위험 계정 비율이 낮은 정상적인 대량 유입(이벤트 홍보로 사람이 몰린 경우 등)은 안전망(임계값의 1.5배)에 도달하지 않는 한 괜히 범인 취급하지 않습니다.
02
자동 처리
처리 방식이 서버 잠금이면 모든 텍스트 채널의 @everyone 쓰기 권한을 차단합니다 — 비유하자면 셔터를 전부 내려버리는 셈입니다. 인증 강화면 서버 인증 레벨을 최고 단계로 자동 상향해 입구에 검문소를 하나 더 세웁니다. 어느 쪽이든 알림 채널에 즉시 통보되며, 기본적으로 패닉모드도 함께 발동해 정문(초대 링크) 자체를 걸어 잠급니다.
03
자동/수동 해제
서버 잠금은 30분 후 자동으로 해제됩니다 — 셔터가 알아서 다시 올라갑니다. 상황이 더 빨리 종료됐다면 /고급보안 잠금해제로 셔터를 수동으로 올려 즉시 정상화할 수 있습니다.

관리자 배신 감지

관리 권한이 있는 멤버(공동 관리자, 탈취된 계정 등)가 짧은 시간 안에 대량으로 추방·차단·채널삭제·채널권한수정·채널이름변경을 실행하면, "오늘 그냥 기분이 안 좋아서 청소 좀 했다" 수준이 아니라 고의적 파괴 행위로 판단해 자동으로 개입합니다. 비유하자면 집사가 갑자기 집 안 가구를 부수기 시작하면, 그냥 대청소겠지 하고 넘기지 않고 바로 신고가 들어가는 것과 같습니다.
  • 감지 기준 — 동일 인물이 30초 이내(슬라이딩 윈도우)에 추방 5회, 차단 5회, 채널 삭제 3회, 채널 권한 수정 5회, 채널 이름 변경 5회 중 하나라도 도달하면 발동합니다 (각 항목 개별 임계값이며 /고급보안 설정에서 조정 가능). 30초 안에 이 정도면 손이 빠른 게 아니라 뭔가 작정한 게 맞습니다.
  • 정황 가중치 — 심야 시간대, 최근 24시간 내 권한을 새로 획득한 계정, 서버 가입 7일 미만 신규 멤버는 "수상함 지수"가 높다고 보고 가중치를 곱해 더 빠르게 감지합니다. 입사 첫날 새벽 3시에 금고 비밀번호를 바꾸는 신입은 누가 봐도 의심스러운 법이죠. 평상시에는 가중치 1.0이라 기존과 동일한 횟수에서 트리거됩니다.
  • 즉시 조치 — 별도 확인 절차 없이 가해자의 Administrator·서버 관리·멤버 차단·멤버 추방 권한을 가진 역할을 전부 제거합니다. 쉽게 말해 사원증을 그 자리에서 압수하는 셈입니다. 서버 관리 권한이 없는 멤버는 애초에 부술 수 있는 게 없어 감지 대상에 포함되지 않습니다.
  • 이미 실행된 추방·차단·채널삭제 자체를 되돌리지는 않으므로(경비원이 도둑을 잡아도 깨진 꽃병은 다시 안 붙습니다), 알림을 받으면 필요한 복구 조치(역할 재검토, 피해 채널 확인 등)를 관리자가 직접 진행해야 합니다.

@everyone/@here 레이드 방지

멘션 스팸 방지(③)는 한 계정이 짧은 시간 안에 멘션을 많이 보내는 경우만 감지합니다. 실제로 확인된 봇넷형 레이드는 훨씬 교묘합니다 — 여러 명이 나눠서 범행하면 한 명당 형량이 줄어든다고 믿는 것처럼, 서로 다른 계정 여러 개가 접속한 뒤 각자 한두 번씩만 @everyone·@here를 보내며 가짜 니트로·선물 지급 링크로 유인합니다. 계정 각각의 멘션 수는 한도를 넘지 않아 ③의 감시망을 유유히 통과하므로, 채널 단위로 짧은 시간 내 몇 개의 서로 다른 계정이 떼로 몰려왔는지를 별도로 추적합니다.
  • 감지 기준 — 같은 채널에서 10초 이내(설정 가능)에 서로 다른 계정 3명 이상(설정 가능)이 @everyone 또는 @here가 포함된 메시지를 보내면 "이거 단체 행동이다" 하고 레이드로 판단합니다.
  • 도배 채널 보호 — 감지된 채널에는 10초 슬로우모드가 즉시 적용됩니다 — 비유하자면 현장에 통행 제한선을 쳐두는 셈이며, 10분 후 원래 설정으로 자동 복원됩니다.
  • 메시지 정리 — 레이드로 판정된 대량 멘션 메시지 전부를 흔적도 없이 일괄 삭제합니다.
  • 관여 계정 조치 — 기본값은 격리 역할 부여 + 7일 타임아웃입니다. 쉽게 말해 다 같이 사이좋게 독방 체험 7일권을 지급하는 셈이며, /고급보안 설정의 "⚙️ 멘션 레이드 설정" 버튼 또는 대시보드에서 추방·영구 차단으로 더 강하게 바꿀 수 있습니다.
  • 격리 역할 공유 — 서버에 이름이 정확히 "격리"인 역할이 이미 있으면(솔이봇 등 다른 격리 기능 봇이 만든 것 포함) 굳이 새 독방을 안 짓고 그대로 재사용합니다. 없으면 도그봇이 새로 만들고, 모든 채널에서 메시지 전송·채널 보기(음성은 접속) 권한을 자동으로 차단해 격리 대상이 서버 어디에도 발 디딜 틈이 없게 합니다.
  • 보안 로그 채널에 관여 계정 전원과 처리 결과가 CV2로 즉시 전송됩니다 — 범인 전원 몽타주가 바로 뜨는 셈입니다.

의심 봇 감지

Discord가 공식적으로 검증한 봇(Verified Bot)만 "정식 신분증 소지자"로 인정받아 자동으로 통과되며, 그 외의 봇은 사전 화이트리스트 등록이나 기능 on/off 설정과 무관하게 예외 없이 항상 즉시 자동 추방됩니다. 신분증 없이는 문지기가 절대 안 들여보내는 구조입니다.
  • 사전에 특정 봇을 예외로 등록해두는 화이트리스트 기능은 없습니다 — 미인증 봇은 일단 묻지도 않고 추방부터 됩니다. 변명은 추방 후에 들어도 늦지 않습니다.
  • 추방 알림 메시지에 「🔓 바이패스 승인」 버튼이 함께 표시되며, 서버 소유자만 클릭해 "얘는 내가 보증한다"는 의미로 해당 봇을 예외 처리하고 재초대를 허용할 수 있습니다.
  • 봇을 초대한 사람 정보(감사 로그 기반)도 함께 표시되어 누가 어떤 봇을 데려왔는지, 즉 "신원보증인"이 누구인지 바로 추적할 수 있습니다.

바이패스 재검토 — 제거 / 악성 봇 등록

한 번 바이패스 승인한 봇이라도("쟤 괜찮아" 보증을 섰더라도) 나중에 문제가 있다고 판단되면 언제든 보증을 철회할 수 있습니다. 바이패스된 봇이 재입장할 때마다 알림 채널에 재검토용 로그가 새로 전송되며, 언제든 /고급보안 바이패스목록으로 현재 서버의 승인 목록 전체(그동안 보증 서준 명단)를 직접 열어볼 수도 있습니다.
  • 🚫 바이패스 제거 — 승인 목록에서만 제거하고, 해당 봇을 그 서버에서 즉시 추방합니다. 보증을 철회하는 순간 바로 쫓겨나는 셈이며, 다음 재입장부터 다시 미인증 봇 감지 대상이 됩니다.
  • ☠️ 악성 봇 등록 — 바이패스 제거를 함께 수행하면서 malicious_bot_db.json에 이 봇의 ID를 영구 기록하고(이른바 블랙리스트 명예의 전당 입성), 그 서버에서 즉시 추방합니다.
  • 두 버튼 모두 서버 소유자만 클릭할 수 있으며, 봇이 이미 소유자가 수동으로 내보낸 상태(추방 시도 실패)여도 승인 목록 제거·악성 등록 자체는 정상적으로 처리됩니다.
  • 악성 봇으로 등록된 계정은 몇 개 서버에서 등록됐는지 전역으로 집계됩니다 — 말 그대로 "지명수배 전단"에 누적 범행 횟수가 적히는 셈이라, 이후 어느 서버에서든 이 봇이 다시 초대되면 최초 미인증 감지 알림에 "N개 서버에서 악성 봇으로 등록된 이력이 있습니다"가 함께 표시되어 다른 서버 관리자도 사전에 위험도를 파악할 수 있습니다.

미인증 봇 반복 초대자 제재 (전 서버 합산)

봇을 초대한 사람(감사 로그 기반 초대자)의 미인증 봇 초대 횟수를 도그봇을 사용 중인 모든 서버에 걸쳐 합산하여 누적 관리합니다. "여기선 처음이라 괜찮아요"라는 변명은 통하지 않습니다 — 한 서버에서 1회, 다른 서버에서 1회만 초대해도 합산 2회로 판정되며, 이 전력 기록은 재시작해도 초기화되지 않고 영구 보존됩니다.
  • 1회차 — 알림 채널에 경고 로그만 전송됩니다 (추가 조치 없음). 첫 실수는 한 번 눈감아주는 셈입니다.
  • 2회차 — 미인증 봇을 반복 초대할 정도로 관리가 느슨하다고 판단해, 초대자가 해당 서버에서 보유한 모든 역할이 즉시 박탈됩니다(관리자 권한 여부와 무관하게 전부). 사원증을 전부 회수당하는 셈이며, 본인에게 경고 DM이 전송됩니다.
  • 3회차 이상 — 해당 서버에서 즉시 추방되며, 상습 초대자로 영구 확정 등록됩니다. 삼진 아웃을 당한 셈이며, 확정 등록 시 전 서버 공통 안내(영구 유지·이의제기 불가)가 담긴 DM이 전송됩니다.
  • 3회차로 확정 등록된 사용자는 이후 도그봇을 사용 중인 어떤 서버에 입장하더라도 그 서버의 보안 로그 채널에 상습 초대자 경고가 자동으로 전송됩니다 — 전국 수배 전단이 어디를 가나 미리 붙어있는 셈이라, 해당 서버 관리자가 사전에 주의할 수 있습니다.

알려진 악성 URL 차단

메시지에 포함된 URL을 malicious_url_db.json에 등록된 알려진 피싱·악성 주소 데이터베이스와 직접 대조합니다. "이 링크 뭔가 수상한 패턴인데?" 하고 눈치로 추측하는 방식이 아니라, 몽타주와 1:1로 똑같은지 대조하는 확정된 DB와의 정확한 매칭만 사용하므로 오탐 없이 깔끔하게 동작하며, 링크 스팸 차단(link_filter_enabled) 설정과 무관하게 항상 활성화되어 있습니다. 감지 시 메시지 삭제 후 설정된 방식(추방/차단)으로 조치합니다.

예외 처리 (유저·역할 단위)

특정 유저나 역할을 하나 이상의 탐지 기능에서 제외할 수 있습니다 — 말 그대로 "이 사람은 검문 없이 바로 통과시켜 주세요" VIP 패스를 발급하는 기능입니다. 신뢰하는 부관리자, 자동화 봇, 활동량이 많은 헤비 유저 등 오탐 위험이 있는 대상에 사용하세요.
  • 적용 가능한 항목: 전체 · 멘션 스팸 · 링크 차단 · 반복 스팸 · 악성 URL 탐지 · 신규 계정 필터 (레이드 방어·관리자 배신 감지·의심 봇 감지는 예외 대상이 아닙니다 — 이 세 가지는 VIP 패스로도 못 뚫는 구역입니다)
  • @everyone/@here 레이드 방지는 멘션 스팸과 예외 목록을 공유합니다 — 멘션 스팸 항목에 발급한 VIP 패스는 레이드 방지 검문소에서도 그대로 통용됩니다.
  • 유저 예외와 역할 예외는 함께 사용할 수 있습니다 — 특정 역할 전체에 단체 패스를 주면서, 그 안의 특정 개인에게 별도 개인 패스를 추가로 발급하는 것도 가능합니다.
>_
/고급보안 예외설정 <보안항목> <유저ID> <동작>
관리자
특정 유저를 보안 항목에서 예외 처리 (추가/제거/목록)
>_
/고급보안 예외역할설정 <탐지기능> <역할> <동작>
관리자
특정 역할을 가진 멤버 전원을 보안 항목에서 예외 처리 (추가/제거/목록)

스팸 감지 기준 요약

유형감지 기준처리
멘션 스팸메시지 1건에 멘션 8개 이상 (조정 가능)메시지 삭제 + 5분 타임아웃
반복 메시지10초 내 유사 내용 5회 이상 (SimHash 유사도 판정, 조정 가능)최근 메시지 일괄 삭제 + 3분 타임아웃
링크 스팸화이트리스트 외 도메인 3회 상당 (재게시·다채널·타서버 초대 가중)메시지 삭제 + 5분 타임아웃
알려진 악성 URLmalicious_url_db.json DB 직접 매칭메시지 삭제 + 추방/차단 (예외 없이 항상 활성)
레이드10초 내 10명 입장 + 위험 계정 비율 판정 (조정 가능)서버 잠금 또는 인증 강화 + 패닉모드 연계

📡 스팸 탐지 채널 (허니팟🍯)

일명 허니팟(honeypot), 번역하면 "꿀단지" 전략입니다. 스팸봇은 곰돌이가 꿀 냄새를 못 참는 것처럼 "쓸 수 있는 채널"을 보면 일단 들이받고 보는 다소 단세포적인 습성이 있는데, 이 기능은 그 습성을 역이용합니다. 지정된 채널(꿀단지)에 누군가 메시지를 보내는 즉시 설정된 방식으로 자동 처리하며, 스팸봇은 대개 첫 메시지를 낚시성 채널(예: 공지, 일반대화)에 보내기 때문에 이를 미리 꿀단지로 지정해두면 피해가 확산되기 전에 손만 딱 걸립니다.

스팸 탐지 채널(허니팟) 설정 방법

01
전용 채널 생성
Discord에서 아무도 접근하지 않는 더미 채널을 하나 생성합니다. 예: #스팸탐지용. 말 그대로 꿀단지를 하나 빚는 단계이며, 일반 멤버는 이 단지 근처에 올 이유가 없어야 합니다.
02
처리 방식 선택
/고급보안 설정 → 스팸탐지채널 설정 버튼 클릭. 추방·차단·삭제만 중 "걸리면 어떻게 혼낼지" 처리 방식을 먼저 선택합니다.
03
채널 지정
채널 선택 메뉴에서 앞서 만든 더미 채널을 선택합니다. 꿀단지를 정식으로 선반 위에 올려두는 순간 즉시 감시가 시작됩니다.
04
채널 권한 설정
스팸 탐지 채널은 @everyone이 메시지를 보낼 수 있어야 합니다 (읽기+쓰기 허용). 꿀단지 뚜껑을 닫아 숨겨버리거나 쓰기를 막으면, 손댈 수 있는 사람이 없으니 함정 자체가 무의미해집니다.

처리 방식 비교

방식동작권장 상황
🚪 추방감지 즉시 추방 + 1시간 내 메시지 전체 삭제일반적인 스팸봇 대응 (기본값)
🔨 차단감지 즉시 영구 차단 + 1시간 내 메시지 Discord API로 일괄 삭제반복 재입장하는 악성 계정
🗑️ 삭제만메시지만 삭제, 계정 제재 없음오감지 우려가 있거나 관리자가 직접 검토할 때

스팸 탐지 채널(허니팟) 활용 팁

  • 채널 이름을 #공지, #일반처럼 스팸봇이 선호하는 이름으로 만들면 꿀단지가 더 먹음직스러워 보여 감지 효율이 높아집니다.
  • 스팸 탐지 채널은 서버 채널 목록 최상단에 배치하면, 입장 즉시 눈에 띄는 가장 먹기 좋은 자리에 꿀단지를 놓는 셈이라 스팸봇이 첫 번째로 접근할 가능성이 높아집니다.
  • 처리 방식은 나중에 언제든지 변경할 수 있으며, /고급보안 설정에서 스팸탐지채널 변경으로 꿀단지를 다른 채널로 옮기는 것도 가능합니다.
  • 채널을 해제하려면 /고급보안 설정에서 스팸탐지채널 해제 버튼을 사용하세요 — 꿀단지를 치워버리는 셈입니다.

설정 팁

  • Discord Verified Bot이 아닌 봇(MEE6, Carl-bot, 커스텀 봇 등)은 초대 시 신분증 검사에서 바로 탈락해 일단 자동 추방되며, 사전 등록으로 이를 막을 수는 없습니다 — 추방 알림의 「🔓 바이패스 승인」 버튼을 서버 소유자가 눌러 직접 보증을 서야 재초대가 허용됩니다. 승인 후에도 /고급보안 바이패스목록이나 재입장 로그에서 언제든 「🚫 바이패스 제거」·「☠️ 악성 봇 등록」으로 보증을 철회할 수 있습니다.
  • Discord·구글·유튜브·네이버·주요 SNS·대형 커뮤니티(디시·에펨·루리웹 등)·유명 게임사 공식 도메인은 애초에 기본 내장 화이트리스트로 이미 "단골 손님" 명단에 올라 있어 별도 등록이 필요 없습니다. 그 외 공식 파트너 사이트나 자주 공유하는 도메인만 링크 화이트리스트에 추가하세요.
  • 고급보안은 봇 초대 즉시 기본값으로 활성화되며, /고급보안 설정에서 기능별 on/off와 임계값을 세부 조정할 수 있습니다.

명령어

>_
/고급보안 설정
관리자
고급 보안 전체 설정 패널 (기능별 on/off, 임계값 조정)
>_
/고급보안 잠금해제
관리자
레이드 감지로 잠긴 서버를 수동으로 해제
>_
/고급보안 패닉모드
관리자
패닉모드 수동 활성화 (초대 링크 즉시 정지)
>_
/고급보안 패닉모드해제
관리자
활성 중인 패닉모드 수동 해제
>_
/고급보안 링크화이트리스트 <도메인> <동작>
관리자
허용할 링크 도메인 추가/제거
>_
/고급보안 예외설정 <보안항목> <유저ID> <동작>
관리자
특정 유저를 보안 항목에서 예외 처리
>_
/고급보안 예외역할설정 <탐지기능> <역할> <동작>
관리자
특정 역할 전원을 보안 항목에서 예외 처리
>_
/고급보안 바이패스목록
서버 소유자
바이패스 승인된 봇 목록 조회 — 제거/악성 등록 버튼 포함