2014Q1 工作心得 (2)

我們主要是透過 REST API 的方式,因此在上線之後可能會面臨資訊安全的問題,根據 REST Security Cheat Sheet 的分類主要可以分成五大類分別為驗證身份、授權使用、輸入驗證、輸出編碼和加密處理,因為我們主要是內容為主的 App,因此當我們會請編輯花費許多的時間確保內容品質,提供最高品質的資訊給使用者。

當編輯整理之後的資料非常有價值時,就會發生獨立開發者直接使用我們 API 進行同類型影音 App 的開發成為競爭者,直接對於我們造成直接的影響,我們為了解決此問題主要透過 nginx 的存取記錄,透過指令 cat [nginx log file] | cut -d’ ‘ -f1 | sort | uniq -c | sort -n 追蹤異常大量存取 API 的 IP 位址,嘗試透過 IP 和 User-agent 進行阻擋。

但是發現問題一樣存在,因此我們最後只好在犧牲不打算更新版本的 App 者進行 AES 256 bits 的加密處理,主要是將 Node.js 產生有價值的資訊透過 AES 256 bits 的加密之後再以 API 的方式回傳給 iOS 和 Android 的 App 進行有價值的資訊解密,呈現最完整的內容給使用者。

2014Q1 工作心得 (1)

2014 年 Mary Meeker 的網際網路趨勢報告中說明了巨量資料趨勢,其中針對 Data-Generating Consumers 會需要提供最好的使用者界面幫助他們更容易的使用資料,在面對非結構化的資料,我們會透過寫程式的方式將其轉換成結構化的資料,這樣的過程也就是「爬蟲」,不論是影片和音樂的資料,皆有一個共通性那就是原始影音檔的連結網址散佈在網際網路各大影音網站平台之中,例如 Youtube 和 Dailymotion ,此時我們會需要透過程式將網站平台中的相關資料擷取至資料庫之中,技術方面主要是透過 Node.js 搭配 cheerio 套件解釋 HTML 網頁內容中的資料轉換成實用的資訊,接著儲存至 Amazon 架設的後台資料庫之中,最後再以 Node.js 搭配 expressjs 套件透過 API 提供結構化的 JSON 資料給 iPhone 或 Android 等行動裝置直接應用,呈現最好的使用者界面給 Data-Generating Consumers。

可是在此過程中並非想像中的簡單,一開始進行爬蟲時會遭遇編碼的問題,基本上若是英文資料,此時只要需要透過 ASCII 編碼就能夠進行解析,可是若是中文資料,此時就會需要透過 UNICODE 編碼方式進行解析,除此之外還是存在許多編碼的方式需要進行解決,像是簡體中文的網站可能就會需要 GB2312 或 GBK 編碼進行解析。等待編碼問題處理完成,接著需要花些時間觀察所需的資料要如何從網頁結構中取出,此時若發現所需的資料無法按照網頁結構取出,就必需以常用的正規表示式 (Regular Expression) 的方式解析最原始的網頁資料。

當上述問題解決之後接著就需要找出清單列表,根據清單列表中的資訊撰寫排程程式進行資料的擷取,此時若請求網頁內容的次數太頻繁,某些網站就會開始進行阻擋,以致於無法很順利的按照排程時間的規劃進行,就必需針對不同網站進行客製化的調整。當我們將大量資料擷取下來之後,常常會發現部份擷取下來的資料還是需要透過人工編輯的方式進行資料校正,此時就必提供管理平台讓編輯者能更方便的進行資料校正與確保品質。

最後還需要考慮自動更新的問題,就必需針對爬蟲程式進行排程時間的規劃,看似已經能上線正常運作之後,此時會發現某些網頁內容改變真頻繁,以致於剛剛完成的爬蟲程式立即又要根據網頁內容進行改版,總而言之,爬蟲看似簡單的工作,卻是巨量資料分析重要的第一步,且往往會有許多細節要注意。

2013Q1 工作心得 (2)

AD RMS 基本介紹

