iT邦幫忙

第 11 屆 iThome 鐵人賽

DAY 8
1
Security

突破困境:資安開源工具應用系列 第 8

開源行動裝置管理系統:WSO2 IoT

https://ithelp.ithome.com.tw/upload/images/20190920/20118848JNQEsq0SWV.png

在行動裝置成為人類必需的隨身裝備之一,企業無可避免的直接面對這股浪潮,然而在智慧型行動裝置進入企業環境之後,各種資料安全與機密防護問題該如何解決呢?

昨天提到了 NAC 網路存取控制,那麼今天接著討論於行動裝置管理上的各種需求。不論是公務裝置或是私人裝置,勢必要採用相對應的解決方案,才能讓企業管理者有所掌握。


方案介紹

在過去所認知的印象裡,大都是商業等級產品方能做到行動裝置管理 (MDM,Mobile Device Management),而且都有一定的費用門檻。

其實,在開源的世界裡也有不錯的方案可以做為參考,它的名字是 WSO2 IoT。

WSO2 IoT 的前身是 WSO2 EMM,WSO2 IoT 加入了更多 IoT 物聯網裝置的管理能力,我稍加整理它的主要功能:

  • 全 Web 化的管理介面
  • 提供裝置資產管理功能
  • 提供 App 管理與派送功能
  • 為裝置上的資料進行加密
  • 由管理中心將裝置鎖定
  • 依據策略決定裝置的網路設定
  • 遠端進行裝置資料抹除
  • 行動裝置位置追蹤
  • 裝置內建硬體管理控制
  • 回收裝置相關資訊
  • 提供完整 API 相關功能

https://ithelp.ithome.com.tw/upload/images/20190920/201188488OhOGB26BL.png
系統架構圖 (圖片取自官方教學文件)


安裝方式

WSO2 IoT 伺服器是以 Java 開發,安裝好 JDK 與相關環境參數,依據官方文件所述,將專案檔下載後解壓縮,即可準備使用,我是以 Ubuntu 18.04 為伺服器。

apt update
apt install openjdk-8-jdk

安裝完 openjdk-8-jdk,它的路徑應該會在 /usr/lib/jvm/java-8-openjdk-amd64/

下載與解開 WSO2 IoT Server

cd /opt
wget https://github.com/wso2/product-iots/releases/download/v3.1.0-update1/wso2iot-3.1.0-update1.zip
apt install unzip
unzip wso2iot-3.1.0-update1.zip
mv wso2iot-3.1.0-update1 wso2

修改 Server 連線資訊

# 第一道問題輸入 localhost
# 第二道問題請輸入此伺服器的 fqdn,絕對不要用 ip.. 這搞了我好久
/opt/wso2/script/change-ip.sh

接著,我們要把 WSO2 IoT 安裝為 Linux Service,請依據實際 JDK 路徑進行調整。

安裝 Service (存為 /opt/wso2/wso2server)

#! /bin/sh
export JAVA_HOME="/usr/lib/jvm/java-8-openjdk-amd64/"
export PATH=${JAVA_HOME}/bin:${PATH}

startcmd='/opt/wso2/bin/iot-server.sh start > /dev/null &'
restartcmd='/opt/wso2/bin/iot-server.sh restart > /dev/null &'
stopcmd='/opt/wso2/bin/iot-server.sh stop > /dev/null &'
 
case "$1" in
start)
   echo "Starting the WSO2 Server ..."
   ${startcmd}
;;
restart)
   echo "Re-starting the WSO2 Server ..."
   ${restartcmd}
;;
stop)
   echo "Stopping the WSO2 Server ..."
   ${stopcmd}
;;
*)
   echo "Usage: $0 {start|stop|restart}"
exit 1
esac

將這個檔案存成 /opt/wso2/wso2server (請依實際位置調整) 後,連結到 /etc/init.d 中,最後再將此指令碼註冊至啟動位置。

chmod a+x /opt/wso2/wso2server
ln -snf /opt/wso2/wso2server /etc/init.d/wso2server
update-rc.d wso2server defaults

確認沒有問題以後,就可以啟動服務啦。

service wso2server start

如有正確啟動,WSO2 Iot 會監聽以下這些連接埠:

  • HTTP
    管理主控台:http://<fqdn>:9763/carbon
    裝置管理主控台:http://<fqdn>:9763/devicemgt
    裝置監視資訊看版:http://<fqdn>:9763/portal

  • HTTPS
    管理主控台:https://<fqdn>:9443/carbon
    裝置管理主控台:https://<fqdn>:9443/devicemgt
    裝置監視資訊看版:https://<fqdn>:9443/portal

