安全

学习网络安全 — 7 项网络安全实践活动 — 第一部分

本工作坊提供 7 项网络安全实践练习:用 nslookup 做信息侦察、用 WHOIS 查询域名注册信息、用 netstat 监控连接、用 Wireshark 分析流量、配置防火墙规则、部署自签名 HTTPS 证书,以及用 Certbot 与 Let's Encrypt 获取可信证书。

· 4 分钟阅读 · 难度 中级

欢迎各位参加本次工作坊。本课程旨在通过一系列实践练习,带您进入引人入胜的网络安全领域,让您理解并掌握网络安全的关键概念。

您将学到什么在本次工作坊中,我们将通过实践练习探讨网络安全的若干方面。您将从简单的任务开始,熟悉基本的工具和概念,然后逐步进入更复杂的练习,这些练习会带来挑战并提升您的能力。为什么要学网络安全?在我们这个联系日益紧密的世界中,网络安全已成为一项必备能力。网络攻击不断增多,而且越来越复杂,影响着个人、企业乃至政府。对任何从事数字技术工作的人来说,理解如何保护网络和数据都至关重要。练习的组织方式循序渐进:每项练习都配有清晰详细的说明,便于您照着操作。逐步推进:先从基础练习开始熟悉工具,然后再进入更复杂的任务。参考答案与解析:每项练习的结尾都有一个「spoiler」部分,您可以在其中核对结果并理解解法。投入实践我们鼓励您保持好奇,探索每项练习的不同侧面,并非常鼓励在互联网上查阅资料。提出问题,在可能的情况下与身边的人讨论,最重要的是在学习中获得乐趣。网络安全是一个引人入胜且不断演进的领域,这些实践活动旨在让您预先了解职业世界中等待着您的东西。
那么,请准备好您的计算机,敞开思路,让我们一同进入网络安全的世界。祝学习顺利,祝您好运!

目录与快捷入口

1. 使用 nslookup 进行信息侦察

2. 使用 WHOIS 查询信息

3. 使用 netstat 监控连接

4. 使用 Wireshark 分析网络流量

5. 通过防火墙制定一套安全策略

6. 使用自签名 HTTPS 证书保护 Web 服务器

7. 使用 Certbot 和 Let's Encrypt 获取可信的 HTTPS 证书

Illustration 1 — Apprendre la cybersécurité - 7 Activités pratiques en sécurité réseau - Partie I

1. 使用 nslookup 进行信息侦察

目标 :学习使用 nslookup 工具获取 DNS 服务器的信息,以及与域名相关联的 IP 地址。

所需材料:

  • 一台可以上网的计算机

步骤:

1. 打开终端/命令提示符:

  • 在 Windows 上,打开命令提示符(CMD)。
  • 在 macOS 或 Linux 上,打开终端。

2. 使用 nslookup:

  • 输入 nslookup 加上一个域名,以获取 DNS 服务器的信息。

3. 分析结果:

  • 记下 nslookup 返回的 IP 地址。
  • 换几个域名试一试,看看不同的响应结果。

4. 查找邮件服务器(MX):

  • 使用 nslookup 查找某个域名的邮件服务器。
Illustration 2 — Apprendre la cybersécurité - 7 Activités pratiques en sécurité réseau - Partie I

命令示例:

  • nslookup cyber.gouv.fr 用于获取与该域名关联的 IP 地址。
  • nslookup -type=mx cyber.gouv.fr 用于获取该域名的 MX 记录。

2. 使用 WHOIS 查询信息

目标 :学习使用 WHOIS 工具获取域名或 IP 地址的注册信息。

所需材料:

  • 一台可以上网的计算机

步骤:

1. 访问一个 WHOIS 服务:

2. 查询信息:

  • 在该 WHOIS 服务的搜索框中输入域名。
  • 域名示例:cyber.gouv.fr

3. 分析结果:

  • 记下域名所有者的信息、注册与到期日期,以及域名服务器。

4. 查询多个域名:

  • 换用不同的域名试一试,比较 WHOIS 提供的信息。

3. 使用 netstat 监控连接

目标:学习使用 netstat 监控网络连接和开放端口。

所需材料:

  • 一台可以上网的计算机

步骤:

1. 打开终端/命令提示符:

  • 在 Windows 上,打开命令提示符(CMD)。
  • 在 macOS 或 Linux 上,打开终端。

2. 使用 netstat:

  • 输入 netstat 以显示所有活动的网络连接。