要如何防止資料外洩呢? 解決方案皆是資料如何能不外洩,那若不小心外洩呢? 難道就無法保護了嗎? 微軟提出 Active Directory Rights Management Services (AD RMS) 的服務來確保機敏文件持續保護。

AD RMS 是提供使用業界安全性技術 (包含加密、憑證及驗證) 之管理與開發工具的伺服器角色,可以協助組織建立可靠的資訊保護解決方案。主要可以讓使用者與系統管理員透過資訊版權管理 (IRM) 原則指定文件、活頁簿及簡報的存取權限。這有助於防止未經授權的使用者列印、轉寄或複製機密資訊。使用 IRM 限制檔案的使用權限後,無論資訊位於何處,都會強制執行存取權與使用限制,因為檔案的使用權限是儲存在文件檔案本身。

且在實際應用時 AD RMS 支援的 IRM 解決方案有下列好處:

  1. 持續的使用原則,無論資訊移動、傳送或轉寄到何處,都會隨資訊存在。
  2. 保護機密資訊 (例如,財務報表、產品規格、客戶資料及機密電子郵件) 的額外隱私防護層,防止機密資訊經人為故意或意外地落入未授權者手中。
  3. 防止受限內容的獲授權收件者轉寄、複製、修改、列印、傳真或張貼內容以用於未授權之用途
  4. 防止利用 Microsoft Windows 中的 Print Screen 功能複製受限制的內容
  5. 支援檔案到期原則,在指定的一段時間過後就無法再檢視文件中的內容
  6. 在公司內強制執行控管內容之使用和散佈的公司原則

AD RMS 伺服器設定

參考資源

測試實驗室指南:部署 AD RMS 叢集

  • Windows Server Active Directory Rights Management Services 逐步指南

AD RMS 客戶端設定

Windows 8 + Office 2013

  1. 登入網域使用者 (請先確認該使用者在 Active Directory 伺服器的使用者與群組管理中有正確設定 Email ,不然 IRM 將無法正常使用)。
  2. 接著必須先透過網際網路選項設定,將從 AD RMS 伺服器取得憑證的 URL 設置在近端內部網路安全性區域。
  3. 開啟 Office 2013 的文書軟體 (Word) ,接著選擇「檔案」→「資訊」→「保護文件」→「限制存取」中選擇「連線至版權管理伺服器」。
  4. 為了要取得憑證,所以需要再次進行網域使用者,登入進行確認。
  5. 最後就能正常使用資訊版權管理 (IRM) 的功能。
  6. 但若不能正常執行,請檢查工作排程中「Microsft」→「Windows」→「Active Directory Rights Management Services Client」是否能正常執行,再根據工作排程項目之上次執行的結果進行故障排除囉!

Windows 7 + Office 2010

  1. Windows 7 預設不支援 ADRMS 使用2048 bits長度加密,所以必須先安裝 hotfix 。
  2. 登入網域使用者 (請先確認該使用者在 Active Directory 伺服器的使用者與群組管理中有正確設定 Email ,不然 IRM 將無法正常使用)。
  3. 接著必須先透過網際網路選項設定,將從 AD RMS 伺服器取得憑證的 URL 設置在近端內部網路安全性區域。
  4. 開啟 Office 2010 的文書軟體 (Word) ,接著選擇「檔案」→「資訊」→「保護文件」→「限制存取」中選擇「連線至版權管理伺服器」。
  5. 為了要取得憑證,所以需要再次進行網域使用者,登入進行確認。
  6. 最後就能正常使用資訊版權管理 (IRM) 的功能。
  7. 但若不能正常執行,請檢查工作排程中「Microsft」→「Windows」→「Active Directory Rights Management Services Client」是否能正常執行,再根據工作排程項目之上次執行的結果進行故障排除囉!

2013Q1 工作心得 (1)

DirectAccess 基本介紹

遠端存取企業內部資源,首先想到的技術就是虛擬私有網路 ( Virtual Private Network,VPN ) ,而微軟提出的 VPN 解決方案就是 DirectAccess。

