10 maneiras de proteger seu servidor Samba no Linux
Se você estiver hospedando um servidor Samba, é importante prestar atenção extra para proteger o servidor contra adversários.
Principais conclusões
- Habilite a criptografia para o tráfego de pequenas e médias empresas para evitar acesso não autorizado e ataques cibernéticos. Use Transport Layer Security (TLS) para proteger o tráfego do seu servidor Linux Samba.
- Implemente controles de acesso e permissões rigorosos 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ários de pequenas e médias empresas 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 SMBv1 inseguro.
- 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 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 a sua rede vulnerável a acessos não autorizados 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. Habilite 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 criptografar todo o tráfego para evitar que um invasor intercepte e analise o tráfego.
É recomendado que você configure o Transport Layer Security (TLS) para criptografar e proteger o tráfego do seu servidor Linux Samba.
2. Implementar controles de acesso e permissões rígidos para recursos compartilhados
Você deve implementar controles de acesso e permissões rígidos para garantir que os usuários conectados não consigam 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 sintaxe especial, você pode definir recursos para compartilhar, usuários/grupos para dar acesso a esses recursos e se os recursos podem ser navegados, gravados ou lidos. 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ários SMB
A aplicação de políticas de senha robustas para contas de usuários de pequenas e médias empresas é uma prática recomendada de segurança fundamental. Como administrador do sistema, você deve criar ou incentivar todos os usuários a criarem senhas fortes e exclusivas para suas contas.
Você também pode acelerar esse processo gerando automaticamente senhas fortes por meio de 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. As pequenas e médias empresas estão sujeitas a vulnerabilidades. É sempre um alvo lucrativo para os invasores.
Houve diversas vulnerabilidades críticas de SMB no passado que levaram ao controle total do sistema ou à perda de dados confidenciais. Você deve manter seu sistema operacional e os serviços críticos atualizados.
5. Evite usar o protocolo SMBv1
SMBv1 é um protocolo inseguro. É sempre recomendável que sempre que você usar SMB, seja no Windows ou Linux, evite usar SMBv1 e use apenas SMBv2 e superior. Para desabilitar o protocolo SMBv1, adicione esta linha ao arquivo de configuração:
min protocol = SMB2
Isto garante que o nível mínimo de protocolo em uso seria SMBv2.
6. Aplique regras de firewall para restringir o acesso às portas SMB
Configure o firewall da sua rede para permitir o acesso às portas SMB, geralmente a porta 139 e a porta 445, apenas de fontes confiáveis. Isso ajuda a impedir o acesso não autorizado e reduz o risco de ataques baseados em SMB por ameaças externas.
Você também deve considerar a instalação de uma solução IDS junto com um firewall dedicado para ter melhor controle e registro do tráfego. Não tem certeza de qual firewall usar? Você pode encontrar um que combine com você na lista dos melhores firewalls Linux gratuitos para usar.
7. Implementar segmentação de rede para isolar o tráfego de pequenas e médias empresas 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 esse segmento. Isso permite gerenciar e monitorar o tráfego de pequenas e médias empresas de maneira focada.
No Linux, você pode usar 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 todo o outro tráfego. Isso isolará efetivamente o tráfego SMB de redes não confiáveis.
8. Monitore registros de SMB em busca de atividades suspeitas e incidentes de segurança
Monitorar logs de SMB em busca de atividades suspeitas e incidentes de segurança é uma parte importante da manutenção da segurança da sua rede. Os logs SMB contêm informações sobre o tráfego SMB, incluindo acesso a arquivos, autenticação e outros eventos. Ao monitorar regularmente esses logs, você pode identificar possíveis ameaças à segurança e mitigá-las.
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 acompanhar os registros em tempo real ou usar a opção -r para visualizar 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 identificar rapidamente qualquer atividade suspeita ou tentativa de força bruta.
9. Limite o uso de acesso de convidados e conexões anônimas
Habilitar o acesso de convidados 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 qualquer informação de autenticação.
Ambas as opções podem representar um risco à 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 o descanso, você pode usar as opções hosts permitir e hosts negar. Aqui está a sintaxe a ser adicionada 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 aquelas do host local e da rede 192.168.1.0/24. Esta é uma das formas fundamentais de proteger também o seu servidor SSH.
Agora você sabe como proteger seu servidor Samba Linux
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ê faça um esforço sincero 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.