Pages

Subscribe:

Ads 468x60px

Labels

顯示具有 DNS 標籤的文章。 顯示所有文章
顯示具有 DNS 標籤的文章。 顯示所有文章

2015年9月14日 星期一

SOA(Start Of Authority)-入門

資料來源

每個特定的網域名稱責任區域 (domain zone) 都必須定義一個 SOA (Start Of Authority,網域權限區的起始宣告),在 SOA 記錄裏,記載著關於該 域名權責區域的一些主要網域名稱伺服器 ( primary DNS server) 和其它相關的次要名稱伺服器( secondary DNS server) 之運作資訊。
而所謂的 SOA ,主要標示一個網域權限區的起點,但是,除了標記起點外, SOA 記錄也內含該權限區裡,與時效有關的參數及管理資訊,任何一個權限區內的資料並不一定限制在描述單一個網域或次網域,也可以包含其它網域,不過一般較常見的是只有包含一個網域或次網域的名稱資料。
一般說來,我們可以透過一些簡單的查詢軟體或網路指令,來取得相關資訊,例如,我們可以使用nslookup 來查閱某一個 domain zone 的 DNS server 資料, 舉例如下:
> fourleave.com.tw
Server: ns3.green.net
Address: 202.182.203.253
fourleave.com.tw
primary name server = nsc.green.net
responsible mail addr = info.green.net
serial = 2001082912
refresh = 10800 (3 hours)
retry = 3600 (1 hour)
expire = 604800 (7 days)
default TTL = 86400 (1 day)
fourleave.com.tw nameserver = nsc.wyith.net
fourleave.com.tw nameserver = ns4.wyith.net
fourleave.com.tw nameserver = ns3.wyith.net
fourleave.com.tw MX preference = 10, mail exchanger = mxc.green.net
fourleave.com.tw nameserver = nsc.green.net
fourleave.com.tw nameserver = ns4.green.net
fourleave.com.tw nameserver = ns3.green.net
nsc.green.net internet address = 202.182.203.249
ns4.green.net internet address = 202.182.203.253
ns3.green.net internet address = 202.182.203.252
mxc.green.net internet address = 202.182.170.39

fourleave.com.tw 網域名稱
primary name server 主網域名稱伺服器
responsible mail addr info.green.net
指定DNS管理員的E_mail位址,這裡要以 . 取代 @ ,例如:管理員位址是 info@green.net 則填成 info.green.net。
serial 設定序號,當修改一次此檔案內容,序號就一定要更改得比原先值大一些,一般是以西元日期與設定次數來作為序號值,如2001.8.29作了當日的第十二次修改則序號就改為2001082912。
refresh 每多少秒更新一次所保存之Secondary Server 的資料庫資料,也就是說告知每幾秒複製一次Secondary Server 上的資料,Secondary Server 設定在named.con中。更新時間,secondary DNS servers 和 primary DNS server 約定的時間,每經過這樣一段時間,secondary server 便會主動和 primary 連繫,check 兩者之間的序號,如果發現 primary 有更動( S/N 變大), 就接著將相關的 domain zone 資料, 傳回去 update.

retry 重試時間,代表當Secondary Server 進新連線更新動作時發生斷線,則多少秒後會再行連線一次。上述的 refresh 動作, 有時後會碰上網路斷線,或 primary named crash 等原因, 以致無法完成, 這時候 secondary會等這裏 retry time 所設定的時間, 再去確認.

