O termo authentication, authorization, e accounting (AAA) refere-se a uma variedade comum de features de segurança.
O método + forte de autenticação é através de TACACS+ ou RADIUS.
Quando os routers/switchs recebem o user/password enviam-no encriptado para o servidor, recebendo uma resposta accept/reject do user em causa.
RADIUS | TACACS+ | |
Scope of Encryption: packet payload or just the password | Password only | Entire payload |
Layer 4 Protocol | UDP | TCP |
Well-Known Port/IOS Default Port Used for authentication | 1812/1645* | 49/49 |
Standard or Cisco-Proprietary | RFC 2865 | Proprietary |
*Radius originally defined port 1645 as the well-known port, which was later changed to port 1812.
Usando Métodos default na Autenticação
Um conjunto de métodos de autenticação, será usado cada um por ordem até um dos métodos retornar uma resposta da autenticação, como accept/reject o user.
Uma config simples de AAA define um conjunto default de métodos de autenticação, + um segundo conjunto default de métodos de autenticação usado pelo comando enable
Os métodos default de autenticação do login aplicam-se á console, vty, e aux. Os métodos default de autenticação usados quando é utilizado o comando enable, indicam o que o IOS deve fazer quando o user digita este comando.
Descrição dos passos:
- Ativar o AAA com o comando global aaa new-model
- Definir o IP e key de encriptação para o tipo de servidor em questão: radius-server host , radius-server key, tacacs-server host , e tacacs-server key
- Definir por default o conjunto de métodos de autenticação para o acesso ao CLI usando o comando aaa authentication login default
- Definir por default o conjunto de métodos de autenticação para o acesso enable-mode usando o comando aaa authentication enable default
No exemplo seguinte, são usados 2 servidores RADIUS, um configurado com a porta default do Cisco IOS 1645 e a outra com a 1812. Com base neste pressuposto autenticação é feita da seguinte forma:
- Quando é feita uma tentativa de login, o Cisco IOS testa a autenticação usando o 1º Server RADIUS; Se não existir resposta, o IOS tenta o 2º Server. Se não existir qualquer resposta, o acesso é permitido ao user (authentication mode none)
Quando qualquer user executa o comando enable, o router tenta usar os servers RADIUS, por ordem. Se não existir qualquer resposta, o router aceita o login de um user/password local no router cisco/cisco
username cisco password 0 ciscoaaa new-model
aaa authentication enable default group radius local
aaa authentication login default group radius none
!
radius-server host 10.1.1.1 auth-port 1812 acct-port 1646
radius-server host 10.1.1.2 auth-port 1645 acct-port 1646
radius-server key cisco
!
line con 0
password cisco
line vty 0 4
password cisco
Usando Multiplos Métodos de Autenticação
O comando aaa authentication suporta até 4 métodos num único comando. Adicionalmente não existe limite do nº de servidores RADIUS/TACACS+ referenciados por grupo RADIUS/TACACS+.
A lógica do Cisco IOS usada para estes métodos é:
- Os métodos são executados por ordem segundo o comando. Quando o 1º método falha, é executado o 2º, e assim em diante. É usado o 1º método que recebe a decisão de allow ou reject
- Se o método definir um grupo de servidores, é usado o 1º da lista. Caso este não responder, são usados os seguintes de forma sequencial. É usado o 1º server que receba a decisão de allow ou reject
Se não existir nenhuma resposta para qualquer método, o request é rejeitado.
Method | Meaning |
group radius | Use the configured RADIUS servers |
group tacacs+ | Use the configured TACACS+ servers |
group name | Use a defined group of either RADIUS or TACACS+ servers |
enable | Use the enable password, based on enable secret or enable password commands |
line | Use the password defined by the password command in line configuration mode |
local | Use username commands in the local configuration; treats the username as case sensitive, but the password as case sensitive |
local-case | Use username commands in the local configuration; treats both the username and password as case sensitive |
none | No authentication required; user is automatically authenticated |
Grupos de AAA Servers
By default o Cisco IOS agrupa os servers de RADIUS e TACACS configurados em grupos, aplicando o nome de radius e tacacs+. O comando aaa authentication inclui as palavras group radius ou group tacacs+ referindo-se aos grupos default.
Pode existir a necessidade de criar grupos específicos de RADIUS/TACACS+ para diferentes fins.
!
aaa group server radius ccie
server 10.1.1.3 auth-port 1645 acct-port 1646
server 10.1.1.4 auth-port 1645 acct-port 1646
!
aaa authentication enable default group ccie local
aaa authentication login default group ccie none
A console, vty, e aux (apenas nos routers) lines podem sobrepor-se ao uso do login authentication default através do comando login authentication name.
- console—tenta usar os servers RADIUS, e usa a password definida na line caso não exista resposta
- vty— tenta usar os servers RADIUS, usa os usernames/passwords locais caso não exista resposta
- aux — tenta usar os servers RADIUS, não autentica caso não exista resposta
Após definido os diferentes métodos de authentication, é necessário aplicá-los a cada line respetiva.
aaa authentication login on-vty group radius local
aaa authentication login on-aux group radiusline con 0
password 7 PF73TGMDRQ1U
login authentication on-console
line aux 0
login authentication on-aux
line vty 0 4
password 7 PF3RUQGXMDS8
login authentication on-vty
Parabéns pelo artigo
Obrigado Adilson!