發表文章

目前顯示的是有「軟體操作」標籤的文章

使用 NET Core 建置 SAML2 SSO 站台 - Okta 身分驗證服務商(IdP)設定

圖片
在 上一篇 文章中,你應該已經了解了 SAML 是什麼以及其運作原理,在這篇文章中,我將記錄如何申請並設定身分驗證提供商 Okta,但請記得先準備好你的應用程式憑證檔案,通常為 .crt 附檔名結尾,若還不知道那是什麼,請先回到上一篇文章複習一下,如果已經準備好了,就讓我們直接開始吧。 註冊 Okta 開發者帳號 若您還沒有開發者帳號,請先到 Okta 註冊一個開發者帳號。 請注意 Okta 有區分成 Workforce Identity Cloud(公司員工用)和 Customer Identity Cloud(外部客戶)兩個不同的平台,我們這次的範例是要模擬整合內部系統用,因此請選擇註冊 Workforce Identity Cloud。

幫自己的 NET.Core 站台加上 TOTP 雙因子驗證吧

圖片
前言 最近公司正在規劃明年要幫資訊系統全面導入 MFA,為此 Infra 部門如火如荼的進行了一連串的可行性評估,並找了一些在做身分認證系統服務的 SaaS 服務廠商來展示系統功能,這才讓我想起之前一直想要幫自己的後台加上手機 OTP 驗證的功能,這篇文章我要記錄一下實作過程的筆記,但在開始之前得先大概了解一下何謂 2FA、MFA、OTP,以及它們之間的關係。

使用 NET.Core 進行 LDAP 物件屬性驗證

圖片
情境說明 從我開始寫程式以來,LDAP 這項技術就一直存在,但對於缺乏 Infrastructure 背景的我來說,過往的知識都僅侷限在使用程式進行 Active Directory(AD)驗證,如 DN、CN、OU、DC 等相關術語,老實說我從未真正深入了解過(有點心虛)。 最近開發一個小需求,需要驗證使用者輸入的郵件是否存在的功能,在開發過程中出現了一個奇怪的現象:只要透過程式登入,外部網路就會斷線。經過 Infra 部門的查詢,他們發現防火牆(PA)的設定導致了這個問題。公司的政策限制了部分帳號的對外網路存取權限,但這次的問題是,程式綁定了一組可以查詢 AD 資料的帳號後,防火牆政策誤判我的開發機使用的是那一組沒有對外網路存取權限的帳號,因而封鎖了對外網路的存取權限。 這對開發人員來說,造成了一些困擾,因為每次都需要關閉所有開發工具,並登出重新登入,因此也趁此次機會,我決定在虛擬機(VM)上認真地建立一個AD,以滿足我的開發需求,同時也趁這個機會深入了解 LDAP 的運作原理。

解決在 MacOS 的環境下無法將程式碼 push 到 Azure DevOps Git 的問題

圖片
因為工作的關係,需要在不同作業系統下進行開發,為了統一管理程式碼,我採用了 Azure DevOps Git 私有庫作為版控工具。在 Windows 環境下,推送程式碼只需輸入帳號密碼即可成功進行,但在 MacOS 環境下,推送程式碼至存儲庫時卻會遇到 "fatal: Authentication failed" 的錯誤訊息。 lawrence@iMac TestRepo % git push origin master Username for 'https://mydevgit.visualstudio.com': <我的登入帳號> Password for 'https://<我的登入帳號>@mydevgit.visualstudio.com': <我的登入密碼> fatal: Authentication failed for 'https://mydevgit.visualstudio.com/Default/PE/_git/TestRepo/' 這個問題已經發生了多次,每次發生時都需要重新上網查找解決方案,為了方便日後查閱,我將解決方法做了筆記,方便後續自己查看。

Grafana 發送異常通知(監控 WAF 異常流量)

圖片
前言 在前幾篇文章中,我記錄了 如何安裝 Grafana 以及 將事件器的 Log 整合至 Grafana 進行集中管理,當然除了日誌,如果希望監控其它指標,比如伺服器效能,也都可以統一傳送至 Grafana 方便進行管理,但這些我就不再一一介紹了。 另外當系統出現異常時,提供即時通知是非常重要的功能,本文將分享如何在 Grafana 中設定異常通知功能,Grafana 支援多種異常通知方式,包括 LINE、郵件、API、Teams 等,這裡會分享我自己使用的兩種方式:【LINE 通知】和【呼叫外部 API】。 接下來,我將詳細說明這兩種通知方式的設定步驟。

Grafana 事件檢視器監控面板(搭配 WAF ModSecurity 異常監控事件進行設定)

