Biometria: Transforme-se no usuário root com sua impressão digital

O comando su/sudo no sistema operacional GNU/Linux atribui ao usuário os poderes de administrador do sistema. Neste documento veremos como elevar a segurança incluindo a tecnologia biométrica de impressão digital junto à senha para obter poderes administrativos.

[ Hits: 25.376 ]

Por: Alessandro de Oliveira Faria (A.K.A. CABELO) em 07/07/2009 | Blog: http://assuntonerd.com.br


Introdução: Autenticação Biométrica e o usuário root



Autenticação biométrica

As maneiras de autenticação de identidade podem ser realizadas através da apresentação de algo que o usuário saiba, através de algo sobre a posse do usuário (token) ou através de uma característica física mensurável.

O uso da biometria como método de autenticação é uma realidade em diversos segmentos mercadológicos. A tecnologia está tornando-se tão comum como as senhas e códigos PIN, porém sem a necessidade de memorização de código e preocupação com a facilidade da dedução ou quebra por tentativas computacionais.

A biometria é uma característica do indivíduo que está sempre consigo, diferente dos tokens identificadores que necessitam de transporte, assim desta maneira, sendo facilmente roubados ou esquecidos, não apresentando uma maneira eficaz de controlar quem exatamente está apresentando determinado identificador.

A biometria exige a presença do usuário no ponto de identificação devido a sua base em características fisiológicas, o que aumenta a garantia de sucesso, credibilidade e segurança no momento da identificação.

O usuário root e administração do sistema

Linux: Biometria: Transforme-se no usuário root com a sua impressão digital. O sistema operacional GNU/Linux entende o usuário root como uma conta especial, ou seja, se o usuário em questão possuir o UID igual a 0, o mesmo terá poderes para alterar qualquer configuração do sistema.

Tanto poder deve somente ser utilizado nas tarefas onde usuários convencionais não possuem privilégios para tal situação. Logado como usuário convencional não é possível causar danos acidentalmente ao sistema operacional.

Portanto devemos atribuir uma senha de difícil dedução, assim evitando/facilitando o acesso a pessoas indevidas ao usuário root. Também é recomendável alterar a senha periodicamente, existem diversos utilitários para geração aleatória de senhas fortes (mais de 8 caracteres, letras maiúsculas, minúsculas e números).

O su e o comando sudo

Em diversas situações precisamos executar uma tarefa ou comando permitido apenas ao usuário root. Um opção eficaz e segura é utilizar o comando su ou sudo.

Ao digitar o comando su no terminal, será solicitada a senha do usuário root. Logo a seguir todas as operações podem ser efetuadas como usuário administrador. Ao término basta executar o comando exit e voltaremos a operar com o login utilizado anteriormente.

O comando sudo é um recurso similar, porém interessante e mais abrangente, pois é possível definir quais usuários poder utilizá-lo. Detalhes sobre o comando SU/SUDO não são o escopo deste texto, sendo assim sugiro algumas pesquisas na internet para mais informações.

A biblioteca fprint

O pacote fprint é o sonho de todo desenvolvedor de código aberto. O kit de integração permite o desenvolvimento de processos de identificação e verificação de impressões digitais. Um dos pontos fortes nesta solução open source é a compatibilidade com diversos modelos de sensores disponíveis no mercado.

    Próxima página

Páginas do artigo
   1. Introdução: Autenticação Biométrica e o usuário root
   2. Download e instalação
Outros artigos deste autor

KDE Connect: Integrando o ambiente Android com o desktop Linux

STEPMANIA: Transforme seu PC com GNU/LINUX em uma máquina Dance Dance Revolution

Artigo número 100: AR.Drone - O robô voador com Linux embarcado

Faça um incrível espetáculo de efeitos visuais com vídeo em tempo real

Dia: O Editor de diagrama (Microsoft Visio) para Linux

Leitura recomendada

Monitoramento utilizando Centreon 2.4.5 + Nagios 3.5.1 + CentOS 6.5

Solução de PaaS Brasileiro - Docker, Shell Script e Golang

Criando um web álbum

Ginga-NCL no Ubuntu 10.04

Modelos de Negócio para o Software Livre

  
Comentários
[1] Comentário enviado por removido em 07/07/2009 - 15:56h

Como sempre um ótimo artigo.

[2] Comentário enviado por sandromt em 07/07/2009 - 16:38h

Parabéns por mais essa artigo, quando se ler Biometria no VOL ja se sabe que é o Cabelo com seus projetos excelentes....valeu!!!!!!!!