3. 使用附加选项获取详细信息:

  • netstat -a 用于显示所有连接和处于监听状态的端口。
  • netstat -n 用于以数字形式显示地址和端口号。
  • netstat -o(Windows)用于显示与每个连接关联的进程 ID。

4. 分析结果:

  • 记录活动连接、本地和远程地址,以及所使用的端口。
  • 判断是否存在可疑或未经授权的连接。

命令示例:

  • netstat -ano 用于以数字形式显示所有网络连接和端口,并附带关联的进程 ID。
  • netstat -anp tcp 用于筛选并仅显示 TCP 连接。

4. 使用 Wireshark 分析网络流量

目标 :学习捕获并分析网络流量,以发现异常或潜在的攻击。

所需材料:

  • 一台可以上网的计算机
  • Wireshark(免费且开源)

步骤:

1. 安装 Wireshark:从其官网下载并安装 Wireshark。

2. 捕获流量:

  • 打开 Wireshark,选择要监控的网络接口。
  • 点击「Start」开始捕获流量。

3. 产生流量:

  • 打开一个网页浏览器,访问几个网站以产生流量。

4. 分析流量:

  • 回到 Wireshark,停止捕获。
  • 使用过滤器查找特定的数据包,例如 http 或 dns。
  • 查看所捕获数据包的详细内容,以理解网络通信。
Illustration 3 — Apprendre la cybersécurité - 7 Activités pratiques en sécurité réseau - Partie I

分析示例:

  • 使用过滤器 http.request,只查看从您的机器发出的 HTTP 请求。
  • 找出一个 HTTP 数据包,查看其首部和内容。

5. 通过防火墙制定一套安全策略

目标:配置防火墙以阻止或放行特定连接,并理解防火墙在网络安全中的作用。

所需材料:

  • 一台可以上网的计算机
  • 一款软件防火墙(例如 Windows Firewall)

步骤:

1. 打开防火墙:在 Windows 上,依次进入「控制面板」>「系统和安全」>「Windows Defender 防火墙」。

2. 创建一条规则:

  • 点击「高级设置」,打开防火墙规则管理控制台。
  • 创建一条新的入站或出站规则。

3. 配置该规则:

  • 选择阻止某个特定应用程序或某个端口(例如用于 HTTP 的 80 端口)。
  • 为该规则命名并保存。

测试该规则:

  • 尝试通过浏览器访问一个网站,以验证该规则是否生效。
  • 调整规则,观察其对网络流量的影响。

规则示例:

阻止 80 端口,然后尝试访问一个 HTTP 网站。您应当会看到访问被拒绝,这说明您的防火墙规则是有效的。


6. 使用自签名 HTTPS 证书保护 Web

目标 :学习生成并安装自签名 HTTPS 证书,以保护局域网上的一个网站。

所需材料:

一台安装在本地计算机或测试服务器上的 Web 服务器(Apache/Nginx)

前提条件:

拥有该 Web 服务器的管理员权限

步骤:

1. 生成自签名证书:

  • 使用 OpenSSL 生成一个私钥和一份自签名证书。

命令:

openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/ssl/private/selfsigned.key -out /etc/ssl/certs/selfsigned.crt
  • 按照提示填写所要求的信息(域名等)。

2. 配置 Web 服务器(Apache):

  • 修改站点的配置文件,使用该自签名证书启用 HTTPS。

Apache 的配置示例(/etc/apache2/sites-available/default-ssl.conf):

<VirtualHost *:443>
    ServerAdmin webmaster@localhost
    DocumentRoot /var/www/html
    SSLEngine on
    SSLCertificateFile /etc/ssl/certs/selfsigned.crt
    SSLCertificateKeyFile /etc/ssl/private/selfsigned.key
    <FilesMatch "\.(cgi|shtml|phtml|php)$">
        SSLOptions +StdEnvVars
    </FilesMatch>
    <Directory /usr/lib/cgi-bin>
        SSLOptions +StdEnvVars
    </Directory>
    BrowserMatch "MSIE [2-6]" \
        nokeepalive ssl-unclean-shutdown \
        downgrade-1.0 force-response-1.0
    BrowserMatch "MSIE [17-9]" ssl-unclean-shutdown
</VirtualHost>

3. 启用站点和 SSL 模块(Apache):

启用 SSL 站点和 SSL 模块:

sudo a2enmod ssl
sudo a2ensite default-ssl
sudo systemctl restart apache2

4. 验证安装结果:

