Product SiteDocumentation Site

5.13. Rendere sicuri i servizi RPC

Disabilitate RPC se non ne fate uso.
RPC (Remote Procedure Call) è un protocollo che i programmi possono utilizzare per richiedere servizi da altri programmi che si trovano su computer diversi da quello locale. Il servizio portmap controlla i servizi RPC mediante la combinazione della numerazione assegnata ai programmi RPC con i numeri delle porte assegnate dal protocollo DARPA. RPC deve essere in esecuzione per eseguire chiamate RPC.
I servizi basati su RPC hanno avuto un pessimo record circa i buchi di sicurezza, anche se non portmapper stesso (nonostante fornisca informazioni ad un attaccante remoto). Notate che alcuni degli attacchi DDoS (Distributed Denial of service) utilizzano exploit RPC per accedere al sistema ed agire come un cosiddetto agente/gestore.
RPC vi occorre solamente se state utilizzando un servizio basato su RPC. I servizi più comuni basati su RPC sono NFS (Network File System) e NIS (Network Information System). Vedete la sezione precedente per maggiori informazioni riguardo NIS. Anche il FAM (File Alteration Monitor) fornito dal pacchetto fam è un servizio RPC, che dipende da portmap.
I servizi NFS sono abbastanza importanti in alcune reti. Se è il vostro caso, allora occorre trovare un bilanciamento tra la sicurezza e l'usabilità della vostra rete (potete leggere di più riguardo la sicurezza di NFS nel http://www.tldp.org/HOWTO/NFS-HOWTO.html (/usr/share/doc/HOWTO/en-txt/NFS-HOWTO.txt.gz)).

5.13.1. Disabilitare completamente i servizi RPC

Disabilitare portmap è abbastanza semplice, ci sono diversi metodi. Il più semplice in un sistema Debian 3.0 e successivi rilasci è quello di disinstallare il pacchetto portmap. Se state eseguendo una versione più vecchia di Debian dovrete disabilitare il servizio come avete visto in Sezione 3.5.1, «Disabilitare i servizi attivi in modalità demone», perché il programma è parte del pacchetto netbase (che non può essere disinstallato senza danneggiare il sistema).
Notate che alcuni ambienti desktop, in particolare GNOME, utilizzano i servizi RPC ed hanno bisogno di portmap per alcune delle loro funzionalità di gestione file. Se è il vostro caso, potete limitare l'accesso ai servizi RPC come descritto sotto.

5.13.2. Limitare l'accesso ai servizi RPC

Sfortunatamente, in alcuni casi rimuovere i servizi RPC dal sistema non rappresenta una soluzione. Alcuni servizi locali in ambito desktop (come fam di SGI) sono basati su RPC e necessitano di un portmapper locale. Questo significa che in alcune situazioni, utenti che installano un ambiente desktop (ad esempio GNOME) installerano anche portmapper.
Ci sono diversi modi per limitare l'accesso a portmapper ed ai servizi RPC:
  • Bloccare l'accesso alle porte utilizzate da questi servizi con un firewall locale (consultate Sezione 5.14, «Aggiungere funzionalità al firewall»).
  • Bloccare l'accesso a questi servizi utilizzando dei wrapper TCP, da quando portmapper (ed alcuni servizi RPC) vengono compilati con libwrap (consultate Sezione 4.12, «Usare i tcpwrapper»). Questo significa che è possibile bloccare l'accesso ai servizi tramite la configurazione dei wrapper tcp hosts.allow e hosts.deny.
  • Dalla versione 5-5, il pacchetto portmap può essere configurato per rimanere in ascolto solamente sull'interfaccia di loopback. Per fare questo, occorre modificare /etc/default/portmap, decommentando la riga seguente: #OPTIONS="-i 127.0.0.1" e fare un restart del portmapper. È sufficiente questo per permettere ai servizi locali RPC di essere in esecuzione ed allo stesso tempo impedire l'accesso remoto al sistema (consultate, comunque, Sezione 4.18.5, «Disabilitare la questione weak-end host»).