10 maneiras de proteger seu servidor Samba no Linux

Principais conclusões

  • Habilite a criptografia para tráfego SMB para evitar acesso não autorizado e ataques cibernéticos. Use Transport Layer Security (TLS) para proteger o tráfego do servidor Linux Samba.
  • Implemente controles de acesso rígidos e permissões para recursos compartilhados usando o arquivo de configuração /etc/samba/smb.conf. Defina regras de acesso, permissões e restrições para garantir que apenas usuários autorizados possam acessar os recursos.
  • Aplique senhas fortes e exclusivas para contas de usuário SMB para aumentar a segurança. Atualize regularmente o Linux e o Samba para se proteger contra vulnerabilidades e ataques cibernéticos e evite usar o protocolo inseguro SMBv1.
  • Configure regras de firewall para restringir o acesso a portas SMB e considere a segmentação de rede para isolar o tráfego SMB de redes não confiáveis. Monitore logs de SMB em busca de atividades suspeitas e incidentes de segurança e limite o acesso de convidados e conexões anônimas.
  • Implemente restrições baseadas em host para controlar o acesso a hosts específicos e negar o acesso a outros. Tome medidas de segurança adicionais para fortalecer sua rede e fortalecer seus servidores Linux.

O protocolo SMB (Server Message Block) é a base do compartilhamento de arquivos e impressoras em ambientes conectados. No entanto, a configuração padrão do Samba pode representar riscos de segurança significativos, deixando sua rede vulnerável a acesso não autorizado e ataques cibernéticos.

Se você estiver hospedando um servidor Samba, precisará ser extremamente cauteloso com as configurações definidas. Aqui estão 10 etapas críticas para garantir que seu servidor SMB permaneça seguro e protegido.

1. Habilitar criptografia para tráfego SMB

Por padrão, o tráfego SMB não é criptografado. Você pode verificar isso capturando pacotes de rede com tcpdump ou Wireshark. É fundamental que você criptografe todo o tráfego para impedir que um invasor intercepte e analise o tráfego.

  Como obter notificações para comandos de terminal no Linux

É recomendável configurar o Transport Layer Security (TLS) para criptografar e proteger o tráfego do servidor Linux Samba.

2. Implemente Controles de Acesso Estritos e Permissões para Recursos Compartilhados

Você deve implementar controles de acesso e permissões rígidos para garantir que os usuários conectados não possam acessar recursos não solicitados. O Samba usa um arquivo de configuração central /etc/samba/smb.conf que permite definir regras de acesso e permissões.

Usando uma sintaxe especial, você pode definir recursos para compartilhar, usuários/grupos para dar acesso a esses recursos e se o(s) recurso(s) pode(m) ser pesquisado(s), gravado(s) ou lido(s). Aqui está o exemplo de sintaxe para declarar um recurso e implementar controles de acesso nele:

 [sambashare]
comment= Samba Example
path = /home/your_username/sambashare
browseable = yes
writable = yes
valid users = @groupname

Nas linhas acima, adicionamos um novo local de compartilhamento com um caminho e com usuários válidos, restringimos o acesso ao compartilhamento a apenas um único grupo. Existem várias outras maneiras de definir controles e acesso a um compartilhamento. Você pode aprender mais sobre isso em nosso guia dedicado sobre como configurar uma pasta compartilhada em rede no Linux com Samba.

3. Use senhas fortes e exclusivas para contas de usuário SMB

Aplicar políticas de senha robustas para contas de usuário SMB é uma prática recomendada de segurança fundamental. Como administrador do sistema, você deve criar ou solicitar que todos os usuários criem senhas fortes e exclusivas para suas contas.

Você também pode acelerar esse processo gerando automaticamente senhas fortes usando ferramentas. Opcionalmente, você também pode alternar senhas regularmente para reduzir o risco de vazamento de dados e acesso não autorizado.

4. Atualize regularmente o Linux e o Samba

A forma mais simples de defesa passiva contra todos os tipos de ataques cibernéticos é garantir que você esteja executando versões atualizadas de software crítico. SMB é propenso a vulnerabilidades. É sempre um alvo lucrativo para os atacantes.

Houve várias vulnerabilidades críticas de SMB no passado que levaram à aquisição completa do sistema ou à perda de dados confidenciais. Você deve manter seu sistema operacional e seus serviços críticos atualizados.

  Como jogar We Were Here Together no Linux

5. Evite usar o protocolo SMBv1

SMBv1 é um protocolo inseguro. É sempre recomendável que, sempre que você usar o SMB, seja no Windows ou no Linux, evite usar o SMBv1 e use apenas o SMBv2 e superior. Para desativar o protocolo SMBv1, adicione esta linha ao arquivo de configuração:

 min protocol = SMB2 

Isso garante que o nível mínimo de protocolo em uso seja SMBv2.

6. Aplicar regras de firewall para restringir o acesso a portas SMB

Configure o firewall de sua rede para permitir acesso a portas SMB, geralmente porta 139 e porta 445 somente de fontes confiáveis. Isso ajuda a impedir o acesso não autorizado e reduz o risco de ataques baseados em SMB de ameaças externas.

Você também deve considerar a instalação de uma solução IDS junto com um firewall dedicado para ter um melhor controle e registro do tráfego. Não tem certeza de qual firewall usar? Você pode encontrar um que seja adequado para você na lista dos melhores firewalls Linux gratuitos para usar.

7. Implemente a segmentação de rede para isolar o tráfego SMB de redes não confiáveis

A segmentação de rede é a técnica de dividir um único modelo monolítico de uma rede de computadores em várias sub-redes, cada uma chamada de segmento de rede. Isso é feito para melhorar a segurança, o desempenho e a capacidade de gerenciamento da rede.

Para isolar o tráfego SMB de redes não confiáveis, você pode criar um segmento de rede separado para o tráfego SMB e configurar regras de firewall para permitir apenas o tráfego SMB de e para este segmento. Isso permite que você gerencie e monitore o tráfego SMB de maneira focada.

No Linux, você pode usar o iptables ou uma ferramenta de rede semelhante para configurar regras de firewall para controlar o fluxo de tráfego entre segmentos de rede. Você pode criar regras para permitir o tráfego SMB de e para o segmento de rede SMB enquanto bloqueia todos os outros tráfegos. Isso isolará efetivamente o tráfego SMB de redes não confiáveis.

8. Monitorar logs SMB para atividades suspeitas e incidentes de segurança

O monitoramento de logs SMB para atividades suspeitas e incidentes de segurança é uma parte importante da manutenção da segurança de sua rede. Os logs SMB contêm informações sobre o tráfego SMB, incluindo acesso a arquivos, autenticação e outros eventos. Monitorando regularmente esses logs, você pode identificar possíveis ameaças à segurança e mitigá-las.

  Os 6 melhores verificadores ortográficos e gramaticais para Linux

No Linux, você pode usar o comando journalctl e canalizar sua saída para o comando grep para visualizar e analisar logs SMB.

 journalctl -u smbd.service 

Isso exibirá os logs da unidade smbd.service que é responsável pelo gerenciamento do tráfego SMB. Você pode usar a opção -f para seguir os logs em tempo real ou usar a opção -r para ver primeiro as entradas mais recentes.

Para pesquisar eventos ou padrões específicos nos logs, canalize a saída do comando journalctl para grep. Por exemplo, para procurar tentativas de autenticação com falha, execute:

 journalctl -u smbd.service | grep -i "authentication failure" 

Isso exibirá todas as entradas de log que contêm o texto “falha de autenticação”, permitindo que você identifique rapidamente qualquer atividade suspeita ou tentativas de força bruta.

9. Limite o uso de acesso de convidado e conexões anônimas

Habilitar o acesso de convidado permite que os usuários se conectem ao servidor Samba sem fornecer um nome de usuário ou senha, enquanto as conexões anônimas permitem que os usuários se conectem sem fornecer nenhuma informação de autenticação.

Ambas as opções podem representar um risco de segurança se não forem gerenciadas adequadamente. É recomendado que você desligue ambos. Para fazer isso, você precisa adicionar ou modificar algumas linhas no arquivo de configuração do Samba. Aqui está o que você precisa adicionar/modificar na seção global do arquivo smb.conf:

 map to guest = never
restrict anonymous = 2

10. Implementar restrições baseadas em host

Por padrão, um servidor Samba exposto pode ser acessado por qualquer host (endereço IP) sem restrições. Por acesso, entende-se estabelecer uma conexão e não, literalmente, acessar os recursos.

Para permitir o acesso a hosts específicos e negar para descansar, você pode usar as opções de permissão de hosts e negação de hosts. Aqui está a sintaxe para adicionar ao arquivo de configuração para permitir/negar hosts:

 hosts allow = 127.0.0.1 192.168.1.0/24
hosts deny = 0.0.0.0/0

Aqui você está comandando o Samba para negar todas as conexões, exceto as do host local e a rede 192.168.1.0/24. Essa é uma das maneiras fundamentais de proteger seu servidor SSH também.

Agora você sabe como proteger seu servidor Samba Linux

O Linux é ótimo para hospedar servidores. No entanto, sempre que estiver lidando com servidores, você deve agir com cuidado e estar mais atento, pois os servidores Linux são sempre um alvo lucrativo para os agentes de ameaças.

É fundamental que você se esforce sinceramente para fortalecer sua rede e fortalecer seus servidores Linux. Além de configurar corretamente o Samba, existem algumas outras medidas que você deve tomar para garantir que seu servidor Linux esteja protegido contra a mira de adversários.