Discuz! 論壇以其功能完善、效率高效、負載能力,深受被大多數的網站喜愛和青睞。無獨有隅,筆者所維護的論壇就是用discuz! 來構建的,從接手時候的7.2到現在x3.1,經歷了數次的二次開發和發布,感觸頗多。但是最近老是被上傳上傳到木馬,下面我們從nginx 安全加固、discuz 文件目錄、mysql 用戶權限等方面來闡述discuz論壇安全加固,希望給大家一點靈感。
Nginx安全加固
作為web的前端,在上面加強安全防護,效率比php要高多了。針對discuz! X3.1論壇nginx安全加固如下:
location ~* ^/(data|images|config|static|source|uc_server/data/avatar)/.*.(php|php5)$ { deny all; }
意思是data images config static source等目錄及其所有的php不能從web訪問,這樣避免黑客在上傳上面的目錄上傳的木馬無法運行,返回403錯誤。當然最直接的方法就是先將所有的文件禁止運行,然后加入需要放開的php和目錄,這樣做起最直接,而且最徹底。
discuz目錄加固
不要聽信網上所有將目錄設置為777,這樣的話,任何用戶都已對目錄可寫可執行。針對discuz!X3.1目錄權限可以設置:
進入論壇根目錄
find source -maxdepth 4 -type d -exec chmod 555 {} ; find api -maxdepth 4 -type d -exec chmod 555 {} ; find static -maxdepth 4 -type d -exec chmod 555 {} ; find archive -maxdepth 4 -type d -exec chmod 555 {} ; find config -maxdepth 4 -type d -exec chmod 555 {} ; find data -maxdepth 4 -type d -exec chmod 755 {} ; find template -maxdepth 4 -type d -exec chmod 555 {} ; find uc_client -maxdepth 4 -type d -exec chmod 555 {} ;
3) 針對discuz!X3.1文件權限可以設置:
進入論壇根目錄
find . - type f -maxdepth -exec chmod 444 {};#設置論壇目錄的文件只可讀,然后設置那些需要寫的文件,一般只有data下的文件是可以的。 find data - type f -maxdepth -exec chmod 755 {};#設置data 文件為755
mysql權限設置:
1)mysql 用戶權限:用戶的權限應嚴格限制,不應該有的權限全部去掉。比如該用戶只需執行select 語句,且只能操作某個庫,那么只賦予select 權限和限制在某個庫即可,千萬不要畫蛇添腳,添加delete update權限等。例如下圖所示
2)限制來源ip:這一點是最容易讓人遺忘,可能測試放開了來源ip,但是上線的時候卻忘記了。但是帶來的后果確實不堪設想。設置用戶的來源ip比如只允許來源ip 192.168.1.2可以連接。例如下圖所示