Tak, bezpiecznie jest oddać token bota Discord usłudze hostingowej, o ile host przechowuje go zaszyfrowanego, nigdy nie pokazuje go z powrotem po wklejeniu i pozwala natychmiast odciąć jego dostęp przez zresetowanie tokenu w Developer Portal. Ten reset to prawdziwa siatka bezpieczeństwa. Ma większe znaczenie niż ślepe ufanie hostowi, bo działa niezależnie od tego, kto ma token.

Co tak naprawdę pozwala zrobić token bota

Token to sposób, w jaki kod loguje się jako Twój bot i uwierzytelnia swoje zapytania do API. Kto go ma, może wysyłać wiadomości, czytać to, co bot widzi, i wykonywać każdą akcję, na którą pozwalają uprawnienia bota, na każdym serwerze, do którego już dołączył. Nie może natomiast dodać bota na nowy serwer; to wymaga osobnego linku zaproszenia OAuth2 i zatwierdzenia przez administratora serwera. Wyciekły lub nadużyty token to realny problem na serwerach, na których bot już jest, ale nie jest kluczem głównym do całej Twojej obecności na Discordzie.

Prawdziwe ryzyko nie leży w przekazaniu, tylko w tym, jak token jest przechowywany później

Wklejenie tokenu w pole panelu dostawcy hostingu przez HTTPS nie różni się znacząco od wklejenia hasła w dowolnym formularzu logowania. Ryzyko, które naprawdę ma znaczenie, to to, co dzieje się z tokenem potem: czy jest przechowywany jawnym tekstem w miejscu, do którego błąd lub nieostrożny pracownik mógłby się dostać, czy pojawia się w logach, czy personel wsparcia może go wyciągnąć i zobaczyć. To pytania o przechowywanie i obsługę, a nie o sam fakt udostępnienia.

Co powinien robić godny zaufania host

  • Przechowywać go zaszyfrowanego w spoczynku, a nie jako zwykły tekst w kolumnie bazy, którą mógłby skopiować każdy z dostępem do odczytu.
  • Nigdy nie wyświetlać go z powrotem po zapisaniu, tak jak pole hasła nie pokazuje tego, co wpisałeś.
  • Akceptować go tylko przez HTTPS, we własnym panelu, nigdy przez wiadomość prywatną ani e-mail.
  • Pozwalać Ci samemu go zresetować lub usunąć w dowolnym momencie, bez proszenia wsparcia o zrobienie tego za Ciebie.
  • Faktycznie go usuwać z ich bazy danych, gdy usuwasz bota lub zamykasz konto, a nie tylko przestają go używać.

Twój prawdziwy wyłącznik awaryjny: reset tokenu

Ta część to uniwersalne zachowanie Discorda, a nie coś, czym steruje którykolwiek pojedynczy host. Kliknięcie Resetuj token w Developer Portal natychmiast unieważnia stary token, wszędzie, gdzie był używany. Twój własny kod, dostawca hostingu albo ktokolwiek, kto zdobył go bez zgody, zostaje rozłączony przy kolejnej próbie ponownego połączenia i po prostu nie może zalogować się ponownie starą wartością. Dlatego przekazanie tokenu renomowanemu hostowi niesie mniejsze ryzyko, niż się wydaje: nigdy nie jesteś naprawdę uwięziony, w każdej chwili, z dowolnego powodu możesz zakończyć ich dostęp w kilka sekund.

A user's bot token runs on a Noxyr node and comes online as their own branded bot. Your token Noxyr node MyBot Online

Jak Noxyr to obsługuje, jako jeden przykład

Funkcja Custom Bot Noxyr prosi o token, by uruchamiać pełny zestaw funkcji pod nazwą Twojego bota. Token jest przechowywany zaszyfrowany, odszyfrowywany tylko przez stronę internetową i konkretny węzeł hostingowy uruchamiający Twojego bota, i nigdy po wklejeniu nie jest pokazywany ani Tobie, ani nikomu innemu. Tylko osoba, która pierwotnie wkleiła token, może go wymienić; inni administratorzy na tym samym serwerze mogą widzieć status bota, ale nie mogą podmienić go na inny pod Twoją nazwą. Usunięcie Custom Bota całkowicie usuwa zapisany token. Jeśli kiedykolwiek chcesz odejść, zresetowanie tokenu w Developer Portal rozłącza go w tej samej chwili, dokładnie jak w przypadku każdego innego hosta.

Co, jeśli host zostanie zamknięty albo mimo to dojdzie do włamania?

Nawet host, który robi wszystko dobrze, może kiedyś mieć zły dzień: serwer zostanie zhakowany, firma zniknie bez ostrzeżenia. Ten sam reset, który pozwala Ci odejść dobrowolnie, chroni Cię także tutaj: gdy tylko masz jakikolwiek powód, by podejrzewać, że baza danych hosta została ujawniona, zresetuj token, zanim poczekasz na ich raport po incydencie. Włamanie na zaszyfrowany token, który unieważniasz w ciągu kilku minut, to znacznie mniejszy incydent niż to samo włamanie na token, którego nikt nie rotuje.

Czerwone flagi, przy których warto odejść

  • Prosi o wklejenie tokenu w wiadomości prywatnej Discord albo na czacie wsparcia zamiast w prawidłowym formularzu w panelu.
  • Nie daje Ci sposobu, by samemu go zresetować, wymienić lub usunąć.
  • Formularz wklejania działa przez zwykły HTTP zamiast HTTPS.
  • Mętnie opisuje, kto jeszcze w ich zespole może zobaczyć zapisane tokeny.
  • Prosi o hasło do Twojego osobistego konta Discord zamiast tokenu bota albo oprócz niego. Żadna uczciwa usługa hostingowa tego nie potrzebuje.

Najczęstsze pytania

Czy host może przejąć serwery mojego bota? Nie. Token nie może zaprosić bota w nowe miejsce; to zawsze wymaga osobnego przepływu OAuth2 i kliknięcia Autoryzuj przez administratora.

Czy mogę odzyskać bota po skorzystaniu z hosta? Tak. Zresetuj token w Developer Portal, a dostęp hosta kończy się od razu; nie musisz najpierw prosić go o cokolwiek usuwać.

Czy uwierzytelnianie dwuskładnikowe na moim koncie Discord chroni token? Nie, token bota to osobne dane uwierzytelniające niż Twoje logowanie. Jedyną kontrolą, która tu naprawdę się liczy, jest jego reset.

Czy samodzielne hostowanie jest z natury bezpieczniejsze niż korzystanie z hosta? Nie automatycznie. Wyciekły token z własnego serwera jest dokładnie tak samo niebezpieczny jak ten wyciekły z bazy danych hosta; bezpieczeństwo bierze się z szyfrowania i obsługi, a nie z tego, kto uruchamia proces.

Co zrobić, jeśli podejrzewam, że token już wyciekł? Zresetuj go od razu, zanim zbadasz cokolwiek innego. To najszybszy sposób, by odciąć każdego, kto go ma, niezależnie od tego, skąd go zdobył.

Pełny przewodnik po tokenach znajdziesz w poradniku o tokenie bota Discord, a dokładne działanie konfiguracji Noxyr w dokumentacji Custom Bot.