# §21.2_网络设备 认证与访问控制

LLMS index: [llms.txt](/wikis/llms.txt)

---

思科与华为是有命令语法的差异的，需要学习掌握一下。

### 认证机制


![](/wikis/_resources/%C2%A721.2_%E7%BD%91%E7%BB%9C%E8%AE%BE%E5%A4%87-%E8%AE%A4%E8%AF%81%E4%B8%8E%E8%AE%BF%E9%97%AE%E6%8E%A7%E5%88%B6/68061caa3f7697e75f6493205902daca_MD5.png)

TACACS+ （思科私有协议），RADIUS 通过网络认证，便于对数量众多的设备进行统一密钥管理。

#### TACACS+具体工作流程
TACACS+（Terminal Access Controller Access-Control System Plus）是一种网络协议，主要用于实现对网络设备和服务的集中化认证、授权和审计。以下是关于TACACS+的详细介绍：

##### 1. 基本概念
+ **定义**：TACACS+ 是一种基于 TCP 的协议，允许用户对网络设备进行身份验证、权限控制和审计日志记录。
+ **工作原理**：用户通过终端访问网络设备（如路由器、交换机等），TACACS+ 服务器验证用户身份并决定其访问权限。

##### 2. 组成部分
+ **客户端**：通常是网络设备或终端用户。
+ **TACACS+ 服务器**：负责处理身份验证请求、授权检查和生成审计日志。
+ **数据库**：可以是本地数据库或远程数据库，存储用户的身份信息和访问权限。

##### 3. 特性
+ **身份验证**：TACACS+ 支持多种身份验证机制，包括用户名/密码、令牌等。
+ **授权**：根据用户的角色和权限，控制用户能够执行的命令和访问的资源。
+ **审计**：记录用户的访问行为和命令执行情况，以便进行安全审计。
+ **加密**：与传统的 TACACS 相比，TACACS+ 在通信过程中对数据进行了加密，确保信息的安全性。

##### 4. 工作流程
1. 用户通过终端输入用户名和密码。
2. 网络设备将身份验证请求发送到 TACACS+ 服务器。
3. **TACACS+ 服务器验证用户身份，返回验证结果**。
4. 如果通过验证，服务器将返回用户的权限信息。
5. 网络设备根据权限信息控制用户的访问。

##### 5. 优势
+ **安全性高**：通过加密保护用户凭证和命令。
+ **灵活性**：支持不同的身份验证方法和策略。
+ **集中管理**：便于在多个网络设备中集中管理用户身份和权限。

##### 6. 应用场景
+ **企业网络**：大中型企业使用 TACACS+ **管理和控制员工对网络设备的访问**。
+ **数据中心**：为数据中心提供安全的身份验证和授权机制。

##### 7. 与其他协议的比较
+ **RADIUS**：TACACS+ 和 RADIUS 都用于网络身份验证，但 TACACS+ 更加专注于设备管理和命令授权，而 RADIUS 通常用于网络访问控制。
+ **TACACS**：TACACS+ 是 TACACS 的改进版，提供了更好的安全性和功能。

##### 8. 配置示例
在 Cisco 设备上，配置 TACACS+ 服务器的基本步骤如下：

```plain
aaa new-model
tacacs-server host <server_ip> key <shared_key>
aaa authentication login default group tacacs+ local
aaa authorization exec default group tacacs+ local
```

TACACS+ 是一种强大且灵活的协议，对于需要集中管理用户访问和权限的环境非常有用。如果你有特定的实施问题或者想要深入某个方面，欢迎提问！

#### 扩展：服务器层面类似的集中管控
是的，在服务器层面，有几种协议和工具可以用于对大量服务器的账号、密码和权限进行统一管理。以下是一些常用的方案：

##### 1. LDAP（轻量级目录访问协议）
+ **概述**：LDAP 是一种用于访问和维护分布式目录信息服务的协议，常用于存储用户和权限信息。
+ **功能**：
    - 提供集中化的用户身份管理。
    - 支持用户的认证和授权。
    - 常与其他协议（如 Kerberos）结合使用，以增强安全性。

##### 2. Kerberos
+ **概述**：Kerberos 是一种网络认证协议，使用对称密钥加密来提供强大的身份验证。
+ **功能**：
    - 允许用户在不需要多次输入密码的情况下，访问多个服务。
    - 常用于与 LDAP 一起，提供集中式身份验证。

##### 3. Active Directory（AD）
+ **概述**：微软的 Active Directory 是一个基于 LDAP 的目录服务，广泛用于 Windows 环境。
+ **功能**：
    - 提供用户和权限管理、组策略管理等功能。
    - 支持通过组管理权限，简化用户访问控制。

##### 4. SSO（单点登录）
+ **概述**：单点登录是一种用户认证过程，使用户能够使用一组凭据访问多个应用程序和服务。
+ **功能**：
    - 提高用户体验，减少密码管理的复杂性。
    - 常与 OAuth、SAML 等协议结合使用。

##### 5. PAM（可插拔认证模块）
+ **概述**：PAM 是一种用于 Linux 和 Unix 系统的认证框架，允许系统管理员配置认证方式。
+ **功能**：
    - 支持多种认证方式（如本地用户、LDAP、RADIUS 等）。
    - 提供灵活的权限控制。

##### 6. HashiCorp Vault
+ **概述**：Vault 是一种用于安全存储和访问凭据的工具。
+ **功能**：
    - 通过 API 管理和访问敏感信息（如数据库密码、API 密钥等）。
    - 支持动态凭据，自动生成和管理短期有效的凭据。

##### 7. Ansible、Chef 和 Puppet
+ **概述**：这些配置管理工具可以帮助自动化用户和权限的配置。
+ **功能**：
    - 通过脚本统一管理大规模服务器上的用户和权限。
    - 支持模板和版本控制，便于管理和审计。

##### 8. Identity and Access Management (IAM) 解决方案
+ **概述**：许多云服务提供 IAM 解决方案（如 AWS IAM、Azure AD），可用于集中管理用户和权限。
+ **功能**：
    - 提供细粒度的权限控制。
    - 支持基于角色的访问控制（RBAC）。

这些工具和协议可以结合使用，根据组织的需求选择合适的方案。如果你有特定的应用场景或问题，欢迎进一步探讨！

### 访问控制
带内访问：业务流量和管理流量在同一路径上运行。可能会造成网络拥堵或管理不便。

带外访问：

![](/wikis/_resources/%C2%A721.2_%E7%BD%91%E7%BB%9C%E8%AE%BE%E5%A4%87-%E8%AE%A4%E8%AF%81%E4%B8%8E%E8%AE%BF%E9%97%AE%E6%8E%A7%E5%88%B6/a9869371fbc0e261209640a26b7a0c1b_MD5.png)

该配置拒绝了远程登录，仅本地console口可以登录。

![](/wikis/_resources/%C2%A721.2_%E7%BD%91%E7%BB%9C%E8%AE%BE%E5%A4%87-%E8%AE%A4%E8%AF%81%E4%B8%8E%E8%AE%BF%E9%97%AE%E6%8E%A7%E5%88%B6/c88a22c96cc15072b1e37eafbd325464_MD5.png)

![](/wikis/_resources/%C2%A721.2_%E7%BD%91%E7%BB%9C%E8%AE%BE%E5%A4%87-%E8%AE%A4%E8%AF%81%E4%B8%8E%E8%AE%BF%E9%97%AE%E6%8E%A7%E5%88%B6/6aa6716d1ccb248d55d530015f6f11a0_MD5.png)
