网络安全工程与实践 实验2 配置 DNS 权威服务器、HTTP 与 HTTPS 服务
🔓

网络安全工程与实践 实验2 配置 DNS 权威服务器、HTTP 与 HTTPS 服务

时间
Nov 18, 2022 04:36 PM
Tags
notes
Brief Info
何哲 2019011313 计95

1 申请域名

notion image
通过在user主机访问地址192.168.1.4:8000 进行域名注册。
注册域名为 hez19.imool.com
 

2 配置DSN权威

首先安装 bind9 sudo apt install bind9 bind9utils bind9-doc
之后配置 bind9 为 IPv4 模式 (在其中 ExecStart 一行加上 -4
sudo vim /etc/systemd/system/multi-user.target.wants/bind9.service

...
[Service]
...
ExecStart=/usr/sbin/named -f $OPTIONS -4
...

sudo systemctl daemon-reload
sudo systemctl restart bind9
之后修改配置文件 /etc/bind/named.conf.local
zone "imool.com" {
        type master;
        file "/etc/bind/zones/db.imool.com";
};
之后修改文件 /etc/bind/zones/db.imool.com
$TTL    604800
@   IN  SOA ns1.imool.com. admin.imool.com. (
                  2     ; Serial
             604800     ; Refresh
              86400     ; Retry
            2419200     ; Expire
             604800 )   ; Negative Cache TTL
;

; records
@       IN      NS      ns1.imool.com.
imool.com.    IN      NS      ns1.imool.com.
hez19.imool.com.        IN    A    192.168.1.5
ns1.imool.com.        IN    A    192.168.1.3
最后在 user 主机上尝试 ping hez19.imool.com ,效果如下:
notion image
完成该实验。
参考博客:
 

3 HTTP 服务

使用 nginx 搭建 HTTP 服务
nginx 配置如下:
...
http {
	...
	server {
		listen 80;
		server_name hez19.imool.com
		location / {
			root /home/test;
			index 2019011313.html 2019011313.htm;
		}
	}
	...
}
...
之后在目录 /homt/test 下创建文件 2019011313.html 并在文件里输入 2019011313 ,之后从 user 主机可以访问到:
notion image
说明服务配置成功。
 

4 PKI/HTTPS 服务

首先运行 certbot
sudo certbot certonly --no-verify-ssl --server https://192.168.1.2:443/acme/acme/directory
notion image
之后重新配置 nginx
...
http {
	...
	server {
		listen 80;
    listen 443 ssl;
    server_name hez19.imool.com;
    ssl_certificate /etc/letsencrypt/live/hez19.imool.com/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/hez19.imool.com/privkey.pem;
		location / {
			root /home/test;
			index 2019011313.html 2019011313.htm;
		}
	}
	...
}
...
再次访问,由于certificate self-signed 出现警告,无视警告直接访问可以访问到文件。
notion image
notion image
 

5 思考题

问:我们的CA是如何验证申请者具有对应服务器以及域名的控制权限的?
由于CA服务器没有连接互联网无法安装 wireshark ,故在 WEB 服务器和 DNS 服务器分别抓包。
notion image
notion image
notion image
notion image
在 WEB 服务器抓包如上。发现 CA 服务器首先与 WEB 服务器进行了 TCP 连接,传输内容未知(估计是 WEB 服务器向 CA 服务器发出的申请),中间进行了 HTTP 访问。最后 TCP 结束连接。
notion image
notion image
notion image
在 DNS 服务器上抓包能够发现许多 user 主机到 DNS 的包,中间有一个比较奇怪的 CA 到 WEB 服务器的 TCP 包。
根据以上抓包内容推测,CA 服务器收到来自 WEB 服务器的证书申请之后,通过 HTTP 访问所申请的域名,将得到的返回包中的 IP 和发出申请的 IP 进行比较,如果一致则认为该申请的服务器具有该域名的控制权限。
可能存在风险的地方:DNS 记录被伪造。

Loading Comments...