Discord 웹훅: 무엇이며 어떻게 안전하게 지키는가
Discord 웹훅은 외부 앱이 봇 계정 없이 한 채널에 메시지를 올릴 수 있게 하는 비공개 URL입니다. URL을 가진 누구나 그곳에 올릴 수 있으므로, 웹훅 링크는 비밀번호만큼 비공개로 보관해야 합니다.
웹훅이 하는 일
채널 설정, 연동에서 웹훅을 만듭니다. Discord는 웹훅 ID와 비밀 토큰을 담은 URL을 줍니다. 다른 프로그램이 그 URL로 메시지를 보내면, Discord는 그 메시지를 웹훅의 이름과 아바타로 채널에 게시합니다. 로그인도 없고, 초대할 봇도 없습니다.
그래서 웹훅은 외부 서비스를 연결하는 가장 단순한 방법입니다. 커밋을 알리는 코드 호스트, 판매를 올리는 상점, 장애를 보고하는 상태 페이지, 새 기사를 공유하는 피드 리더 등입니다.
웹훅이 할 수 없는 것
웹훅은 보내기만 할 수 있습니다. 메시지를 읽거나, 명령에 반응하거나, 멤버를 보거나, 역할을 관리할 수 없습니다. 상호작용이 필요한 것에는 슬래시 명령이나 버튼을 쓰는 봇이 필요합니다. 웹훅은 또한 한 채널에만 올리지만, 그 채널의 스레드에는 올릴 수 있습니다.
웹훅 메시지는 임베드, 파일, 맞춤 사용자 이름을 담을 수 있으며, 다른 모든 것처럼 Discord의 속도 제한을 받습니다.
URL이 비공개여야 하는 이유
URL 안의 토큰이 유일한 보호입니다. 유출되면 낯선 사람이 여러분의 채널에 올리고, 사람을 멘션하고, 그럴듯한 가짜 공지를 보낼 수 있습니다. Discord는 여러분과 그 사람을 구별할 수 없습니다.
- 웹훅 URL을 공개 채널, 지원 스레드, 스크린샷에 절대 붙여 넣지 마세요.
- 연동마다 자체 웹훅을 주어서, 하나를 제거해도 나머지가 깨지지 않게 하세요.
- URL이 유출되면, 채널 설정, 연동에서 웹훅을 삭제하고 새로 만드세요. 삭제하면 옛 링크는 즉시 끊깁니다.
- 가끔 목록을 검토하세요. 알아볼 수 없는 웹훅은 제거해야 합니다.
웹훅 관리 권한은 신뢰하는 사람에게만 주세요. 그 권한이 있는 누구나 웹훅을 만들고 원하는 이름으로 올릴 수 있습니다.
웹훅과 Noxyr
Noxyr의 서버 상태 점검은 100점 만점의 보안 점수의 일부로, 서버의 웹훅을 @everyone의 권한, 관리자 권한을 가진 역할 수와 함께 봅니다. 점수와 수정 방법은 보호 문서에 설명되어 있습니다. Noxyr 자체는 여러분이 만들어야 하는 웹훅이 아니라 봇을 통해 게시합니다.
채널에서 무슨 일이 일어나는지 계속 알려면 서버 로그를 보세요. 서버를 잠그는 더 큰 그림은 보안 봇 페이지를 보세요.
자주 묻는 질문
Discord 웹훅은 무엇에 쓰나요?
봇을 실행하지 않고, 상태 페이지, 상점, 코드 호스트 같은 다른 서비스에서 채널에 메시지를 올리는 데 씁니다.
웹훅 URL은 비밀인가요?
네. URL을 가진 누구나 채널에 올릴 수 있습니다. 유출되면 웹훅을 삭제하고 다시 만드세요.
웹훅이 메시지를 읽거나 명령을 실행할 수 있나요?
아니요. 웹훅은 메시지를 보내기만 합니다. 명령과 버튼에는 봇이 필요합니다.