SylonSylon
特徴
コマンド
すべての機能サーバーガード(Anti-Nuke と復旧)

サーバーガード(Anti-Nuke と復旧)

Discord サーバーへの大量 BAN、チャンネル一掃、ロール攻撃を止める Anti-Nuke 保護 — そして通り抜けたものは元に戻します。

概要

乗っ取られた管理者が一人いれば、Discord サーバーは数分で消し飛びます。サーバーガードは監査ログのあらゆる破壊的イベント — 大量 BAN とキック、チャンネルとロールの削除、一括改名、権限昇格、Webhook の悪用、メッセージの一括削除 — を監視し、アカウントが安全な上限を超えた瞬間に介入します。その場で取り消せなかったものは、あとから再構築できます。Sylon はサーバー全体のスナップショットを定期的に保持し、ダッシュボードが一つずつ元に戻す手順を案内します。

実際の動作を見る

仕組み

1

アカウント単位の上限

破壊的な操作の種類ごとに、アカウント単位で数える 1 分あたりの許容回数があります。BAN、BAN 解除、キック、チャンネルの作成・削除・編集、ロールの作成・削除・編集、サーバー設定変更、Webhook、メッセージの一括削除です。
2

即時の巻き戻し

上限を超えた相手はロールを剥がされタイムアウトされ、そのうえで操作が取り消されます。削除されたチャンネルとロールは作り直され、編集は元に戻り、スパムのチャンネルと Webhook は削除されます。
3

すべてのスナップショット

数時間ごとに Sylon はロール、チャンネル、カテゴリ、権限の上書き、サーバーの基本情報、誰がどのロールを持っているか、各チャンネルで最後に話していたのは誰かを記録します。
4

案内付きの復旧

ダッシュボードはスナップショットを現在のサーバーと比較し、差分を一つずつ、必ず守る順序で提示します。ロールはそれを参照する権限より先、カテゴリはその中のチャンネルより先です。

主な機能

大量 BAN・BAN 解除・キックへの保護
チャンネルの作成・削除・一括編集への保護
ロールの作成・削除・一括編集への保護
権限昇格と危険なロールの検出
Webhook の悪用とメッセージ一括削除の検出
@everyone とロールメンションのスパム遮断
サーバーの基本情報(名前・アイコン・バニティ URL)の保護
絵文字の名前変更・削除への保護。画像または最新スナップショットから復元します
サーバーの自動スナップショット、30 日間保持
チャンネル・ロール・権限・ロールメンバー・最後の会話の段階的な復旧

セットアップ

1.ダッシュボードを開き、ガードのタブで有効にします。
2.すべての介入が見えるようにログチャンネルを設定します。
3.正規に一括管理を行う人向けに信頼ロールを追加します。
4.「ルール」の 1 分あたりの上限を、実際のスタッフの働き方に合わせて調整します。
5.自動スナップショットは有効のままにし、大きな改修のあとは手動でも 1 つ取っておきます。
6.復元できるようにしたいロールやチャンネルより上に、Sylon のロールを置きます。

詳しい動作

何を監視するか

ガードは破壊的な管理操作をアカウント単位で 1 分ごとに数えます。BAN、BAN 解除、キック。チャンネルの作成・削除・編集。ロールの作成・削除・編集。サーバー設定の変更。Webhook の作成。そしてメッセージの一括削除です。上限を超えることは、日常業務ではなくインシデントとして扱われます。

自動の巻き戻し

削除されたチャンネルとロールは作り直され、編集はゲートウェイがその直前に見ていた状態へ戻され、サーバー設定の変更は取り消され、権限昇格は元に戻されます。要点は、乗っ取られたアカウントがガードの戻す速さを上回る恒久的な変更を作れない、ということです。

スナップショット

数時間ごとに Sylon はサーバー全体の形を保存します。色・権限・メンバーを含むすべてのロール。トピック・種類・チャンネルごとの権限上書きを含むすべてのチャンネルとカテゴリ。そしてサーバー自身の名前、アイコン、設定です。ガードの作動後 2 時間はスナップショットが停止するため、攻撃が最後の正常な写しを保持期間から押し出すことはありません。