DirectAccess 能滿足由任何地方無縫且安全的存取企業內部資源,適合不斷變化的網路環境,使用者不需要執行任何動作,就能自動永久啟動連結,一般的 VPN 連線皆需要透過 MIS 進行相關工具的安裝和設定,而 DirectAccess 是提供更方便使用管理,且更具安全性的的解決方案。

可是要滿足由任何地方無縫且安全的存取企業內部資源,必須要符合技術上的需求,以客戶端為例必須要原生支援 IPv6 的技術,此時會搭配 Teredo 、 6to4、IP-HTTPS 等網路協定的介面來進行連線,且在連線傳輸時會透過 Tunnel 的技術將 IPv4 的封包傳遞給 DirectAccess 伺服器,並且透過 IPSec 和 ESP 進行加密的需求,接著會電腦憑證和使用者憑證建立安全通道以及驗證,最後 DirectAccess 更提供流量分割的功能,降低網路頻寬的消耗,也就是針對 Internet 和 Intranet 的存取,能達到自動分流機制,至於硬體需求相關的測試報告,可參考「DirectAccess Capacity Planning」 (英文)。

DirectAccess 伺服器設定

參考資源

  • Consumerization of IT Test Lab Guide: Windows To Go with DirectAccess (英文)
  • ‘Real World’ Direct Access installation using Windows Server 2012 (英文)

DirectAccess 客戶端設定

Windows 8

  1. 筆電網路設定必須在企業內部,先確認 IPv6 功能和系統內建防火牆已經正常啟動,再確認電腦名稱,接著加入公司網域後,重新開機以網域使用者登入。
  2. 在 Active Directory 伺服器的 DirectAccess 群組加入該筆電之電腦名稱。
  3. 在命令提示字元中執行 gpupdate /force ,部署 DirectAccess 相關的群組原則後重新開機,以網域使用者登入。
  4. 檢視畫面右下方的網路連線表的內容是否有出現新的項目,顯示已連線,按兩下開啟後得知 Direct Access 連線狀態,以及是否已連線,或者透過 Powershell 執行 Get-DAConnectionStatus 指令也可以檢視相關狀態 。
  5. 測試透過網域的電腦名稱,存取企業內部資料夾和進行遠端桌面存取是否正常。
  6. 切換至網際網路連線,可透過手機進行 3G 網路進行無線上線,此時透過 Powershell 執行 Get-DAConnectionStatus 指令也可以檢視相關狀態 。
  7. 最後測試透過網域的電腦名稱,存取企業內部資料夾和進行遠端桌面存取是否正常,若不正常請重新開機以網域使用者登入。

Windows 7

  1. 筆電網路設定必須在企業內部,先確認 IPv6 功能和系統內建防火牆已經正常啟動,再確認電腦名稱,接著加入公司網域後,重新開機以網域使用者登入。
  2. 在 Active Directory 伺服器的 DirectAccess 群組加入該筆電之電腦名稱 (電腦類型)。
  3. 在命令提示字元中執行 certutil /pulse ,接著執行新增憑證嵌入式管理單元到 MMC ,在個人憑證中查看是否有正常取得憑證,若沒請向 Active Directory 伺服器要求憑證,因為 Direct Access 會以 IPSec 的方式進行安全連線,所以需要進行認證。
  4. 在命令提示字元中執行 gpupdate /force,部署 DirectAccess 相關的群組原則後重新開機,此時檢視防火牆進階選項中的連線安全性規則,是否有 DirectAccess 相關的規則,接著再以網域使用者登入。
  5. 在命令提示字元中執行 netsh dns show state ,檢視 DirectAccess 已設定。
  6. 測試透過網域的電腦名稱,存取企業內部資料夾和進行遠端桌面存取是否正常。
  7. 切換至網際網路連線,可透過手機進行 3G 網路進行無線上線,此時在命令提示字元中執行 netsh interface httpstunnel show state ,檢視連線是否正常。
  8. 最後測試透過網域的電腦名稱,存取企業內部資料夾和進行遠端桌面存取是否正常,若不正常請重新開機以網域使用者登入。

