• pgsql_auth

    Assim como seu primo mysql_auth, o pgsql_auth foi feito para autenticação de usuários em servidores Web-proxy Squid com base de dados PostgreSQL. A última versão pode ser baixada aqui:

    pgsql_auth-2.1.tar.gz (MD5SUM 09404672c65318bfe6e42e94d9a90f5b).

    Importante lembrar que ter o PostgreSQL cliente no servidor é necessário para compilação e funcionamento da ferramenta.

    Compilar e instalar

    tar xvf pgsql_auth-2.1.tar.gz
    cd pgsql_auth-2.1
    ./configure --prefix=/usr/libexec --tools=/usr/bin --sysconfdir=/etc
    make
    make install
    make install-config
    

    PostgreSQL

    Criar usuário e base de dados para guardar as informações de usuários:

    su postgres -c 'createuser -E -S -D -R -P squid'
    Enter password for new role:
    Enter it again:
    su postgres -c 'createdb -O squid squid'
    

    Agora é só criar a tabela de usuários usanto o script schema.sql:

    psql -Usquid < schema.sql
    

    Configurar o pgsql_auth

    Editar o arquivo de configuração que foi instalado, neste exemplo, em /etc/pgsql_auth.conf. O template está comentado. Basta alterar de acordo com suas necessidades.

    Adicionar e modificar usuários

    Juntamente com o autenticador, são instaladas ferramentas para administração dos usuários. São 3 programas: pgauser, pgamod e pgaview. Na mesma ordem, eles servem para criar, modificar e visualizar os usuários cadastrados na base de dados.

    Adicionar e remover um usuário é simples, basta seguir o modelo ou usar o argumento –help:

    # Adicionar
    pgausers -a -u eduardo -p minhasenha
    # Remover
    pgausers -r -u eduardo
    

    A modificação permite ative/desativar usuário e alterar senha:

    # Ativar
    pgamod -a -u eduardo
    # Desativar
    pgamod -d -u eduardo
    # Trocar senha
    pgamod -p novasenha -u eduardo
    

    A visualização pode ser da base inteira ou filtrando pelo usuário:

    # Tudo
    pgaview
    # Com filtro
    pgaview eduardo
    

    Configuração do Squid

    Para habilitar a autenticação, edite o arquivo squid.conf acrescentando o seguinte:

    auth_param basic program /usr/libexec/pgsql_auth
    auth_param basic children 5
    auth_param basic realm Web-Proxy
    auth_param basic credentialsttl 1 minute
    
    acl db-auth proxy_auth REQUIRED
    http_access allow db-auth
    http_access allow localhost
    http_access deny all