案内付きの復旧

復旧はあえてボタン一つにしていません。ダッシュボードは必要な順に 8 つの手順を示し、それぞれに差分の項目が並びます。前提が未了の手順は実行を拒否します。参照先のロールが存在しないうちにチャンネル権限を戻せば、その半分が黙って捨てられるからです。

信頼ロールとパニックモード

信頼ロールは対象外なので、本物の管理者が本物の整理をしているのに邪魔をしません。パニックモードはすべての上限をゼロにします。誰であれ、あらゆる破壊的操作の 1 回目が止められます。

コピーとして戻るもの

メッセージです。Discord に削除を取り消す手段はありませんが、Webhook は任意の名前とアイコンで投稿できます。そこで Sylon は、保存しておいた最後の会話を作り直したチャンネルへ元の投稿者の名前と写真で再投稿します。コピーであることを明示し、チャンネルごとに一度だけです。添付ファイル・埋め込み・リアクション・返信・編集履歴・元の投稿時刻はその対象外で、ダッシュボードはボタンを押す前にそう伝えます。

設定

ログチャンネルボットがこの機能のログ メッセージを送信するチャネル。
信頼できる役割これらの役割を持つメンバーは信頼されており、ガード制限の影響を受けません。
信頼するメンバー信頼され、ガード制限の影響を受けない特定のメンバーです。
パニックモード有効にすると、制限に関係なく、すべての破壊的なアクションが即座にブロックされます。
禁止禁止制限/分ガードが行動を起こすまでに許可される 1 分あたりの禁止の最大数。
アンチキック制限/分1分間に許可されるキックの最大数。
アンチチャネル削除制限/分1 分あたりに許可されるチャネル削除の最大数。
アンチチャネル作成制限/分1 分あたりに許可されるチャネル作成の最大数。
チャンネル編集の上限/分ガードが取り消すまでに 1 分間で許されるチャンネル編集(改名、トピック変更、カテゴリ移動、低速モード)の回数です。
アンチロール削除制限/分1 分あたりに許可されるロールの削除の最大数。
ロール作成の上限/分1 つのアカウントが 1 分間に作成できるロール数です。超過分は、どんな権限を持っていても削除されます。
ロール編集の上限/分1 分間に許されるロール編集の回数です。上限を超えた編集は、そのロールの以前の状態に戻されます。
対危険な役割の作成管理者などの危険な権限を持つロールの作成を防ぎます。
アンチギルド更新制限/分1 分あたりに許可されるサーバー設定変更の最大数。
メッセージ削除の上限/分1 つのアカウントが 1 分間に削除できるメッセージ数です。ガードはアカウントを止め、失われたものを記録します。メッセージ自体は Nuke 復旧からの再投稿されたコピーとしてのみ戻ります。
Webhook 作成の上限/分1 つのアカウントが 1 分間に作成できる Webhook 数です。Webhook は作成者が BAN された後も投稿し続けるため、超過分は削除されます。
1分あたりの絵文字削除数Guard が介入するまでに一人が一分間に削除できる絵文字の数です。Sylon は Discord がまだ配信している画像、またはスナップショットから再アップロードします。0 にすると最初の削除から取り消します。
1分あたりの絵文字編集数Guard が元の名前に戻すまでに一人が一分間に名前変更・制限できる絵文字の数です。0 にすると最初の編集から取り消します。
1分あたりのスタンプ削除数Guard が介入するまでに一人が一分間に削除できるスタンプの数です。Sylon は Discord がまだ配信しているファイル、またはスナップショットから再アップロードします。0 にすると最初の削除から取り消します。
1分あたりのスタンプ編集数Guard が元の名前に戻すまでに一人が一分間に名前変更できるスタンプの数です。0 にすると最初の編集から取り消します。
1分あたりのイベント削除数Guard が作り直すまでに一人が一分間に削除・キャンセルできる予定イベントの数です。すでに開始したイベントは作り直せません。0 にすると最初の一件から取り消します。
何を危険な権限とみなすか危険なロールに関する二つのルールが判断する権限です。その権限を持つロールを作ること、既存のロールに与えることの両方が対象です。すべてオフは「Sylon のリストを使う」という意味で、「危険な権限はない」ではありません。
アンチ@全員でメンションする承認されていない @everyone および @here のメンションをブロックします。
ロールメンションスパム対策6 つ以上のロールを同時にメンションするメッセージを削除し、送信者を制限します。
自動スナップショットサーバー構成のスナップショットを定期的に取り、ダッシュボードから nuke を取り消せるようにします。ガードの作動後 2 時間は一時停止するため、攻撃が最後の正常な写しを上書きすることはありません。
スナップショット間隔(時間)スナップショットを取る頻度です。短いほど攻撃時の損失は減りますが、保存される写しは増えます。
保持するスナップショット数定期スナップショットを何件保持するかです。攻撃中に取られたものは、この数とは別に必ず保持されます。
直近の発言者を保存各チャンネルで最後に話していた人を保存します。メッセージが復元されることはありません(Discord にその手段がありません)が、削除されたチャンネルが誰のものだったか分かることこそが、作り直す意味を生みます。
チャンネルごとの保存メッセージ数チャンネルごとに直近何件のメッセージを覚えておくかです。0 にすると保存しません。