在浏览器中通过 https://<saisir_IP_de_votre_serveur_web> 访问该站点,出现安全警告时,选择继续以接受该自签名证书。


7. 使用 Certbot 和 Let's Encrypt 获取可信的 HTTPS 证书

目标:

  • 学习使用 HTTPS 配置一台安全的 Web 服务器,以保护传输中的数据。
  • 学习使用 Certbot 从 Let's Encrypt 获取并安装一份有效的 HTTPS 证书。

前提条件:

  • 一个指向该服务器的域名
  • 服务器上已开放 80(HTTP)和 443(HTTPS)端口

所需材料:

  • 一台拥有管理员权限的计算机
  • 一台本地 Web 服务器(例如 XAMPP、WAMP,或一台 Apache/Linux 服务器)
  • 用于从 Let's Encrypt 获取免费 SSL/TLS 证书的 Certbot

步骤:

1. 安装 Web 服务器:

  • 安装一台本地 Web 服务器,例如 LAMP、XAMPP 或 WAMP。
  • 在浏览器中访问 http://localhost,确认服务器正常运行。

2. 获取一份 SSL/TLS 证书:

  • 从 Certbot 官网下载并安装 Certbot。
  • 按照针对您所用 Web 服务器的具体说明操作,获取一份免费的 SSL/TLS 证书。

3. 为 HTTPS 配置 Web 服务器:

  • 修改您的 Web 服务器配置,使其使用所获取的 SSL/TLS 证书。
  • 重启 Web 服务器以使修改生效。

4. 测试配置:

  • 在浏览器中通过 https://<IP_de_votre_serveur_web> 访问该站点
  • 确认连接是安全的(浏览器地址栏中应当出现一把锁的图标)。

向您表示祝贺

祝贺您完成了这些 Web 安全加固和网络侦察练习!您现在已经掌握了保护网站和分析网络所必需的实践能力,这为在网络安全领域继续进步打下了坚实的基础。

已覆盖的要点

  • 使用简单工具进行网络侦察:您使用了 nslookup、whois、ping、tracert、ipconfig 和 netstat 等基础工具来获取网络和域名的信息。
  • 使用自签名证书进行加固:您学会了生成并安装自签名 HTTPS 证书,以保护本地服务器上的通信。
  • 使用 Let's Encrypt 和 Certbot:您部署了有效的 SSL/TLS 证书来保护一个可公开访问的网站,同时实现了证书续期的自动化。

后续步骤

这些安全与侦察方面的基础能力,只是您网络安全之旅的开端。接下来的活动将聚焦于更进阶的内容,例如:

  • 安全开发:学习把安全实践融入软件开发周期(DevSecOps)。
    练习:分析代码以发现并修复漏洞。练习:使用静态和动态分析工具提升应用程序的安全性。
  • 练习:分析代码以发现并修复漏洞。
  • 练习:使用静态和动态分析工具提升应用程序的安全性。
  • 渗透测试与道德黑客:深入学习渗透测试技术,以发现并利用系统中的漏洞。
    练习:使用 Nmap 和 Nessus 等工具进行扫描和漏洞分析。练习:在受控环境中执行 SQL injection 和 XSS 类型的攻击。练习:使用 Metasploit 利用漏洞并测试系统的防御能力。
  • 练习:使用 Nmap 和 Nessus 等工具进行扫描和漏洞分析。
  • 练习:在受控环境中执行 SQL injection 和 XSS 类型的攻击。
  • 练习:使用 Metasploit 利用漏洞并测试系统的防御能力。
  • 事件检测与响应:培养检测、分析并有效响应安全事件的能力。
    练习:配置入侵检测系统(IDS)和告警。练习:分析日志并响应一次模拟事件。练习:制定并实施事件响应预案。
  • 练习:配置入侵检测系统(IDS)和告警。
  • 练习:分析日志并响应一次模拟事件。
  • 练习:制定并实施事件响应预案。

邀请您继续前行

我们鼓励您继续探索和练习这些技能。网络安全是一个不断演进的领域,紧跟新技术和新工具,对于成为一名称职且高效的专业人员至关重要。

请关注后续的课程,我们将更深入地探讨安全开发和道德黑客。随着知识和技能的不断拓展,您将更有能力保护系统和信息,抵御网络空间中日益增长的威胁。

感谢您,祝一切顺利!

感谢您的积极参与和投入。我们期待您在网络安全的道路上取得更大的进步。期待很快在下一次技术与安全的探索中再会!