s i s t e m a o p e r a c i o n a l m a g n u x l i n u x | ~/ · documentação · suporte · sobre |
Página seguinte
Página anterior
Índice
636. Segurança e NFSNão me considero um expert em segurança de computadores. Porém existem algumas sugestões importantes. É importante ressaltar que esta não é uma lista completa de todos os aspectos relacionados com segurança e caso se imagine que implementando somente estes não se poderá ter qualquer problema relacionado com o tema segurança, por favor me envie seu email que eu tenho uma ponte e desejo vendê-la.
Esta seção é provavelmente fora de questão caso se esteja em uma rede fechada onde todos os usuários são conhecidos e ninguém que não seja confiável pode acessar a rede, ou seja não há forma de discar para a rede e não há forma de conectar-se a outras redes onde existam usuários não confiáveis. Isso soa como paranóia? Não sou paranóico. Isso é somente um aviso básico de segurança. E lembre-se, o que aqui for dito é somente uma base para o tema. Um site seguro necessita de um administrador diligente e com conhecimento que consiga encontrar informações sobre problemas de segurança correntes e potenciais.
NFS é um problema básico, caso o cliente não seja informado do contrário irá confiar no servidor NFS e vice e versa. Isso pode ser ruim, pois se a senha do superusuário no servidor NFS for quebrada, a senha dos superusuários dos clientes também o será com relativa facilidade. E vice e versa. Há algumas estratégias para se evitar isso, as quais mencionaremos adiante.
Um leitura obrigatória são os avisos do CERT sobre NFS, onde muitos dos textos lidam com conselhos sobre segurança. Veja em ftp.cert.org/01-README por uma lista atualizada dos avisos CERT. Aqui estão alguns dos relacionados com NFS:
CA-91:21.SunOS.NFS.Jumbo.and.fsirand 12/06/91 Vulnerabilidade preocupa Sun Microsystems, Inc. (Sun) Sistema de Arquivos em Rede (NFS) e o programa fsirand. Estas vulnerabilidades afetam o SunOS versões 4.1.1, 4.1 e 4.0.3 em todas as arquiteturas. Atualizações estão disponíveis para SunOS 4.1.1. Uma atualização inicial para o NFS SunOS 4.1 está também disponível. Sun irá disponibilizar atualizações completas para as versões SunOS 4.1 e SunOS 4.0.3 em uma versão posterior. CA-94:15.NFS.Vulnerabilidades 12/19/94 Este aviso descreve as medidas de segurança a serem tomadas para evitar diversas vulnerabilidades do Sistema de Arquivos em Rede (NFS). Os avisos foram gerados devido ao incremento do comprometimento de superusuários através de invasores usando ferramentas que exploram estas falhas. CA-96.08.pcnfsd 04/18/96 Este aviso descreve a vulnerabilidade do programa pcnfsd (também conhecido como rpc.pcnfsd). Uma atualização está incluída.
636.1 Segurança no ClienteNo cliente, podemos decidir se desejamos ou não confiar no servidor, através de algumas opções na montagem. Por exemplo, é possível proibir programas suid a funcionarem em sistemas de arquivos NFS através da opção
636.2 Segurança no Servidor: nfsdNo servidor pode-se decidir sobre a possibilidade de confiar na conta do superusuário do cliente. Isso é definido através do uso da opção root_squash no arquivo exports:
/mn/parolin/local batel(rw,root_squash) Agora caso um usuário com número de identificação igual a 0 (UID) tentar acessar (ler, gravar, remover) o sistema de arquivos, o servidor substituirá o UID pela identificação da conta "nobody" (ninguém). Isso faz com que o superusuário da máquina cliente não possa acessar arquivos ou executar mudanças autorizadas somente para o superusuário do servidor. Isso é aconselhável e provavelmente deva-se usar
root_squash é na verdade o padrão do nfsd do Linux. Para permitir acesso a um sistema de arquivos como superusuário deve-se usar a opção
Outro aspecto importante é garantir que o nfsd verifique que todas as requisições são provenientes de uma porta autorizada. Caso se aceite requisições de qualquer porta antiga de um usuário sem privilégios especiais, torna-se simples acessar o sistema de arquivos através da Internet, por exemplo. Basta usar o protocolo nfs e identificar-se como qualquer usuário que se deseje. Ooopss. O nfsd do Linux realiza esta verificação por padrão, em outros sistemas operacionais deve-se habilitar esta opção. Isso deverá estar descrito na página de manual do servidor nfs do sistema.
Um dado adicional. Nenhum sistema de arquivo deve ser exportado para o 'localhost' ou 127.0.0.1. Acredite em mim.
636.3 Segurança no Servidor: o portmapperO portmapper básico em combinação com nfsd tem um problema de desenho que torna possível obter arquivos em servidores NFS sem a necessidade de quaisquer privilégios. Felizmente o portmapper do Linux é relativamente seguro contra este tipo de ataque, o que pode ser evitado através da configuração de uma lista de acessos em dois arquivos,
Inicialmente editaremos o
portmap: ALL através da qual o acesso será bloqueado para todos os cliente. Isto talvez seja um pouco drástico, então podemos tornar as definições um pouco mais maleáveis através da edição do arquivo
portmap: 129.240.223.0/255.255.255.0 no arquivo
... eth0 Link encap:10Mbps Ethernet HWaddr 00:60:8C:96:D5:56 inet addr:129.240.223.254 Bcast:129.240.223.255 Mask:255.255.255.0 UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:360315 errors:0 dropped:0 overruns:0 TX packets:179274 errors:0 dropped:0 overruns:0 Interrupt:10 Base address:0x320 ... e
Tabela de Roteamento do Kernel Destinação Cam.Padrão Máscara Indics Métrica Ref Uso Iface ... 129.240.223.0 0.0.0.0 255.255.255.0 U 0 0 174412 eth0 ... o endereço de rede na primeira coluna. Os arquivos
IMPORTANTE: não coloque nada exceto ENDEREÇOS IP nas linhas do portmap nestes arquivos. Pesquisas por nomes podem indiretamente causar atividade do portmap o qual acionará a pesquisa de nomes de máquinas a qual indiretamente irá causa atividade no portmap.,
As sugestões acima certamente deixarão o servidor mais seguro. As questões restantes residem em alguém que tenha descoberto a senha do superusuário (ou inicializando um MS-DOS) em uma máquina confiável e usando este privilégio para enviar requisições a partir de uma porta segura como qualquer outro usuário real.
636.4 NFS e FirewallsÉ uma boa idéia proteger o servidor nfs e as portas portmap no roteador ou no firewall. O nfsd opera normalmente na porta 2049, nos protocolos udp e tcp. O portmapper na porta 111, tcp e udp e o mountd na porta 745 e 747, tcp e udp. Estas informações devem ser checadas através do comando
Por outro lado, caso se deseje permitir o acesso ao NFS através de um firewall, há opções em programas mountd e nfsd mais recentes que permitem o uso específico e não padronizado de portas que podem ser abertas através de um firewall.
636.5 ResumoCaso se utilize hosts.allow/deny, root_squash, nosuid e funcionalidades de portas privilegiadas para os softwares portmapper e nfs pode-se evitar muitos dos problemas atualmente conhecidos sobre segurança e pode sentir-se quase seguro sobre estes problemas no mínimo. Porém há mais ainda: quando um intruso tem acesso à rede, ele pode incluir comandos estranhos nos arquivos
NFS e o portmapper criam um subsistema complexo e adicionalmente há problemas que são descobertos e que devem ser solucionados, além da necessidade de se ter em mente o desenho básico de implementação a ser usado. Para estar ciente do que está ocorrendo pode acessar o grupo de notícias comp.os.linux.announce e comp.security.announce eventualmente.
Página seguinte Página anterior Índice |