[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 […]

[HTTP-Headers] Cookie – Secure flag 指南

Intro Wikipedia – HTTP cookie – Secure and HttpOnly Secure flag 旨在要求將cookie加密,使瀏覽器僅能通過安全/加密連接(HTTPS)使用cookie。 另外經常被一起討論的還有 HttpOnly Flag: [[HTTP-Headers] Cookie – HttpOnly flag 指南 實作於程式語言 PHP Option 1: 實作於 Application 層級 <?php ini_set(‘session.cookie_secure’, 1); session_start(); ?> 一般知名 PHP framework 會提供 Secure flag 的 […]

[HTTP-Headers] Cookie – HttpOnly flag 指南

Intro Wikipedia – HTTP cookie – Secure and HttpOnly DEVCORE – HttpOnly – HTTP Headers 的資安議題 (3) HttpOnly flag 要求瀏覽器不要通過 HTTP/HTTPS 以外的管道使用cookie。意即無法通過客戶端Script(尤其是JavaScript)存取cookie,因此無法通過跨站點指令碼攻擊輕易竊取。 另外經常被一起討論的還有 Secure Flag: [HTTP-Headers] Cookie – Secure flag 指南 實作於程式語言 PHP Option 1: 實作於 Application 層級 <?php ini_set(“session.cookie_httponly”, […]

[Network] Fail2ban 指南 – 搭配 SSH/Nginx (DDoS、Request Limit)

Outline SSH 設定方針 Nginx 防禦設定方針 Access log Error log by limit_req_zone 進階 Fail2ban log 設定 Email Notifications Intro Fail2ban – Manuals 架構 Fail2ban 是依照設定檔執行過濾,原始設定檔路徑: /etc/fail2ban/jail.conf 如要修改新增可以複製建立成local的設定檔名稱,如有此檔會以此檔優先: /etc/fail2ban/jail.local /etc/fail2ban/jail.d/* Ubuntu Fail2ban 0.9 版本中可以找到預設的/etc/fail2ban/jail.d/defaults-debian.conf,內容是對[sshd]做enabled = true。 所以安裝好後預設即會開啟SSH保護(預設port為22) [過濾器名稱]會對應到/etc/fail2ban/filter.d/過濾器名稱.conf。 參數解析 官方文件 – Options […]

[SMTP] DNS 設定 SPF 記錄(TXT) 設定範例指南

Intro DNS SPF紀錄用來反查認證寄送IP。 Sender Policy Framework – SPF Record Syntax 規則 使用DNS的TXT紀錄標記: “v=spf1 +a +mx +ip4:139.162.80.137 -all” 其中的 v=spf1 是表示 spf 所使用的版本 符號: +:Pass 代表允許,為預設的屬性 -:Fail 代表拒絕 include:表示授權給該郵件伺服器 a:表示比對 DNS 紀錄中的"A"紀錄,允許在"A"紀錄裡面的 IP 為發送郵件來源 IP mx:表示比對 DNS 紀錄中的"MX"紀錄,允許在"MX"紀錄裡面的網域為發送郵件來源網域 ptr:表示比對 DNS 紀錄中的"PTR",允許在"PTR"紀錄裡面的網域為發送郵件來源網域。 […]