網站後台安全設置有哪些要點?

Thread Source: TG 发卡机器人(支持双语 + 用户充值

網站後台的安全設置,說真的,很多人覺得「反正後台只有我能登入」就隨便弄弄,結果等到被駭才後悔莫及。就拿我最近幫朋友架設的一個系統來說,光是調整 PHP 環境裡的禁用函數,就直接擋掉一堆常見的漏洞攻擊。今天這篇不談什麼深奧的理論,就從實戰角度來聊聊那些你一定得注意的後台安全要點。

HTTPS 與 SSL 證書是基本中的基本

別再用 HTTP 了,真的。你看 Telegram Bot 的 API 強制要求 HTTPS,就知道加密傳輸有多重要。如果後台走 HTTP,帳號密碼等於裸奔在網路上,隨便一個中間人攻擊就能攔截。申請 SSL 證書現在很方便,Let's Encrypt 免費又好用,別省這點功夫。

PHP 禁用函數清單要手動調整

很多主控面板(像寶塔)預設會禁用一些危險函數,但鬼知道哪個版本會漏掉。你必須自己去檢查:putenv、proc_open、pcntl_signal、pcntl_alarm 這幾個函數絕對要從禁用列表中刪除?等等,不對,應該是反過來——我剛剛說錯了,這些函數往往是用來執行系統命令的,如果你不需要後台執行外部程式,反而該 保留禁用。但很多應用(像是隊列處理、定時任務)又非得用到它們,這時候就得權衡。最安全的做法是:確認應用程式真的需要哪些函數,只開放必要的,其餘一律禁用。我自己習慣先全部禁用,再遇到報錯才逐步開放,這樣最保險。

運行目錄與檔案權限

錯誤的運行目錄設定會讓駭客直接存取敏感檔案。例如很多教程叫你設定運行目錄為 /www/wwwroot/你的網站/public,這樣使用者只能訪問 public 資料夾,config、.env 這些關鍵檔案就暴露不到外網。另外,檔案權限也別偷懶,config 資料夾設成 755、.env 設成 600,避免被他人讀取資料庫連線資訊。

資料庫預設帳號密碼立馬改

導入 sql.sql 資料庫檔案後,管理員帳號密碼通常是預設的 admin/admin,這種東西就跟門上貼鑰匙一樣危險。一定要在第一時間修改:換成複雜密碼(大小寫字母+數字+符號,最少12位),如果可以,後台登入路徑也別用 /admin,改成隨機字串。另外,資料庫使用者也要限制權限,只給該網站需要的資料庫存取,不要用 root 帳號。

定時更新與監控

安全設置不是一次性的,要像保養車子一樣定期檢查。特別是 PHP 版本、Nginx 版本、還有後台程式本身,只要官方釋出安全更新,就該趕快升級。我自己會加上簡單的登入日誌監控,用 fail2ban 之類的工具來防止暴力破解。如果後台出現大量錯誤登入紀錄,馬上封鎖 IP。

總之,後台安全沒有捷徑,但做好這幾點就能擋掉 90% 的常見攻擊。別等到被駭才後悔,現在就動手檢查一下吧。

評論(12)

提示:請文明發言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *

  • 野性觉醒 普通用户

    之前用寶塔架站,沒改預設密碼隔天就被掃了,嚇死。

    4 個月前 Reply
  • PhantomProwler

    HTTP裸奔真的傻,我之前還想偷懶不裝SSL。

    4 個月前 Reply
  • 賽博神經 普通用户

    putenv那個函數到底啥時候該開啊,搞不太懂🤔

    4 個月前 Reply
  • 錢包 普通用户

    說得輕鬆,實際排查禁用函數報錯能煩死人。

    4 個月前 Reply
  • 薯條控 普通用户

    .env設600這個學到了,以前都沒注意權限。

    4 個月前 Reply
  • 憤怒的熊貓 普通用户

    admin/admin這種密碼真的還有人在用?

    4 個月前 Reply
  • 筆記本 普通用户

    fail2ban配置過一次,規則寫錯把自己鎖外面,氣死。

    4 個月前 Reply
  • 蝸牛慢慢 普通用户

    後台路徑改隨機字串這招實用,我之前只會改admin成manage。

    4 個月前 Reply
  • 小小夢想家

    「反正只有我能登入」這心態超多人有,我朋友也是這樣被駭的。

    4 個月前 Reply
  • 阿寶

    Let's Encrypt到期忘記續,網站掛半天才發現,有夠蠢。

    4 個月前 Reply
  • 小魚泡泡 普通用户

    定時更新說是這樣說,PHP升上去插件全炸怎麼辦?

    4 個月前 Reply
  • 海豚妹 普通用户

    Nginx版本這個真的會忘,感覺沒人在管。

    4 個月前 Reply