Capitolo 21. Controllo dell'accesso ai servizi

Garantire la sicurezza del vostro sistema è estremamente importante. Una gestione accurata dell'accesso ai servizi di sistema è il metodo migliore per assicurarsi tale punto. Il vostro sistema potrebbe avere la necessità di fornire accesso a servizi specifici (per esempio, httpd per un server Web). Tuttavia, se non avete l'esigenza di fornire un servizio, si consiglia di disattivarlo per ridurre la vostra esposizione a possibili bug.

Vi sono diversi metodi per la gestione dell'accesso ai servizi di sistema. Scegliete quale metodo di gestione preferite utilizzare in base al servizio, alla configurazione del sistema e alla vostra conoscenza di Linux.

Il modo più semplice per negare l'accesso a un servizio è, chiaramente, quello di disattivarlo. I servizi gestiti mediante xinetd (che saranno affrontati in dettaglio successivamente in questa sezione) e quelli della gerarchia /etc/rc.d/init.d possono essere configurati per essere avviati o arrestati utilizzando tre diverse applicazioni:

Scoprirete che questi tool sono più facili da utilizzare rispetto ad altri — che richiedono la modifica manuale di numerosi link simbolici nelle directory sotto /etc/rc.d o la modifica dei file di configurazione xinetd contenuti in /etc/xinetd.d.

Un'alternativa per la gestione dell'accesso ai servizi di sistema è rappresentata dall'uso di iptables per configurare un firewall IP. Se non siete utenti esperti di Linux, considerate che iptables potrebbe non essere la soluzione migliore. Impostareiptables può essere complicato ed è; meglio lasciare questo compito ad amministratori di sistema Linux esperti.

D'altro canto, iptables offre il vantaggio della flessibilità. Per esempio, se avete l'esigenza di una soluzione personalizzata che consenta l'accesso di host specifici a servizi altrettanto specifici, iptables fa al caso vostro. Consultate la Red Hat Enterprise Linux Reference Guide e la Red Hat Enterprise Linux Security Guide per ulteriori informazioni su iptables.

Se invece state cercando una utility per impostare le regole generali d'accesso per il vostro personal computer, e/o se siete nuovi utenti Linux, potete provare Strumento di configurazione del livello di sicurezza (redhat-config-securitylevel), che consente di selezionare il livello di sicurezza per il vostro sistema, in modo simile alla schermata FirewallConfiguration del programma di installazione.

Per maggiori informazioni consultate Capitolo 20. Se avete bisogno di più regole, specifiche sui firewall, consultate il capitolo iptables nel Red Hat Enterprise Linux Reference Guide.

21.1. Runlevel

Prima di configurare l'accesso ai servizi, è necessario comprendere i runlevel di Linux. Un runlevel è uno stato, o modalità, definita dai servizi elencati nella directory /etc/rc.d/rc<x>.d, dove <x> indica il numero del runlevel.

Vengono utilizzati i seguenti runlevel:

Se usate una schermata di registrazione di testo, significa che state operando nel runlevel 3. Nel caso in cui usate una schermata grafica per il login, invece, opererete nel runlevel 5.

Il runlevel di default può essere cambiato modificando il file /etc/inittab, il quale presenta, nella parte iniziale, una riga del file simile alla seguente:

id:5:initdefault:

Cambiate il numero di questa linea in base al runlevel desiderato. Tale modifica sarà effettiva solo dopo aver riavviato il sistema.

Per cambiare immediatamente il runlevel, usare il comando telinit seguito dal numero del runlevel. Vi ricordiamo che per usare questo comando dovete essere utenti root. Il comando telinit non è in grado di cambiare il file /etc/inittab, esso cambia solo il runlevel attualmente in esecuzione. Una volta riavviato il sistema, esso verrà riavviato nel runlevel specificato in /etc/inittab.