如何使用更可信賴的 DNS 服務來保障自己

大眾每日接觸互聯網上數以億計的網站和服務,DNS 服務就如一本電話簿,讓電腦查閱網址的 網絡號碼。如果這本電話簿上的號碼被篡改,可想以知會發生不同罪行,例如各種網絡詐騙。所以大眾需留意並使用一些更可信賴的 DNS 服務來保障自己,本文會提供一些方法給你參考。

在互聯網上,你和各系統都獲派一個網絡號碼,就是 IP 地址(Internet Protocol Address),同時亦獲得 DNS(Domain Name System)系統號碼。當你要求連接去一個網站時,電腦先查過 DNS,然後經過一眾 routers 派到目的地的網站系統去處理和回應。

假如不法分子、黑客、政權篡改 DNS 系統上的資料(即 DNS tampering),侵害國際間大眾使用互聯網的自由權利,同時你的重要個人資料有機會被盜竊。

我建議大家可考慮兩個方法:

  1. 改用國際科技大公司提供的公眾 DNS 系統。
  2. 使用自己建立的 DNS 系統。

方法一:使用國際科技大公司提供的公眾 DNS 系統

現在大多數住它和公司用家上網都是一插即用,當用家電腦或Router插線連接互聯網供應商的網絡(即是WAN)時,預設自動以 DHCP 方式自動取得由互聯網供應商系統分派的網絡資料,包括用家的 IP 地址、DNS 系統的 IP 地址等,大多數情況下,互聯網供應商負管理這些地址和系統。

有些技術用家會修改自家 router 的 WAN 網絡設定,例如改用 Google 或 Cloudflare 提供的公眾 DNS 系統。

Google: 8.8.8.8 和 8.8.4.4 

CloudFlare: 1.1.1.1

如果你擔心互聯網供應商的 DNS 系統不夠安全、或被篡改,你有自由去自行動手改動自己的router和電腦的DNS 設定,改用上述 Google 或 CloudFlare 的 DNS 系統,這是最簡單而免費的方法。

方法二:使用自己建立的 DNS 系統。

如果你不滿足於使用互聯網供應商(ISP)和國際科技大公司提供的 DNS 系統,你可以自家建立一台的 DNS 系統。大多數互聯網上的系統包括 DNS 系統都採用 Linux 操作系統(OS),也即是 Android 手機和網絡儲存裝置(NAS)的 OS。我建議用家亦可考慮使用 Linux 來建立自己的 DNS 系統。

為何自建 DNS 系統可以減低 DNS 被篡改的機會?我先深入一些介紹 DNS 的構造。

DNS 負責處理關於域名(Domain Name)的服務,你所使用的 DNS 系統稱為 DNS 快取系統(caching system),DNS 快取系統會透過 ICANN 機構的 DNS 根系統(root system)取得各頂級域名(Top-Level Domain 簡稱 TLD)的 DNS 系統號碼。例如查詢 .com 便會傳回 Verisign 的相關 DNS 系統號碼、.org 就傳回 PIR (由互聯網協會創立)的相關 DNS 系統號碼、 .hk 就傳回 HKDNR (HKIRC擁有)的相關 DNS 系統號碼等等。

DNS 快取系統再向各 TLD 的 DNS 系統查詢該域名,便得到查詢域名的 DNS 系統號碼。再由存放該域名的 DNS 系統傳回查詢的網址的 IP 地址。例如 www.linuxharbour.com,你使用的 DNS 快取系統先向 DNS 根系統(root system)取得 .com 的 TLD DNS 系統號碼,然後向 .com 的 DNS 系統取得 linuxharbour.com 的 DNS 系統號碼,最後 DNS 快取系統向 Linux Harbour 的 DNS 系統查詢 www.linuxharbour.com 的 IP 地址。

上述就是互聯網供應商和國際科技大公司的公眾 DNS 系統應該做的事。如果用家自建 DNS 系統取代互聯網供應商提供的 DNS 系統,就由自家系統跟據 DNS 根系統,直接向 TLD 和存放該域名的 DNS 系統取得用家電腦、手機、平板自動查詢域名的網絡地址。

了解自建 DNS 系統的好處後,如果決定自己安裝 DNS 系統,可以安裝在那呢?

  1. 雲端:在 AWSDigital OceanLinode 等雲端服務商建立虛擬 Linux 系統,多數每月 5 美金就夠用。
  2. 實體機器:可以購買網絡儲存裝置、電腦、伺服器或 Raspberry Pi 單機板電腦(35美金起)

如果決定裝在網絡儲存裝置,大多數都採用建基於 Linux 的操作系統,例如 Synology 有 DNS Server Package

如果決定在雲端或實體電腦/伺服器,可以安裝其中一套 Linux 軟件系統 – Ubuntu,Ubuntu 和其它 Linux 都有一套名為 bind9 的軟件可作你的簡單 DNS 快取系統。 而 Raspberry Pi 也有 Raspberry Pi OS (前身名為 Raspbian) 都是一套 Linux 系統。

用家可以選擇 Ubuntu 20.04 LTS 版本,它是一個長支援版本到 2030 年。 

$ apt update; apt upgrade -y
$ apt install bind9 -y
$ systemctl disable systemd-resolved
$ systemctl stop systemd-resolved
$ rm /etc/resolv.conf
$ echo nameserver 127.0.0.1 | tee /etc/resolv.conf

使用 nano 編輯器修改 BIND9 設定檔 /etc/bind/named.conf.options

$ nano /etc/bind/named.conf.options

在 options: { … } 內﹐加入一行 allow-query 容許任何主機查詢域名:

 allow-query { any; };

Ctrl-X 儲存和離開 nano 編輯器。

然後重新執行 BIND9 就完成。

$ /etc/init.d/named restart

這讓你就可以修改你的電腦和 router 的 DNS,輸入你自家建立的 DNS 系統 IP 地址就可以了。

如果喜歡本文章,可以付費訂閱我的 Patreon。

Patreon: https://www.patreon.com/sammyfung

Photo Credit: Б.Өлзий licensed in CC BY-SA

輸血要急救都未能獲得疫苗豁免證明書

香港將於2月24號全面實施「疫苗通行證」,大眾需要使用安心出行手機種式,並加入接種疫苗(針紙)或疫苗豁免證明書資料,才能堂食、出入所有政府大樓、商場、街市、髮型屋等。

如何獲得疫苗豁免證明書呢?近數月醫院醫生都不會直接發出疫苗豁免證明書,最多只會出信轉介到專責處理的瑪麗內科團隊。

拒絕見病人的信件

但就算曾經試過在留院期間輸血輸到要即時急救(輸血都會敏感),對本身有很多種藥物敏感的多種長期病患者(心臟、中風),病人取得醫院醫生轉介信去瑪麗醫院內科嘗試排期,希望尋找專門處理疫苗過敏門診醫生見面。經過3星期後,就收到一封「拒絕信」,見都沒得見。而且拒絕信並沒有病人名稱、身份證號碼、發出拒絕通知的醫生名字、以及信件參考編號,即是說這是一份傳單 (flyer)。至於沒病人名稱怎寄到病人住址,就是簡單分開印在另一紙張上。還有誰能協助病人呢?

或許這病人只能二選一:不出街生活,或是「博舖大」去打針呢?

其他資料: