Gentoo Logo

1.  /etc/security/limits.conf

Controlar o uso de recursos pode ser muito eficaz na hora de prevenir um ataque de Denial of Service local ou restringir o número de log-ins máximos permitidos para um grupo ou usuário. No entanto, ajustes muito restritos irão atrapalhar o funcionamento de seu sistema e haverá falhas em programas, então certifique-se de verificar cada ajuste primeiro.

Listagem de código 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 você encontrar-se tentando configurar nproc ou maxlogins em 0, talvez seja melhor apagar o usuário. O exemplo acima configura os ajustes do dev para processos, arquivo central e maxlogins. O resto está configurado em um valor padrão.

Nota: /etc/security/limits.conf é parte do pacote PAM e só irá funcionar com pacotes que usam PAM.

1.  /etc/limits

/etc/limits é bem parecido com o arquivo de limites /etc/security/limits.conf. A única diferença é o formato e que só funciona em usuários ou wild cards (não funciona com grupos). Vamos ver uma configuração de exemplo:

Listagem de código 1.1: /etc/limits

*   L2 C0 U15 R10000
kn L10 C100000 U35

Aqui nós configuramos os ajustes padrão e um ajuste específico para o usuário kn. O limits faz parte do pacote sys-apps/shadow. Não é necessário colocar quaisquer limites neste arquivo se você desativou o pam no make.conf ou não configurou o PAM devidamente.

1.  Cotas

Aviso: Certifique-se que o sistema de arquivos que você está usando suporta cotas. Para poder usar cotas com ReiserFS, você deve usar patches disponíveis na Namesys. Ferramentas de usuário estão disponíveis no Projeto de Linux DiskQuota do Linux. Embora cotas funcionem com o ReiserFS, você pode encontrar outros problemas em seu uso - você foi avisado!

Colocar cotas em um sistema de arquivos restringe o uso do disco com base em usuário ou grupo. As cotas são ativadas no kernel e adicionadas em um ponto de montagem em /etc/fstab. A opção de kernel é ativada na configuração do kernel em File systems->Quota support. Aplique os seguintes ajustes, reconstrua o kernel e reinicie usando o novo kernel.

Comece instalando as cotas com emerge quota. Então modifique seu /etc/fstab e adicione usrquota e grpquota às partições em que você quer restringir o uso de disco, como no exemplo abaixo.

Listagem de código 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,usrquota,grpquota 0 0
/dev/sda5 /var ext3 noatime,nodev,usrquota,grpquota 0 0
/dev/sda6 /home ext3 noatime,nodev,nosuid,usrquota,grpquota 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

Em cada partição que você ativar cotas, crie os arquivos de cota (aquota.user e aquota.group) e coloque-os na raiz da partição.

Listagem de código 1.1: Criando os arquivos de cota

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

Este passo deve ser feito em cada partição onde cotas são ativas. Depois de adicionar e configurar os arquivos de cota, nós precisamos adicionar o script quota ao runlevel boot.

Listagem de código 1.1: Adicionando quota ao runlevel boot

# rc-update add quota boot

Nós iremos agora configurar o sistema para verificar as cotas uma vez por semana colocando a seguinte linha em /etc/crontab:

Listagem de código 1.1: Adicionando verificação de cota ao crontab

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

Depois de reiniciar a máquina, está na hora de configurar as cotas para usuários e grupos. edquota -u kn irá iniciar o editor definido em $EDITOR (o padrão é o nano) e permitir que você edite as cotas para o usuário kn. edquota -g também fará a mesma coisa para grupos.

Listagem de código 1.1: Configurando a cota para o usuário 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)

Para mais detalhes leia man edquota ou oQuota mini howto.

1.  /etc/login.defs

Se sua política de segurança diz que os usuários devem mudar suas senhas uma semana sim outra não, mude o valor PASS_MAX_DAYS para 14 e PASS_WARN_AGE para 7. É recomendado que você use envelhecimento de senhas, já que métodos de força bruta podem encontrar qualquer senha, dado tempo suficiente. Nós também recomendamos que você configure LOG_OK_LOGINS como ativo.

1.  /etc/login.access

O arquivo login.access também é parte do pacote sys-apps/shadow, que fornece uma tabela de controle de acessos de log-in. A tabela é usada para controlar quem pode e não pode fazer log-in com base no nome de usuário, nome de grupo ou nome de host. Por padrão, todos usuários em todos os sistemas podem fazer log-in, então o arquivo consiste somente de comentários e exemplos. Não importa se você estiver cuidando da segurança de seu servidor ou estação de trabalho, nós recomendamos que você configure este arquivo para que ninguém fora você mesmo (o administrador) tenha acesso ao console.

Nota: Estes ajustes não se aplicam ao root.

Listagem de código 1.1: /etc/login.access

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

Importante: Cuidado na hora de configurar as opções, já que enganos deixarão você sem acesso à máquina se você não tiver acesso de root.

Nota: Os ajustes não se aplicam a SSH, já que o SSH não executa /bin/login por padrão. Isto pode ser ativado configurando UseLogin yes em /etc/ssh/sshd_config.

Isto irá configurar o acesso de log-in para que os membros do grupo wheel possam fazer log-in localmente ou do domínio gentoo.org. Talvez muito paranóico, mas é melhor prevenir do que remediar.

Atualizado 26 de dezembro de 2005

A versão original deste documento foi atualizada em 15 de novembro de 2011

Donate to support our development efforts.

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