Next Previous Contents

2. O xhost

O xhost � o mecanismo mais simples e potencialmente o mais danoso de permitir acesso a um servidor X.

O princ�pio de funcionamento do xhost � simples: o X mant�m uma lista de hosts que tem permiss�o de conectar aplicativos a si. Quando um host � acrescentado � lista, qualquer aplicativo daquele host pode ser conectado ao seu servidor X.

Por exemplo, para permitir que os aplicativos de myotherhost.example.org possam se conectar ao nosso servidor X, executamos a seguinte linha de comando:

$ xhost +myotherhost.example.org
                
Com esta linha de comando, podemos iniciar um aplicativo em myotherhost.example.org e apresentar a tela do mesmo no nosso servidor. Supondo que o nome de nosso host fosse myhost.example.org, bastaria uma seq��ncia do tipo:
myhost$ telnet myotherhost.example.org
username: eumesmo
password:
myotherhost$ export DISPLAY=myhost.example.org:0.0
myotherhost$ /usr/X11R6/bin/xeyes &
                

O que o exemplo faz � simples: abre uma conex�o telnet para myotherhost.example.org, configura a vari�vel $DISPLAY de acordo, e inicia o xeyes. Os ``olhos'' ir�o aparecer em nossa tela em myhost.example.org, e ser�o uma lembran�a que o host remoto est� nos espiando...

2.1 Modos de usar

O xhost pode ser usado de quatro formas: sem nenhum par�metro, ele apresenta a lista de servidores que tem permiss�o para conectar-se ao nosso servidor X, e informa se a prote��o por xhost est� habilitada ou desabilitada:

$ xhost
access control enabled, only authorized clients can connect
INET:myotherhost.example.org
                        
O exemplo acima mostra o resultado ap�s termos acrescentado o host myotherhost.example.org � lista de hosts permitidos do xhost.

Uma vez acrescentado o host, podemos retirar o mesmo da lista de controle de acesso do xhost usando a mesma linha de comando que usamos para acrescentar o host, apenas trocando o ``+'' por um ``-'':

$ xhost -myotherhost.example.org
myotherhost.example.org being removed from access control list
                        
A partir deste momento, os clientes de myotherhost.example.org n�o tem mais permiss�o para se conectar ao nosso servidor X.

Podemos tamb�m abrir completamente o nosso servidor, fazendo com que o mesmo aceite conex�es de qualquer host:

$ xhost +
access control disabled, clients can connect from any host
                        
Imediatamente o xhost nos alerta para o fato que o controle de acesso est� desabilitado, e que clientes de qualquer host podem se conectar ao noso servidor X.

Finalmente, podemos restabelecer o controle de acesso:

$ xhost -
access control enabled, only authorized clients can connect
                        
A partir deste momento, a lista que t�nhamos passa a valer novamente. Se algu�m duvida, execute um xhost...

2.2 Seguran�a do xhost

O leitor atento ter� percebido que, quando acrescentamos o nome do host que poderia fazer conex�es ao nosso X, n�o especificamos o usu�rio que poderia faz�-lo. Qual usu�rio do host remoto ter� permiss�o para se conectar ao nosso host? Todos. � isto mesmo, todos os usu�rios que estiverem conectados no host remoto poder�o conectar-se ao nosso X a partir do host remoto.

Imagine agora que voc� est� sossegado digitando um texto quando o fundo de tela muda para uma figura ou fotografia desagrad�vel. A culpa � nossa mesmo: deixamos o nosso X aberto para qualquer usu�rio daquele host remoto, e algu�m resolveu animar a nossa janela, usando o comando xloadimage(1x) para isto. Para quem consegue ler e entender uma p�gina man, isto � brincadeirinha...

Outros abusos poss�veis incluem o dump da tela em um arquivo, com uma imagem de todo trabalho que estamos fazendo; e a carga de um logger de teclas, e o usu�rio remoto s� tem que ficar atento para algo que se pare�a com um login/senha...

Uma maneira simples de evitar estes abusos � agir rapidamente: usar o xhost +host para dar permiss�o de acesso, abrir o cliente remoto, e imediatamente ap�s, executar um xhost -host para desabilitar o acesso. A desabilita��o n�o vai afetar as conex�es j� estabelecidas, mas ir� impedir novas conex�es. � claro que entre a habilita��o e a desabilita��o pode acontecer muita coisa...


Next Previous Contents
Hosted by www.Geocities.ws

1