restringir os direitos da conta do usuário e aplicativos para segurança, protegendo o conteúdo do diretório inicial de acidentes [fechados]

0

Recentemente tive um terrível acidente com o filezilla que literalmente me custou dias para ser consertado. No curso de 2 anos de uso do Linux Mint (kernel do Ubuntu), esta é a terceira vez que eu consegui matar o sistema, aprendi algo o tempo todo. Hardware ainda não causou um problema, mais erro humano / ignorância. Desta vez, também matou o Windows 7, que fica em um disco rígido fisicamente separado no gabinete. Eu tinha montado o disco do Windows para acessar um arquivo quando o acidente ocorreu e de alguma forma ele deve ter destruído algo muito ruim.

Então, sim, eu estava apenas tentando atualizar um site e vi tudo isso no painel esquerdo de filezilla , então pressionei delete para me livrar dele, pensando que era apenas algumas pastas antigas da época anterior em que atualizei o site site e foi todo o sistema de arquivos! Então tudo congelou, usei xkill para fechá-lo e nas próximas horas ext4magic para recuperar alguns arquivos que funcionaram um pouco, mas infelizmente o Linux e o Windows precisavam ser reinstalados. Agora, pelo menos, era capaz de colocar o Linux na unidade maior, mas não quer que isso aconteça novamente.

Por que um programa como o Filezilla, que está lá para mover arquivos de e para servidores, precisa ter o poder de destruir um computador?!

Por isso, queremos configurar as coisas para a segurança. Criei outra conta de usuário chamada "admin_acc" do gui e retirei meus direitos de administrador de contas de usuário. Minha conta de usuário ainda é membro de adm cdrom dip plugdev lpadmin sambashare . Isso é demais para a segurança?

Instale o safe-rm . Embora o comando cat /etc/safe-rm.conf liste todas as 25 pastas protegidas, incluindo / e /home , a lista negra específica do usuário que deveria estar em ~/.safe-rm não existe! Eu tenho que simplesmente criar eu mesmo? Instalado o safe-rm do instalador do Mint wonder, se fosse a versão completa ... Eu gostaria de ter todas as pastas principais e pastas ocultas do diretório home naquela lista personalizada.

Estou com medo de que isso não seja suficiente. Aparentemente, safe-rm apenas coloca um wrapper em torno de rm e o caminho completo /bin/rm ainda o executa como de costume. Quem saberá que comando o filezilla ou algum outro programa vai executar em segundo plano?

Pode ver que os aplicativos, assim como os usuários, podem pertencer a grupos conforme este post. O objetivo é que nada além do superusuário possa excluir quaisquer pastas ou ocultas de / home ou / home / Documents ou / home / pictures etc novamente. Qual é a melhor maneira de conseguir isso? muitas medidas diferentes precisam ser tomadas? Não adianta apenas tirar o poder do filezilla para ter certeza de que nenhum outro aplicativo vai ser como uma arma parada esperando alguém puxar o gatilho sem cuidado.

Ficaria muito grato por alguma orientação especializada aqui, então minha instalação limpa e fresca pode funcionar pacificamente por um longo tempo agora.

    
por cardamom 06.09.2016 / 11:04

2 respostas

3

Não use o FileZilla como root nem se conecte como usuário root. Um usuário normal normalmente não pode fazer o que você descreveu (não sem sudo ou su ou uma configuração de sudoers realmente equivocada (por exemplo, NOPASSWD)). Você precisa entender que existem dois lados também. Digamos que você seja um usuário normal no host1 e use o FileZilla para se conectar ao host2; você ainda poderá destruir o host2 se se conectar como usuário root.

Contanto que você execute programas como um usuário normal e conecte-se a outros hosts como um usuário normal, geralmente não é possível causar muitos danos fora do diretório inicial desse usuário. Se os arquivos do seu site estão localizados em outro lugar (por exemplo, / var / www), você pode recursivamente chorar esses arquivos ou mais apropriadamente, adicionar o usuário normal a um grupo que possa ler / gravar nesses arquivos (por exemplo, www-data ).

O conceito de permissões de usuário é realmente muito simples, mas complicado de explicar. Sugiro investir algumas horas por dia em pesquisas sobre o assunto para obter um entendimento básico, aprender sobre a regra 4-2-1 e tal.

Além disso, como você mesmo disse, você não sabe o que o FileZilla fará ... você pode considerar o uso de ferramentas mais básicas, como ssh e sftp . Vale a pena aprender essas coisas e você também tem mais poder de se restringir (por exemplo, aliasing rm to rm -i pode ser bom para você).

P.S. Eu duvido que o filezilla tenha realmente matado sua partição Windows do que parece ser um rm -rf / . Pelo contrário, provavelmente tirou o bootloader.

    
por 06.09.2016 / 11:43
1

The goal is that nothing other than the superuser can delete any folders or hidden out of /home

Isso já é verdade, somente o root pode editar as coisas diretamente dentro do / por padrão. Você usuário, por padrão, só deve ser capaz de modificar as coisas dentro de seu diretório home e / tmp (bem como alguns outros locais não críticos).

A única maneira de filezilla poder descobrir um sistema de arquivos inteiro é se ele tiver acesso de gravação a todo o sistema de arquivos. O que me parece que você está rodando como root, ou se foi um sistema remoto que você conectou como root. Não há muito que você possa fazer para se proteger se estiver executando / logando como root, e é por isso que isso geralmente é desencorajado.

Tenha muito cuidado com o que você executa como raiz - por exemplo, executar coisas com sudo , kdesu , gtksu , su - todas elas fornecem as permissões de raiz do aplicativo por padrão. Só execute as coisas usando as ferramentas que realmente exigem e não como um reflexo para "permissão negada" ou outros erros.

Acima de tudo, esta é uma lição de backup - você deve ter alguns. Acho muito mais fácil ter todos os meus sistemas descartáveis, posso perder qualquer um deles sem me preocupar com dados perdidos, tudo que perco é hora de configurá-los novamente. Isso também irá protegê-lo contra erros cometidos, mas também contra falhas de hardware e hardware perdido / roubado.

A maneira mais fácil é uma unidade de disco rígido externa que você faz backup regularmente ou usa ferramentas como a caixa de depósito.

Além de um sistema de backup adequado, você pode usar a capacidade de snapshot de alguns sistemas de arquivos (como btrfs / zfs) ou llvm para manter instantâneos do seu sistema pode recuperar no caso de você fazer algo assim novamente - mas eles não são soluções de backup completo, apenas permitem uma recuperação mais rápida no caso de algumas falhas.

    
por 06.09.2016 / 11:58