20 Dicas de segurança de endurecimento do servidor CENTOS - Parte 1

20 Dicas de segurança de endurecimento do servidor CENTOS - Parte 1

Este tutorial abrange apenas dicas gerais de segurança para CENTOS 8/7 que pode ser usado para endurecer o sistema. As dicas da lista de verificação pretendem ser usadas principalmente em vários tipos de servidores de metal nu ou em máquinas (físicas ou virtuais) que fornecem serviços de rede.

No entanto, algumas das dicas também podem ser aplicadas com sucesso em máquinas de uso geral, como desktops, laptops e computadores de placa única do tamanho de um cartão (Raspberry Pi).

Requisitos

  • Instalação mínima do CentOS 8
  • Instalação mínima do CentOS 7

1. Proteção física

Bloquear o acesso às salas do servidor, use racks de bloqueio e vigilância por vídeo. Leve em consideração que qualquer acesso físico às salas de servidores pode expor sua máquina a sérios problemas de segurança.

BIOS As senhas podem ser alteradas redefinindo jumpers na placa -mãe ou desconectando a bateria do CMOS. Além disso, um intruso pode roubar os discos rígidos ou anexar diretamente novos discos rígidos às interfaces da placa -mãe (SATA, SCSI etc.

2. Reduzir o impacto de espionagem

Em caso de dados altamente sensíveis, você provavelmente deve usar proteção física avançada, como colocar e bloquear o servidor em uma gaiola de Faraday ou usar uma solução militar tempestade para minimizar o impacto de espionar o sistema por meio de emanações de rádio ou vazamento elétrico.

3. BIOS/UEFI seguro

Inicie o processo de endurecer sua máquina, protegendo BIOS/UEFI Configurações, especialmente definindo um BIOS/UEFI Senha e desativar dispositivos de mídia de inicialização (CD, DVD, Desativar suporte USB) para impedir que qualquer usuário não autorizado modifique as configurações do BIOS do sistema ou altere a prioridade do dispositivo de inicialização e inicialize a máquina de um meio alternativo.

Para aplicar esse tipo de alteração à sua máquina, você precisa consultar o manual do fabricante da placa -mãe para obter instruções específicas.

4. Carregador de inicialização seguro

Defina a Grub Senha para impedir que usuários maliciosos adulterem a sequência de inicialização do kernel ou executem níveis, edite parâmetros do kernel ou inicie o sistema em um modo de usuário único para prejudicar seu sistema e redefinir a senha raiz para obter controle privilegiado.

5. Use partições de disco separadas

Ao instalar CENTOS Em sistemas destinados como servidores de produção, usam partições dedicadas ou discos rígidos dedicados para as seguintes partes do sistema:

/(root) /boot /home /tmp /var 

6. Use LVM e RAID para redundância e crescimento do sistema de arquivos

O /var Partição é o local onde as mensagens de log são gravadas no disco. Esta parte do sistema pode crescer exponencialmente em tamanho em servidores de tráfego fortemente que expõem serviços de rede, como servidores da Web ou servidores de arquivos.

Assim, use uma grande partição para /var ou considere configurar esta partição usando volumes lógicos (Lvm) ou combine vários discos físicos em um dispositivo Virtual RAID 0 maior para sustentar grandes quantidades de dados. Para dados, a redundância considera o uso do layout LVM em cima o ataque 1 nível.

Para configurar LVM ou ataque aos discos, siga nossos guias úteis:

  1. Configurar armazenamento em disco com LVM no Linux
  2. Crie discos LVM usando VGCreate, LvCreate e LVEXTEND
  3. Combine vários discos em um grande armazenamento virtual
  4. Crie RAID 1 usando dois discos no Linux

7. Modifique as opções do FSTAB para proteger partições de dados

Partições separadas destinadas a armazenar dados e impedir a execução de programas, arquivos de dispositivo ou setuid bit nesse tipo de partição adicionando as seguintes opções a fstab Arquivo como ilustrado no trecho abaixo:

/dev /sda5 /NAS ext4 padrões,Nosuid, Nodev, Noexec 1 2 

Para evitar a escalonação de privilégios e a execução de script arbitrária, crie uma partição separada para /tmp e monte como Nosuid, nodev, e NoExec.

/dev /sda6 /tmp ext4 padrões,Nosuid, Nodev, Noexec 0 0 

8. Criptografar os discos rígidos no nível do bloco com Luks

Para proteger os dados sensíveis de dados em caso de acesso físico aos discos rígidos da máquina. Sugiro que você aprenda a criptografar o disco lendo nosso artigo Linux Disce Data Data Criptografia com Luks.

9. Use PGP e criptografia de chave pública

Para criptografar discos, use PGP e criptografia de chave pública ou comando OpenSSL para criptografar e descriptografar arquivos sensíveis com uma senha, como mostrado neste artigo, configure armazenamento de sistema Linux criptografado.

10. Instale apenas a quantidade mínima de pacotes necessários

Evite instalar programas, aplicativos ou serviços sem importância ou desnecessária para evitar vulnerabilidades de pacotes. Isso pode diminuir o risco de que o comprometimento de um software possa levar a comprometer outros aplicativos, partes do sistema ou até sistemas de arquivos, finalmente resultando em corrupção de dados ou perda de dados.

11. Atualize o sistema com frequência

Atualize o sistema regularmente. Mantenha o kernel Linux em sincronia com os mais recentes patches de segurança e todo o software instalado atualizado com as versões mais recentes, emitindo o comando abaixo:

# yum atualização 

12. Desativar Ctrl+Alt+del

Para impedir que os usuários reinicie o servidor depois de terem acesso físico a um teclado ou através de um aplicativo de console remoto ou um console virtualizado (KVM, Interface de software virtualizando) você deve desativar Ctrl+alt+del Sequência de teclas executando o comando abaixo.

# SystemCtl Mask Ctrl-Alt-Del.alvo 

13. Remova pacotes de software desnecessários

Instale o software mínimo necessário para sua máquina. Nunca instale programas ou serviços extras. Instale pacotes apenas de repositórios confiáveis ​​ou oficiais. Use a instalação mínima do sistema, caso a máquina esteja destinada a executar a vida inteira como servidor.

Verifique os pacotes instalados usando um dos seguintes comandos:

# rpm -qa 

Faça uma lista local de todos os pacotes instalados.

# Lista Yum instalada >> instalado.TXT 

Consulte a lista de software inútil e exclua um pacote emitindo o comando abaixo:

# yum remover package_name 
Artigo relacionado: Desativar e remover pacotes indesejados sobre a instalação mínima de CentOS

14. Reinicie os serviços do Systemd após as atualizações de daemon

Use o exemplo de comando abaixo para reiniciar um serviço Systemd para aplicar novas atualizações.

# SystemCtl Reiniciar httpd.serviço 

15. Remova serviços desnecessários

Identifique os serviços que estão ouvindo portas específicas usando o seguinte comando SS.

# ss -tulpn 

Para listar todos os serviços instalados com seu status de saída, comando o comando abaixo:

# systemctl list -units -t Service 

Por exemplo, CENTOS A instalação mínima padrão vem com o daemon postfix instalado por padrão, que é executado pelo nome de um mestre sob porta 25. Remova o serviço de rede Postfix, caso sua máquina não seja usada como servidor de email.

# yum remova o postfix 
Artigo relacionado: Pare e desative serviços indesejados em Centos

16. Encrypt Data Transmitido

Não use protocolos não garantidos para acesso remoto ou transferência de arquivos, como Telnet, Ftp, ou outros protocolos altos de texto simples, como SMTP, HTTP, NFS ou SMB, que, por padrão, não criptografaram as sessões de autenticação ou enviam dados.

Use apenas SFTP, SCP para transferências de arquivos e SSH ou VNC sobre túneis SSH para conexões de console remoto ou acesso à GUI.

Para túnel um console VNC via SSH, use o exemplo abaixo que encaminhe a porta VNC 5901 da máquina remota para sua máquina local:

# ssh -l 5902: localhost: 5901 remote_machine 

Na máquina local, execute o comando abaixo para a conexão virtual com o terminal remoto.

# VncViewer localhost: 5902 

17. Digitalização da porta de rede

Realize verificações de porta externas usando a ferramenta NMAP de um sistema remoto sobre a LAN. Esse tipo de varredura pode ser usado para verificar vulnerabilidades de rede ou testar as regras do firewall.

# nmap -st -o 192.168.1.10 
Artigo relacionado: Aprenda a usar o NMAP com esses 29 exemplos

18. Firewall de filtragem de pacotes

Usar Firewalld utilidade para proteger as portas do sistema, portas de serviços específicos abertos ou próximos, especialmente portas conhecidas (<1024).

Instale, inicie, habilite e liste as regras do firewall emitindo os comandos abaixo:

# yum instalar firewalld # SystemCtl Iniciar firewalld.Serviço # SystemCtl Ativar firewalld.serviço # firewall-cmd-list-all 

19. Inspecione pacotes de protocolo com tcpdump

Use o utilitário tcpdump para farejar pacotes de rede localmente e inspecionar seu conteúdo quanto a tráfego suspeito (portas de origem de origem, protocolos TCP/IP, camada dois tráfego, solicitações de ARP incomuns).

Para uma melhor análise do tcpdump Arquivo capturado Use um programa mais avançado, como Wireshark.

# tcpdump -i eno16777736 -w tcpdump.PCAP 

20. Evite ataques de DNS

Inspecione o conteúdo do seu resolvedor, normalmente /etc/resolv.conf Arquivo, que define o endereço IP dos servidores DNS que deve usar para consultar nomes de domínio, a fim de evitar ataques de homem no meio, tráfego desnecessário para servidores DNS root, falsificar ou criar um ataque de DOS.

Esta é apenas a primeira parte. Na próxima parte, discutiremos outras dicas de segurança para CENTOS 8/7.

Não perca: O mega guia para endurecer e proteger o CentOS 8/7 - Parte 2