monio 的一些安全實踐


這個本來屬於s3 的特性,但是我們在實際使用的過程中肯定不想別人直接可以通過瀏覽器或者http就可以可以我們的文件內容
這個屬於安全的控制,以下是一個實踐以及一些安全控制

一些原則

  • 不能直接暴露minio 訪問到公網環境(可以基於nginx,以及反向代理工具解決)
  • 配置合理的bucket 策略,可以直接使用默認的,但是對於互聯網訪問最好合理配置policy,對於靜態站點使用按需 read only
  • 推薦基於nginx 做lb 以及cache
  • 禁用管理界面
 
MINIO_BROWSER=off
  • 可以基於nginx 的rewrite 以及if 控制public 列表文件的展示(xml 文件內容列表)openresty 的access_by_lua_block 更好點(基於正則,比較推薦)
    openresty access_by_lua_block 的配置
 
location ~* ^/demo {
       proxy_set_header Host $http_host;
       proxy_set_header X-Forwarded-For $remote_addr;
       client_body_buffer_size 10M;
       client_max_body_size 10G;
       proxy_buffers 1024 4k;
       default_type text/html;
       access_by_lua_block {
           -- 對於demo 的minio bucket 禁用列表列出
            local m, err = ngx.re.match(ngx.var.uri,[[^(\/demo)(\d+)(\/?)$]])
            if m then
                 ngx.exit(ngx.HTTP_FORBIDDEN)
            end
       }
       index index.html index.htm index;
       proxy_read_timeout 300;
       proxy_next_upstream error timeout http_404;
       proxy_pass http://minio:9000;
}

說明

以上是一些自己的實踐,歡迎討論

參考資料

https://docs.min.io/cn/minio-server-configuration-guide.html
https://github.com/openresty/lua-nginx-module#access_by_lua_block


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM