Gentoo Logo

1.  /etc/security/limits.conf

Controllare l'utilizzo delle risorse può essere molto utile quando si cerca di prevenire un Denial of Service locale o di limitare il numero massimo dei login consentiti per un gruppo o per un utente. Tuttavia, delle impostazioni troppo restrittive influirebbero negativamente sul comportamento del sistema, causando l'impossibilità di avviare taluni programmi, quindi assicurarsi di controllare accuratamente ogni impostazione.

Codice 1.1: /etc/security/limits.conf

*    soft core 0
*    hard core 0
*    hard nproc 15
*    hard rss 10000
*    -    maxlogins 2
@dev hard core 100000
@dev soft nproc 20
@dev hard nproc 35
@dev -    maxlogins 10

Se si vuole impostare nproc o maxlogins a 0, forse è meglio cancellare l'utente. L'esempio sopra imposta le opzioni dev del gruppo per i processi, il core file e maxlogins. Il resto è lasciato ai valori predefiniti.

Nota: /etc/security/limits.conf fa parte del pacchetto PAM e si applicherà solo ai pacchetti che utilizzano PAM.

1.  /etc/limits

/etc/limits è molto simile al file dei limiti /etc/security/limits.conf. L'unica differenza sta nel formato e nel fatto che il primo funziona soltanto per gli utenti e per le wild cards (non per i gruppi). Si da un'occhiata a un esempio di configurazione:

Codice 1.1: /etc/limits

*   L2 C0 U15 R10000
kn L10 C100000 U35

Qui si utilizzano le impostazioni predefinite e una impostazione specifica per l'utente kn. I limiti sono parte del pacchetto sys-apps/shadow. Non è necessario impostare alcun limite in questo file se è stato abilitata la USE pam in make.conf.

1.  Quote

Importante: Controllare che il file system che si sta utilizzando supporti le quote. Strumenti per l'utente sono disponibili in the Linux DiskQuota project.

Mettere le quote ad un filesystem restringe l'uso del disco ad un singolo utente o gruppo. Le quote vengono abilitate nel kernel e sono aggiunte ad un punto di mount in /etc/fstab. L'opzione del kernel va attivata nella sezione File systems->Quota support. Applicare le impostazioni seguenti, ricompilare il kernel e riavviare usando il nuovo kernel.

Iniziare installando le quote con emerge quota. Poi modificare /etc/fstab aggiungendo usrquota e grpquota alle partizioni di cui si vuole restringere l'uso, come nell'esempio qui sotto.

Codice 1.1: /etc/fstab

/dev/sda1 /boot ext2 noauto,noatime 1 1
/dev/sda2 none swap sw 0 0
/dev/sda3 / reiserfs notail,noatime 0 0
/dev/sda4 /tmp ext3 noatime,nodev,nosuid,noexec,usrjquota=aquota.user,grpjquota=aquota.group,jqfmt=vfsv=1 0 0
/dev/sda5 /var ext3 noatime,nodev,usrjquota=aquota.user,grpjquota=aquota.group,jqfmt=vfsv1 0 0
/dev/sda6 /home ext3 noatime,nodev,nosuid,usrjquota=aquota.user,grpjquota=aquota.group,jqfmt=vfsv1 0 0
/dev/sda7 /usr reiserfs notail,noatime,nodev,ro 0 0
/dev/cdroms/cdrom0 /mnt/cdrom iso9660 noauto,ro 0 0
proc /proc proc defaults 0 0

Su ogni partizione per cui si ha abilitato le quote, creare i file quota (aquota.user e aquota.group) e salvarli nella radice della partizione.

Codice 1.1: Creare i file quota

# touch /tmp/aquota.user
# touch /tmp/aquota.group
# chmod 600 /tmp/aquota.user
# chmod 600 /tmp/aquota.group

Questa operazione deve essere eseguita su ogni partizione per cui sono state attivate le quote. Dopo aver aggiunto e configurato i file quota, si deve aggiungere lo script quota al runlevel di boot.

Importante: XFS esegue internamente tutti i controlli sulle quote, e non necessita che lo script quota sia aggiunto al runlevel di boot. Possono esserci altri filesystem non elencati in questo documento che si comportano in modo simile, per cui si prega di leggere le pagine man per il proprio filesystem per avere maggiori informazioni su come gestisce i controlli sulle quote.

Codice 1.1: Aggiungere quota al runlevel di boot

# rc-update add quota boot

Il kernel Linux tiene traccia dell'uso delle quote mentre il sistema lavora. Se per qualche ragione il file quota si rovina o si ritiene che i dati non siano corretti, bisogna portare il sistema in modalità single-user (o almeno assicurarsi non si verifichino scrutture nel file system) ed esemguire quotacheck -avugm.

Codice 1.1: Aggiungere il controllo delle quote a crontab

0 3 * * 0 /usr/sbin/quotacheck -avug.

Dopo aver riavviato la macchina, è il momento di configurare le quote per gli utenti e per i gruppi. edquota -u kn avvierà l'editor definito in $EDITOR (l'impostazione predefinita è nano), consentendo di modificare le quote dell'utente kn. edquota -g farà la stessa cosa per i gruppi.

Codice 1.1: Configurare le quote per l'utente kn

Quotas for user kn:
/dev/sda4: blocks in use: 2594, limits (soft = 5000, hard = 6500)
         inodes in use: 356, limits (soft = 1000, hard = 1500)

Per maggiori dettagli leggere man edquota o il Quota mini howto.

1.  /etc/login.defs

Se la propria politica di sicurezza prevede che gli utenti debbano cambiare la propria password ogni due settimane, cambiare il valore PASS_MAX_DAYS a 14 e PASS_WARN_AGE a 7. È consigliato utilizzare il password aging, dato che i metodi di forza bruta possono scoprire qualunque password, se hanno abbastanza tempo. Si raccomanda inoltre di impostare LOG_OK_LOGINS a yes.

1.  /etc/security/access.conf

Anche il file access.conf è parte del pacchetto sys-libs/pam, che fornisce una tabella di controllo dei login. Questa tabella è usata per controllare chi può loggarsi e chi no, basandosi sul nome dell'utente, del gruppo o dell'host. Come impostazione predefinita a tutti gli utenti del sistema è consentito effettuare il login, quindi il file contiene solo commenti ed esempi. Sia che si stia mettendo in sicurezza un server oppure una workstation, si raccomanda di configurare questo file, cosicché nessun altro tranne il proprietario (l'amministratore) abbia accesso alla console.

Nota: Queste impostazioni si applicano anche per l'utente root.

Codice 1.1: /etc/security/access.conf

-:ALL EXCEPT wheel sync:console
-:wheel:ALL EXCEPT LOCAL .gentoo.org

Importante: Fare attenzione a quando si configurano queste opzioni, dato che un errore lascerebbe senza alcuna possibilità di accedere alla macchina, sempre che non si disponga dei privilegi di root.

Nota: Queste impostazioni non si applicano a SSH, dato che SSH non esegue /bin/login di default. Questo può essere abilitato impostando UseLogin yes in /etc/ssh/sshd_config.

Questo configurerà gli accessi in modo che i membri del gruppo wheel possano loggarsi localmente o dal dominio gentoo.org. Forse è troppo paranoico, ma è meglio essere sicuri che dispiaciuti.

Aggiornato il 15 novembre 2011

Donate to support our development efforts.

Copyright 2001-2014 Gentoo Foundation, Inc. Questions, Comments? Contact us.