[3] Comentário enviado por asdf2 em 07/07/2009 - 16:51h

ficou muito massa, vale 10, foi pro favoritos.

[4] Comentário enviado por araujo_silva em 07/07/2009 - 19:00h

Parabéns pela sua, sempre muito importante, contribuição ao nosso aprendizado.

Abraços,

Lourival

[5] Comentário enviado por chmod000 em 08/07/2009 - 14:37h

Mais um excelente artigo de nosso amigo.

Seria interessante uma lista (ou alguns exemplos) de dispositivos compatíveis disponíveis no mercado.

Grande abraço.

chmod000

[6] Comentário enviado por hendrigo em 08/07/2009 - 17:19h

vc sabe como ficaria uma implementação de biometria com OpenLDAP?

[7] Comentário enviado por tjpp em 08/07/2009 - 17:31h

Eu tentei usar o fprint no leitor do meu notebook. Eu achei a margem de acertos pequena. Depois instalei o thinkfinger em um Lenovo e a margem de acerto era bem maior. Uma diferença chama a atenção: o thinkfinger pede que passe o dedo três vezes (pelo menos) para registrar e o fprint apenas uma. Para mim, a diferença é óbvia, mas não sei porque ninguém mais se interessou por isto.

Só para registrar, nos 30 únicos minutos em que usei o Vista, o leitor funcionava perfeitamente (lá também pedia o cadastramento em três vezes).

[8] Comentário enviado por Teixeira em 09/07/2009 - 07:13h

Mais uma vez o cabelo nos surpreende com um ótimo artigo. Parabéns!

[9] Comentário enviado por ebernardino em 17/07/2009 - 11:15h

Espero que este tutorial ajude também. Segue Link: http://ostrecosdeti.com.br/wordpress/2008/11/12/instalando-o-leitor-biometrico-dos-notebooks-hp-pavi...

[10] Comentário enviado por gregory em 27/07/2009 - 18:13h

não esta dando certo instalar a biblioteca.

apos o comando ./configure ele checa varias coisas e quando chega para chegar a libusb aparece essa mensagem:

checking for LIBUSB... configure: error: Package requirements ("libusb") were not met:

No package 'libusb' found

Consider adjusting the PKG_CONFIG_PATH environment variable if you
installed software in a non-standard prefix.

Alternatively, you may set the environment variables LIBUSB_CFLAGS
and LIBUSB_LIBS to avoid the need to call pkg-config.
See the pkg-config man page for more details.


onde pego essa lib?

obrigado

[11] Comentário enviado por gregory em 27/07/2009 - 18:20h

com o comando yum install libusb aparece a seguinte mensagem:

Configurando o processo de instalação
O pacote libusb-0.1.12-21.fc11.i586 já está instalado em sua última versão

[12] Comentário enviado por ZiroCool em 02/08/2009 - 00:17h

Quando executo o ./configure, tenho a seguinte mensagem de erro:

checking security/pam_modules.h usability... no
checking security/pam_modules.h presence... no
checking for security/pam_modules.h... no
configure: error: PAM headers missing


Não tá achando os arquivos de cabeçalho no arquivo disponibilizado no artigo. =/

[13] Comentário enviado por meken em 23/02/2011 - 17:42h

O meu Está aparecendo essa mensagem de erro após o comando Make, Estou usando Slackware 13.1

