iT邦幫忙

2024 iThome 鐵人賽

DAY 13
1
Security

資安與開源:面對威脅探索系列 第 13

Day 13 - 什麼是DNS?它對我們的影響是什麼?

  • 分享至 

  • xImage
  •  

前言

今天要來跟大家介紹 DNS(Domain Name System)
在使用 AdGuard Home DNS 之前,我們需要先了解 DNS 的基本功能和原理

什麼是DNS(Domain Name System)?

https://ithelp.ithome.com.tw/upload/images/20240921/20135755Q87HsTN6wJ.png

各位可以把 DNS 想成是聯絡人
假如我們在手機聯絡人中新增了一名叫 Linda 的聯絡人,並記錄了她的姓名和電話
下次當我們需要聯絡 Linda 時,只需記住她的姓名,就可以找到她的電話,而不必記住她的實際電話號碼

同樣,當我們在瀏覽器中輸入 www.google.com 時,這是一個容易記住的網域名稱
實際上這個名稱會透過 DNS 解析為對應的 IP 位置 ,這樣才會找到正確的網站

https://ithelp.ithome.com.tw/upload/images/20240922/20135755VQ94Pe9R7C.png

DNS紀錄類型

  • A、AAAA :
    1. A: IPv4 位置,傳回 32 位元 IPv4
    2. AAAA:IPv6 位置,傳回 128 位元 IPv4
  • CNAME:網域或者子網域另外一個名稱
  • MX :處理電子郵件的伺服器
  • NS :DNS 伺服器主機名稱
  • PTR : IP 反解網域名稱
  • TXT:用於驗證網域的擁有者

DNS 網域解析流程

當你在瀏覽器中輸入一個網址(例如:www.google.com) 時,瀏覽器會向 DNS 伺服器發出查詢請求
DNS 伺服器會將這個網址轉換為對應的 IP 位置,然後將結果返回給瀏覽器,這樣瀏覽器就能夠連接到正確的伺服器

https://ithelp.ithome.com.tw/upload/images/20240922/20135755XYgXYbCaBP.png

DNS 安全性

使用 DNS 也有一些安全風險,為了提高安全性可以使用 DNS over HTTPS 或 DNS over TLS 來加密

  • DNS over TLS (DoT):
    * DOT 使用 853port,不是53 Port
    * 使用 TLS 協議 DNS 查詢進行加密,DoT 將 DNS 加密的 TLS 通道中,保護查詢內容避免篡改

  • DNS over HTTPS (DoH):
    * DoH 使用 HTTPS 443 Port
    * 在 HTTPS 請求中加密 DNS 查詢內容

  • DoT 與 DoH 的比較表:
    https://ithelp.ithome.com.tw/upload/images/20240922/20135755hPDr1VEE0s.png

保護 DNS

  1. TSIG (Transaction Signature):
    是一種可以保護兩台 DNS 伺服器之間資料傳輸的技術
  2. DNSSEC (Domain Name System Security Extensions)
    使用數位簽章來驗證 DNS 解析結果的真實性,確認 DNS 查詢結果未被篡改,從而避免各種 DNS 攻擊,例如:DNS Spoofing

DNS 攻擊與防護

DNS 欺騙(DNS Spoofing):

  • 攻擊方式:
    駭客向 DNS 伺服器發送偽造的 DNS,以將受害者引導到惡意網站
  • 保護方法:
    使用 DNSSEC 來驗證 DNS 真實性,DNSSEC 會對 DNS 進行數位簽章,並檢查數位簽章確保資料未被篡改

DDoS 攻擊:

  • 攻擊方式:
    駭客向 DNS 伺服器發送大量的請求,造成伺服器過載,從而導致服務中斷
  • 保護方法:
    使用負載平衡來分散攻擊流量,此外設定限制和防火牆規則也可以幫助緩解 DDoS 攻擊

防護措施

  • 防火牆:設定防火牆來監控和過濾,阻止可疑的請求
  • 入侵檢測系統(IDS):檢測 DNS 攻擊
  • 定期更新和維護:確認 DNS 伺服器和應用程式最新狀態,以防止已知的漏洞和攻擊

實際操作示例

  1. 使用 nslookup 進行 DNS 查詢
    正解:
    在 CMD 中輸入nslookup dns.google,你會看到 Address,這表示解析成功
    實際 IP為 8.8.8.8 和 8.8.8.4
    https://ithelp.ithome.com.tw/upload/images/20240921/20135755naScuaPuFB.png
    反解:
    同樣在 CMD 輸入nslookup 8.8.8.8,會顯示對應的網域名稱 www.google.com
    https://ithelp.ithome.com.tw/upload/images/20240921/20135755QryQdl0QER.png
    如果沒有 DNS 進行正向和反向解析,我們將不得不記住所有網站的 IP 才能訪問

  2. 使用 Dig 進行 DNS 查詢
    正向解析:
    dig @8.8.8.8 www.google.com
    https://ithelp.ithome.com.tw/upload/images/20240922/201357558Lo6B7ErSP.png
    反向解析:
    dig -x 8.8.8.8
    https://ithelp.ithome.com.tw/upload/images/20240922/20135755In65U0mAkX.png

結論

了解 DNS 的基本原理和安全措施對於網路安全非常重要,可以提升我們的網路安全性和隱私保護

參考資料


上一篇
Day-12 開源軟體 AdGuard Home 架設
下一篇
Day14 - 探索 AdGuard Home DNS 的實際應用
系列文
資安與開源:面對威脅探索30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言