NIS significa Serviço de Informações de Rede (Network Information Service). É um serviço RPC chamado ypserv que é usado em conjunto com o portmap e outros serviços relacionados, para distribuir mapas de nomes de usuário, senhas e outras informações importantes para qualquer computador que queira estar em seu domínio.
Um servidor NIS é composto de diversas aplicações. Elas incluem as seguintes:
/usr/sbin/rpc.yppasswdd — Também chamado de serviço yppasswdd, esse daemon permite a usuários alterarem suas senhas NIS.
/usr/sbin/rpc.ypxfrd — Também chamado de serviço ypxfrd, esse daemon é responsável pelas transfências de mapa NIS através da rede.
/usr/sbin/yppush — Essa aplicação amplia bancos de dados NIS alterados para servidores NIS múltiplos.
/usr/sbin/ypserv — Este é o servidor daemon do NIS.
NIS é bastante inseguro para os padrões de hoje. Não tem mecanismo de autenticação da máquina e passa toda a sua informação sem criptografia através da rede, incluindo uma gama de senhas. Como resultado, tenha muito cuidado ao configurar uma rede que usa NIS. Para complicar ainda mais, a configuração default do NIS é essencialmente insegura.
É recomendado a qualquer um planejando implementar um servidor NIS, primeiro proteger o serviço portmap conforme descrito na Seção 5.2, e então resolver as seguintes questões.
Como o NIS passa informações delicadas sem criptografia através da rede, é importante que o serviço seja executado por trás de um firewall e numa rede segmentada e segura. Toda vez que informações do NIS são passadas através de uma rede insegura, seus riscos estão sendo interceptados. Um planejamento cuidadoso da rede neste aspecto pode ajudar a prevenir sérias violações à segurança.
Qualquer máquina com um domínio NIS pode usar comandos para extrair informações do servidor sem autenticação, desde que o usuário saiba o o nome da máquina DNS e o nome de domínio NIS do servidor.
Por exemplo: se alguém conectar um laptop a uma rede ou violar a rede por fora (e conseguir roubar um endereço IP), o seguinte comando revela o mapa de /etc/passwd:
ypcat -d <NIS_domain> -h <DNS_hostname> passwd |
Se este atacante for um usuário root, poderá obter o arquivo /etc/shadow digitando o seguinte comando:
ypcat -d <NIS_domain> -h <DNS_hostname> shadow |
![]() | Nota |
---|---|
Se o Kerberos for usado, o arquivo /etc/shadow não estará armazenado em um mapa NIS. |
Para dificultar o acesso aos mapas NIS a um atacante, crie uma série randômica de caracteres para o nome da máquina DNS, tal como o7hfawtgmhwg.domain.com. Similarmente, crie um nome diferente de domínio NIS randomizado . Isto dificulta bastante um atacante de acessar o servidor NIS.
O NIS escuta todas as redes caso o arquivo /var/yp/securenets esteja em branco ou não exista (como é o caso após uma instalação default). Uma das primeiras coisas a fazer é colocar uma máscara de rede/'network pairs' no arquivo de modo que ypserv somente responda aos pedidos da rede apropriada.
Veja abaixo um exemplo de entrada de um arquivo /var/yp/securenets:
255.255.255.0 192.168.0.0 |
![]() | Alerta |
---|---|
Nunca inicie um servidor NIS pela primeira vez sem criar o arquivo /var/yp/securenets. |
Essa técnica não oferece proteção contra ataque de spoofing de IP, mas pelo menos impõe limites a quais redes o servidor NIS serve.
Todos os servidores relacionados ao NIS podem ter portas específicas, exceto o rpc.yppasswdd — o daemon que permite a usuários alterarem suas senhas de autenticação (login). Determinar portas para os outros dois daemons do servidor NIS, rpc.ypxfrd e ypserv, permite criar regras de firewall para proteger futuramente os daemons do servidor NIS contra intrusos.
Para fazer isto, adicione as seguintes linhas a /etc/sysconfig/network:
YPSERV_ARGS="-p 834" YPXFRD_ARGS="-p 835" |
As seguintes regras do IPTables podem ser determinadas para reforçar a qual rede o servidor escuta para estas portas:
iptables -A INPUT -p ALL -s! 192.168.0.0/24 --dport 834 -j DROP iptables -A INPUT -p ALL -s! 192.168.0.0/24 --dport 835 -j DROP |
![]() | Dica |
---|---|
Consulte o Capítulo 7 para mais informações sobre a implementação de firewalls com comandos do IPTables. |
Uma das desvantagens mais gritantes ao usar NIS para autenticação é que sempre que um usuário se autentica (log in) em uma máquina, uma senha com caracteres misturados é enviada do mapa /etc/shadow através da rede. Se um intruso obtiver acesso a um domínio NIS e bisbilhotar o tráfego de rede, essas misturas de nomes de usuários e senhas podem ser discretamente coletadas. Com tempo suficiente, um programa de cracking de senha pode adivinhar senhas fáceis e um atacante pode obter acesso a uma conta válida na rede.
Como o Kerberos usa criptografia de chave secreta, as misturas de senha nunca são enviadas através da rede, tornando o sistema bem mais seguro. Para saber mais sobre o Kerberos, consulte o capítulo entitulado Kerberos no Guia de Referência do Red Hat Enterprise Linux.