2012Q4 工作心得 (2)

System Center 2012 系統管理

SCCM 2012

首先一定要了解的產品是 Configuration Manager ,簡單來說其主要功能就是進行組態管理,最基本的應用就是軟體的管理,是以角色為基礎,進行軟體的更新和派送,除此之外,更整合資訊安全的管理。

SCVMM 2012

接下來要了解的產品是 Virtual Machine Manager ,簡單來說其主要功能就是建立雲端的基礎架構,也就是 IaaS (Infrastructure as a Service) ,在此基礎架構上您可能很方便建立各種不同類型的虛擬機器,包括 VMware 、 Hyper-V 、 Citrix 等,並且針對所有的虛擬機器進行統一的狀態管理。

SCOM 2012

最後要了解的產品是 Operation Manager,簡單來說其主要功能就是針對系統進行監控和管理,最主要的特色是除了最基本能針對網路之外,更能針對應用程式進行監控和管理,包括 Java 和 .NET 等程式碼的分析,能更有效的解決網路管理者和程式開發者之間的衝突。

SCO 2012

若談到自動化工作流程的安排,首先要了解的就是 System Center Orchestrator ,簡單來說其主要功能就是設定系統層級的工作流程,也就是所謂的 Runbooks ,這部份有點類似 Visio 畫流程圖的操作,此外更會針對資料流進行相關的設定,以及可以針對不同的活動目標,很彈性的安裝不同類型的系統套件。

SCSM 2012

接下來要談的是如何讓使用者能以自助服務 (Self-Service) 的方式更簡易的完成目的,此時就非 System Center Service Manager 莫屬,簡單來說其主要功能就是要能整合達到 IT as a Service 的目標,例如目前使用者需要多台伺服器,此時透過 Service Manager 提供自助服務的 Portal 網站進行申請,當申請成功後,它就會整合 Orchestrator 執行相關的系統工作流程之活動 (Runbooks) ,而在這活動進行中,就會再整合 Virtual Machine Manager 建立多台虛擬機器之後,並提供相關的資訊給使用者應用。

App Controller

最後不僅能能針對私用雲進行管理,更能透過 App Controller 在私有和公用雲端間提供共通的自助經驗,能夠幫助您讓應用程式擁有者具備輕鬆建置、設定、部署和管理新服務的能力。

Endpoint Protection 2012

在私有雲的應用中,資訊安全的相關的議題非常重要,首先談到的就是 Endpoint Protection ,簡單來說其主要功能就是是將微軟所推出的防毒軟體 Forefront 整合至 System Center 中,提供了更統一且即時的管理介面,讓管理者能在第一時間了解私有雲中所有跨平台系統,或者裝置的狀態是否安全。

DPM 2012

在確保裝置的資訊安全後,接著更讓人關注的議題,就是個人資料保護法,此時談到的就是 Data Protection Manager 簡單來說其主要功能就是進行資料的備份和復原,可是它卻很難獨立運作,原來在於資料的保護不僅於儲存裝置中,更重要的是在流程中,所以雖然有提供 Centralized Monitoring and Troubleshooting 的機制,但卻沒有 Centralized Change and Backup Policy Management 的機制,簡單來說,就是災害復原計劃 (Disaster Recovery Plan) 要如何自動化的進行,此時就能使用 Data Protection Manager 搭配 Operation Manager 、 Orchestrator 、 Virtual Machine Manager 和 Service Manager 的整合應用,透過 IT 自動化的方式解決此問題。

總結 System Center 2012 主要有八大項產品,分別是 Configuration Manager、Virtual Machine Manager、Operation Manager、Orchestrator、Service Manager、App Controller、Endpoint Protection 和 Data Protection Manager,此外,還有一項與 System Center 相關的產品未介紹,那就是 System Center Advisor ,簡單來說其主要功能就是收集並分析私有雲,識別潛在的警告問題和建議最佳的實務應用。