10 passos para proteger o Linux Server para Ambiente de Produção

Nov 28, 2021
admin
Megha Pandey
Megha Pandey

Follow

5 de outubro, 2017 – 6 min leia-se

Segurar o Linux Server é essencial para proteger os nossos dados contra os hackers. Mas proteger um servidor não precisa ser complicado. Devemos adotar um método que proteja nosso servidor dos ataques mais freqüentes, juntamente com uma administração eficiente .

No entanto, não tome as coisas como garantidas. Até mesmo os servidores mais duros podem ser sequestrados explorando qualquer componente vulnerável rodando nesse servidor.

Instale o que você precisa

A primeira regra é manter o seu servidor enxuto e maldoso. Instale apenas os pacotes que você realmente precisa. Se houver pacotes indesejados; purge. Quanto menos os pacotes menos hipóteses tem de descompactar o código.

Voltar no SELinux

Security-Enhanced Linux (SELinux) é um mecanismo de segurança de controlo de acesso fornecido no kernel.

SELinux fornece 3 modos básicos de operação :

  • Enforcing: Este é o modo padrão que ativa e reforça a política de segurança do SELinux na máquina.
  • Permissivo: Neste modo, o SELinux não reforça a política de segurança no sistema, apenas avisa e registra ações.
  • Desativado: SELinux está desligado.

Pode ser gerido a partir do ficheiro ‘/etc/selinux/config’, onde pode activá-lo ou desactivá-lo.

Secure Console Access

Deve proteger o acesso à consola dos servidores Linux desactivando o arranque a partir de dispositivos externos, tais como DVDs / CDs / caneta USB após a configuração da BIOS. Também, configure a senha da BIOS e do gerenciador de boot do grub para proteger essas configurações.

Restringir o uso de senhas antigas

Podemos restringir os usuários a usar as mesmas senhas antigas. O arquivo de senhas antigas está localizado em /etc/security/opasswd. Isto pode ser feito usando o módulo PAM.

Abrir ficheiro ‘/etc/pam.d/system-auth’ em RHEL / CentOS / Fedora.

# vi /etc/pam.d/system-auth

Abrir ficheiro ‘/etc/pam.d/common-password’ em Ubuntu/Debian/Linux.

# vi /etc/pam.d/common-password

Adicionar a seguinte linha à secção ‘auth’.

auth sufficient pam_unix.so likeauth nullok

Adicionar a linha abaixo à secção ‘password’ para não permitir que um utilizador reutilize as últimas 3 passwords.

password sufficient pam_unix.so nullok use_authtok md5 shadow remember=3

As últimas 3 passwords são lembradas pelo servidor. Se você tentou usar qualquer uma das 3 últimas senhas antigas, você receberá um erro como.

Verificar portas de escuta

Utilizar o comando ‘netstat’ para visualizar as portas abertas e os serviços correspondentes .

netstat -tunlp 

Desabilite os serviços indesejados do sistema usando o comando ‘chkconfig’ e feche as portas que não são necessárias.

chkconfig serviceName off

Disable Root login

Não é aconselhável ssh no seu servidor como superusuário(root). Devemos desativar o ssh como usuário root no servidor, mas antes de fazer isso, vamos criar um usuário com poderes de sudo para que você possa entrar no servidor e realizar tarefas administrativas. Uma vez conectado ao servidor, você sempre pode mudar o usuário para root, se necessário.

Criar um novo usuário :

useradd user1

Criar senha para o usuário adicionado :

passwd user1

Fornecer permissões sudo para o novo usuário adicionado :

echo 'user1 ALL=(ALL) ALL' >> /etc/sudoers

SSH para o servidor com o novo usuário e garantir que o login funcione.

Vamos agora desactivar o login root, o que significa que ninguém pode fazer ssh ou login no servidor como utilizador root. Para fazer isso, abra o arquivo de configuração do sshd:

nano /etc/ssh/sshd_conf

Próximo, descomente a linha que diz

PermitRootLogin no

Então salve e feche este arquivo e reinicie o serviço

service sshd restart

Importante: Não saia do servidor ainda. Primeiro teste se você pode entrar com sucesso no servidor usando o usuário previamente criado. Abra outra instância do terminal e do ssh no servidor com o usuário que você criou anteriormente. Se tudo funcionar bem, você pode sair do servidor com segurança como root.

Alterar a Porta

Nós podemos alterar a Porta SSH padrão para adicionar uma camada de opacidade para manter o seu servidor seguro .

Abra o arquivo /etc/ssh/sshd_config

substitui a porta padrão 22 com número de porta diferente, digamos 1110

Salva &save do arquivo

service sshd restart

Agora o login define o número da porta.

ssh username@IP -p 1110

Disable Ctrl+Alt+Delete in Inittab

Hitting Ctrl+Alt+Delete irá levar o seu servidor a reiniciar o processo. Por isso é sempre aconselhável desactivar isto pois alguém pode reiniciar o sistema por engano.

A acção ctrl+Alt+Del está definida em /etc/init/control-alt-delete.conf .Comente a linha abaixo

Login sem palavras-passe

Podemos facilmente entrar no nosso servidor através do SSH sem qualquer palavra-passe, gerando as ssh-keys. Basta ter cuidado para poder entrar no seu servidor apenas a partir daquela máquina na qual você gerou as chaves ssh

Gerando chaves SSH :

ssh-keygen - t rsa

Copie a sua chave SSH pública , depois adicionar o mesmo no servidor

cat ~/.ssh/id_rsa.pub

Para adicionar chaves ssh no servidor

Suponha que nós temos usuário-usuário1 para fornecer acesso ssh-key ao servidor

cd /home/user1
ls -ll

Criar um .ssh e dentro dele crie um arquivo chamado authorized_keys e adicione a chave ssh pública do usuário no mesmo

mkdir .ssh
cd /home/admin/.ssh
vim authorized_keys

Adicionar a chave SSH pública e depois mude o dono do arquivo ficheiro

chown user1 authorized_keys

Disable ssh login

Editar /etc/ssh/sshd_config

Passwordauthentication no
PermitRootLogin no

Agora, somente o usuário autorizado pode entrar no servidor com o comando

ssh user-name@serverIP -p(port Number)

Fail2Ban para login SSH

Fail2ban funciona alterando dinamicamente as regras do firewall para banir endereços que tenham tentado entrar sem sucesso um certo número de vezes.

Instalar Fail2ban :

sudo apt-get update
apt-get install fail2ban

Criar um novo arquivo jail.local e copiar o conteúdo do jail.config para o mesmo e fazer as alterações apenas no arquivo jail.local

cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local

Editar /etc/fail2ban/jail.local file

Faça as alterações desejadas:


enabled = true
port = ssh ( provide the port number if the default port is changed )
protocol = tcp
filter = sshd
logpath = /var/log/secure
maxretry = 3 ( max no. of tries after which the host should be banned)
findtime = 600 (This parameter sets the window that fail2ban will pay attention to when looking for repeated failed authentication attempts in seconds)
bantime = 600 (time duration for which the host is banned -in seconds)

Então reinicie os serviços fail2ban

service fail2ban restart

IP pode ser bloqueado permanentemente definindo bantime = -1.

Nota: FAIL2BAN bloqueará o IP Global .

Segurança costumava ser um inconveniente às vezes, mas agora é uma necessidade o tempo todo – Martina Navratilova

Bancos de leitura . Se você achou este artigo útil, algumas palmas significariam muito!

Fica atento 🙂

Deixe uma resposta

O seu endereço de email não será publicado.