Você pode limitar facilmente a quantidade de processos que podem ser gerados no Ubuntu e na maioria das outras distribuições Linux, modificando /etc/security/limits.conf
sudoedit /etc/security/limits.conf
Em seguida, adicione esta linha na parte inferior desse arquivo:
* hard nproc nnn
Onde:
O comando acima listará todos os processos para todos os usuários, incluindo threads , resumirá e listará o nome do usuário com a maior quantidade de processos. Para garantir a segurança, abra todos os aplicativos que você normalmente precisa antes de executar o comando acima e, em seguida, duplique esse número por segurança.
Depois que esse limite for estabelecido, você precisará reiniciar, mas isso afetará cada usuário não root no sistema. Portanto, se um fork fork for executado por qualquer usuário não root, ele terá esse limite rígido.
Os limites de grupo e curinga não se aplicam ao usuário raiz por padrão . Use o nome de usuário literal root
nas regras se desejar aplicar uma regra ao superusuário.
Além disso, se você não quiser reiniciar em breve, poderá usar o sudo ulimit -u 800
que colocará a restrição apenas na sessão de corrida, mas poderá ser facilmente contornado por uma bomba de garfo com sudo
privilégios!
Após a reinicialização, o que estiver dentro /etc/security/limits.conf
será usado.
Algumas informações adicionais sobre as bombas de forquilha: elas não são malware ou algo terrível. Eles geralmente consistem em algo tão básico quanto um script que se chama duas vezes - aumentando assim sua presença na máquina exponencialmente. Mesmo com pouca capacidade de memória, devido ao ritmo acelerado que eles multiplicam, eles preenchem rapidamente toda a RAM disponível e a máquina congela ou reinicia. O único perigo é perder informações não salvas. Eu classificaria um forkbomb muito mais como uma brincadeira do que software malicioso.
Um lembrete importante:
Você raramente deve executar algo na linha de comando quando não tiver 98% de certeza de sua ação. Se você não consegue ler os comandos que está executando - não faça. Isso se aplica ao dobro de pedaços ilegíveis de caracteres hex / base64, que podem ser usados para ocultar todos os tipos de maldade. Se você não tem certeza de um comando, sempre pode procurar por suas ações nas Manpages do Ubuntu e ter cuidado extra ao usar, sudo
pois ele será executado como usuário root.
alias ":(){ :|: & };:"="echo 'No.'"
no meu.bashrc
- ele executará todos os logins?Uma maneira simples de gostar é criar um alias, embora nem sempre sejam aplicados, verifique a resposta acima.
Agora
fonte
a(){ a|a & };a
? (ou qualquer outro nome de função?)