5.13. Tornando serviços RPC mais seguros
You should disable RPC if you do not need it.
Remote Procedure Call (RPC) is a protocol that programs can use to request services from other programs located on different computers. The portmap
service controls RPC services by mapping RPC program numbers into DARPA protocol port numbers; it must be running in order to make RPC calls.
RPC-based services have had a bad record of security holes, although the portmapper itself hasn't (but still provides information to a remote attacker). Notice that some of the DDoS (distributed denial of service) attacks use RPC exploits to get into the system and act as a so called agent/handler.
You only need RPC if you are using an RPC-based service. The most common RPC-based services are NFS (Network File System) and NIS (Network Information System). See the previous section for more information about NIS. The File Alteration Monitor (FAM) provided by the package fam is also an RPC service, and thus depends on portmap.
Os serviços NFS são muito importante em algumas redes. Se este for o caso para você, então terá que encontrar um balanceamento de segurança e usabilidade para sua rede. (Você poderá ler mais sobre a segurança em NFS no
http://www.tldp.org/HOWTO/NFS-HOWTO.html (
/usr/share/doc/HOWTO/en-txt/NFS-HOWTO.txt.gz
).)
5.13.1. Desativando completamente os serviços RPC
A desativação do portmap é bem simples. Existem diversos diferentes métodos. O mais simples no sistema Debian 3.0 e mais novos é desistalar o pacote
portmap. Se estiver executando uma versão antiga do Debian, terá que desativar o serviço como visto em
Seção 3.5.1, “Desabilitando daemons de serviço”, porque o programa é parte do pacote
net-base (que não pode ser removido sem quebrar o sistema).
Notice that some desktop environments (notably, GNOME) use RPC services and need the portmapper for some of the file management features. If this is your case, you can limit the access to RPC services as described below.
5.13.2. Limitando o acesso a serviços RPC
Infelizmente em alguns casos a remoção dos serviços RPC não é uma opção. Alguns serviços de desktop locais (notavelmente o fam da SGI) são baseados em RPC e assim precisam de um portmapper local. Isto significa que sob algumas situações, os usuários que estiverem instalando um ambiente de desktop (como o GNOME) instalarão também o portmapper.
Existem diversas formas de limitar o acesso ao portmapper e aos serviços de RPC:
Bloquear o acesso a estes serviços usando tcp wrappers, pois o portmapper (e alguns serviços RPC) são compilados com a
libwrap
(veja
Seção 4.12, “Usando os tcpwrappers”. Isto significa que você poderá bloquear o acesso a eles através do
hosts.allow
e
hosts.deny
na configuração do tcp wrappers.
Desde a versão 5-5, o pacote
portmap pode ser configurado para somente realizar conexões na interface loopback. Para fazer isto, modifique o arquivo
/etc/default/portmap
, e descomente a seguinte linha:
#OPTIONS="-i 127.0.0.1"
e reinicie o portmapper. Isto é suficiente para permitir que serviços RPC locais funcionem enquanto ao mesmo tempo evite que sistemas remotos os acessem (no entanto, veja
Seção 4.18.5, “Desativando assuntos relacionados a weak-end de máquinas”.