https://ithelp.ithome.com.tw/upload/images/20190920/20118848gpxBHtMf7E.png
管理主控台

https://ithelp.ithome.com.tw/upload/images/20190920/201188483zl7Sk7las.png
裝置管理主控台

這兩個主控台安裝完成後的預設帳密都是 admin


主要功能

要將行動裝置納入管理並不困難,我們以 Android 裝置做為範例。在裝置主控台 [DEVICES] 區塊按下 [Add] 按鈕。

https://ithelp.ithome.com.tw/upload/images/20190920/20118848g04XwxAvl7.png
提供 Android 掃描用 QR Code

首先掃描伺服器端產生的 QR Code 二維條碼,即可進入下載 Agent 代理程式的畫面。

https://ithelp.ithome.com.tw/upload/images/20190920/20118848HbmCx7tRe7.jpg
Android 掃描 QR Code 後安裝代理程式

經過一步一步的點選安裝完成後,啟動此 App 並輸入帳號密碼,我手上這支 ASUS Zenfone 3 就可以被管理中心所控管。

https://ithelp.ithome.com.tw/upload/images/20190920/20118848lMfRONRyue.jpg
Android 安裝時啟用裝置管理員權限

在這個畫面上,我們可以很容易的掌握這部裝置的所有資訊,從最基本的電池容量、CPU 使用率、記憶體使用率、儲存使用率等,以及裝置目前的狀態是否符合政策規範。

https://ithelp.ithome.com.tw/upload/images/20190920/20118848JKm5Bcuboc.png
受管理的 Android 行動裝置

在畫面上也提供許多功能操作項目,可以從管理中心遠端對該裝置進行響鈴、裝置鎖定、取得位置、清除密碼、傳送訊息、升級韌體、靜音、重新啟動、資料抹除、程式移除或派送等等。

https://ithelp.ithome.com.tw/upload/images/20190920/201188489tNjWluHP5.png
受管理的 iOS 行動裝置 (圖片取自官方教學文件)

同樣的,iOS 也可以被 WSO2 IoT 所集中管理,不過依據作業系統所開放的程度不同,iOS 可以遠端操作的管理功能也少了一些,不過在資料安全上所需要的抹除等機制仍然俱備。

提醒,要啟用 iOS 支援之前,需要先寄信至官方窗口取得 ios-feature-deployer 包,接著還要搞定 CSR 憑證、Apple Developer ID、MDM APNS 等複雜的東西,詳情可看文末參考資料的「Enrolling With the iOS Agent」連結。

軟體中心

軟體中心的功能相當實用,企業可以建立屬於自己的 App 軟體中心,將自行開發的 App 上架讓使用者自行選擇安裝,可以減輕 IT 人員部署的工作負擔與難度。

以 Android 要建立 App 上架為例,連接到伺服器的發佈頁面 https://<fqdn>:9443/publisher 並登入帳號密碼,點選 [Add New Mobile Application] -> [Mobile Application],[Platform] 選擇 Android,[Store Type] 選擇 Enterprise,最後再上傳一支 APK 應用程式檔案再填入相關資訊即可完成。

https://ithelp.ithome.com.tw/upload/images/20190920/20118848Q23wI4kFzc.png
建立 Android APK 軟體 (圖片取自官方教學文件)


結論

在員工自行攜入行動裝置的風潮無法改變下,企業必需因應 BYOD (Bring Your Own Device) 所帶來的新挑戰,以及企業內部因為使用需求而產生的各種行動裝置。

WSO2 IoT 是一款值得企業嘗試的開源套件,更有趣的是,它除了可以控管 Android、iOS 等大家熟知的行動裝置以外,更開始支援 IoT 相關裝置,例如 Raspberry Pi、Arduino 等等,協助企業 IT 提升管理能力,降低工作負擔。

https://ithelp.ithome.com.tw/upload/images/20190920/201188483bE31LdTg1.png
管理 Raspberry Pi 裝置 (圖片取自官方教學文件)

https://ithelp.ithome.com.tw/upload/images/20190920/20118848fI6oMe9Ygj.png
管理 Arduino 裝置 (圖片取自官方教學文件)

後記:照著官方文件安裝,絕對執行不起來的 (暈)


參考資料


上一篇
開源網路存取控制系統:PacketFence
下一篇
開源郵件閘道伺服器:Proxmox MG
系列文
突破困境:資安開源工具應用33
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言