家庭网络的安全性已成为人们真正关注的问题。
在连接对象,语音助手,IP摄像机,NAS,智能手机和家庭自动化设备之间,我们的本地网络越来越像小型企业网络。
我们不会逃避网络犯罪分子的大规模攻击。
经过几年的家庭自动化系统升级,我想添加一个被动网络监控层:
- 不影响业绩;
- 不改变交通;
- 不把电网变成煤气厂。
为什么要监控本地网络?
大多数联网设备不断与互联网通信:
- 联网电视;
- 语音助理;
- 家庭自动化插座;
- 摄像机;
- IoT 对象;
- 移动应用;
- 等等。
问题:
- 并不总是清楚他们发送的是什么。
- 也不为谁服务。
- 和多少次。
网络监控尤其使以下方面成为可能:
- 检测未知设备;
- 查明可疑行为;
- 查看哪些设备向外说话;
- 识别网络扫描;
- 识别异常流量;
- 或者只是为了更好地理解你的网络。
我的目标与这个装置
目标很简单:
- 观察网络流量;
- 检测异常行为;
- 在家庭助理中集中警报;
- 余下100 % 当地...
为此,我选择了基于以下基础的架构:
- 具有镜像端口的可管理开关;
- 专门用于网络分析的Raspberry Pi;
- 家庭安全助理集成家庭助理。
但我想要一个解决方案:
- 被动;
- 谨慎;
- 可靠;
- 当地;
- 独立于路由器。
采用的原则是在许多专业环境中使用。
我 网络 架构
我的网络组织如下:
互联网 Freebox(bridge mode)※ Router Synology Ø Switch 可管理的 Zyxel GS1200-5 - 其他交换机 - 端口镜像 → Raspberry Pi IDS
我设置端口镜像
交换机复制来自特定端口的网络流量,并将其发送到另一个专门用于分析的端口。 我们通常谈论 镜像 港, 或 跨 式 跨.
例如:
- Raspberry Pi收到包裹的副本;
- 在网络上不可见;
- 不改变交通;
- 并且不会成为基础设施的关键点。
老实说,如果他摔倒了,如果他烧伤,如果他厌倦了为我工作,这对房子的家庭自动化安装没有影响。
为了我与其他小家庭的关系健康,我的手工艺不应该阻止灯光打开或浇水。
我花了多少钱?
在我家设置安全调查不会花费我太多,因为家庭预算有许多其他优先事项。
因此,唯一的金融投资是添加一个可管理的开关,我之后详细说明。 这让我付出了代价: 17,36 €.
- cf. 。 专用于此产品的页面与卖家,价格或促销
我已经在抽屉里有以太网电缆和旧的Raspberry Pi 3B+。
如果您需要购买Raspberry Pi 3B +,您会发现它的价格约为40欧元。 我将不亚于: 在我看来,3B+是这种用途的最小值。 如果你有选择,直接喜欢Raspberry Pi 4。
因此,如果您必须购买交换机和树莓,我们的总体预算约为60欧元。
如果您将SD卡替换为SATA SSD,则无需花费大量: 一个20到32GB的型号已经足够了。 在USB中,通过一个小盒子,它既方便又易于使用。
我使用的设备
选择 Zyxel GS1200-5 可管理开关

我选择了:
为什么这个模型:
- 紧凑型;
- 消音器;
- 低消费;
- 简单的Web管理;
- 支持镜像端口;
- 非常合理的价格。
这对家庭自动化实验室或先进的住宅网络来说是一个很好的妥协。
我 准备 Raspberry Pi
Raspberry Pi将作为网络探测器。
树莓:
- 不开车;
- 不过滤任何东西;
- 不用作防火墙;
- 它只是监听交换机发送的镜像流量。
我建议:
- 至少有 4 GB 的 Raspberry Pi 4,即使我使用了我已经拥有的 Raspberry Pi 3B+;
- 理想情况下,使用USB SSD。
为什么要避免使用SD卡:
- ID 工具会写很多日志;
- SD卡很快就用完了。
为什么我更喜欢镜像开关而不是IDS防火墙?
一些解决方案,如:
- pfSense;
- OPNsense;
- 或直接在路由器上的Suricata;
他们非常强大。
但就我而言,我想:
- 将分析与主网络分开;
- 避免与IDS相关的任何网络中断;
- 保持模块化架构;
- 能够在不影响互联网的情况下停止分析。
被动模式带来了几个优势:
- 无延迟;
- 对交通没有影响;
- 无网络依赖;
- 简洁性;
- 安全 安全
即使树莓植物:
网络继续正常运行。
我配置了 Zyxel GS1200-5 交换机

