首页 > 解决方案 > FreeRadius 结合漏洞扫描/软件状态检查

问题描述

是)我有的:

我正在运行一个完全按照我需要的方式配置的 freeradius 服务器。现在一切正常。

我需要的:

我需要半径在身份验证之前将设备放在单独的 vlan 中,并在此 vlan 中的设备上运行漏洞扫描(nessus / openvas 等)以检查软件状态(防病毒等),如果设备通过测试验证应该正常进行。如果失败,则应将其放入第三个(如果算上 unauth-vid 则为第四个)vlan。

有人可以告诉我这在 freeradius 中是否可行?

提前感谢您的回答

标签: securityfreeradius

解决方案


是的。但这是一个非常广泛的问题,取决于所使用的网络设备。我将概述我将如何设计这样一个系统。

一般来说,如果您可以为您的 NAC 和完全访问 VLAN 使用相同的 DHCP 服务器/IP 范围,您会更轻松。这意味着您不必向客户端中的更高网络层发出状态发生变化的信号,您可以在后台交换 VLAN 以更改它们可以访问的内容。

您将建立一个数据库,其中包含每个客户的条目。这不必预先填充,它可以在第一次身份验证尝试期间填充。每个客户条目的一部分将是一个状态字段,详细说明他们上次完成 NAC 的时间。

您还需要一个记帐数据库,以存储有关每个客户端连接到网络的位置的信息。

如果客户端之前从未完成过 NAC 检查,您可以将客户端分配到 NAC VLAN,并通知您的 NAC 进程开始询问它。

FreeRADIUS 可以同时充当 RADIUS 和 DHCPv4 服务器,因此您可能会从 DHCPv4 端向 NAC 进程发出信号,因为这样您就会知道客户端收到的 IP。

绑定 RADIUS 和 DHCPv4 端可以通过多种方式完成。最明显的是MAC,另一种常见的方式是使用记帐表的NAS/Port ID。

Once the NAC checks had completed, you'd have the NAC process write out a receipt in detail file format, and have that read back in by a detail file listener (there are examples of this in sites-available/ in the 'decoupled-accounting' virtual server files). When reading those entries back in, you'd change the state in the database, and send a CoA packet to the switch using information from the accounting database to identify the client. This would flip the VLAN and allow them to the standard set of networking resources.

I know this is very high level, documenting it properly would probably exceed StackOverflow's character limit. If you need more help with this, I suggest you research what I've described above and then start asking the RADIUS related questions on the FreeRADIUS user's mailing list https://freeradius.org/support/.


推荐阅读