Node-RED:啟用使用者身分驗證、建立帳號密碼以保護資訊安全

2021/11/18 266 1 網站技術 , 資訊安全 , Node.js , Node-RED

Node-RED 預設是無帳號與密碼的,因此若建立在公開的伺服器上就是不安全的,任何人都可以透過 IP 或網域連上平台,且直接修改及部屬編輯器上的節點,因此我們要運用其內建的使用者身分驗證機制來保護平台的資訊安全。首先您必須先找到設定檔 settings.js,通常在 Node-RED 的根目錄上,這個設定檔的完整路徑首次啟動會顯示在終端機上,接著在設定檔中加入 adminAuth 屬性,裏頭有使用者的帳號、密碼(採用 Bcrypt hash 加密保護)及權限設定,儲存後重新啟動即生效。


▲ 在終端機啟動 Node-RED 會跑出這一串的資訊,設定檔的完整路徑就在紅色箭頭處!

▲ 在 Windows 環境下預設是在 C:\Users\user\.node-red 之下,找到並開啟 settings.js

▲ 在 settings.js 中的最末端 } 之前加入以下原始碼:

adminAuth: {
    type: "credentials",
    users: [
        {
            username: "admin",
            password: "$2a$08$BEilbSe2PH5yRaONFPu1bOIjM8h/sZD/NeAUPdMx2/TSo31Z3DblW",
            permissions: "*"
        },
        {
            username: "george",
            password: "$2a$08$7WuCxN/Vl9dRKRyPIfs4/OsJmdJwcPBHJjpacS6qWztYsIok1WOau",
            permissions: "read"
        }
    ]
}

以上兩密碼之 Bcrypt hash 解密,可給大家測試用:
$2a$08$BEilbSe2PH5yRaONFPu1bOIjM8h/sZD/NeAUPdMx2/TSo31Z3DblW -> password
$2a$08$7WuCxN/Vl9dRKRyPIfs4/OsJmdJwcPBHJjpacS6qWztYsIok1WOau -> 123456789

這裡我們加入了 adminAuth 屬性到設定檔中,並指定兩個使用者,密碼皆是採用 Bcrypt hash 加密保護,這邊可以自行透過一些生成器產生,測試的話可以用線上生成的方式,舉例來說:Bcrypt-Generator.com,admin 擁有完整權限、user 則只有瀏覽權限,不能編輯及部屬節點。設定檔儲存後要重新啟動 Node-RED 才會生效。


▲ Node-RED 重新啟動後用瀏覽器開啟平台,可以發現到內建的登入畫面,現在開始要登入才能使用 Node-RED。

▲ 右上方可以簡單得知現在登入的使用者及做登出的動作。

贊助廣告 ‧ Sponsor advertisements
徵信社有甚麼服務| 外遇疑雲| 阿宅來說徵信社故事| 如何手機監聽| 徵信社抓姦介紹| 徵信價目表費用| 抓姦在床蒐證| 台北立達徵信社| 免費法律諮詢子女監護權| 馭夫術手段| 合法徵信社推薦| 挖掘徵信社新聞| 打擊小三包二奶| 抓小三蒐證| 反跟蹤可行嗎| 尋人查址高手| 夫妻協議離婚| 委託外遇蒐證| 丈夫外遇偷腥| 名人外遇新聞| 立案專業徵信社| 婚前調查協助| 離婚扶養費可以要多少| 汽車定位追蹤| 危險徵信社任務| 免費法律諮詢| 一日偵探雞排妹|
【業界首推立達徵信FB