我做了第一个开关的开始
在将交换机集成到主网络之前,我首先进行了与笔记本电脑直接连接的初始配置。
这种方法可以:
- 配置开关悄然退出生产;
- 避免网络冲突;
- 立即安全管理员访问;
- 在集成到真实网络之前准备镜像端口。
拆包后:
- 电源的连接;
- 笔记本电脑与交换机端口1的连接;
- 暂时停用计算机上的Wi-Fi;
- 在以太网网卡上配置静态 IP 地址。
默认情况下,Zyxel 交换机使用地址:
192.168.1.3
因此,我暂时将PC配置为:
| 参数 参数 | 值 值 |
|---|---|
| IP 地址 | 192.168.1.50 |
| 面具 面具 | 24 |
| 网关 网关 | 192.168.1.1 |
一旦两个设备都位于同一个子网中,交换机就会立即响应ping。
Web 管理仅在最近的固件上的 HTTPS 中工作。 因此,连接是通过以下方式进行的:
https://192.168.1.3
然后,浏览器会显示一个自签名的SSL证书警告,这在这种类型的设备上是完全正常的。
第一次连接:
- 交换机立即要求更改管理员密码;
- 然后访问配置接口变得可用。
然后我:
- 禁用交换机的 DHCP 客户端;
- 分配一个固定的IP地址,可选的,但我放
192.168.1.11; - 在集成到主网络之前保存了配置。

这个准备阶段可以立即:
- 正确配置的开关;
- 已知的行政地址;
- 在投入生产之前有一个稳定的配置。
我访问本地网络上的交换机
该交换机现在可以通过HTTPS访问:
https://192.168.1.11
我可以呆在我的笔记本电脑上,或者把它连接到本地网络。 交换机现在有固定的IP,所以没有冲突。

i 配置端口
选择配置 :
| 港 港 | 使用 使用 |
|---|---|
| 港口 1 号 港 | 合成 路由 |
| 港口 2 号 港 | 本地网络 |
| 3 号 港 | 本地网络 |
| 港口 4 号 港 | 本地网络 |
| 5 号 港 | Raspberry Pi IDS |
我准备一个小标签,我会粘在开关上。

下面是结果:

我 配置 Port Mirroring
原则:
- 从连接到路由器的端口复制流量;
- 前往Raspberry Pi的港口。

配置的参数 :
| 参数 参数 | 值 值 |
|---|---|
| 镜像 港 | 启用 启用 |
| 镜像 方向 | 两个 |
| 镜像 港 | 港口 1 号 港 |
| 监视 港 | 5 号 港 |
『两者』模式很重要: 它允许您看到传入和传出的流量。
❓ 为什么我不镜像所有的端口?
这是一个经常出现的问题。
在实践中:
- 监控路由器的端口已经足够了;
- 这使得观察所有互联网流量成为可能。
- 不必要地超载Raspberry Pi。
镜像所有端口:
- 大大增加了交通量;
- 生成重复;
- 并能使分析系统饱和。
对于家庭网络,路由器端口的镜像就足够了。
默认情况下我离开 VLAN

不需要特定的VLAN配置,我默认保留了所有内容。
所有港口都保留:
- 在VLAN 1中;
- 在无标记模式下。
对于一个经典的住宅装置,它完美地工作。
⚙ 我几乎默认离开 QoS、LAG 和 IGMP

默认情况下,交换机的其他高级功能已经留下:
- 无链路聚合;
- 没有具体的QoS;
- 激活 IGMP Snooping;
- EEA 残疾
目的是保持:
- 简单的行为;
- 稳定;
- 可预测的。
安装 Raspberry Pi 网络监控
一旦配置了可管理的交换机,镜像端口开始运行,现在就需要建立能够分析家庭网络流量的网络传感器。
目的不是阻止流量或更换路由器,而只是建立一个完全被动的监控系统,能够观察本地网络上发生的事情。
想法很简单: Zyxel交换机通过镜像端口复制网络流量,然后将此副本发送到专门用于分析的Raspberry Pi。
然后,树莓变成了一种『网络监控摄像头』,能够观察连接的设备、外部连接、DNS交换、TLS流、可疑行为或某些已知攻击。
为什么我使用Raspberry Pi?
Raspberry Pi非常适合这种类型的使用:
- 低功耗;
- 完全无声的操作;
- 降低成本;
- 紧凑的格式;
- 非常适合24小时手术。
我家里有几种型号: Raspberry Pi 3B 和 3B+
最终选择是Raspberry Pi 3B +,它在功率,稳定性和消耗之间提供了良好的妥协。

