如果我們必須記住 IP 地址來查找內(nèi)容,互聯(lián)網(wǎng)就不會那么有趣了。這就是域名系統(tǒng)的用武之地,它將域名與托管內(nèi)容的 IP 連接起來。但是 DNS 有一個大問題:安全性。
最近引入的 DNSSEC 有助于防止通過您的 IP 進(jìn)行的攻擊。DNSSEC 代表域名系統(tǒng)安全擴展。它是一組安全規(guī)范,通過使用公鑰和私鑰對區(qū)域文件和注冊表級別之間的名稱服務(wù)器進(jìn)行身份驗證,幫助防止客戶端級別的 DNS 欺騙。
DNS 欺騙或 DNS 緩存中毒是最常見的攻擊,它基本上迫使傳入流量盲目地轉(zhuǎn)到另一個 IP,在該 IP 通常將惡意內(nèi)容下載到訪問者的計算機上。
如果您與域名注冊商*合作,如果他們支持,他們可以在內(nèi)部實施 DNSSEC。如果您擁有單獨的 DNS專用服務(wù)器(或名稱服務(wù)器),您可以自己做。
- 了解使用名稱服務(wù)器如何減少高流量站點使用的資源
DNSSEC 如何保護我的網(wǎng)站?
DNSSEC 通過使用公鑰加密對記錄進(jìn)行數(shù)字簽名來保護 DNS 數(shù)據(jù)。域所有者可以與他們的域注冊商合作,在域注冊的根區(qū)域設(shè)置 DNSSEC 公鑰。查找過程如下:
- 首先,解析器(配置為遵循 DNSSEC)注意到 DNS 查詢中的“DO”標(biāo)志位
- 然后解析器在根區(qū)域驗證 DS 和 DNSKEY 記錄
- 使用在根區(qū)域找到的頂級域的 DS 記錄,它驗證該區(qū)域中的 DNSKEY 記錄
- 然后檢查 TLD 區(qū)域中域的 DS 記錄
- 如果存在,解析器使用 DS 記錄來驗證在域的區(qū)域文件中找到的 DNSKEY 記錄
- 最后,它將驗證在 DNS 區(qū)域文件的 A 記錄中找到的 RRSIG 記錄
如何安裝 DNSSEC?
您可以按照以下步驟在 CentOS 上安裝 DNSSEC。說明因您的 Linux 發(fā)行版而異。
步驟 1:修改命名的配置選項。
vi /etc/bind/named.conf.options
在選項中設(shè)置以下內(nèi)容:
dnssec-啟用是;
dnssec 驗證是的;
dnssec-后備自動;
第 2 步:導(dǎo)航到您的區(qū)域文件。
cd /var/cache/bind
第 3 步:創(chuàng)建區(qū)域簽名密鑰。
dnssec-keygen -a NSEC3RSASHA1 -b 2048 -n ZONE?example.com
第 4 步:創(chuàng)建密鑰簽名密鑰
dnssec-keygen -f KSK -a NSEC3RSASHA1 -b 4096 -n ZONE example.com
該目錄現(xiàn)在將有 4 個密鑰 - ZSK 和 KSK 的私有/公共對。
第 5 步:使用以下 for 循環(huán)將公鑰添加到區(qū)域文件:
用于 `ls Kexample.com*.key` 中的鍵
做
echo “\$INCLUDE $key”>> example.com.zone
完畢
第6步:簽署區(qū)域,用隨機的東西代替鹽。
dnssec-signzone -3 <salt> -A -N INCREMENT -o <zonename> -t <zonefilename>
這將創(chuàng)建一個名為 example.com.zone.signed 的新文件,其中包含每個 DNS 記錄的 RRSIG 記錄。
第 7 步:加載簽名區(qū)域。
納米 /etc/bind/named.conf.local
更改 zone { } 部分內(nèi)的文件選項。
區(qū)域“example.com” IN {
類型大師;
文件“example.com.zone.signed”;
允許轉(zhuǎn)移 { 2.2.2.2;?};
允許更新{無;};
};
第 8 步:保存文件并重新加載綁定
服務(wù)綁定9重新加載
第 9 步:在您的域名注冊商處添加 DS 記錄。
在此過程的早期創(chuàng)建了一個名為 dsset-example.com 的文件。此文件包含您可以帶到您的域注冊商的 DS 記錄。
測試您的 DNS 安全工作
您可以使用此處的工具來測試您的 DNSSEC 是否在您的域上正確配置。DNSSEC 是一個相當(dāng)新的工具,但實施它可以對您的專用服務(wù)器安全性產(chǎn)生巨大影響。
*根據(jù)ICANN的規(guī)定,只有部分域名注冊商支持“最終用戶 DNSSEC 管理,包括輸入 DS 記錄” 。