圖片
這篇文章我要記錄一下自己再用的幾個監控面板,但在開始前必須要先完成【 Windows ModSecurity WAF 】、【 Grafana + Loki + Promtail 安裝紀錄 】這兩篇的設定才可以繼續進行後續的面板設定。 事件明細(1) 新增 Visualizations 類型選擇 Logs,並選取底下的查詢條件,目的僅顯示異常的紀錄。 logsource = WindowsEventlog Source = ModSecurity Level = 2,僅顯示嚴重的項目,若要全部出現也可不設定此項目。 資料維度轉換,目的是要排除不想看到的資料內容,僅留下想看到的資訊。 Extract fields,將欄位 Line 的 Log 明細使用 key+values 欄位攤開。 Organize fields,根據需求顯示需要的欄位,我的範例是僅保留 level、eventRecordID、Time、event_data 。 設定面板設定,根據自己的需求調整即可。 Title : 事件明細。 完成設定如下圖所示。

Grafana + Loki + Promtail 安裝紀錄( Windows Event Log 為範例)

圖片
安裝 Grafana Grafana 是一個跨平台、開源的資料視覺化網路應用程式平台,使用者可透過組態設定來連接多個資料來源,並且在此平台內顯示資料圖表或警告等等,例如,將各伺服器的事件檢視器的 Log 統一發送到 Grafana 監控,底下為安裝步驟的紀錄。 下載 grafana-10.2.2.windows-amd64.msi OSS 版本 並安裝 。 因預設使用 3000 Port 會與我另外一個服務 Rendertron 衝突,故需要調整一下 Port,這邊用 3333,若沒有這個問題,可略過此步驟。 調整設定檔 C:\Program Files\GrafanaLabs\grafana\conf\defaults.ini 內,找到 http_port 並調整為 3333。 # The http port to use # http_port = 3000 http_port = 3333 若有需要 開啟外部連線 ,也記得要調整 defaults.ini 的設定,若只有不提供外部使用可忽略此步驟。 # The public facing domain name used to access grafana from a browser domain = localhost # 若直接對外開放需要改成你的 Domain # Redirect to correct domain if host header does not match domain # Prevents DNS rebinding attacks enforce_domain = true # The full public facing url # 若有使用 reverse proxy server 進行轉址 # 也請改成你的對外網址,顯示的 http 協定或 port 可能不正確 root_url = https://你的Domain # root_url = %(protocol)s://%(domain)s:%(http_port)s/

[開發環境] MSSQL 資料庫備份

圖片
本文要記錄如何使用維護計畫精靈來設定備份策略,涵蓋了資料庫備份、Log 備份以及 Log 清除三個重要部分,並以 MSSQL 2019 為例,但請注意,SQL Server Express 版本並不支援此功能,若你使用的是 Express 版本,本篇內容並不適用。 新增維護計畫 首先新增維護計畫(如下圖),並輸入維護計畫名稱。 設定執行時間 若需要定期執行排程,可點選下圖行事曆的 icon 來設定執行時間。

[開發環境] MSSQL 全文檢索

圖片
MSSQL 全文檢索是 SQL Server 的一個功能,相較於傳統的 SQL 查詢,全文檢索更適用於對文本內容進行 關鍵字搜索 和相關性匹配,這邊文章是我要紀錄如何安裝及使用,本文介紹以 MSSQL 2019 為例,在開始前,請先完成 資料庫引擎服務 和 搜尋的全文檢索和語意擷取 的功能。 建立全文檢索目錄 全文檢索目錄是個虛擬物件,它是用來當做全文檢索索引的容器,同時不屬於任何檔案群組,可使用介面或者語法來進行新增。 -- 新增全文檢索共用目錄 CREATE FULLTEXT CATALOG DefaultFullTextDoc WITH ACCENT_SENSITIVITY = ON GO

VS2005 連接 TFS2010 無法正常連線解決辦法

圖片
這幾天因為環境的關係,不得已必須使用Visual Studio2005透過Internet來連線Team Foundation Server 2010,但是VS2005預設是沒有安裝Team Explorer,所以沒有辦法連線,網路上找了一下資訊,發現 程湘之間 有教人家如何安裝,我就大概說明要安裝哪些東西

CuteFtp 備份

1.找到sm.dat檔 位置:Documents and Settings\ username \Application Data\GlobalSCAPE\CuteFTP\x.x\sm.dat username:系統使用者名稱 x.x:CuteFtp版本 2.copy起來就是囉… 3.如果要還原,就用內建的匯入,或者,把sm.dat檔放到step 1的目錄即可。

SQL Server Express 資料庫遠端連線設定

圖片
SQL Server 2005 Enterprise 在遠端連線通常不會有問題,但SQL Server Express版本卻常出現不能連線,一直出現連線被拒(遠端連線失敗 TCP/IP 連線有問題)。 其實 SQL Server Express 資料庫是可以遠端連線(TCP/IP 連線),但是預設是沒打開的,以下步驟就來告訴各位如何正確的開啟。 (1) 開啟 Management Studio Express:在「物件總管」視窗的「伺服器」按右鍵選「屬性」,如圖(一)所示;選取「安全性」頁籤並在 "伺服器驗證" 的地方選取「SQL Server 及 Windows 驗證模式」,如圖(二)所示。

Excel 內部超連結

圖片
(1) 首先建立 需要的資料表 以及 首頁資料表(資料庫內容),如下圖所示。