9. 安全
本章是給伺服器的 owner 與 admin 使用,集中管理伺服器的內容過濾、流量限制、IP 封鎖、操作紀錄與寄信設定。點分頁列右側的齒輪圖示(提示「使用者設定」)打開設定面板,左邊「安全性」分組裡與本章相關的四個分頁是「禁用字管理」、「速率限制」、「稽核日誌」、「郵件代理」。
這四個分頁裡,禁用字、稽核日誌、郵件代理各自一頁;速率限制與 IP 封鎖排在同一頁。下文 §9.1 到 §9.5 逐頁說明。owner 與 admin 看到的內容完全一致。
9.1 禁用字
Section titled “9.1 禁用字”從「安全性」分組點「禁用字管理」進入這個分頁,用來把訊息裡的特定字詞自動過濾掉,並查閱過濾過的歷史。
分頁頂部有兩顆切換按鈕,把這頁分成兩個子頁:「禁用字」(管理)與「過濾紀錄」。進來預設停在「禁用字」這個子頁。
啟用與處理模式
Section titled “啟用與處理模式”「禁用字」子頁由上往下,第一塊是啟用與處理方式。
最上方是「啟用禁用字」,右側一顆開關按一下就切換。介面說明(逐字):「啟用後,包含禁用字的訊息將被過濾。」
下方是「處理模式」,由兩張並排可選卡片二擇一,決定命中禁用字的訊息要怎麼處理:
- 「替換」 — 介面說明(逐字):「將禁用字替換為替換文字」。
- 「阻擋」 — 介面說明(逐字):「阻止整則訊息發送」。選「阻擋」時這張卡會變紅。
選「替換」模式時,下方才會出現「替換文字」這一塊。介面說明(逐字):「用於替換禁用字的文字(僅替換模式)」。這是一個文字輸入框,最多 10 個字,填入的內容會拿來蓋掉訊息裡命中的禁用字。
「禁用字」清單用來逐一管理要過濾的字詞。介面說明(逐字):「管理訊息中自動過濾的禁用字詞。」清單為空時顯示「尚未設定任何禁用字。」
每一筆既有的禁用字佔一行,由左到右是:一個放這個字的可編輯文字欄位、一顆顯示它比對方式的小按鈕(「完整詞」或「包含」,按一下在兩者之間切換)、以及一顆移除(×)按鈕。
清單下方是新增一列:一個文字輸入框(預先填入的提示文字是「新增禁用字…」)、一個挑比對方式的下拉(選項「包含」與「完整詞」)、和一顆「新增」按鈕。還沒打字時「新增」按不下去;打好字按它、或按 Enter,都能加一筆。
清單底部一排:「儲存」按鈕(儲存中顯示「儲存中…」;沒改動時按不下去),以及有未存改動時才出現的「重設」(按它丟棄編輯)。存好顯示「已儲存!」。這顆「儲存」管的是整個子頁:「啟用禁用字」開關、「處理模式」、「替換文字」與清單的變動,都要按它才會一起寫入。
清單下方有一顆紅色的「恢復預設」按鈕,用來把禁用字清單還原成伺服器內建的預設清單。介面說明(逐字):「將禁用字恢復為預設列表?這將覆蓋您目前的列表。」
按下後會先跳出系統確認對話框,確認後清單會換成預設清單;跟其他變動一樣,要按「儲存」才會寫入。
按頂部的「過濾紀錄」切到第二個子頁,可以查觸發過禁用字過濾的訊息歷史。介面說明(逐字):「檢視觸發禁用字過濾器的訊息歷史紀錄。」紀錄為空時顯示「找不到禁用字紀錄。」
紀錄是一張表,每一列對應一則被過濾的訊息,由欄位呈現:時間、觸發的使用者、所在的「頻道」(以「#頻道名」顯示,私訊則標示為直接訊息)、被擋下的「原始內容」片段、命中的「觸發字詞」(以紅色標示)、以及這則訊息的「處理方式」(替換或阻擋)。
子頁上方有一顆紅色的「清除所有紀錄」按鈕,按下會先跳出系統確認對話框,文字(逐字)是「清除所有禁用字紀錄?此操作無法復原。」,確認後把所有過濾紀錄清空。
9.2 速率限制
Section titled “9.2 速率限制”從「安全性」分組點「速率限制」進入,這個分頁進去之後標題寫「安全性」。分頁由上往下是:安全健康狀態 → 訊息速率限制 → 上傳速率限制 → IP 封鎖(IP 封鎖見 §9.3)。
安全健康狀態
Section titled “安全健康狀態”分頁最上方是一塊「安全健康狀態」,旁邊一行標籤寫「JWT 密鑰來源」。它用一個彩色圓點加一行狀態文字,一眼告訴你伺服器目前的安全狀態:
- 綠色 — 目前安全,狀態文字會寫「由操作員設定」或「首次啟動自動生成」。
- 琥珀色 — 伺服器已自動處理,狀態文字寫「已自動輪替」;此時現有的登入工作階段已失效,成員需要重新登入。
- 紅色 — 需要你處理,狀態文字寫「使用開發預設值(不安全)」。
訊息速率限制
Section titled “訊息速率限制”「訊息速率限制」設定每位成員每分鐘最多能發幾則訊息。介面說明(逐字):「每位使用者每分鐘的最大訊息數。0 = 無限制。」
這是一個數字輸入框,最小可填 0,預先填入的提示數字是 0。填一個數字、按右側「儲存」就生效,存好顯示「已儲存!」。填 0 代表不限制每分鐘的訊息數。
上傳速率限制
Section titled “上傳速率限制”「上傳速率限制」設定每位成員每分鐘最多能上傳幾次。介面說明(逐字):「每位使用者每分鐘的最大上傳數。0 = 無限制。」
這也是一個數字輸入框,最小可填 0,預先填入的提示數字是 0。填一個數字、按右側「儲存」就生效,存好顯示「已儲存!」。填 0 代表不限制每分鐘的上傳次數。
9.3 IP 封鎖
Section titled “9.3 IP 封鎖”IP 封鎖與上面的速率限制在同一個「安全性」分頁,排在下半部,與速率限制之間有一條分隔線隔開。「IP 封鎖」用來擋掉特定來源連到伺服器。介面說明(逐字):「封鎖特定 IP 位址存取伺服器。」
一張卡片裡橫排兩個輸入欄與一顆按鈕:
- 第一欄填「IP 位址」,預先填入的提示文字是「例如 192.168.1.100」。
- 第二欄填封鎖原因,標示為「原因」。
- 一顆紅色按鈕「新增 IP 封鎖」。還沒填 IP 之前按不下去;填好 IP 按它就把這筆封鎖加入清單。
新增區下方列出目前所有的封鎖。清單為空時顯示「沒有 IP 封鎖。」
每一列由左到右是:IP 位址,加一個小標籤指出來源 ——「自動」(由自動速率限制產生的封鎖)或「手動」(管理員手動加的);已經過期的列再多一個「已過期」標籤。
列下方一行附帶資訊:原因(若有填)、到期時間(限時的封鎖若還沒過期,會以「{時間} 到期」格式顯示一個當地日期時間)、以及這筆封鎖的建立日期。
每一列右側有一顆垃圾桶圖示,按下移除那一筆封鎖。
清單至少有一筆封鎖時,上方會出現一個「隱藏已過期」勾選,勾起來會把已過期的封鎖從清單上藏起來。
9.4 稽核日誌
Section titled “9.4 稽核日誌”從「安全性」分組點「稽核日誌」進入,用來查閱管理操作的歷史。「稽核日誌」的介面說明(逐字):「檢視管理操作的歷史記錄。」紀錄為空時顯示「找不到稽核日誌。」
分頁右上角由左到右三個控制項:
- 一個下拉,用來依操作種類篩選紀錄。第一個選項是「所有操作」(不依操作種類篩選);其餘選項是目前日誌裡出現過的操作種類。換了選項之後,要按「重新整理」才會依新的選項重新載入。
- 「顯示系統自動清理紀錄」勾選欄位,預設不勾。勾選或取消都會立刻重新載入。
- 一顆「重新整理」按鈕,按下重新載入日誌,載入中會顯示載入狀態。
下方是日誌列表,每一筆紀錄包含:操作者(顯示暱稱或使用者名稱;伺服器自動清理的紀錄顯示「系統」)、操作種類、操作的時間。下方一行再帶出這次操作的對象(若有)、可能的細節說明,以及(若這次操作有記到)IP 位址。對象前面會先標出它的種類。對象是使用者就顯示暱稱或使用者名稱、是頻道就顯示頻道名;不針對特定一位使用者或一個頻道的操作(例如伺服器更新),名稱的位置顯示「—」。操作者或對象對應不到名稱時(例如對象是私訊對話),改顯示一段識別碼。
系統自動清理的紀錄
Section titled “系統自動清理的紀錄”頻道依「訊息空間」「檔案空間」的設定自動移除訊息或檔案(§2.1)、私訊依「私訊保留上限」自動移除訊息(§7.5)時,伺服器都會寫下稽核紀錄,操作者顯示「系統」。這類紀錄預設不列出,勾選「顯示系統自動清理紀錄」就會和其他紀錄一起列出。
成員回報頻道裡較早的訊息或檔案不見了時,可以勾選這個欄位,看看那個頻道有沒有操作者是「系統」的紀錄。列表只列出最近的一批紀錄,移除如果發生得比較早,紀錄可能已經不在列表上。
9.5 郵件代理
Section titled “9.5 郵件代理”從「安全性」分組點「郵件代理」進入,用來設定伺服器寄信。引言(逐字):「設定郵件傳送服務,用於註冊驗證及密碼變更確認。」還沒設定供應商時,本頁顯示「尚未設定郵件。請先選擇供應商並儲存設定。」
設定流程是四步:選供應商 → 填憑證與寄件資訊 → 儲存 → 用測試郵件驗證。
第一步,選供應商。 頁面上方一個「供應商」下拉,選項有「尚未設定」(預設)、「Gmail」、「Resend」、「自訂 SMTP」。選好供應商後,下方才會出現對應的設定欄位,以及一張提示卡,給你這個供應商的填寫指引。
第二步,填憑證與寄件資訊。 依供應商不同會帶出對應欄位(例如自訂 SMTP 會多出主機與連接埠)。共用的欄位有「使用者名稱 / API Key」、「密碼 / API Key」、「寄件人地址」、「寄件人名稱」、以及「網站 URL」(介面說明逐字:「伺服器的公開 URL(用於驗證連結)」)。
第三步,儲存。 填好後按「儲存郵件設定」寫入,成功顯示「郵件設定已儲存!」。
第四步,用測試郵件驗證。 選了供應商後,下方會出現「測試郵件」區。在裡面填一個收件信箱、按「發送測試郵件」,用來確認設定是否正確;成功顯示「測試郵件發送成功!」。