Deepak2652005/Windows-Firewall-Security-Lab
GitHub: Deepak2652005/Windows-Firewall-Security-Lab
Windows防火墙安全实验室,用于演示和练习防火墙规则配置与安全分析。
Stars: 0 | Forks: 0

# Windows 防火墙 安全实验室
动手实践 Windows 防火墙安全实验室,展示使用 PowerShell 创建规则、流量过滤和防御性安全分析。
# Windows 防火墙 安全实验室
## 目标
本项目演示了如何在受控的实验室环境中配置、测试和分析 Windows 防火墙规则,以了解基于主机的安全控制、网络过滤和防御性安全操作。
实验室重点包括:
* 创建和管理防火墙规则
* 阻止和允许网络流量
* 测试入站和出站连接
* 监控防火墙行为
* 理解端点防火墙如何减少攻击面
## 目录
- [展示技能](#skills-demonstrated)
- [实验室环境](#lab-environment)
- [截图](#screenshots)
- [安全分析](#security-analysis)
- [MITRE ATT&CK 相关性](#mitre-attck-relevance)
- [关键学习点](#key-learnings)
- [未来改进](#future-improvements)
# 展示技能
* Windows 防火墙配置
* 网络安全
* 防御性安全
* PowerShell 管理
* 端口过滤
* SOC 基础
* 流量分析
* 安全文档
* 连接问题故障排除
# 实验室环境
| 组件 | 详细信息 |
| ------------------ | ------------------------------------- |
| 操作系统 | Windows 10 |
| 工具使用 | Windows Defender 防火墙,PowerShell |
| 环境 | 虚拟实验室 |
| 目的 | 防火墙规则分析与测试 |
| 连接测试 | Ping,TCP 连接 |
| 安全重点 | 基于主机的防火墙保护 |
# 项目结构
```
Windows-Firewall-Security-Lab/
│
├── README.md
├── screenshots/
│ ├── firewall-rule-type-selection.jpg
│ ├── firewall-rule-final-configuration.jpg
│ ├── windows-firewall-inbound-rules.jpg
│ ├── windows-firewall-outbound-rules.jpg
│ ├── ssh-port-rule-selection.png
│ ├── ssh-port-configuration.png
│ ├── ssh-firewall-action-block.png
│ ├── ssh-firewall-rule-created.png
│ ├── telnet-port-block-test.jpg
│ ├── telnet-port-selection.jpg
│ ├── telnet-firewall-block-action.jpg
│ ├── telnet-firewall-rule-list.jpg
│ └── telnet-connection-failed.png
```
# 实验室架构
```
[Client/Test Machine]
|
Network Traffic
|
[Windows Target System]
|
Windows Firewall
|
Allowed / Blocked Connections
```
# 防火墙规则创建
## 创建阻止端口 80 的规则
```
New-NetFirewallRule -DisplayName "Block Port 80" `
-Direction Inbound `
-Protocol TCP `
-LocalPort 80 `
-Action Block
```
### 目的
此规则阻止 TCP 端口 80 的入站 HTTP 流量,以防止未经授权的基于 Web 的访问。
# 截图
## 防火墙规则类型选择

## 防火墙规则最终配置

## Windows 防火墙入站规则

## Windows 防火墙出站规则

## SSH 端口规则选择

## SSH 端口配置

## SSH 防火墙动作阻止

## SSH 防火墙规则创建

## Telnet 端口阻止测试

## Telnet 端口选择

## Telnet 防火墙阻止动作

## Telnet 防火墙规则列表

## Telnet 连接失败

# 显示现有防火墙规则
```
Get-NetFirewallRule
```
### 目的
用于枚举和验证系统上配置的活跃防火墙规则。
# 检查特定防火墙规则
```
Get-NetFirewallRule -DisplayName "Block Port 80"
```
### 目的
验证自定义防火墙规则是否存在并确认其状态。
# 测试连接性
## 测试本地主机连接
```
Test-NetConnection localhost -Port 80
```
### 预期行为
防火墙应根据规则配置阻止入站流量。
# 尝试连接结果
```
ComputerName : localhost
RemoteAddress : 127.0.0.1
RemotePort : 80
TcpTestSucceeded : False
```
### 分析
失败的连接确认防火墙规则成功阻止了对 TCP 端口 80 的访问。
# 再次允许流量
## 删除阻止规则
```
Remove-NetFirewallRule -DisplayName "Block Port 80"
```
### 目的
删除之前创建的阻止规则并恢复连接。
# 验证防火墙规则删除
```
Get-NetFirewallRule -DisplayName "Block Port 80"
```
### 预期结果
该规则不应再出现在防火墙规则列表中。
# 成功连接测试
```
TcpTestSucceeded : True
```
### 分析
成功的连接确认在删除阻止规则后防火墙过滤行为已更改。
# 安全分析
Windows 防火墙是关键端点安全控制,用于:
* 限制未经授权的网络访问
* 减少攻击面暴露
* 控制入站和出站通信
* 防止横向移动
* 强制执行组织安全策略
在本实验室:
* 测试了防火墙规则创建
* 验证了端口过滤行为
* 分析了网络访问控制
* 确认了流量阻止的有效性
* 模拟了基本的防御性安全操作
此类分析与 SOC 和蓝队环境直接相关。
# MITRE ATT&CK 相关性
| 技术ID | 技术 |
| ------------ | ------------------------- |
| T1562 | 妨碍防御 |
| T1046 | 网络服务发现 |
| T1021 | 远程服务 |
了解防火墙行为有助于防御者:
* 检测未经授权的访问尝试
* 防止远程利用
* 限制攻击者在系统间移动
* 增强端点安全配置
# 面临的挑战
* 理解入站与出站规则
* 测试本地主机连接行为
* 验证防火墙规则优先级
* 故障排除被阻止的连接
# 关键学习点
* Windows 防火墙可以有效地过滤网络流量
* PowerShell 允许自动化防火墙管理
* 不正确的防火墙配置可能会暴露系统
* 规则测试对于防御性安全验证很重要
* 端点防火墙在企业安全中扮演着重要角色
# 未来改进
* 将防火墙日志与 Splunk SIEM 集成
* 使用 PowerShell 脚本自动化监控
* 导出日志进行威胁分析
* 检测可疑的防火墙规则修改
* 为企业场景创建高级规则集
* 模拟针对防火墙策略的攻击者行为
# 工具使用
* Windows Defender 防火墙
* PowerShell
* Test-NetConnection
* Windows 网络工具
# 作者
Deepak Rawat
网络安全爱好者 | SOC 分析师候选人 | 蓝队学习路径
GitHub: https://github.com/Deepak2652005
# 免责声明
此项目是在受控的实验室环境中仅用于教育和防御性安全目的而创建的。
标签:AI合规, IPv6, PowerShell, SOCK 基础, Windows 10, Windows Defender Firewall, Windows 系统安全, 主机防火墙, 安全实验室, 安全意识, 安全技能, 安全操作, 安全文档, 实验室环境, 故障排除, 端口过滤, 网络安全, 网络过滤, 网络连接测试, 虚拟化技术, 防御性安全, 防火墙配置, 隐私保护