Samba 21: Liberando no Firewall as Portas Usadas pelo Samba

Esse é o 21º de uma série que falamos sobre o Samba no Linux e hoje iremos falar e mostrar como liberar o samba no firewall do seu computador. Para acesso aos demais artigos clique aqui.

Em um ambiente de laboratório está ok desabilitar o firewall para realizarmos testes com o samba sem  precisarmos “perder” tempo. Porém, quando em ambiente de produção teremos que ter firewall funcionando e o samba com suas portas liberadas. Um firewall ativo nos garante um nível à mais de proteção.

 

Introdução

 

A maioria dos tráfegos de rede ocorre usando o protocolo tcp. Aqui estamos falando de transporte de dados.

O Protocolo usado para compartilhamento de arquivos na rede é o SMB. O protocolo SMB cresceu  muito desde a sua criação e teve novas funcionalidades acrescentadas através de Pacotes. Durante todo esse tempo o crescimento do SMB foi marcado pela inserção de conjuntos de pacotes. Esses conjuntos(grupos) de pacotes são chamados de  Dialeto. Um desses dialetos é o CIFS.

O SMB/CIFS trabalha sobre o protocolo tcp/ip.

NetBIOS é coisa(protocolo) antiga e possibilita computadores ou programas a se comunicarem na rede. Netbios usa as portas 137, 138 e 139. A interface NetBIOS não é mais suportada no Windows Vista em diante(mais novos).

Começando com o Windows 2000 a Microsoft introduziu o “NetBIOS-less SMB”, ou seja, SMB sem NetBIOS. Assim, a porta 445,  começou a ser usada para tráfego de rede. Quando falamos de tráfego via rede estamos falando de atividades simples como impressões enviadas para uma impressora na rede, copiar e abrir arquivos que estão em outro computador e até ao simples fato de apenas visualizar as pastas e arquivos  localizados em outro local compartilhado.

Antes do Windows 2000 era usada a porta tcp 139 para tráfego de rede e era usado NetBIOS. Esse serviço tem o nome de netbios-ssn quando executamos “netstat” para consultarmos as conexões que estão sendo usadas.

Além de tcp o SAMBA também usa o udp. Quanto ao protocolo udp, ele é usado para possibilitar um rápido broadcast. Broadcast é a transmissão de sinal de um dispositivo para todos os outros da rede. Por exemplo, um roteador está sempre enviando sinal broadcast a fim de que o nome da sua rede wifi(SSID) apareça nos os celulares próximos.

Usando broadcast pelo samba para procurar nomes de computadores e servidores, nomes de domínio. O serviço de nomes do NetBIOS opera usando a porta UDP 137. A porta UDP 138 o é usada para transportar Datagramas. Esse serviço da porta 138 não é bem entendido devido à falta de documentação a respeito.

 

Faço separação do samba instalado via repostitório(yum, apt…) e o samba compilado pois nesse último, o método compilado, o samba acaba sendo instalado com mais funções e provavelmente irá ser usado como Controlador de Domínio e não somente para compartilhar pastas ou impressoras.

Portas para Samba Instalado via Repositório(apt, yum…)

 

No samba que instalamos em nosso desktop usando ferramentas como yum ou apt  precisamos apenas liberar as portas abaixo:

  • 445 tcp
  • 137 udp
  • 138 udp
  • 139 tcp

 

Conforme texto acima, poderíamos liberar/usar apenas a porta 445 já que as outras são destinadas ao antigo NetBIOS.

 

Portas Usadas pelo Samba Compilado

Clique aqui para saber o que pe compilação.

Aqui temos o samba instalado via compilação e assim, praticamente deve estar sendo usado como controlado de Domínio(DC). Ele possui muito mais funções e assim muito mais portas a serem abertas. Vamos listá-las abaixo:

Service Port Protocol
DNS * 53 tcp/udp
Kerberos 88 tcp/udp
ntp ** 123 udp
End Point Mapper (DCE/RPC Locator Service) 135 tcp
NetBIOS Name Service 137 udp
NetBIOS Datagram 138 udp
NetBIOS Session 139 tcp
LDAP 389 tcp/udp
SMB over TCP 445 tcp
Kerberos kpasswd 464 tcp/udp
LDAPS *** 636 tcp
Global Catalog 3268 tcp
Global Catalog SSL *** 3269 tcp
Dynamic RPC Ports **** 49152-65535 tcp

Essa tabela foi retirada da página wiki do samba e inclui também as portas que falamos acima, no início do post.

 

Liberando as Portas Usadas pelo Samba no Firewall

Como há muitos firewalls e os procedimentos são bem semelhates entre eles, irei ater-me apenas em 3 deles: firewalld, ufw e iptables.

 

Também não irei postar exemplos liberando todas as portas acima. Irei exibir apenas alguns exemplos então você só precisa seguir o exemplo para liberar as demais.

 

Liberando Portas com Firewalld

firewall-cmd --add-port=53/tcp  --permanent
firewall-cmd --add-port=53/udp  --permanent
firewall-cmd --add-port=123/udp  --permanent
firewall-cmd --add-port=135/tcp  --permanent

…………..

firewall-cmd --add-port=49152-65535/tcp --permanent

 

Liberando Portas com ufw

 

ufw allow 53/tcp
ufw allow 53/udp
ufw allow 123/udp
ufw allow 135/tcp

…………..

ufw allow 49152:65535/tcp

 

Liberando Portas com Iptables

iptables -A INPUT -p tcp --dport 53  -j ACCEPT
iptables -A INPUT -p udp --dport 53  -j ACCEPT
iptables -A INPUT -p udp --dport 123  -j ACCEPT
iptables -A INPUT -p tcp --dport 135  -j ACCEPT
iptables -A INPUT -p tcp --dport 49152:65535  -j ACCEPT

 

Essa ultima opção é necessária ao usar iptables a fim de que o samba funcione adequadamente.

iptables -A INPUT conntrack --ctstate RELATED,ESTABLISHED   -j ACCEPT

 

Fontes: wiki.samba, samba.org, docs.microsoft.com, computerhope, microsoft, microsoft_netbios,

Leitor voraz e um dos administradores do GNU/Linux Brasil no Whatsapp, facebook, youtube e nesse dito site: www.gnulinuxbrasil.com.br

One Comment to “Samba 21: Liberando no Firewall as Portas Usadas pelo Samba”

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *