[HTTP] API Timeout 指南 (connect / read timeout)

Intro 關於 API Timeout 的網路資料略顯不足,Wikipedia 目前也只有廣義 Timeout (computing) 資訊。 本篇將分享個人對 Timeout 的所知,如有錯誤歡迎告知修正 Timeout 定義 Client Connect Timeout Read Timeout TCP Client TCP handshake 中從發出 SYN 後,至等待收到 SYN-ACK 的時間 送出 PSH-ACK packet,至等待收到對應 PSH-ACK packet 的時間 HTTP Client TCP handshake 中從發出 SYN […]

[Web] Browser Developer Tools 技巧

Intro Web development tools / devtools – Wikipedia 本篇將以 Chrome 瀏覽器為主,介紹 Developer Tools 的實作技巧 Window.open() 新視窗監測 現行要監測某個 button click 會開啟轉導去哪,在前端框架下從 JS code 很難找出目的,若又是 window.open 效果則無法持續透過 developer tool 監測 Network 歷程 比較簡單暴力的做法是在該 web page 的 console 覆寫 window.open() 看要 console.log() 出來還是改成 […]

[SMTP] 簡易郵件傳輸通訊協定 SMTP (Simple Mail Transfer Protocol) 指南

Intro 簡易郵件傳輸通訊協定 SMTP 是什麼? | Cloudflare 簡單郵件傳送協定(Simple Mail Transfer Protocol / SMTP)可用在傳送和接收電子郵件的資訊,但 SMTP 通常用作傳送電子郵件而不是接收。 SMTP 是一個相對簡單的基於文字的協定,可以透過協定指定將訊息傳送至一或多個接收者,通過 telnet 程式可以簡單的測試一個 SMTP伺服器。SMTP 主要 TCP port 以前為 25 現今為 587 (TLS) 。DNS 的 MX record 決定 SMTP 伺服器。 角色 Agent Software for example MUA […]

[SMTP] DMARC 基於網域的消息認證,報告和一致性 (Domain-based Message Authentication, Reporting and Conformance)

Intro 基於域的消息認證,報告和一致性 – Wikipedia 基於域的消息認證,報告和一致性(DMARC,Domain-based Message Authentication, Reporting and Conformance)是一套以SPF及DKIM為基礎的電子郵件認證機制,可以檢測及防止偽冒身份、對付網路釣魚或垃圾電郵。 網域管理員可以在域名系統公佈相關政策,讓外界得知旗下域名的電子郵件提供何種方式(SPF及/或DKIM)認證身份,以及如果寄件者身份未能百分之百確認時,收件者可以如何處理郵件(放進垃圾信箱或直接回絕)及回報。回報機制可以讓網域管理員了解是否有第三者正在偽冒其網域身份寄出電郵。 [SMTP] DNS 設定 SPF 記錄(TXT) 設定範例指南 [SMTP] DKIM 域名金鑰辨識郵件 (DomainKeys Identified Mail) DNS Record DMARC DNS Record – Wikipedia 範例 處理方式 TXT 記錄內容 對於未通過 DMARC 檢查的郵件,不採取任何處置。僅透過電子郵件將每日報告傳送至 dmarc@domain.com。 v=DMARC1; p=none; […]

[SMTP] DKIM 域名金鑰辨識郵件 (DomainKeys Identified Mail)

Intro DomainKeys Identified Mail – Wikipedia DKIM 搭配寄件者原則架構 (SPF) 和基於網域的郵件驗證、報告和一致性 (DMARC),讓攻擊者更難以透過這種方式冒充網域。未通過 DKIM 和 SPF 的電子郵件被標記為「垃圾郵件」或不會被電子郵件伺服器傳送。 原理 DKIM 主要有兩個層面: DKIM 記錄(儲存在網域的 Domain Name System (DNS) 記錄中) DKIM 標頭(附加至來自網域的所有電子郵件)。 DKIM 使用以公用金鑰加密法為基礎的數位簽章配置來驗證電子郵件的來源。寄件者簽署訊息使用私密金鑰,收件者用公用金鑰驗證簽章。 電子郵件提供者產生公用金鑰和私密金鑰。將公用金鑰提供給網域擁有者以儲存在 DNS 記錄(DKIM 記錄)中。寄件時使用私密金鑰簽署數位簽章於標頭。收件的電子郵件伺服器可以檢查 DKIM DNS 記錄、取得公用金鑰,以及使用公用金鑰驗證數位簽章。 DKIM 標頭範例 # Sender's […]

[VPN] OpenVPN Server 架設指南– on Ubuntu

Intro OpenVPN – Wikipedia 目前 Client 支援各大裝置平台的 VPN 軟體套件,簡單架設的話可以使用有網頁管理介面的商業版本OpenVPN Access Server,目前提供無限期2個VPN連線授權可免費試用。 安裝 Launch OpenVPN Access Server On Ubuntu – OpenVPN Port原理 設定完成的 Access Server,會依照設定的 TCP 和 UDP port 提供服務 (另外也有 Web server port) Client 可利用 URL 方式設定 config file,依照 Host […]

[Network] Linux Telnet & Netcat (nc) – 測試TCP/UDP工具

Intro Netcat (nc) Telnet Telnet 簡單用於測試TCP連線 $ telnet www.example.com 80 GET /path/to/file.html HTTP/1.1 Host: www.example.com Connection: close Netcat (nc) TCP/UDP讀寫工具,測試UDP利器 在埠25建立內容未加工過的連接(類似telnet): $ nc mail.server.net 25 利用零模式I/O(參數 -z)檢查192.168.0.1的UDP埠(參數 -u)80-90是否開啟: $ nc -vzu 192.168.0.1 80-81 測試UDP,透過發送訊息 $ nc -vu example.com 443 Connection […]

[DNS] CAA – Certification Authority Authorization 指南

Intro DNS CAA (DNS憑證頒發機構授權) – Wikipedia RFC 6844 通過域名持有人指定其域名的白名單憑證頒發機構來實現的安全機制。 該政策透過一個新的域名系統資源記錄(Record)「CAA」來實現,Record範例如下: example.com. CAA 0 issue “ca.example.net” 設定 首先 DNS records 要能夠支援 CAA record 再來針對憑證機構產生及設定 CAA record 即可,以下範例以 Letss Encrypt 機構為例: example.com. CAA 0 issue “letsencrypt.org” CAA Record Helper – CAA資源記錄產生器 References […]