选择存储
我想避免经典的microSD卡。
即使它们适用于简单的项目,它们也不支持长期的密集写入,特别是在连续生成网络日志时。
因此,我选择使用:
- a 2.5 SATA SSD;
- USB到SATA适配器;
- Raspberry Pi OS Lite 64位
目标是获得一个装置:
- 更可靠;
- 更快;
- 更具可持续性;
- 随着时间的推移,更加稳定。
安装系统 I install the system
该系统与Raspberry Pi Imager直接安装在SSD上。
我选择了:
- Raspberry Pi OS Lite 64位;
- 预配置的 Wi-Fi 连接;
- 安装时启动的SSH;
- 个性化主机名;
- 在第一次启动后自动更新系统。
一旦它开始,Raspberry立即出现在家庭Wi-Fi网络上。
然后从Synology路由器分配了一个固定IP,以便于远程管理。
在这一点上,我设置了IP地址,每个都有自己的方法,我在Synology路由器上做,但这可以在树莓上完成,请注意,从这里,每次我使用。 192.168.1.222,这将是树莓的IP.
我检查系统基础是否健康
在安装 Suricata 之前,我更喜欢检查系统基础是否健全。
这个想法很简单: 在将Raspberry转换为24小时网络探头之前,必须确保系统在SSD上运行良好,电源稳定,温度正确,网络接口处于预期状态。
完整的系统更新
sudo apt update && sudo apt full-upgrade -y
更新后,重新启动可以干净的基础上重新启动:
sudo 重启
我检查树莓在SSD上是否开始良好
lsblk 的
预期结果:
SDA - sda1 /boot/固件 π-sda2 /
这里最重要的一点是看到根分区。 / 从那以后就已经安装得很好了。 /dev/sda2.
这证实了Raspberry在USB SSD上运行良好,而不是microSD卡。
查看可用磁盘空间
DF-h 的
预期结果:
/dev/sda2 29G 3.0G 25G 11% /dev/sda1 505M 65M 440M 13% /boot/Firmware
在我的情况下,32 GB SSD为系统,Suricata和日志提供了充足的空间,前提是文件是自动旋转的。
我检查网络接口
IP a
连接镜像端口之前的预期结果:
eth0: <NO-CARRIER,BROADCAST,MULTICAST,UP> wlan0: <BROADCAST,MULTICAST,UP,LOWER_UP> inet 192.168.1.22/24
在此架构中,Wi-Fi用于管理SSH中的Raspberry。
以太网接口 eth0 级, 它将保留用于从交换机的镜像端口捕获网络流量。
我检查温度
vcgencmd measure_temp
取得的成果:
Temp=40.8'C
在40到60°C左右的温度对于这种类型的使用是完全正确的。
因此,Raspberry将能够在没有任何特定问题的情况下连续工作。
我检查进食和节流
vcgencmd get_throttled
预期结果:
节流器=0x0
这是一个非常重要的一点。
值 值 0x0 的 这意味着 Raspberry 无法检测到:
- 或不电压;
- 频率限制;
- 没有喂养问题。
我检查系统是否为64位
Uname-a 的
预期结果:
Aarch64 GNU/Linux
的 存在 aarch64 的 确认已安装Raspberry Pi OS Lite 64位。
安装 Suricata
一旦树莓全面运行,我安装了入侵检测系统(IDS)引擎,它将分析网络流量: 苏里卡塔
苏里卡塔的选择很自然:
- 开源;
- 广泛应用于专业领域;
- 高级协议分析;
- 支持JSON日志;
- 家庭助理兼容性;
- 检测网络异常;
- 指纹 JA3 和 JA4
- 自动更新规则。
苏里卡塔 安装
sudo apt install suricata -y
安装完成后,我检查了版本和编译的功能:
Suricata -build-info
预期结果:
Suricata 7.x AF_PACKET 支持: 是eBPF支持: JA3 支持: JA4 支持: 是 是
此步骤可以确认:
- Suricata安装良好;
- Linux网络支持是活跃的;
- 提供JA3/JA4打印件;
- 引擎在Raspberry Pi上正常工作。
✅ 我 查看 Suricata 服务
sudo systemctl 状态 Suricata
预期结果:
活跃 : 活跃(running)
该服务在 Raspberry 启动时自动启动。
我安装了检测规则
默认情况下,Suricata 几乎不包含任何活动规则。
因此,有必要下载网络签名数据库。
我选择了社区规则新兴威胁开放。
安装suricata-update
sudo apt install suricata-update -y
✗ ✗ 下载 规则
sudo suricata-update
预期结果:
加载 65950 条规则 编写规则到 /var/lib/suricata/rules/suricata.rules
自动安装了超过50,000个检测签名。
我配置 Raspberry 网络
在现阶段,必须处理一个极其重要的问题:
树莓不应该通过其捕获接口通过网络进行通信。
连接到交换机镜像端口的端口必须只监听网络流量,而无需发送数据包。
为此目的:
- 不应显示 IP 地址
eth0 级; - 无DHCP;
- 无网关;
- 无出境交通;
- 强制性PROMISC模式。
我确定所使用的网络运营商
nmcli 设备状态
取得的成果:
eth0 ethernet 连接 netplan-eth0 wlan0 wifi 连接 netplan-wlan0
这证实了系统使用NetworkManager。
我在 eth0 上禁用 IPv4 和 IPv6
sudo nmcli 连接修改 netplan-eth0 ipv4.method 禁用 sudo nmcli 连接修改 netplan-eth0 ipv6.method 禁用
重新启动网络连接
sudo nmcli 连接下 netplan-eth0 sudo nmcli 连接 netplan-eth0
我一直在激活PROMISC模式。
混杂模式允许网卡接收交换机复制的所有数据包。
创建系统服务:
sudo nano /etc/systemd/system/promisc-eth0。
文件内容:
[unit] Description= 在 eth0 After=network.target [Service] Type=oneshot ExecStart=/usr/sbin/ip 链路集eth0 promisc on [Install] WantedBy=multi-user.target
我激活服务
sudo systemctl 启用 promisc-eth0 sudo systemctl 启动 promisc-eth0
✅ 我 检查 网络 接口
IP a
预期结果:
eth0: <BROADCAST,MULTICAST,PROMISC,UP,LOWER_UP>
非常重要:
- 无 IP 地址;
- 无 线
iNet 的; - 模式 模式
普罗米斯克活跃..
然后Raspberry成为一个真正的被动网络探测器。
我插入镜像端口
一旦Raspberry准备就绪,配置为镜像端口的Zyxel交换机的端口5直接连接到Raspberry Pi的以太网端口。
从此,Raspberry 开始接收网络流量的副本。