expire 終止的時間,代表檔Secondary Server 進行連線更新動作時間超過多少秒不管是否完成都強制斷線。如果, secondary 一直無法連上 primary,那麼該 secondary server 對這一個 domain zone 的資料,最長的有效時間,就是由 expire time 這一欄定義,超過這一時間,secondary 仍然連不上 primary,接下來,連此 secondary 也會宣告放棄,不再聲稱擁有該 domain zone 的正式 data。
default TTL 這一欄,針對 DNS caching 而設計,是定出來給其它 domain zone 的 DNS server 用(不是自己用),每一個 DNS entry 都可以單獨定義一個 TTL 值,不過通常管理者,都沒有做如此繁鎖的設定,通常就是透過 SOA 上的 TTL 這一欄,設定一個 default 的 minimun TTL 值,給大家一起適用。
所有 Unix 的 DNS server, 本身幾乎都也兼具 caching server 的功能,但是, 對於從其它 domain zone 所得來的 entry, 其 caching 時間多長,有兩個原則:
1. 根據 remote domain zone 的 minimun TTL 這一欄而定;
2. 最長不超過 7 天。
這一方面,DNS caching 與其它 server 的 caching 方式不同,對某特定 entry 所做 caching 時間的長度,原則上由 remote domain zone 決定,而不是 local server。
舉例而言,假設有某個使用者, 透過 dns.seed.net.tw 查詢 mail.fourleave.com.tw ,如果一開始 dns.seed.net.tw 這個 DNS server 都沒有 mail.fourleave.com.tw的 IP 資料,那麼經由 DNS 查詢的正常管道,mail.fourleave.com.tw 會找到共有四個 DNS servers,可能查到 mail.fourleave.com.tw
-- nsc.green.net、ns4.green.net、ns3.green.net、mxc.green.net

至於 dns.seed.net.tw 會問哪一個,就不一定,(BIND/named 有一套 algorithm,視網路狀態,以及 dns.seed.net.tw 對某些 DNS server 過往的連線記錄而定)

2014年4月21日 星期一

防止我公司的 MAIL 不會被設定為 垃圾郵件(SPAM)


公司的業務和主管向你抱怨,
Mail 寄出給國外客戶和廠商都收不到(跑倒垃圾信件匣)
甚至被當成垃圾郵件退回來?!

這一篇是寫給公司 IT/MIS 人員參考

1. 維護好公司的 smtp relay 安全



1.1 假設貴公司開放 SMTP ports 讓外部可以透過 smtp 發信
則要做好權限控管,沒有透過認證者 or IP 不再安全清單一律不許使用 SMTP 發信。
(也可考慮 VPN)

1.2 定期檢查使用者是否濫用 SMTP 寄送非公司相關信件

1.3 定期檢查使用者電腦是否中毒、中木馬成為發送廣告信的跳板

1.4 教育使用者足夠的資訊安全概念

1.5 請主要客戶、廠商幫忙,設定從公司來的郵件為「非垃圾郵件」
e.g.
Google Gmail 篩選器 (Filter) -> 不要將它傳送到垃圾郵件
http://mail.google.com/support/bin/answer.py?hl=b5&answer=6579

Yahoo奇摩 信箱的 「自動分類」
http://tw.promo.yahoo.com/tutorial/mail20/cg_filter1.html

Microsoft Outlook 的 「安全的收件者」
http://office.microsoft.com/zh-tw/outlook/HP052433571028.aspx



1.6 安裝相關的 Antivirus Mail Gateway or Mail-Server AntiVirus

1.7 定期檢查 Delivery Failures 的信件,
看看是否有定期寄給客戶、廠商的 mail address 已經失效,sent failed
請聯絡他們更換 address,減少 send/deliver failures。


2. 設定 DNS SPF TXT (Sender Policy Framework)記錄



詳細請看官網 http://www.openspf.org/

2.1 如何檢查 SPF TXT 記錄?
=> 使用 SPF 官網提供的 Tools
http://www.openspf.org/Why
http://www.kitterman.com/spf/validate.html

=> 或者用 dig 來查詢 Google & Hinet's public DNS 
代碼:

dig @8.8.8.8 -t TXT your-company-org-school.com
dig @168.95.1.1 -t TXT your-company-org-school.com 



2.2 或者寄送一封信到 spf-test@openspf.org
然後一分鐘內,你就會收到一個退信,
裡面有 Result="pass" 表示通過 SPF 測試驗證

如果是 Result="none" 那就表示 SPF 還沒有設定完成

2.3 如果你是使用 Google Apps 應用服務 (Google 代管郵件)

你的 SPF 應該長得是這樣子,都在同一行! 有 "double quote"
然後 all 前面是 ~ 波浪符號 
代碼:

"v=spf1 include:aspmx.googlemail.com ~all" 



2.4 另外記住 TXT 也是 DNS entries 的一部分,DNS 生效需要 24~48 小時。

2.5 舉例,成功的設定 SPF 會讓 Google Mail Gmail 更不會誤判垃圾信件

