próximo acima anterior sumário índice
Próximo: 9.2 A Funcionalidade tcpd Acima: 9. Importantes Funcionalidades de Anterior: 9. Importantes Funcionalidades de   Sumário   Índice


9.1 O Superservidor inetd

Freqüentemente, serviços são executados por programas denominados servidores. Um servidor é um programa que abre uma determinada porta e fica aguardando por solicitações de conexão. Quando uma solicitação é recebida, ele cria um processo filho, o qual trata aquela conexão específica, enquanto o processo pai continua a escutar na porta aguardando novas solicitações. Este conceito sintetiza, na sua essência e de maneira simplificada, a forma como os serviços são oferecidos em uma máquina Linux, ou seja um servidor escutando em uma porta, aguardando pedidos de conexão, o que geralmente pode significar a perda de alguns recursos de sistema, como por exemplo a área de troca.

Porém, praticamente todo sistema executa uma espécie de superservidor, o qual é capaz de criar conectores para uma série de serviços e ouvir todas as portas simultaneamente, utilizando para tanto uma chamada ao sistema denominada select(2). Quando uma máquina remota solicita algum de seus serviços, o superservidor percebe o fato e aciona o servidor específico da porta envolvida.

O superservidor normalmente utilizado é conhecido por inetd, o Servidor Internet9.2. Ele inicia a sua execução quando o sistema é inicializado, recebendo a lista de serviços a serem monitorados a partir de uma arquivo denominado /etc/inetd.conf. Além dos serviços que envolvem outros servidores, existe uma série de serviços simples que são executados pelo próprio inetd denominados serviços internos. Eles incluem a função chargen, a qual simplesmente gera uma cadeia de caracteres e a função daytime, a qual retorna o conceito do sistema da hora do dia.

Um registro neste arquivo consiste de uma linha simples composta pelos seguintes campos:



O significado dos campos é o seguinte:

Figura: Um exemplo do arquivo /etc/inetd.conf.

Um exemplo de um arquivo inetd.conf é mostrado na figura [*]. O serviço finger está comentado (contém um caracter # no início da linha), portanto não está disponível. Isso é feito com freqüência, por motivos de segurança, uma vez que ele pode ser usado por intrusos para obter nomes válidos de usuários do sistema local.

O programa tftp também é mostrado de forma comentada. tftp implementa o Protocolo Primitivo de Transferência de Arquivos9.3, o qual permite transferir qualquer arquivo legível do sistema local sem a necessidade de verificação de senhas etc. Esse serviço é especialmente perigoso quando utilizado com o arquivo /etc/passwd, o qual pode conter as senhas de todos os usuários do sistema, mesmo quando se esteja utilizando o sistema de senhas sombra.

TFTP é comumente utilizado em estações sem disco rígido ou terminais X para transferência de seu código a partir de um servidor de inicialização. Caso se necessite do serviço tftpd para esta finalidade, deve-se estar seguro de limitar o seu escopo para os diretórios onde os clientes têm seus arquivos, através da adição de seu nome à linha de comando de acionamento do servidor tftpd. Isso é mostrado na segunda linha do exemplo anterior.


próximo acima anterior sumário índice
Próximo: 9.2 A Funcionalidade tcpd Acima: 9. Importantes Funcionalidades de Anterior: 9. Importantes Funcionalidades de   Sumário   Índice
www.conectiva.com