OPNsense的用户管理器允许控制对配置器的不同部分(页面)的访问,以及控制对每个用户的特定服务的访问。
认证OPNsense为需要用户身份验证的服务提供与外部服务器的集成。这些服务包括:
IPsec
OpenV-P-N
强制网络门户
代理
集成到OPNsense的是Local User Database(本地用户数据库)和Voucher Server(凭证服务器)。凭证服务器与强制网络门户一起使用。
目前支持的外部服务包括:
LDAP(OpenLDAP,MS Active Directory,Novell eDirectory)
Radius
除了身份验证之外,还可以使用外部服务器设置访问部分配置的用户授权,但是为了向用户授予适当的权限,需要在OPNsense的本地用户管理器中导入这些权限。这样,人们可以根据其外部存储的密码验证用户,并对用户可以访问的配置页面进行精细控制。
用户,组和权限使用本地用户管理器时,无论是独立使用还是与外部认证服务器组合,都可以定义组的特定权限。组中的任何人都可以被授予相同的访问权限。
服务可以使用System->Access->Settings中的设置配置要使用的身份验证服务。在这里,您还可以找到用户会话的超时设置,对于本地用户帐户,您可以选择使用密码策略约束来提高安全性。
下面是可用的设置概述:
Session Timeout | 会话超时,一般使用默认值。 |
Authentication Server | 要使用的主要身份验证方法 |
Authentication Server (fallback) | 主服务失败时的后备选项。 |
Policy | 启用密码约束策略。 |
Duration | [Policy]密码的有效时间,可选择定义用户更改密码的频率。 |
Length | [Policy]要求的最小密码长度。 |
Complexity | [Policy]强制执行密码复杂性检查。 |
本地用户管理器
创建用户和组
使用OPNsense的本地用户管理器,可以添加用户和组,并定义授予对GUI的某些部分(Web Configurator)的访问权限。
添加用户
要添加新用户,请转到System->Access->Users,然后单击表单右下角的+号。
Disabled | 可用于(暂时)禁用帐户 | |
Username | 唯一的用户名 | |
Password | 一个强大的密码 | |
Full name | 可选,完整用户名 | |
Expiration date | 可选,如果想帐户过期,请输入mm / dd / yyy | |
Group Membership | 可选,选择一个或多个组 | |
Certificate | 可选,检查是否应创建用户证书 | |
OTP seed | 可选,输入或生成OTP种子(base32) | |
Authorized keys | 可选,粘贴ssh密钥以进行ssh控制台访问 | |
IPsec Pre-Shared Key | 可选,IPsec PSK |
创建组
转到System->Access->Groups,然后单击表单右下角的+号。
输入Group name组名称和Description描述,并将用户添加到组中。
为组添加权限
创建组后,可以通过编辑组来添加权限。转到System->Access-Groups,然后单击要更改的组旁边的编辑符号(铅笔)。
要分配权限,只需单击“ Assigned Privileges分配的权限 ”右侧的铅笔图标,就会显示一个表单,其中可以选择或取消选择每个页面; 这里也可以允许用户shell帐户访问(控制台)。
此表单顶部的搜索底部可用于快速查找正确的页面。
做出正确的选择后,单击“ Save保存”来存储新设置。
LDAP
配置
LDAP是Microsoft Active Directory,OpenLDAP和Novell eDirectory使用的轻量级目录访问协议,仅举几例。
OPNsense可以使用LDAP服务器进行身份验证以及访问(部分)图形用户界面(Web配置程序)的授权。使用LDAP作为GUI时,必须使用本地用户管理器定义权限,这样才需要从LDAP源导入用户。
在本操作方法中,我们将向您展示如何使用Microsoft Active Directory服务器进行配置。如果您只需要LDAP来获取***等服务,那么您可以跳过步骤3-5。
先决条件
需要一台配置好的LDAP服务器(示例基于MS AD)。配置OPNsense防火墙并能够访问LDAP服务器。
第1步 - 添加新的LDAP服务器
要添加新的LDAP服务器作为身份验证源,请转到System->Access->Servers ,然后单击表单上方右上角的Add server 添加服务器。
输入以下信息:
Descriptive name | ws2012 | 输入描述性名称 |
Type | LDAP | 选择LDAP |
Hostname or IP address | 10.10.10.1 | 输入LDAP服务器的IP地址 |
Port value | 389 | 输入端口号,默认为389 |
Transport | TCP - Standard | 选择标准或加密 |
Peer Certificate Authority | 使用SSL加密时,请选择CA. | |
Protocol version | 3 | 选择协议版本 |
Bind credentials | CN = testusr,CN =Users, | |
User DN: | DC = opnsense,DC =local | 输入您的凭据 |
Password: | secret | 总是使用强密码 |
Search scope | ||
Level: | Entire Subtree | 选择“整个子树”以检索所有子树 |
Base DN: | DC = opnsense,DC =local | 输入基本DN |
Authentication containers | 选择 | 单击并从列表中选择容器 |
Extended Query | &(objectClass=Person) | 将查询,限制结果扩展到人员 |
Initial Template | MicrosoftAD | 选择LDAP服务器类型 |
User naming attribute | samAccountName | 根据初始模板自动填写 |
注意:单击“ Authentication containers身份验证容器”旁边的“ 选择”按钮时,将显示下面类似的内容:
提示:该Extended Query扩展查询可用于选择谁是特定组的成员用户。可以使用以下内容: &(memberOf=CN=myGroup,CN=Users,DC=opnsense,DC=local)以仅选择组“myGroup”的成员。要在Windows下将用户添加到特定组,只需编辑组属性,然后选择添加...在“ 成员 ”选项卡下添加用户 。
第2步 - 测试
要测试服务器是否配置正确,请转至System-> Access-> Tester 并选择您的LDAP服务器并输入有效的用户名+密码。点击 测试,如果一切设置正确,它将显示:
注意:当仅限于一个组时,组名称将不会显示在列表中。
如果不是(或您输入的无效凭证),则显示:
第3步 - 导入用户
如果您希望LDAP / Active Directory用户可以访问GUI,则需要将用户导入本地用户管理器。转到System->Access->Users, 您将在表单的右下角看到云导入图标。
将向各个用户显示一个新表单,选择您要导入的表单。
第4步 - 更新ldap用户权限
现在,如果您转到System-> Access-> Users,您将看到所有用户,包括新导入的ldap用户。您可以为这些用户创建特定组,以便轻松管理权限或使用之前创建的组。
通过名称旁边的铅笔图标打开ldap用户(编辑)时,您会注意到差异,因为User Distinguished name(用户可分辨名称)将从LDAP服务器显示,如下所示:
第5步 - 更新系统访问设置
现在我们已经从LDAP服务器配置、验证和导入用户,我们需要更改默认设置以允许LDAP用户登录。
转到System->Access->Settings,将身份验证服务器从Local Database(本地数据库)更改为 新创建的LDAP服务器。将后备保留在Local Database(本地数据库)上,然后单击“ Save and Test(保存并测试)”。
测试结果应如下所示:
Radius
在v-p-n或强制门户等服务中配置Radius服务器进行用户身份验证很简单,只需转到System-> Access-> Servers,然后单击右上角的Add server。
填写表格:
Descriptive name | radius_test | 输入描述性名称 |
Type | Radius | 选择Radius |
Hostname or IP address | 10.10.10.1 | 输入Radius服务器的IP |
Shared Secret | secret | Radius服务器的共享密钥 |
Services offered | Authentication | 选择身份验证,用于强制网络门户+记帐 |
Authentication port value | 1812 | 端口号,1812是默认值 |
Authentication Timeout | 5 | Radius超时响应请求 |
要测试服务器是否配置正确,请转至System-> Access-> Tester测试Radius服务器。
如果要使用FreeRADIUS插件,请将服务器设置为127.0.0.1,并且不要忘记在FreeRADIUS配置中添加客户端。