第一次网络捕获测试
在启动Suricata之前,我更喜欢检查镜像是否真的有效。
tcpdump的安装
sudo apt install tcpdump -y
测试 捕获
sudo tcpdump -i eth0 -nn -c 20
取得的成果:
IP 192.168.1.x > 192.168.1.x UDP,长度70 ICMP 回声请求 HTTPS 流量 DNS 流量
网络流量立即开始滚动:
- DNS查询;
- HTTPS 流量;
- 物联网通信;
- 内部流动;
- 《议定书》/《公约》缔约方会议;
- 各种网络连接。
这证实了:
- Zyxel 镜像端口完美地工作;
- 树莓确实收到了交通的副本;
- 被动捕获是可操作的。
⚙ I 配置 Suricata
主配置文件可以在这里找到:
/etc/Suricata/suricata.yaml
我声明本地网络
我调整了本地网络到我的安装:
HOME_NET: [192.168.1.0/24]
这改善了:
- 警报的准确性;
- 业绩;
- 内部和外部流动的检测。
激活指纹 JA3 和 JA4
JA3/JA4指纹可以非常精确地识别某些TLS行为。
TLS 块中的激活:
ja3-fingerprints: 是ja4-fingerprints: 是 是
✅ 我 验证 配置
sudo suricata-T -c /etc/suricata/suricata.yaml
预期结果:
提供的配置已成功加载
这个命令非常有用:
- 检测YAML错误;
- 规则的确认;
- 道路控制;
- 全局配置检查 。
我 开始 苏里卡塔
我正在重新启动服务
sudo systemctl 重启 suricata
我检查状态
sudo systemctl 状态 Suricata
预期结果:
活跃 : 活跃(running)
我验证网络日志
系统的核心基于 Suricata 生成的 JSON 文件:
/var/log/suricata/eve.json
实时可视化
sudo tail -f /var/log/suricata/eve.json
通过生成一些网络流量(YouTube,网页浏览,…连接对象),第一个事件立即出现:
"event _type": "flow" "event _type": "dns" "event _type": "tls" "event _type": "http"
这证实了:
- Suricata 正确分析数据包;
- 协议被解码;
- JSON日志是可用的;
- 网络监督实际上有效。
我设置了自动日志旋转
网络监控系统会产生大量的日志。
因此,必须设置自动旋转以避免填充SSD。
⚙ 配置 日志
sudo nano /etc/logrotate.d/suricata
使用的配置:
/var/log/suricata/*.log /var/log/suricata/*.json { 每日旋转 14 missingok notifempty compress delaycompress copytruncate sharedscripts postrotate /bin/kill -HUP $(cat /var/run/suricata.pid) 2>/dev/null || true endscript }
此配置 :
- 保持14天的历史;
- 压缩旧日志;
- 如果 Suricata 重新启动,则避免错误;
- 严重限制了SSD的磨损。
i 导出网络流到带有软流的 Home Assistant
一旦Suricata以被动IDS模式运行,下一个目标是将网络元数据传输到Home Assistant,以便能够创建智能仪表板,活动图表和警报。
为此,我补充说: 软 流 的, 轻量级的 NetFlow 导出器非常适合 Raspberry Pi 3B+。
想法很简单:
- Suricata检查包裹;
- 软流观察网络流动;
- Home Assistant集中和可视化活动。
这种方法允许高级网络监控,而无需将Raspberry变成主动路由器或防火墙。
安装softflowd
安装非常简单:
sudo apt install softflowd -y
安装后,需要确定哪个网络接口从 Zyxel 交换机接收镜像流量。
与以前一样,以下命令用于检查网络状态:
IP a
观察结果:
2: eth0: <BROADCAST,MULTICAST,PROMISC,UP,LOWER_UP> 3: wlan0 : <BROADCAST,MULTICAST,UP,LOWER_UP>
接口 The Interface eth0 级 因此是好的:
- 连接;
- 活跃;
- PROMISC模式;
- 没有 IP 地址。
这正是我一直在寻找的:
- eth0 级 仅接收来自交换机的镜像流量;
- wlan0 的 用于管理 Raspberry 并将数据发送到 Home Assistant。
我做第一次手动测试
在任何自动化之前,我开始手动软流动以检查操作:
sudo softflowd -i eth0 -n 192.168.1.222:2055
Raspberry几乎没有返回到屏幕上的消息,这是正常的。
该计划直接在后台启动。
为了验证流量是否确实导出到Home Assistant,我打开了第二个SSH会话,然后启动:
sudo tcpdump -i wlan0 udp 端口 2055
结果:
IP Suricata.42399 > 192.168.1.222.2055: UDP , UDP
这条线证实了几个重要点:
- 软流作品;
- NetFlow流量产生良好;
- 家庭助理收到包裹;
- 通过Wi-Fi路由是正确的。
我创建了一个专门的系统服务。
提供softflowd的Debian服务在这个特定的上下文中被证明是不可靠的。
因此,我更喜欢创建自己的系统服务。
创建文件 :
sudo nano /etc/systemd/system/softflowd-ids。
使用的配置:
[Unit] Description=softflowd NetFlow 导出 IDS 镜像接口 After=network-online.target promisc-eth0.service Wants=network-online.target [Service] Type=简单 ExecStart=/usr/sbin/softflowd -d -i eth0 -n 192.168.1.222:2055 Restart=always RestartSec=5 WantedBy=multi-user.target。
然后激活服务:
sudo systemctl daemon-reload sudo systemctl 启用 softflowd-ids sudo systemctl 重新启动 softflowd-ids
✅ 我 检查 正确 功能
确认正确的功能:
sudo systemctl 状态 softflowd-ids
结果:
活跃 : 主动(运行)软流v1.1.1起始数据收集 导出从eth0到[192.168.1.222]:2055
在现阶段,网络架构已全面运行:
- Zyxel开关重复流量;
- 树莓收到包裹的副本;
- Suricata分析交通;
- 软流出口流动;
- Home Assistant 集中数据。
最有趣的是,这种监控仍然是完全被动的:
- 对网络没有影响;
- 不修改设备;
- 交通不得中断;
- 极低的功耗。
因此,Raspberry成为一个真正的家庭网络探头,能够在整个家庭自动化和IT安装中提供非常先进的可见性。
我将家庭安全助理整合到家庭助理中
一旦 Suricata 启动并运行,NetFlow 流通过软流正确导出到 Home Assistant,下一步是实际利用所有这些数据。
目的不再仅仅是捕获网络流量,而是:
- 相关安全事件;
- 识别现役设备;
- 检测异常行为;
- 实时查看家庭网络;
- 将家庭助理转变为真正的安全监督中心。
为此,我安装了出色的集成。 家庭安全助理 饰 Domo-monster.
这种整合使得集中化成为可能:
- 苏里卡塔原木;
- 净流量;
- 网络统计;
- 可疑事件;
- 漏洞检测;
- 不寻常的网络行为。
在我的情况下,HACS已经安装在家庭助理中,这大大简化了安装。
➕ 我在 HACS 中添加自定义存储库
在家助理:
HACS → Integrations → θ(右上菜单) → Custom Deposits
添加 GitHub 存储库:
https://github.com/domo-monster/HomeSecurityAssistant
然后选择类别:
整合 整合
最后:
添加 添加

I install the integration 安装集成
一旦添加了押金:
HACS → 集成
搜索:
家庭安全助理
然后安装最新版本。

下载后,Home Assistant 请求重新启动。
在 Home Assistant 中添加集成
重启后:
设置 → 设备和服务 → 添加集成
然后搜索:
家庭安全助理
⚙ 我 配置 家庭 安全 助理

安装集成后,Home Assistant 会自动打开 Home Security Assistant 配置窗口。
此配置应始终可访问:
设置 → 设备和服务 → Home Security Assistant → Configure(scratched wheel)
大多数提议的设置可以默认保留。
集成已经设计为在标准家庭环境中有效工作。

就我而言,只有少数参数确实需要特别注意。
聆听 主机
0.0.0.0
必须保留这个值。
它允许家庭安全助理在家庭助理服务器的所有网络接口上监听NetFlow流。
这在以下情况下特别有用:
- 家庭助理有几个网络接口;
- 流量来自其他设备;
- 遥测通过远程IDS探针导出,就像这里的Raspberry一样。
UDP监听端口
2055
此端口必须与之前在softflowd中配置的端口完全对应:
softflowd -i eth0 -n 192.168.1.222:2055
端口2055是NetFlow非常常见的标准。
内部 网络
192.168.0.0/16,10.0.0.0/8,172.16.0.0/12,fd00::/8,fe80:/10
我自愿保留了这个默认配置。
尽管我目前的网络主要通过:
192.168.1.0/24
默认配置仍然更加灵活和可扩展。
具体而言,它使以下方面成为可能:
- 将来增加VLAN;
- 物联网对象的分离;
- 管理客人网络;
- IPv6兼容性;
- 基础设施的未来发展。
在现代家庭环境中,通常最好保持这种广泛的配置。
端口 扫描 检测 窗口
600秒
这个值对应于:
- 10分钟的滑稽监视;
- 良好的检测灵敏度;
- 家庭助理的合理收费。
目的是避免:
- 过于咄咄逼人的假阳性;
- 不必要的警告;
- 分析引擎的超载。
对于家庭网络,默认值非常正确。
扫描 警报 之前 独特 端口
100
此值决定了设备可能执行网络扫描的多少不同端口。
再次,默认值适合国内使用。
值太低可能会导致大量误报:
- Chromecast;
- Apple TV;
- 连接的物体;
- mDNS;
- UPnP;
- 自动网络发现。
高出境流量阈值
50000000
该参数定义了在给定时间内被认为异常高的数据量。
在我的情况下,我保留了默认值。
主要目的是检测:
- 受损设备;
- 不寻常的大规模上传;
- 数据泄露;
- 一个非常健谈的IoT设备。
激活侧面板
选项左转。
这直接将家庭安全助理添加到家庭助理侧边栏。
这是非常方便的。
侧面板的管理员权利
选项也已启用。
这限制了对敏感网络信息的访问仅限于家庭助理管理员。
在多用户环境中,这是一个很好的安全实践。
活动 网络 扫描 器
我离开扫描仪活跃。
此组件允许家庭安全助理:
- 发现网络设备;
- 确定活跃的东道主;
- 关联 IP 地址;
- 丰富网络信息。
此功能完美地补充了 Suricata 进行的被动分析。

Active Scan Interval 主动扫描
3000秒
这个值大约对应于:
50分钟
因此,主动扫描仪不会连续运行。
这在国内环境中是一件好事。
这使得有可能:
- 限制网络负载;
- 避免攻击性扫描;
- 不破坏某些敏感的物联网对象;
- 保持谨慎的态度。
对于一个非常动态的实验室或专业网络,这个价值可以降低。
但对于一个连接的家庭,默认是非常合理的。
Ports for Scanning 的
默认提供的列表可以保存。
它包含最常见的端口。
扫描仪的目的不是进行全面的攻击性安全扫描,而是:
- 识别设备;
- 检测暴露的服务;
- 绘制网络图;
- 输入到安全相关性中。
就我而言,我没有改变任何东西。
扫描 器 例外
此字段允许将某些 IP 从活动扫描中排除。
默认情况下,它可以保持空。
但是,此功能可用于:
- 脆弱的设备;
- 某些打印机;
- Unrobust IoT 对象;
- 工业设备;
- 对网络扫描非常敏感的设备。
在我的环境中,不需要排除任何设备。
启用反向 DNS 分辨率
这一选择显然值得激活。
它可以将低声IP转换为更易读的主机名称。
例如,而不是显示:
192.168.1.42
家庭安全助理有时会显示:
nas.maison.local打印机.local apple-tv.local
这大大改善了:
- 易读性;
- 事件分析;
- 快速识别设备。
威胁 情报 流
默认提供的URL可以保留。
家庭安全助理会自动下载多个声誉并阻止来自认可来源的列表:
- Abuse.ch;
- SSLBL;
- AdGuard;
- 其他社区流动。
这些流量用于:
- 识别恶意IP;
- 查明可疑区域;
- 检测某些已知行为;
- 提供安全警报。
这是整合最有趣的方面之一: 它通过外部智能自动丰富本地收集的网络数据。
代理 DNS
在我看来,这个选项仍然被禁用。
DNS代理将允许家庭安全助理:
- 拦截DNS请求;
- 记录所咨询的域名;
- 应用 DNS 屏蔽;
- 进一步分析。
但这意味着:
- 更高的网络特权;
- 更具侵入性的建筑;
- 额外的依赖。
对于第一次国内部署,我宁愿保持简单和稳定。
DNS 代理 端口
53
DNS 协议的标准值。
由于 DNS 代理仍然禁用,此参数没有影响。
☁ 上游 DNS 解析器
1.1.1.1
Cloudflare在这里用作上游DNS解析器。
此值可根据偏好替换:
- Google DNS;
- Quad9;
- AdGuard DNS;
- Pi-hole;
- 本地未绑定。
就我而言,我保留了提议的价值。
DNS 日志 保存
24小时
此值定义了 DNS 日志的存储时间。
对于国内环境:
- 24小时可提供良好的能见度;
- 这限制了记忆消耗;
- 这样可以避免不必要的数据积累。
在专业或法医环境中,更长的保护可能具有相关性。

用于阻塞的来源威胁情报
该字段允许定义哪些智能源将用于喂养阻塞机制。
就我而言,我把它空了。 我总是喜欢在自动反措施之前从观察者模式开始。
⛔ 阻止 DNS 类别
此字段可以阻止某些类别的域:
- 成人;
- 赌博;
- 恶意软件;
- 跟踪;
- 钓鱼;
- 等等。
再一次,我把它留给了第一次部署。
一旦了解了网络的正常行为,这个功能可以在稍后激活。
我已经使用Synology路由器内置的安全访问来过滤我女儿使用的设备。
它通过一个非常漂亮的图形界面来做到这一点。 我们稍后会看到我是否也来这里做DNS阻塞。
本地 DNS 重定向
此功能允许将某些域重定向到特定的 IP。
例如:
monservice.local=192.168.1.10
或:
ads.example.com=0.0.0.0
就我而言,没有必要重定向。 因此,该领域仍然是空的。
我创建了一个VirusTotal帐户,并获取我的API密钥。
VirusTotal通过可疑IP,域名,URL或文件的声誉数据来丰富安全信息。

要将其与家庭安全助理一起使用,您必须创建一个免费帐户:
https://www.virustotal.com


连接后:
用户配置文件 → API 密钥
VirusTotal 表示,一旦登录用户帐户菜单,公共 API 密钥就可用。 此密钥必须保持私密,并且显然不得在文章、截图或 Git 存储库中发布。

在家助理:
设置 → 设备和服务 → Home Security Assistant → Configure
然后我填满了字段:
VirusTotal API 密钥
然后,我保留了每日预算草案:
500
对于我的家庭使用,这已经足够了。
目的不是不断查询VirusTotal,而只是为了丰富可疑元素,以便更好地了解家庭安全助理检测到的内容。
我创建了一个 AbuseIPDB 帐户,并获取我的 API 密钥。
AbuseIPDB很好地补充了VirusTotal。

在VirusTotal具有全球声誉的地方,AbuseIPDB对于识别已知IP地址特别有用:
- 网络扫描;
- 暴力企图;
- 滥用行为;
- 社区报告的恶意活动。
因此,我正在创建一个免费帐户:
https://www.abuseipdb.com

连接后:
帐户 → API → 创建密钥

我给钥匙取了一个名字,例如:
家庭安全助理
然后复制生成的 API 密钥。

与VirusTotal一样,此密钥必须严格保持私密。 AbuseIPDB还指出,API密钥不得公开披露。
在家助理:
设置 → 设备和服务 → Home Security Assistant → Configure
然后我填满了字段:
AbuseIPDB API 密钥
我保留了日常预算:
1000
在以合理的值查询 VirusTotal 之前,我离开了 AbuseIPDB 置信阈值。
这个原则很有意思: 如果AbuseIPDB认为一个足够可疑的IP,那么家庭安全助理可以使用VirusTotal来丰富分析。
这避免了:
- 不必要的API调用;
- 配额消费过快;
- 和完全平庸的IP的丰富。
注: : Penser à rendre votre profil privé sinon vous donnez au monde votre ip.

我为什么要添加这两项服务?
最初,家庭安全助理主要看到:
- IPS;
- 流动;
- 交通量;
- 网络行为。
使用VirusTotal和AbuseIPDB,这些信息变得更加可读。

而不是简单地说:
可疑IP: 185.xxx.xxx.xxxxx
家庭安全助理可以通过声誉元素丰富信息:
- 已报告的IP;
- 信心分数;
- 威胁类别;
- 警报的历史;
- 安全背景。
对于家庭安装,这可以更好地了解观察到的内容,而无需立即自动化阻塞。
这正是我更喜欢的方法:
- 先观察;
- 理解下一步;
- 只有当它确实是必要的时,才可以自动化。
查询 VirusTotal 之前的 Confidence AbuseIPDB
此滑块定义了 AbuseIPDB 对 IP 的评分将被视为可疑到足以触发 VirusTotal 查询。
原则是智能的:
- 避免不必要的电话;
- 减少API消耗;
- 优先考虑真正可疑的IP。
保留自己的IP
5小时
被认为是正常的IPS被保存了很短的时间。
这是一致的:
- 合法流量非常大;
- 没有必要把它保存太久。
- 它保存了内存和存储。
⚠ 保留可疑IP
48小时
可疑IP的可见时间更长,以便:
- 便利分析;
- 查明重复行为;
- 关联某些事件。
在我看来,这种价值与国内使用特别相关。
☠ 保留恶意 IP
168小时
要么:
7天
被确定为真正恶意的IPS被保留了更长的时间。
这使得有可能:
- 查明反复的攻击;
- 对某些持续不断的企图采取后续行动;
- 保持可利用的历史。
对于国内Raspberry Pi,这个值仍然是合理的。
富集 缓存 TTL
1440分钟
要么:
24小时
该参数避免在任何时候重新检查外部情报服务。
这使得有可能:
- 限制 API 调用;
- 减少负荷;
- 使整合更加流畅;
- 避免与配额有关的某些堵塞。
再次,默认值是经过深思熟虑的。

每日 病毒 查询 预算 共计
500
此设置限制了向 VirusTotal 发送的每日请求数量。
AbuseIPDB请求的每日预算
1000
同样的逻辑在这里。 此参数设置为 AbuseIPDB 的最大查询数量。
NVD API 的 URL
https://services.nvd.nist.gov/rest/json/cves/2.0
此URL指向官方NVD数据库:
国家 脆弱 性 数据库
由美国NIST管理。
它是以下方面的全球基准之一:
- CVE漏洞;
- CVSS分数;
- 安全参考资料;
- 跟踪公众缺陷。
家庭安全助理可以使用这个数据库:
- 识别易受攻击的产品;
- 关联某些设备;
- 识别潜在风险。
默认URL显然是要保留的。
NVD Cache TTL
12:00
此设置定义了 CVE 信息刷新频率。
更新太频繁:
- 不必要地增加交通量;
- 消耗更多的资源;
- 不会带来任何真正的好处。
拟议的价值是一个极好的折衷方案。
最低 VEC 年
2020
这个选项特别有趣。
它将分析限制在最近的漏洞上。
为什么它有用?
因为CVE数据库包含数以万计的历史条目。
然而,在国内环境中:
- 非常老的脆弱性往往不那么重要;
- 近代设备受现代VEC的影响更大;
- 这大大降低了噪音。
因此,2020年的价值是一致的:
- 它保留了几年的历史;
- 不必要地超载系统。
搜索关键字 NVD
此字段包含要在 CVE 数据库中监控的产品和服务列表:
OpenSSH Android Debug Bridge Apache HTTP Server nginx MySQL MariaDB ...
此列表允许家庭安全助理:
- 识别网络上存在的某些技术;
- 寻找相关的漏洞;
- 提高上下文警报。
它使Home Assistant更接近于以下逻辑:
- 脆弱性管理;
- 攻击地表盘存;
- 网络家庭卫生。
在我的情况下,我保留了默认提议的列表。
它已经涵盖了国内实验室和自托管环境中经常存在的许多服务。
统计学: 显示第一个N个条目
光标允许您选择在统计和仪表板中显示多少项。
例如:
- 顶级活跃IP;
- 可疑来源;
- 最常用的港口;
- 检测到的漏洞;
- 重要的网络活动。
提议的默认中间值非常平衡:
- 足够的信息是有用的;
- 无需重载 Home Assistant 界面。
✅ 最终配置验证
一旦最后一页得到验证,家庭安全助理将完全运行。

开始几分钟后,第一个指标已经开始出现在家庭助理中。
这可能是该项目最令人满意的时刻之一:
最后,将家庭网络视为可用的安全数据。
之后:
- 镜像端口的配置;
- 安装Suricata;
- 收集网络流量;
- 软流配置;
- 融入家庭助理;
该系统终于开始对家庭网络活动产生连贯的视图。
下面是启动几分钟后出现的第一个传感器:
- HSA 主动 设备 : 网络上检测到的活跃设备数量;
- HSA 高 输出 源 : 产生异常大量出境流量的来源;
- HSA NVD 关键词 : 在NVD漏洞数据库中监测关键字和技术;
- HSA 开放 发现 : 当前打开的警报和安全功能;
- HSA 扫描 设备 : 由主动扫描仪分析的设备数量;
- HSA 可疑来源 : 根据检测规则和情报流认为可疑的网络来源;
- HSA 总流量 : 观测到的网络流量总数;
- HSA 漏洞 : 检测到或与收集的信息相关的漏洞。
就我而言,数字开始迅速攀升。 在撰写此页面之前,我让系统在一夜之间运行:
- 检测到超过150000个网络流量;
- 超过60台现役设备;
- 查明了数十个漏洞;
- 一些消息来源认为可疑。
而这正是项目变得令人兴奋的地方。
我们突然意识到现代家庭网络产生了多少活动:
- 连接的物体;
- 语音助理;
- 智能手机;
- NAS;
- 云服务;
- 联网电视;
- 流媒体服务;
- 集装箱;
- 家庭自动化。
即使在个人环境中,网络表面也会很快变得非常复杂。
这就是家庭安全助理最终看到的。
我重新命名所有的传感器,给它们以法语命名。

启动后的第一印象
目前,HA中的信息仅限于数字,所以我去了HSA接口。
立即让我震惊的是可用的信息量,没有任何额外的复杂配置。
很快,Home Assistant显示:
- 主动用具;
- 交通量;
- 可疑的IP;
- 重要的网络交流;
- 清晰的安全统计数据;
- 威胁相关性的开始。
最重要的是,所有这些都直接集成到现有的家庭自动化生态系统中。
这可能是使这个项目特别有趣的原因: 将先进的网络安全机制引入家庭助理环境中,而无需部署繁重而复杂的专业基础设施。
结果是两者:
- 教学;
- 视觉;
- 有用;
- 进化论
在这个阶段,我非常高兴和非常好奇继续发现家庭安全助理。
我甚至无法想象Domo-monster花了多少时间做这项工作,哪一个,一旦配置,点亮并几乎独自生活。
屏幕 , 地图 地图 活着,清晰,真正令人印象深刻的观察。
坦率地说: 恭喜你 恭喜你

结论 结论
该架构提供了真正的网络可见性层:
- 不使安装复杂化;
- 不改变交通;
- 不依赖于路由器。
这对夫妇:
- 可管理的交换机 + 镜像端口 + Raspberry Pi
为构建高性能,完全本地的SDI提供了良好的基础。
最重要的是:
- 分析仍然是完全被动的。
- 这确保了良好的网络稳定性。
对于先进的家庭自动化实验室或现代住宅网络,这是一个特别优雅的解决方案。
我现在有很多乐趣一些…周末或失眠之夜。
老实说,我不认为这个RETEX会变得如此漫长和密集……但最终我做到了。
如果你已经读过: 布拉沃 ·
我将在这篇文章中停下来,但我很可能会与其他RETEX一起围绕家庭安全助理及其日常操作发布其余内容。
当然,我以一个巨大的感谢结束。 多莫 · 蒙斯特, 这给我们带来了一个银盘,可能是在网络安全领域多年经验和投资的成果。
结果确实令人印象深刻。

问题? 需要帮助吗?
我在Home Assistant的法语论坛上发布了一条消息,请不要犹豫地使用它来问我问题或提供您的经验:



