Como desativar o case sensitive no Freeradius com PostgreSQL

Publicado por thomaz alberto em 31/05/2017

[ Hits: 4.092 ]

 


Como desativar o case sensitive no Freeradius com PostgreSQL



Case sensitive acontece com o Freeradius + Postgres porque as queries ATIVAS para o postgre que estão no arquivo de configuração "queries.conf" do Freeradius foram feitas da maneira mais simples possível (defalt), com isso, o login de usuário cliente para logar fica idêntico ao que está no banco, fazendo com que o usuário tenha que respeitar maiúsculas e minúsculas.

Alguns captives portal não tratam isso, e o celular dos clientes às vezes preenchem com letra maiúsculas no campo login, gerando reclamações desnecessárias por parte dos clientes.

Diante da necessidade de modificar isso de uma maneira facilitada, temos os exemplos no arquivo original que precisariam ser descomentados (ou seja, retirado o caractere "#" do início da linha), bem como os trechos do código que estão ativos (linhas que não comecem com o caractere "#") precisariam ser comentados.

Porem é um RISCO ter que analisar quais linhas precisam (podem) ou não ser comentadas ou descomentadas, minha dica facilita fazer isso mais rápido e ter o mesmo efeito mexendo no código que já está ativo (descomentado).

A minha versão do freeradius é a 3 do repositório do CentOS.

Para que possamos modificar as queries é muito simples, conhecimento em posgres, mas pra quem não sabe ou não pensou nessa solução de "como desativar case sensitive no radius com banco de dados postgre" é o público alvo da minha dica.

Primeiro passo é modificar algumas queries no arquivo "queries.conf".

Pra quem não sabe onde está o arquivo, pode ser encontrado com o comando:

# find /etc -name queries.conf | grep main\/postgresql

ou somente:

# find /etc -name queries.conf | grep postgres

Lembrando que tem que ser o principal, algumas versões podem ter mais de um arquivo de configuração com nome "queries.conf", que também é o caso da minha versão.

No meu caso, como é no CentOS, apareceu esta linha após o comando acima:

/etc/raddb/mods-config/sql/main/postgresql/queries.conf

Obs.: fazer o backup desse arquivo antes com o comando cp.

Após entrar com algum editor de texto, pra facilitar, por exemplo, o nano, troque todas ocorrências do código:

Username='%{SQL-User-Name}'

por:

Username ILIKE'%{SQL-User-Name}'

lembrando que ILIKE pode ser minúsculo (ilike), maiúsculo apenas mantém o padrão do código.

Exemplo abaixo é de um antes e depois da modificação do trecho do código:

Antes:

authorize_check_query = "\
        SELECT id, UserName, Attribute, Value, Op \
        FROM ${authcheck_table} \
        WHERE Username = '%{SQL-User-Name}' \
        ORDER BY id"

Depois:

authorize_check_query = "\
        SELECT id, UserName, Attribute, Value, Op \
        FROM ${authcheck_table} \
        WHERE Username ILIKE'%{SQL-User-Name}' \
        ORDER BY id"

Email para contato: thomaz.tecnico @ gmail.com

Outras dicas deste autor

Nagios - Script de instalação para Debian

myip - Comando que retorna somente o IP

Script para adicionar hosts no Nagios

Leitura recomendada

Recuperando o GRUB no Ubuntu Linux

Compilação do M64Py à partir do código-fonte no Debian 10 "Buster"

Locales no Slackware

O que fazer após instalar Xubuntu 21.04

Configurando a ATI Radeon em um notebook Asus no Debian

  

Comentários

Nenhum comentário foi encontrado.



Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts