| 1 comments ]

Nesse tópico iremos abordar os modos de segurança que podem ser implementados no Samba.

É sabido que existem cinco formas diferentes de implementação de segurança no samba: SHARE, USER, DOMAIN, ADS e SERVER.

O servidor samba informa o nível de segurança que está rodando ao cliente ao iniciar a conexão. Existem duas opções de nível: Share Level e User Level. O que os diferencia é o modo como cada cliente tenta se autenticar.

User Level Security (Segurança em nível de usuário)

Nesse nível o cliente começa uma sessão requisitando diretamente o protocolo de negociação. Essa requisição gera um nome de usuário e senha, e o servidor pode aceitar/rejeitar a combinação de nome/senha. Nesse estágio o servidor não tem idéia de qual compartilhamento o cliente tentará se conectar, portanto o compartilhamento em si não é parâmetro para aceitar e recusar a conexão, logo os únicos parâmetros que realmente importam nessa nível são:

  1. Nome de usuário/Senha.
  2. Nome da máquina Cliente.
Se o servidor aceitar esses dois atributos então os clientes podem criar os compartilhamentos sem especificar uma senha. É esperado que todos os direitos de acesso serão como os de nome.de.usuário/senha especificados na sessão de estabelecimento da conexão.

Também é possível  de se fazer sessões múltiplas, ou seja, ficar autenticado em várias estações diferentes. O servidor vai gerar um UID para ser usado como tag para usuário/senha. (WinDD é um exemplo de aplicação que faz isso)


Exemplo de Configuração


O parâmetro do smb.conf que determina o nível de segurança de usuário(User Level Security) é:
security = user

É default desde o samba-2.2.x.

Share Level Security (Segurança em nível de compartilhamento)

Nesse nível há uma autenticação separada para compartilhamento. Sendo assim,  é esperado que para cada compartilhamento que se deseja ter acesso uma nova autenticação, onde cada compartilhamento possui uma senha, independendo do nome do usuário.

Exemplo de Configuração

O parâmetro do smb.conf que determina a segurança em nível de compartilhamento é(Share Level Security) é:
security = share
   
(Algumas versões atuais de clientes Windows não são mais compatíveis com esse tipo de segurança.)

Domain Security Mode (User Level Security)

Quando esse modo está ativo, o samba passa ser uma conta confiável no domínio e faz com que todas as autenticações passem pelo controlador de domínio. Em outras palavras, essa configuração faz com que o servidor Samba seja um membro do servidor de domínio.


Exemplo de Configuração:

Samba como membro de um domínio:

É necessário a adição do nome do grupo no smb.conf
 
security = domain
   workgroup = NOMEDOGRUPO
Para esse método funcionar, faz-se necessário que o samba entre no domínio do controlador Windows,
o que não será aprofundado nesse tópico.
   

ADS Security Mode (User Level Security)

Usado para fazer com que o samba adentre em um domínio Active Directory. Há uma certa incopatibilidade do AD com os sistemas de compartilhamento que usam NT4-Style, e o samba é um deles, portanto com essa configuração, onde o Samba é um membro do AD, ele passa a se utilizar do Kerberos que é o usado por todas as máquinas que rodam Windows 2000 e versões mais recentes.

Exemplo de Configuração:

smb.conf:

realm = your.kerberos.REALM (Faz com que o samba utilize o modo kerberos e não o modo NT4) 
   security = ADS
   
O seguinte parâmetro pode ser preciso:
password server = your.kerberos.server (Autenticação)   

Server Security (User Level Security)

 (não mais usado)

Era utilizado quando o samba não podia atuar como membro de um domínio.

Fontes: 

Livro:

TERPSTRA, John H; VERNOOIJ, Jelmer R. The Official Samba-3 HOWTO and Reference Guide. Prentice Hall, 2003.

1 comments

Rubem said... @ 6 November 2011 at 15:09

Grato!Esse Artigo me esclareceu minhas dúvidas.

Post a Comment