Se você estiver hospedando um servidor Samba, é importante prestar atenção extra para proteger o servidor de adversários.
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. Ativar criptografia para tráfego SMB
Por padrão, o tráfego SMB não é criptografado. Você pode verificar isso por 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.
É 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. 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 um 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 geração automática de 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ários vulnerabilidades críticas de SMB no passado que levam à aquisição completa do sistema ou à perda de dados confidenciais. Você deve manter seu sistema operacional e seus serviços críticos atualizados.
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 evitar o acesso não autorizado e reduz o risco de ataques baseados em SMB de ameaças externas.
Você também deve considerar instalando uma solução IDS junto com um firewall dedicado para ter melhor controle e registro de tráfego. Não tem certeza de qual firewall usar? Você pode encontrar um que combina com você na lista de 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. Monitore 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.
No Linux, você pode usar o comando journalctl e canalize sua saída para o comando grep para visualizar e analisar logs SMB.
journalctl -u smbd.service
Isso exibirá os logs para o smbd.service unidade que é responsável por gerenciar o tráfego SMB. Você pode usar o -f opção de acompanhar os logs em tempo real ou usar o -r opção 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 conexões anônimas permitem que os usuários se conectem sem fornecer qualquer autenticação Informaçã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 smb.conf arquivo:
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 hosts permitem e anfitriões negam opções. 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. Este é um dos fundamentos maneiras 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.