知っておきたいこと

操作を巻き戻すにはガードに高い権限が必要です。Sylon 自身が作成を許されているものしか復元できません。
巻き戻しは監査ログに依存するため、操作をアカウントに結び付けるには「監査ログを表示」が必要です。
上限は 1 分あたりなので、管理者一人がゆっくり意図して行う変更では何も作動しません。
作り直されたチャンネルやロールには新しい Discord ID が付きます。Sylon はその変化を追跡するので後続の復旧手順は動き続けますが、古い ID を保存していた他のボットや連携は新しい ID に向け直す必要があります。
ボットを追加してはいけない人が追加したボットは、サーバーガードの担当ではありません。参加ゲートが入口で、そのボットが何かをする前に処理します。
削除された絵文字は、Guard が常に取り戻せるとはかぎらない唯一のものです。Discord は絵文字の削除を取り消さないため、Sylon は画像を再アップロードします。Discord の CDN がまだ配信していればそこから、なければ最新のスナップショットから。どちらにもなければ、復元したとは言わず、その旨をログに書きます。

よくある質問

「Nuke」とは何ですか?

短時間の破壊攻撃です。チャンネルの一括削除、メンバーの一括 BAN、すべての改名、管理者ロールの配布などで、たいていは乗っ取られた、あるいは悪意のあるスタッフのアカウントから行われます。

内部からの攻撃も防げますか?

はい。上限はロールに関係なくアカウント単位で数えるので、信頼された管理者でも安全なしきい値は超えられません。正規に一括作業を行う人は信頼リストに入れてください。

被害を取り消せますか?

その場では、上限を超えた操作を巻き戻します。そのあとはダッシュボードが、チャンネル、カテゴリ、ロール、チャンネル権限、ロールの所属、サーバー自身の設定をスナップショットから一項目ずつ復元します。

削除されたメッセージは復元できますか?

オリジナルはできません。Discord に削除済みメッセージを戻す API はありません。Sylon にできるのは、保存しておいたコピーを再投稿することです。Webhook は任意の名前とアイコンで投稿できるため、最後の会話は作り直したチャンネルへ元の投稿者の名前と写真のまま戻ります。添付ファイル・リアクション・返信・元の投稿時刻は戻らず、Discord はすべての Webhook 投稿にアプリのバッジを付けるので、オリジナルと取り違えられることはありません。

復元すると自分の最近の作業まで取り消されますか?

指示したものだけです。自動では何も適用されません。差分ごとに何がどう変わるかが示され、適用するものはあなたがチェックします。スナップショット後に作られたものは別途フラグが付くので、正当な作業が荒らしの被害と取り違えられることはありません。

関連機能