發表文章

iPAS資安證照準備: 資安新知與術語整理

WAN Wide Area Network 廣域網路 LAN( 區域網路) 和 WAN 都是由節點和連結組成的電腦網路 LAN接電腦或可上網的設備 WAN 外界網絡 可由多個互連的 LAN 組成 透過公有網際網路(ISP、VPN)進行虛擬連線,單位機構的外部連結與交換 https://ithelp.ithome.com.tw/m/articles/10320320 Router 實際網路連線的那個唯一的洞洞,就是 WAN 孔,而分配網路給其他設備的就是 LAN 孔 ISO/IEC 27001:2022 轉版 管理系統與 ISO 結構的一致性 簡化標題 新增控制項目 ISO 27014 資訊安全治理 建立全組織資訊安全:確保資訊安全涵蓋整個組織,而非僅限於 IT 部門。 採用風險導向方法:根據風險評估來制定資訊安全決策。 設定投資決策方向:確保資訊安全投資符合組織的長期目標。 確保內外部要求一致性:遵循法規與組織內部政策。 培養安全良好的環境:促進員工對資訊安全的認知與參與。 審查營運成果績效:確保資訊安全措施能有效支持業務目標。 此外,ISO/IEC 27014 提出 五大治理流程,包括評估、指導、監視、溝通與保證,以確保資訊安全治理的有效性。這項標準對於高科技、金融、醫療等高風險產業尤為重要,幫助組織提升資安成熟度並降低風險。 ISO 27017 雲端服務之資安控制措施 延伸自 ISO/IEC 27002 標準中 37 個控制措施,還增加 7 個新的雲端控制措施,以下問題: • 負責雲端服務提供者和雲端服務客戶之間關係的人是誰• 當合同終止時,資產的移除/歸還• 客戶虛擬環境的保護和分離• 虛擬機器 (Virtual Machines) 配置• 與雲端環境相關的管理操作和程序• 雲端服務客戶監控雲端活動• 虛擬和雲端網路環境的對接 ISO/IEC 27018 雲端服務個人隱私資料 ISO/IEC 27035 資安事件管理 ISO 29100:2024 隱私框架 隱私框架:提供一個標準化的隱私管理架構,幫助組織在處理 PII 時遵循適當的隱私保護措施。 角色與責任:定義 PII 處理過程中的參與者及其職責,以確保隱私保護的有效性。 隱私保護原則:包括透明度、目的限制、數據最小化、保留限制、完整性與機密性等原則,以確保 PII 的安全性。 技術與管理控制:提供隱私保...

Redis 在 C#的應用

Redis適用的場合   1.代替主機的Session機制,利於擴展多部主機  2.簡單、不講求精準的計數,如人氣排行榜等;可以容忍部分lost  3.極端要求前端回應速度、使用者體驗好的場合 (轉址查詢) 4.有許多人查詢"共同"、高度相似的資料集,讀多於寫 (查選課...火車班表...公車路線) 5.有某些資料是會定期失效清除的(Token) ,例如實作登入失敗進行鎖定的機制 6.競爭性資源的鎖定機制,例如 搶票系統的交易鎖( SETNX )   Redis不適用的場合   1.只有後端管理者在使用的場合,沒有多人競爭、搶快的必要 2.全都講求即時計算,不能接受時間差  3.因為精準數問題,避免儲存金額或是貨幣數字 4.沒有足夠資源建置cluster機制,單點失效或快取miss造成的損失與遲滯問題反而更嚴重   Redis Key的設計與使用 1.利用namespace的方式來標示有意義的內容,如 usr:vip:faculty:sigfried  2.key 跟 value不要過長(key 小於1K)  3.思考每筆key的生命週期該存活多久,設定有效期限  4.針對人、事、物資料可以把資料抽象到一個雜湊表裡;不要把JSON 的key-value 組合拆開、一個個當字串值塞進redis 的value  5. keys 指令 會把效能拖垮, 用 keys xxxxx* 無法預估筆數;應該 用scan 取代,可以限制回傳筆數、分批執行,例如 redis-cli scan 0 match key99* count 1000  6.設計key 時避免使用特殊字元     Redis Key的設定與組態 1.記得設定密碼認證,並限定存取來源 2.將敏感、耗時語法rename,避免在production遭到誤用,例如:  rename-command keys mykeysys 3.C#應用不使用using資源語法,因為是單執行緒 4.利用docker環境安裝 5.擷取 redis 最大占用記憶體      config get maxmemory  6...

Could not load file or assembly 'System.Buffers' 無法載入檔案或組件....

最近遇到C# windows form 的老專案必須使用 smtpclient寄信,但因為MailServer限制使用starttls與587port寄信,使用原來net 的 smtpclient 不能支援此方法,所以必須改用Mailkit組件。 由於原來專案使用.net  Framework 4.5.x版本過舊,咬牙升級為 .net Framework 4.7.1。 Mailkit看似搞定,但在建置過程中卻會看到警訊,   Could not load file or assembly 'System.Buffers, Version=4.0.2.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51' or one of its dependencies. The located assembly 's manifest definition does not match the assembly reference. (Exception from HRESULT: 0x80131040) 此問題的發生原因是Mailkit需要較新版本的System.Buffers等組件dll,透過nuget更新版本後,專案仍然記載要去拿原來的dll。 解決方法如下 <1>重新註冊元件 透過系統VisualStudio選單底下的開發人員終端機介面(要使用系統管理員權限執行),進到專案packages目錄之下擺放特定組件的位置,重新註冊元件。 教學文內的目錄是 netstandard2.0,傳統.net framework要選.net framework的版本 cd d:/project_folder/packages/System.Buffers.4.5.1/lib/ netstandard2.0 / 然後執行 gacutil /i System.Buffers.dll 接著回到Visual Studio內的Nuget 套件管理員( package manager console),透過powershell重新安裝套件。 update-package -reinstall 用文字模式打開   csproj 檔案,確認引用組件的版本改為4.0.3.0 (Version=4....