在快速发展的技术环境中,网络安全至关重要。为了保护敏感信息并确保对资源的安全访问,组织需要强大的身份验证和授权系统。FreeRADIUS 是一种开源、高性能的远程身份验证拨入用户服务 (RADIUS) 服务器,是网络身份验证和记帐的强大解决方案。
在 Ubuntu 22.04 LTS Jammy Jellyfish 上安装 FreeRADIUS。
第 1 步。首先,通过在终端中运行以下命令,确保所有系统软件包都是最新的。apt
<span class="pln">sudo apt update sudo apt upgrade sudo apt install build</span><span class="pun">-</span><span class="pln">essential libssl</span><span class="pun">-</span><span class="pln">dev libpam0g</span><span class="pun">-</span><span class="pln">dev libtool autoconf</span>
第 2 步。在 Ubuntu 22.04 上安装 FreeRADIUS。
在本节中,我们将探讨安装 FreeRADIUS 的两种方法:使用 Ubuntu 包管理器和从源代码构建。
- A. 方法一:使用 Ubuntu 包管理器
现在继续在 Ubuntu 22.04 LTS 上安装 FreeRADIUS:
<span class="pln">sudo apt install freeradius</span>
之后,启动并启用 FreeRADIUS 服务:
<span class="pln">sudo systemctl start freeradius sudo systemctl enable freeradius</span>
- B. 方法 2:从源代码构建
从源代码构建提供自定义选项和使用最新功能的可能性:
<span class="pln">wget https</span><span class="pun">:</span><span class="com">//github.com/FreeRADIUS/freeradius-server/releases/download/release_3_2_3/freeradius-server-3.2.3.tar.gz</span><span class="pln"> tar </span><span class="pun">-</span><span class="pln">xvf freeradius</span><span class="pun">-</span><span class="pln">server</span><span class="pun">-</span><span class="lit">3.2</span><span class="pun">.</span><span class="lit">3.tar</span><span class="pun">.</span><span class="pln">gz cd freeradius</span><span class="pun">-</span><span class="pln">server</span><span class="pun">-</span><span class="lit">3.2</span><span class="pun">.</span><span class="lit">3</span>
配置和编译 FreeRADIUS:
<span class="pun">./</span><span class="pln">configure make sudo make install</span>
完成后,现在使用以下命令启动 FreeRADIUS 服务:
<span class="pln">sudo systemctl start freeradius sudo systemctl enable freeradius</span>
第 3 步。配置自由半径。
现在 FreeRADIUS 已安装,是时候根据您的网络需求对其进行配置了。
A. 基本配置:
FreeRADIUS 配置文件位于目录中。主配置文件为 ,客户端的配置位于 中。/etc/freeradius/
radiusd.conf
clients.conf
- 设置侦听地址和端口:
编辑以指定 FreeRADIUS 将侦听传入请求的 IP 地址和端口:radiusd.conf
<span class="pln">listen </span><span class="pun">{</span><span class="pln"> ipaddr </span><span class="pun">=</span> <span class="lit">127.0</span><span class="pun">.</span><span class="lit">0.1</span><span class="pln"> port </span><span class="pun">=</span> <span class="lit">1812</span> <span class="pun">}</span>
- 定义身份验证类型:
在 的部分中指定身份验证方法。modules
radiusd.conf
<span class="pln">modules </span><span class="pun">{</span> <span class="pun">...</span><span class="pln"> pap </span><span class="pun">{</span> <span class="pun">...</span> <span class="pun">}</span> <span class="pun">...</span> <span class="pun">}</span>
- 启用日志记录:
配置日志记录以监视 FreeRADIUS 活动并有效地解决问题。
B. 认证方法:
FreeRADIUS 支持各种身份验证方法。我们将配置几个示例:
- PAP(密码身份验证协议):
PAP 是一种简单的身份验证方法,但应谨慎使用,因为密码是以明文形式发送的。
<span class="pln">pap </span><span class="pun">{</span><span class="pln"> auto_header </span><span class="pun">=</span><span class="pln"> yes </span><span class="pun">}</span>
- CHAP(质询握手身份验证协议):
CHAP 提供了更安全的 PAP 替代方案,因为它使用哈希质询-响应机制。
<span class="pln">chap </span><span class="pun">{</span> <span class="pun">...</span> <span class="pun">}</span>
- EAP(可扩展身份验证协议):
EAP为各种身份验证方法(如EAP-TLS,EAP-PEAP等)提供了灵活的框架。
<span class="pln">eap </span><span class="pun">{</span> <span class="pun">...</span> <span class="pun">}</span>
第 3 步。授权和会计。
在本部分中,我们将配置授权和记帐策略,以控制对资源的访问并跟踪网络使用情况。
- 授权策略:
授权策略在文件中定义。为每个策略创建一个新部分。sites-enabled/default
<span class="pln">authorize </span><span class="pun">{</span> <span class="kwd">if</span> <span class="pun">(</span><span class="typ">User</span><span class="pun">-</span><span class="typ">Name</span> <span class="pun">==</span> <span class="str">"exampleuser"</span><span class="pun">)</span> <span class="pun">{</span><span class="pln"> update control </span><span class="pun">{</span> <span class="typ">Auth</span><span class="pun">-</span><span class="typ">Type</span> <span class="pun">:=</span> <span class="typ">Local</span> <span class="pun">}</span> <span class="pun">}</span> <span class="pun">}</span>
- 会计配置:
记帐设置可以在 中配置。sites-enabled/default
<span class="pln">accounting </span><span class="pun">{</span><span class="pln"> detail </span><span class="pun">{</span><span class="pln"> sql </span><span class="pun">}</span> <span class="pun">}</span>
第 4 步。与外部数据库集成:
为了有效地管理用户,我们可以将FreeRADIUS与MySQL或PostgreSQL等外部数据库集成。
- 安装数据库服务器和驱动程序
<span class="pln">sudo apt install mysql</span><span class="pun">-</span><span class="pln">server libmysqlclient</span><span class="pun">-</span><span class="pln">dev</span>
- 配置数据库设置
编辑该文件以指定数据库服务器的连接详细信息。mods-available/sql
<span class="pln">sql </span><span class="pun">{</span> <span class="pun">...</span><span class="pln"> driver </span><span class="pun">=</span> <span class="str">"rlm_sql_mysql"</span> <span class="pun">...</span><span class="pln"> server </span><span class="pun">=</span> <span class="str">"localhost"</span><span class="pln"> login </span><span class="pun">=</span> <span class="str">"radius"</span><span class="pln"> password </span><span class="pun">=</span> <span class="str">"your_radius_password"</span> <span class="pun">...</span> <span class="pun">}</span>
创建数据库和架构:
<span class="pln">mysql </span><span class="pun">-</span><span class="pln">u root </span><span class="pun">-</span><span class="pln">p CREATE DATABASE radius</span><span class="pun">;</span><span class="pln"> USE radius</span><span class="pun">;</span>
- 初始化自由半径数据库
<span class="pln">sudo radiusd </span><span class="pun">-</span><span class="pln">X</span>
第5步。保护自由半径:
保护 FreeRADIUS 可确保身份验证和记帐过程的完整性。
- 限制网络访问:使用防火墙和网络访问控制列表 (ACL) 限制对 FreeRADIUS 服务器的访问。
- 安全配置文件:确保目录具有适当的权限(例如,),以防止未经授权的访问。
/etc/freeradius/
chmod 640
- 实施强身份验证:强制使用需要数字证书的安全身份验证方法,如 EAP-TLS。
- 定期更新:保持警惕,并使用最新的安全补丁使FreeRADIUS和您的服务器保持最新状态。
第 6 步。故障排除和监控。
即使安装一丝不苟,也可能会出现问题。以下是一些故障排除提示:
- 检查日志:查看 FreeRADIUS 日志文件 () 中的错误消息和警告。
/var/log/freeradius/radius.log
- 在调试模式下运行:使用该标志在调试模式下运行 FreeRADIUS,以获取测试和调试期间的详细信息。
-X
- 使用 radsniff:该工具可以帮助分析 RADIUS 数据包并解决身份验证问题。
radsniff
感谢您使用本教程在 Ubuntu 系统上安装 FreeRADIUS。如需其他帮助或有用信息,我们建议您查看 FreeRADIUS 官方网站。