|
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.
|