Controllare l'accesso ai servizi

È molto importante mantenere sicuro il vostro sistema Red Hat Linux. Un modo per gestire la sicurezza del vostro sistema è configurare attentamente i servizi. Il vostro sistema deve fornire l'accesso ad un particolare servizio (per esempio httpd se c'è un server Web). Se un servizio non è necessario potete anche disabilitarlo.

Ci sono numerosi metodi per gestire l'accesso al sistema. Dovete decidere quali devono rimanere attivi.

Il modo più semplice per negare l'accesso ad un servizio è disattivarlo. Entrambi i servizi gestiti da xinetd (di cui parleremo in questo capitolo) ed i servizi in /etc/rc.d possono essere bloccati o fatti partire con chkconfig. Potreste magari scoprire che l'uso di questa utility risulta più semplice che andare a gestire i numerosi link simbolici nella /etc/rc.d a mano.

ntsysv fornisce una semplice interfaccia per attivare e disattivare i servizi. Potete usare ntsysv per attivare o disattivare un servizio di xinetd. Potete anche utilizzarla per far partire o terminare un servizio nella directory /etc/rc.d. Se volete configurare un runlevel differente, utilizzate ntsysv --levels 016. (In questo esempio configurerete i runlevel 0,1,6.)

L'interfaccia ntsysv lavora in modalità testo. Utilizzate i tasti freccia in alto o verso il basso per muovervi nell'elenco. La barra spaziatrice vi permette di selezionare/deselezionare i servizi. Utilizzate anche i pulsanti Ok e Cancel. Per spostarvi tra l'elenco dei pulsanti utilizzate il tasto Tab.

chkconfig viene utilizzato per attivare/disattivare i servizi. Se utilizzate il comando chkconfig --list vedrete un elenco di servizi di sistema, quando sono on oppure off nei runlevel 0-6.

Potete utilizzare chkconfig anche per verificare che un servizio sia attivo. Per esempio il seguente comando controlla il demone finger:

$ chkconfig --list finger
finger          on

Come mostrato sopra finger non è nel runlevel corretto.

Se utilizzate chkconfig --list per effettuare una query in /etc/rc.d vedrete la configurazione del device per ogni runlevel:

$ /sbin/chkconfig --list anacron
anacron         0:off   1:off   2:on    3:on    4:on    5:on    6:off

chkconfig può essere utilizzato per scegliere se attivare un servizio ad un runlevel specifico. Per esempio se vogliamo disattivare nscd nei runlevel 3, 4, e 5 eseguiamo il comando:

chkconfig --level 345 nscd off

Per maggiori informazioni fate riferimento alle pagine man di chkconfig.

Un altro metodo per accedere ai servizi Internet è utilizzare xinetd una sostituzione di inetd. xinetd gestisce le risorse di sistema, fornisce un controllo sugli accessi, e viene utilizzato per attivare servizi per determinati scopi. xinetd può essere usato per fornire l'accesso a un host in particolare , per negarlo, per fornire l'accesso a determinate ore, per limitare il numero di connessioni remote, ecc.

xinetd rimane sempre attivo, in ascolto su tutte le porte dei servizi che gestisce. Quando arriva una richiesta di connessione xinetd attiva il server appropriato per la gestione del servizio.

Il file di configurazione di xinetd è /etc/xinetd.conf. I file nella directory /etc/xinetd.d contengono le opzioni di configurazione per ogni servizio gestito da xinetd.

Si veda la pagina man (8) di xinetd e anche la pagina man (8) di xinetd.conf per maggiori informazioni su xinetd. La pagina Web di xinetd è al sito http://www.xinetd.org/.

Molti sistemisti UNIX utilizzano i TCP wrapper per gestire gli accessi a determinati servizi di rete. Ogni servizio gestito da xinetd può utilizzare TCP wrapper. xinetd utilizza i file /etc/hosts.allow e /etc/hosts.deny per configurare l'accesso al sistema. Se volete utilizzare TCP wrapper, fate riferimanto alla pagina man di hosts_access(5).

Un altro metodo per gestire gli accessi ai servizi di sistema consiste nell'usare ipchains per configurare un IP firewall. Se siete nuovi utenti di Linux ipchains potrebbe non essere la soluzione più adatta per voi. Configurare ipchains può essere complesso.

D'altro canto i benefici nell'utilizzo di ipchains possono essere ricercati nella flessibilità. Per esempio se avete bisogno di una soluzione personalizzata per fornire un accesso a determinati servizi per determinati host, ipchains fa al caso vostro. Si veda la documentazione nell'HOWTO al sito http://www.linuxdoc.org/HOWTO/IPCHAINS-HOWTO.html.

Oppure se state cercando una utility che configura un accesso generalizzato per la vostra macchina, o se siete dei nuovi utenti, provate gnome-lokkit.