root@mknote:/usr/src/panfprint/pam_fprint-0.2# make
Making all in src
make[1]: Entering directory `/usr/src/panfprint/pam_fprint-0.2/src'
gcc -I/usr/local/include/libfprint -g -O2 -o pam_fprint_enroll pam_fprint_enroll-pam_fprint_enroll.o -L/usr/local/lib -lfprint
/usr/lib/libMagickCore.so.3: undefined reference to `DrawPathStart'
/usr/lib/libMagickCore.so.3: undefined reference to `DrawSetViewbox'
/usr/lib/libMagickCore.so.3: undefined reference to `DrawSetFont'
/usr/lib/libMagickCore.so.3: undefined reference to `DrawSetStrokeColor'
/usr/lib/libMagickCore.so.3: undefined reference to `DrawColor'
/usr/lib/libMagickCore.so.3: undefined reference to `DrawPopPattern'
/usr/lib/libMagickCore.so.3: undefined reference to `DrawSetFillPatternURL'
/usr/lib/libMagickCore.so.3: undefined reference to `DrawSetStrokeDashArray'
/usr/lib/libMagickCore.so.3: undefined reference to `DrawAllocateWand'
/usr/lib/libMagickCore.so.3: undefined reference to `PushDrawingWand'
/usr/lib/libMagickCore.so.3: undefined reference to `DrawPathClose'
/usr/lib/libMagickCore.so.3: undefined reference to `PixelSetRedQuantum'
/usr/lib/libMagickCore.so.3: undefined reference to `DrawScale'
/usr/lib/libMagickCore.so.3: undefined reference to `DrawSetTextUnderColor'
/usr/lib/libMagickCore.so.3: undefined reference to `DrawLine'
/usr/lib/libMagickCore.so.3: undefined reference to `PopDrawingWand'
/usr/lib/libMagickCore.so.3: undefined reference to `DestroyPixelWand'
/usr/lib/libMagickCore.so.3: undefined reference to `DrawSetFontSize'
/usr/lib/libMagickCore.so.3: undefined reference to `DrawTranslate'
/usr/lib/libMagickCore.so.3: undefined reference to `DrawPathMoveToAbsolute'
/usr/lib/libMagickCore.so.3: undefined reference to `DrawAnnotation'
/usr/lib/libMagickCore.so.3: undefined reference to `DrawSetStrokeAntialias'
/usr/lib/libMagickCore.so.3: undefined reference to `DrawPushDefs'
/usr/lib/libMagickCore.so.3: undefined reference to `DrawPathFinish'
/usr/lib/libMagickCore.so.3: undefined reference to `DestroyMagickWand'
/usr/lib/libMagickCore.so.3: undefined reference to `DrawRoundRectangle'
/usr/lib/libMagickCore.so.3: undefined reference to `DrawPopDefs'
/usr/lib/libMagickCore.so.3: undefined reference to `PixelSetQuantumColor'
/usr/lib/libMagickCore.so.3: undefined reference to `DrawSetFillColor'
/usr/lib/libMagickCore.so.3: undefined reference to `DrawComposite'
/usr/lib/libMagickCore.so.3: undefined reference to `DrawSetClipPath'
/usr/lib/libMagickCore.so.3: undefined reference to `DrawRender'
/usr/lib/libMagickCore.so.3: undefined reference to `DrawEllipse'
/usr/lib/libMagickCore.so.3: undefined reference to `DrawComment'
/usr/lib/libMagickCore.so.3: undefined reference to `DrawPathLineToAbsolute'
/usr/lib/libMagickCore.so.3: undefined reference to `PixelSetBlueQuantum'
/usr/lib/libMagickCore.so.3: undefined reference to `DrawSetStrokeLineJoin'
/usr/lib/libMagickCore.so.3: undefined reference to `DrawPushPattern'
/usr/lib/libMagickCore.so.3: undefined reference to `PixelSetColor'
/usr/lib/libMagickCore.so.3: undefined reference to `DrawPushClipPath'
/usr/lib/libMagickCore.so.3: undefined reference to `DrawSetStrokeLineCap'
/usr/lib/libMagickCore.so.3: undefined reference to `DrawArc'
/usr/lib/libMagickCore.so.3: undefined reference to `NewMagickWandFromImage'
/usr/lib/libMagickCore.so.3: undefined reference to `PixelSetOpacityQuantum'
/usr/lib/libMagickCore.so.3: undefined reference to `DrawPopClipPath'
/usr/lib/libMagickCore.so.3: undefined reference to `DrawSetClipRule'
/usr/lib/libMagickCore.so.3: undefined reference to `NewPixelWand'
/usr/lib/libMagickCore.so.3: undefined reference to `DrawRotate'
/usr/lib/libMagickCore.so.3: undefined reference to `DrawRectangle'
/usr/lib/libMagickCore.so.3: undefined reference to `DestroyDrawingWand'
/usr/lib/libMagickCore.so.3: undefined reference to `DrawSetStrokeWidth'
/usr/lib/libMagickCore.so.3: undefined reference to `DrawPathEllipticArcAbsolute'
/usr/lib/libMagickCore.so.3: undefined reference to `DrawSetStrokePatternURL'
/usr/lib/libMagickCore.so.3: undefined reference to `PixelSetGreenQuantum'
collect2: ld returned 1 exit status
make[1]: *** [pam_fprint_enroll] Error 1
make[1]: Leaving directory `/usr/src/panfprint/pam_fprint-0.2/src'
make: *** [all-recursive] Error 1
root@mknote:/usr/src/panfprint/pam_fprint-0.2#


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor HostGator.
Linux banner
Linux banner
Linux banner

Artigos

Dicas

Viva o Android

Tópicos

Top 10 do mês

Scripts