Example BEFORE-SET-SPF-TXT "NEUTRAL"
未設定之前,判定為「中立」 
代碼:

Received-SPF: neutral (google.com: 74.125.82.52 is neither permitted nor denied by domain of XXXXXXXX) client-ip=74.125.82.52;
Authentication-Results: mx.google.com; spf=neutral (google.com: 74.125.82.52 is neither permitted nor denied by domain of XXXXXXXXX) smtp.mail=XXXXXXXXX 


Example AFTER-SET-SPF-TXT "PASS"
設定之後,判定為「認證通過」 
代碼:

Received-SPF: pass (google.com: domain of XXXXXXXXX designates 74.125.82.52 as permitted sender) client-ip=74.125.82.52;
Authentication-Results: mx.google.com; spf=pass (google.com: domain of XXXXXXXXX designates 74.125.82.52 as permitted sender) smtp.mail=XXXXXXXXXXX 



3. 設定反查



相較於正查: Host Name / Domanin --> IP Address
所謂的反查就是 IP Address --> Host Name / Domain Name

有一些 Mail server 會透過檢查反查來判定 SPAM 的分數。
設定反查在某些狀況可以降低被誤判的機率。

如果公司自己有自己的 DNS server,就自己改
(記得 ns1, ns2, ns3 ... 所有 ns 都要改)

如果是請 IDC/ISP 代管,
大部分的 IDC/ISP (Hinet/Seednet) 都可以請工程師幫忙設定反查,應該也免費;
有 IDC/ISP 的和上述 TXT 一樣,提供 DNS manager 介面提供可設定。

4. 減少強制附加「智財權聲明」簽名檔



有一些公司,在 outbound 的 mail 會強制附上
類似下面這種「智財、版權」聲明稿。

英文叫做
legal statement signature
legal declaration signature
copyright statement signature ...

而這個動作,
導致「郵件本文」有時候比「聲明簽名檔」還要小...
如果某一些舊機器判定的公式有這一條,
可能會增加被誤判的機率。

建議:
換成適當大小的圖片、減少字數、或者選擇適當的顏色、適當的字體(例如避免,白底白字)。


引言回覆:

本郵件之資訊可能含有受機密或特殊管制之資訊,僅供指定之收件人使用。若您並非指定之收件人,切勿轉寄、散佈、複製或公開本通訊內容之任何部份,並請即通知寄件人並完全刪除本郵件。
The information transmitted is intended only for the person or entity to which it is addressed and may contain confidential and/or privileged material. If you are not the intended recipient, please contact the sender immediately and destroy the material in its entirety, whether electronic or hard copy. You are notified that any review, retransmission, dissemination or other use of, or taking of any action in reliance upon, this information by persons or entities other than the intended recipient is prohibited. Please consider the environment before printing this email. 


5. 時常查詢是否貴公司已經在黑名單



SPAM Black List or Block List Query

http://www.spamhaus.org/
http://www.spamhaus.org/lookup.lasso (SBL, XBL PBL)
http://www.dnsstuff.com/tools
http://www.openrbl.org/

時常檢查,或者寫一個簡單的 script 照三餐檢查。


6. 避免公布貴公司的 Mail,防止 SPOOF



避免 SPAM/Spoof Address Spider

6.1 有 Contact 需求請盡量用 Contact Web-Form or Skype or 電話號碼

6.2 如果真要公布請用 E-Mail 圖片 (e-mail address 用圖片展示)

6.3 盡量減少公布可以 group mail 的 address



7. 考慮使用 DKIM or Domainkey 金鑰簽署郵件



e.g.
使用 Google Apps 提供的 DKIM 功能,
一樣是 DNS TXT FIELD
代碼:

google._domainkey    v=DKIM1; k=rsa; p=ABCDEFG.....



DKIM/DomainKeys 參考網址
http://www.dkim.org/
http://support.google.com/a/bin/answer.py?hl=zh-Hant&answer=174124
http://support.google.com/a/bin/answer.py?hl=zh-Hant&answer=180504&topic=2752442&ctx=topic


實作如下圖,多了一個「金鑰簽署者欄位」


DKIM-Signature.jpg 
DKIM-Signature.jpg 資料來源