5/9/2018
425 - Sa mba - slide pdf.c om
1
425 – Construindo Soluções Samba com Implementações Reais
http://slide pdf.c om/re a de r/full/425-sa mba
1/99
5/9/2018
425 - Sa mba - slide pdf.c om
2
Conteúdo do Curso ●
●
Samba: Visão geral e História Grupos de Trabalho x Domínios
●
Conceitos, Arquitetura e Design
●
Configuração do Samba
●
Samba em Grupos de Trabalho
●
Servidores PDCs, BDCs e Domain Members
●
Configuração de um servidor PDC
●
●
Manipulação de Usuários e Grupos ACLs
●
PDC com Autenticação Centralizada
●
Winbind
http://slide pdf.c om/re a de r/full/425-sa mba
2/99
5/9/2018
425 - Sa mba - slide pdf.c om
3
História ●
NetBIOS – –
–
–
–
http://slide pdf.c om/re a de r/full/425-sa mba
Endereçamento de estações por nome Co-Desenvolvido pela IBM e Sytec Interface entre programas e hardware de rede Redirecionamento de I/O adicionado pela Microsoft e criação do SMB (CIFS) Posteriormente foi adicionado o serviço de anúncio (Browsing) e de autorização e autenticação central 3/99
5/9/2018
425 - Sa mba - slide pdf.c om
4
História ●
NetBIOS, SMB, Samba e Unix – –
–
http://slide pdf.c om/re a de r/full/425-sa mba
Criado por Andrew Tridgell Compartilhar arquivos sobre NetBIOS para DOS posteriormente para conectar uma Usado máquina Windows com seu servidor
4/99
5/9/2018
425 - Sa mba - slide pdf.c om
5
Funcionamento ●
Implementa 4 serviços CIFS – –
– –
●
Resolução de Nomes Anúncio de Serviços (Browsing)
Daemons Distintos – –
http://slide pdf.c om/re a de r/full/425-sa mba
Compartilhamento e Impressão Autenticação e Autorização
Smbd Nmbd
5/99
5/9/2018
6
425 - Sa mba - slide pdf.c om
Funcionamento ●
SMBD – – – –
Autorização e Autenticação Compartilhamentos Acesso aos compartilhamentos Portas: 139 e 445 (TCP) ●
139: SMB sobre NetBIOS sobre TCP
●
445: SMB sobre TCP (sem encapsulamento)
http://slide pdf.c om/re a de r/full/425-sa mba
6/99
5/9/2018
7
425 - Sa mba - slide pdf.c om
Funcionamento ●
NMBD –
Resolução de Nomes ●
Broadcast
●
– –
Ponto-a-ponto Browsing Portas: 137 e 138 (UDP) ●
●
http://slide pdf.c om/re a de r/full/425-sa mba
137: Browsing, replicação de informações de diretório, netlogon, relações de confiança, canal de comunicação seguro (WinNT Secure Channel) 138: Comunicação de datagramas NetBIOS 7/99
5/9/2018
8
425 - Sa mba - slide pdf.c om
Funcionamento ●
Resolução de Nomes –
Broadcast ●
Mecanismo Original
●
Envio de solicitações para a rede “Scooby, aonde está você?” –
Ponto-a-Ponto ●
●
http://slide pdf.c om/re a de r/full/425-sa mba
Estações se registram com um servidor NBNS (NetBIOS Name Service) Registro de Nome → Endereço
8/99
5/9/2018
9
425 - Sa mba - slide pdf.c om
Funcionamento ●
Browsing – –
–
–
●
Além de LMBs, podem existir DMBs (Domain Master Browsers) DMBs coordenam LMBs em redes e domínios diferentes
WINS – –
http://slide pdf.c om/re a de r/full/425-sa mba
Eleição de um LMB (Local Master Browser) LMB mantém uma lista de serviços oferecidos
Configurado manualmente Mantém lista de serviços 9/99
5/9/2018
Funcionamento
10
425 - Sa mba - slide pdf.c om
NetBIOS
●
Modos de Funcionamento –
b-node (tipo 0x01): Apenas broadcast
NetBIOS através de UDP
–
p-node (tipo 0x02): Apenas Unicast NetBIOS (Ponto-a-Ponto) direcionado a um WINS
●
–
m-node (tipo 0x04): Broadcast + Wins
–
h-node (tipo 0x05): Wins + Broadcast
Padrão: b-node
http://slide pdf.c om/re a de r/full/425-sa mba
10/99
5/9/2018
Funcionamento
11
425 - Sa mba - slide pdf.c om
NetBIOS
●
Nomes NetBIOS –
16 caracteres, 16 bytes ●
●
●
Eleições LMB – – – –
http://slide pdf.c om/re a de r/full/425-sa mba
15 caracteres ASCII 1 caractere como sufixo NetBIOS (MS)
Maior OS Level Opção Preferred Master Uptime (tempo online) Nome NetBIOS (ordem alfabética)
11/99
5/9/2018
12
http://slide pdf.c om/re a de r/full/425-sa mba
Funcionamento 425 - Sa mba - slide pdf.c om
12/99
5/9/2018
13
●
Funcionamento 425 - Sa mba - slide pdf.c om
Grupos de Trabalho – –
– –
●
Domínios –
http://slide pdf.c om/re a de r/full/425-sa mba
Autenticação Descentralizada Estações contém listas próprias de autenticação e autorização Configuração simples Difícil manutenção em redes maiores Servidor centralizado de autenticação e autorização
13/99
5/9/2018
14
●
Instalação 425 - Sa mba - slide pdf.c om
Compilação dos fontes – –
– –
Flexibilidade Últimas versões
Maior dificuldade de administração Guia para compilação:
http://www.samba.org/samba/docs/man/Samba-HOWTO-Collection/compiling.html
●
Instalação através dos pacotes fornecidos
http://slide pdf.c om/re a de r/full/425-sa mba
14/99
5/9/2018
15
●
●
Instalação 425 - Sa mba - slide pdf.c om
Instalar os pacotes do Samba: # apt-get install samba smbclient O samba deverá ser iniciado automaticamente. Verificar se os serviços estão rodando: # /etc/init.d/samba status
http://slide pdf.c om/re a de r/full/425-sa mba
15/99
5/9/2018
16
●
Instalação 425 - Sa mba - slide pdf.c om
Também pode-se verificar o funcionamento através da existência dos processos “smbd” e “nmbd” # ps -Af|grep -E '(smbd|nmbd)'
http://slide pdf.c om/re a de r/full/425-sa mba
16/99
5/9/2018
17
●
Instalação 425 - Sa mba - slide pdf.c om
Para parar os daemons: /etc/init.d/samba stop
●
Para iniciar os daemons: /etc/init.d/samba start ●
Para reiniciar os daemons: /etc/init.d/samba restart
http://slide pdf.c om/re a de r/full/425-sa mba
17/99
5/9/2018
18
●
Instalação 425 - Sa mba - slide pdf.c om
Arquivos principais –
–
●
/etc/samba/smb.conf : Arquivo de
configuração principal /var/lib/samba/*.tdb: Bases de armazenamento de dados do Samba
O samba armazena os dados em bases .tdb, o “Trivial Database”, que aceitam múltiplas escritas simultaneamente
http://slide pdf.c om/re a de r/full/425-sa mba
18/99
5/9/2018
19
●
Arquivos TDB 425 - Sa mba - slide pdf.c om
Persistentes –
account_policy: políticas de de contas
–
group_mapping: mapeamentos entre SID->grupos UNIX
–
ntdrivers: informações de drivers de impressoras instalados
–
ntforms: informações de forms de impressoras instalados
–
ntprinters: configurações de impressoras instaladas
–
passdb: armazena informações de contas SambaSAMAccount
–
registry: esqueleto somente leitura de registro Windows
–
secrets: armazena SIDs (identificadores), senha do LDAP e
–
–
dados sensíveis e críticos para o funcionamento do Samba. share_info: Armazena ACLs de compartilhamentos winbindd_idmap: base de mapementos de endereço do Winbind
http://slide pdf.c om/re a de r/full/425-sa mba
19/99
Arquivos TDB
20 5/9/2018
425 - Sa mba - slide pdf.c om
●
Temporários –
brlock : Informações de byte-range locking de arquivos
–
connections: Cache de informações de conexões em uso para gerenciamento de
número de conexões –
eventlog/*tdb: Cache de logs de sistema
–
gencache: Cache de servidores WINS não-funcionais e dados de domínio
–
login_cache: Cache de informações de login e tentativas incorretas de senha messages: Armazena temporariamente mensagens sendo processadas pelo smdb
–
netsamlogon_cache: Cache de estruturas de dados de logon
–
perfmon/*.tdb: Informações do contador de performance
–
printing/*.tdb: Cache das filas de impressão
–
–
schannel_store: Informações criptográficas de credenciais de sessões ativas sessionid: Dados genéricos de sessão
–
unexpected: Armazena pacotes recebidos que não são para os daemons do Samba)
–
winbindd_cache: Cache de informações de identidade recebidas pelo Winbind
–
http://slide pdf.c om/re a de r/full/425-sa mba
20/99
21
Arquivos TDB
5/9/2018
425 - Sa mba - slide pdf.c om
●
Gerenciamento –
Pacote tdb-tools ●
tdbbackup Backup das bases .tdb –
●
tdbdump Mostra o conteúdo de um .tdb tdbtool Permite a edição de bases, verificação de integridade e realização de testes –
●
–
http://slide pdf.c om/re a de r/full/425-sa mba
21/99
22
Arquivos TDB
5/9/2018
425 - Sa mba - slide pdf.c om
●
Efetuar backup –
tdbbackup [nome do arquivo] # tdbbackup /var/lib/samba/passdb.tdb
●
Verificar base e restaurar se corrompida –
tdbbackup -v [nome do arquivo] # tdbbackup /var/lib/samba/passdb.tdb
http://slide pdf.c om/re a de r/full/425-sa mba
22/99
23
Arquivos TDB
5/9/2018
425 - Sa mba - slide pdf.c om
●
Visualizar conteúdo de um TDB (dump) –
tdbdump [nome do arquivo]
# tdbdump /var/lib/samba/passdb.tdb
http://slide pdf.c om/re a de r/full/425-sa mba
23/99
24
Visualizando Pacotes
5/9/2018
425 - Sa mba - slide pdf.c om
●
Pode-se visualizar o tráfego NetBIOS capturando-se o tráfego UDP: # tcpdump -nvvi eth0 udp and not port 53
http://slide pdf.c om/re a de r/full/425-sa mba
24/99
25
Exercício
5/9/2018
425 - Sa mba - slide pdf.c om
●
Faça uma captura dos pacotes do Samba, reiniciando os serviços
http://slide pdf.c om/re a de r/full/425-sa mba
25/99
26
Configuração
5/9/2018
425 - Sa mba - slide pdf.c om
●
smb.conf – – –
–
–
Arquivo de configuração principal Dividido em seções (stanzas) Seções representam compartilhamentos ou meta-serviços Pode ser editado manualmente ou através de ferramentas como o SWAT Sintaxe análoga aos arquivos .ini do Windows
http://slide pdf.c om/re a de r/full/425-sa mba
26/99
Configuração
27 5/9/2018
425 - Sa mba - slide pdf.c om
smb.conf
●
[Global]: Definições de todo o servidor
●
Meta serviços –
– –
●
[Homes]: Fornece um diretório pessoal para
cada usuário [Printers]: Fornece filas de impressão [IPC$]: Utilizado para Browsing e estabelecimento de conexões TCP/IP
[Compartilhamento] –
Acessados através de: \\nome\compartilhamento
http://slide pdf.c om/re a de r/full/425-sa mba
27/99
28 5/9/2018
Configuração 425 - Sa mba - slide pdf.c om
smb.conf
[global] workgroup = GRUPO netbios name = MAQUINA [compartilhamento] path = /tmp
http://slide pdf.c om/re a de r/full/425-sa mba
29
28/99
Configuração
29 5/9/2018
425 - Sa mba - slide pdf.c om
smb.conf
●
Tipos de Servidor –
Controlador de Domínio ●
●
●
–
Primary Domain Controller (PDC) Backup Domain Controller (BDC) Active Directory Server Domain Controller
Membro de Domínio ●
AD Domain Server
●
–
NT4 Domain Server
Servidor Standalone
http://slide pdf.c om/re a de r/full/425-sa mba
30
29/99
Configuração
5/9/2018
425 - Sa mba - slide pdf.c om
smb.conf
●
Modos de Segurança –
Negociado no estabelecimento da sessão ●
●
–
Servidor informa modos suportados Cliente seleciona o modo
Implementações Disponíveis ●
●
User Share
(padrão)
Domain ADS
(variação de User) (variação de User)
●
●
http://slide pdf.c om/re a de r/full/425-sa mba
31
30/99
Configuração
5/9/2018
425 - Sa mba - slide pdf.c om
smb.conf – Modos de Segurança ●
security = user Cliente envia usuário e senha Servidor verifica credenciais e nome da máquina cliente Cliente monta compartilhamentos sem enviar novamente usuário e senha Não é feita nova autenticação para acessar – –
–
–
recursos
http://slide pdf.c om/re a de r/full/425-sa mba
32
31/99
Configuração
5/9/2018
425 - Sa mba - slide pdf.c om
smb.conf – Modos de Segurança ●
security = share Cliente se autentica a cada solicitação (montagem de compartilhamento) Cliente envia a senha Usuário não é explicitamente informado O servidor verifica a senha recebida contra cada usuário definido no compartilhamento –
– – –
–
Atualmente “deprecated”
33
http://slide pdf.c om/re a de r/full/425-sa mba
32/99
Configuração
smb.conf – Modos de Segurança
5/9/2018
425 - Sa mba - slide pdf.c om
●
security = domain Baseado em segurança a nível de usuário Fornece autenticação centralizada – – – –
Servidor possui uma de confiança Samba participará derelação um domínio como: ●
●
●
–
PDC – Primary Domain Controller BDC – Backup Domain Controller DMS – Domain Member Server
É necessário ingressar no domínio
34
http://slide pdf.c om/re a de r/full/425-sa mba
33/99
Configuração
smb.conf – Modos de Segurança
5/9/2018
425 - Sa mba - slide pdf.c om
●
security = ADS Baseado em segurança a nível de usuário Permite que o Samba ingresse em domínios Active Directory rodando em modo nativo. Necessária a utilização de Kerberos – –
–
35
http://slide pdf.c om/re a de r/full/425-sa mba
34/99
Configuração
smb.conf – Modos de Segurança
5/9/2018
425 - Sa mba - slide pdf.c om
●
security = server Baseado em segurança a nível de usuário Samba tenta efetuar log in no password server com as credenciais recebidas Altamente recomendado não utilizar este modo – –
–
●
Possibilidade de lockout de senha
●
●
Não háconexões garantia quanto ao password server Causa persistentes
36
http://slide pdf.c om/re a de r/full/425-sa mba
35/99
Configuração smb.conf
5/9/2018
425 - Sa mba - slide pdf.c om
●
Outras diretivas: workgroup: Nome do grupo de trabalho ou domínio – –
netbios name: Nome NetBIOS do servidor
–
security: Altera como os clientes se conectam ao
servidor
–
domain master: Configura o smbd para agir como
master browser
–
–
preferred master: Faz com que o nmbd force eleições
para master browser domain logons: Configura o Samba para fornecer serviços de netlogon, agindo como um controlador de domínio
37
http://slide pdf.c om/re a de r/full/425-sa mba
36/99
Configuração smb.conf
5/9/2018
425 - Sa mba - slide pdf.c om
●
O quê torna o Samba um servidor? ●
●
O quê torna o Samba um controlador de Domínio? O quê torna o Samba membro de um Domínio?
38
http://slide pdf.c om/re a de r/full/425-sa mba
Configuração
37/99
Configuração smb.conf
5/9/2018
425 - Sa mba - slide pdf.c om
●
O Samba age como um servidor independente do modo de funcionamento ●
●
“security = domain” ou + “domain master = yes” + “domain logons = yes” “security = domain” ou “security = ADS” + ingresso no domínio
39
http://slide pdf.c om/re a de r/full/425-sa mba
38/99
Configuração
5/9/2018
425 - Sa mba - slide pdf.c om
●
Macros (Variáveis) –
–
●
Valores especiais que são preenchidos em tempo de execução Úteis para definições de ACLs
Ferramentas –
–
testparm: Verifica a validade sintática do
arquivo smb.conf smbclient: Cliente SMB/CIFS em linha de comando
40
http://slide pdf.c om/re a de r/full/425-sa mba
39/99
Configuração
5/9/2018
425 - Sa mba - slide pdf.c om
●
Configuração simples Fazer backup do Samba – –
Criar um novo /etc/samba/smb.conf
– – –
Testar a configuração com oetestparm Reiniciar os daemons smbd nmbd Verificar se os daemons estão rodando e escutando nas portas esperadas # ps -Af | grep -E '(smbd|nmbd)' # netstat -ntpul | grep mbd
41
http://slide pdf.c om/re a de r/full/425-sa mba
40/99
Usando o smbclient
5/9/2018
425 - Sa mba - slide pdf.c om
●
Listar compartilhamentos
$ smbclient -L localhost
Enter diego's password: Domain=[WORKGROUP] OS=[Unix] Server=[Samba 3.5.4] Sharename
Type
Comment
-----------print$ Disk ------Printer Drivers tmp Disk temporary path IPC$ IPC IPC Service (Ubunbox server (Samba, Ubuntu)) Domain=[WORKGROUP] OS=[Unix] Server=[Samba 3.5.4] Server --------UBUNBOX
Comment ------Ubunbox server (Samba, Ubuntu)
Workgroup Master --------------WORKGROUP
42
http://slide pdf.c om/re a de r/full/425-sa mba
41/99
Usando o smbclient
5/9/2018
425 - Sa mba - slide pdf.c om
●
Acessando um compartilhamento $ smbclient '\\ubunbox\tmp' Enter diego's password: Domain=[WORKGROUP] OS=[Unix] Server=[Samba 3.5.4] smb: \>
●
Listando o conteúdo do compartilhamento smb: \> ls
. D 0 Fri Nov 19 13:30:30 2010 .. D 0 Mon Oct 18 21:05:05 2010 virtual-diego.dC5EVf D 0 Fri Nov 19 09:07:19 2010 arquivo 0 Fri Nov 19 13:42:49 2010 orbit-diego D 0 Fri Nov 19 13:35:28 2010 .ICE-unix DH 0 Fri Nov 19 09:07:06 2010 .X0-lock HR 11 Fri Nov 19 09:07:00 2010
46103 blocks of size 262144. 24552 blocks available smb: \>
43
http://slide pdf.c om/re a de r/full/425-sa mba
42/99
Usando o smbclient
5/9/2018
425 - Sa mba - slide pdf.c om
●
Obtendo um arquivo smb: \> get arquivo getting file \arquivo of size 6 as arquivo (0,4 KiloBytes/sec) (average 0,3 KiloBytes/sec)
●
Enviando um arquivo smb: \> put arquivo2
putting file arquivo2 as \arquivo2 (0,7 kb/s) (average 0,7 kb/s)
44
http://slide pdf.c om/re a de r/full/425-sa mba
43/99
Samba Standalone 5/9/2018
425 - Sa mba - slide pdf.c om
●
Vantagens Flexível – –
●
Configuração Simples
Desvantagens –
Autenticação local
45
http://slide pdf.c om/re a de r/full/425-sa mba
44/99
Samba Standalone 5/9/2018
425 - Sa mba - slide pdf.c om
●
Visão Geral – –
–
Autenticação e Controle de Acesso Local Recursos disponibilizados em modo “share” ou “user” Não fornecem serviço netlogon
46
http://slide pdf.c om/re a de r/full/425-sa mba
45/99
Samba Standalone 5/9/2018
425 - Sa mba - slide pdf.c om
●
Autenticação Local 2 usuários: samba + sistema – –
Database de usuários local: /var/lib/samba/passdb.tdb
47 http://slide pdf.c om/re a de r/full/425-sa mba
Samba Standalone
46/99
Laboratório
5/9/2018
425 - Sa mba - slide pdf.c om
●
Configuração sem autenticação no modo “share” – –
Definir “security = share” Criar um compartilhamento com “public = yes”
48 http://slide pdf.c om/re a de r/full/425-sa mba
Samba Standalone
47/99
Laboratório
5/9/2018
425 - Sa mba - slide pdf.c om
●
Configuração com autenticação em modo “user” – – –
–
–
Definir “security = user” Criar um compartilhamento não-público Adicionar usuários em uma lista “valid users” Reiniciar o Samba (ou daemon smbd) Criar os usuários usando o smbpasswd
49 http://slide pdf.c om/re a de r/full/425-sa mba
Samba Standalone
48/99
Laboratório
5/9/2018
425 - Sa mba - slide pdf.c om
●
Criação de compartilhamento público em modo “user” –
Criar um compartilhamento com o parâmetro “guest ok = yes” [anon] path = /tmp browseable = yes guest ok = yes
50 http://slide pdf.c om/re a de r/full/425-sa mba
Exercício
49/99
5/9/2018
425 - Sa mba - slide pdf.c om
●
Crie um script simples de backup das configurações do Samba – – –
Smb.conf smbpasswd .tdbs ●
●
Fazer backup e verificar se sucesso Restaurar arquivos corrompidos
51 http://slide pdf.c om/re a de r/full/425-sa mba
Exercício
50/99
5/9/2018
425 - Sa mba - slide pdf.c om
●
●
Configure seu servidor em modo de compartilhamento por pasta Crie um compartilhamento público
●
Acesse e envie um arquivo usando o Windows
52 http://slide pdf.c om/re a de r/full/425-sa mba
Domínios
51/99
5/9/2018
425 - Sa mba - slide pdf.c om
●
EstiloSamba NT4 (PDC+BDC) – – –
●
Windows NT Windows 2000 (Modo Emulado)
Estilo Active Directory – –
Windows 2000 e superiores Samba (Apenas DMS)
53 http://slide pdf.c om/re a de r/full/425-sa mba
Domínios
52/99
5/9/2018
425 - Sa mba - slide pdf.c om
●
Domínios SSO –NT4 Single Sign On – –
Identificados por SIDs S-1-5-21-726309263-4128913605-1168186429
–
Objetos possuem RIDs RID do usuário Administrador: 500
–
ACLs baseadas em SID+RID S-1-5-21-726309263-4128913605-1168186429-500
54 http://slide pdf.c om/re a de r/full/425-sa mba
Domínios
53/99
5/9/2018
425 - Sa mba - slide pdf.c om
●
Domínios Active Directory Controladores de domínio não-hierárquicos – – –
Introdução do Kerberos Controle refinado de políticas
55 http://slide pdf.c om/re a de r/full/425-sa mba
Domínios
54/99
5/9/2018
425 - Sa mba - slide pdf.c om
●
Limitações do Samba Não suporta replicação de SAM com –
– – –
controladores Windows Não age como controlador de domínios AD Não pode ser gerenciado através do MMC Para replicação PDC-BDC entre Samba é necessário utilizar o LDAP como backend
56 http://slide pdf.c om/re a de r/full/425-sa mba
Domínios
55/99
5/9/2018
425 - Sa mba - slide pdf.c om
●
TiposPDC de :Controlador Primary Domain Controller –
●
●
●
Banco inicial de controle do domínio Security Account Manager – SAM Responde solicitações netlogon – –
Quando inexiste BDC Quando o BDC está sobrecarregado
57 http://slide pdf.c om/re a de r/full/425-sa mba
Domínios
56/99
5/9/2018
425 - Sa mba - slide pdf.c om
●
TiposBDC de :Controlador Backup Domain Controller –
●
●
Responde solicitações de logon Pode ser promovido à PDC – –
●
Automaticamente no Windows Manualmente, com o Samba
Sincronização do SAM – –
Automaticamente entre Windows Possível com backend LDAP entre Sambas
58 http://slide pdf.c om/re a de r/full/425-sa mba
Domínios
57/99
5/9/2018
425 - Sa mba - slide pdf.c om
●
Domain Member Possuem um registro na base do domínio –
(Trust Account) ●
●
●
Criada pelo administrador Conta machine account Chave definida automaticamente
59 http://slide pdf.c om/re a de r/full/425-sa mba
Domínios
58/99
5/9/2018
425 - Sa mba - slide pdf.c om
●
Características um Controlador Registra-se ede Informa que é o Controlador –
●
●
●
– –
Broadcast NetBIOS WINS DNS + AD
Fornece serviços de netlogon Fornece um compartilhamento especial chamado “netlogon”
60 http://slide pdf.c om/re a de r/full/425-sa mba
Domínios
Configuração do Samba PDC
59/99
Configuração do Samba PDC 5/9/2018
●
PDC
425 - Sa mba - slide pdf.c om
[global] workgroup = 4LINUX netbios name = %h server string = Servidor Samba %h security = user client lanman auth = yes passdb backend = tdbsam:/var/lib/samba/passdb.tdb log level = 0 auth:10 domain logons = yes domain master = yes add machine script = /usr/sbin/useradd -g nogroup -c "Estacao %u" -d /tmp -s /bin/false "%u" logon path = \\%N\profiles\%U [netlogon] path = /var/lib/samba/netlogon guest ok = yes browseable = no [profiles] path = /var/lib/samba/profiles read only = no create mask = 0600 directory mask = 0700
61 http://slide pdf.c om/re a de r/full/425-sa mba
Domínios
Configuração do Samba PDC
60/99
5/9/2018
425 - Sa mba - slide pdf.c om
●
passdb backend: Backend de armazenamento de grupos e contas
smbpasswd, tdbsam, ldapsam ●
Compartilhamento Netlogon –
–
●
Scripts de Logon Políticas de Grupo (NTConfig.POL)
Compartilhamento Profiles Armazenamento de perfis Um diretório por usuário Gravação para o dono –
–
●
●
Leitura Global
62 http://slide pdf.c om/re a de r/full/425-sa mba
Domínios
Configuração do Samba PDC
61/99
5/9/2018
425 - Sa mba - slide pdf.c om
●
Checklist PDC – – – –
smb.conf configurado Usuário root adicionado Diretórios netlogon e profiles* criados *Scripts de logon preparados
*Passos Opcionais
63 http://slide pdf.c om/re a de r/full/425-sa mba
Exercício
62/99
5/9/2018
425 - Sa mba - slide pdf.c om
●
Configurar o servidor como PDC –
●
Domínio: SeuNome
Ingressar com a máquina Windows no domínio
64 http://slide pdf.c om/re a de r/full/425-sa mba
Domínios Configuração do Samba PDC
63/99
5/9/2018
●
PDC – Configuração Completa 425 - Sa mba - slide pdf.c om
[global] workgroup = 4LINUX netbios name = DEBIANXX passdb backend = tdbsam:/var/lib/samba/passdb.tdb os level = 33 preferred master = auto domain master = yes local master = yes add machine script = /usr/sbin/useradd -g nogroup -c "Estacao %u" -d /tmp -s /bin/false "%u" security = user domain logons = yes logon path = \\%N\profiles\%U logon drive = H: logon home = \\homeserver\%U\winprofile logon script = logon.cmd [netlogon] path = /var/lib/samba/netlogon read only = yes [profiles] path = /var/lib/samba/profiles read only = no create mask = 0600 directory mask = 0700
65 http://slide pdf.c om/re a de r/full/425-sa mba
Domínios Configuração do Samba BDC
64/99
5/9/2018
425 - Sa mba - slide pdf.c om
●
Exige replicação de backend – – –
●
PDC: Master LDAP || BDC: Slave LDAP PDC: LDAP Central || BDC: LDAP Central PDC: smbpasswd || BDC: smbpasswd
Exige a obtenção do SID # net rpc getsid
●
Diretivas: – –
domain master = no domain logons = yes
66 http://slide pdf.c om/re a de r/full/425-sa mba
Domínios Configuração do Samba BDC
65/99
5/9/2018
425 - Sa mba - slide pdf.c om
●
Pontos de Atenção – – – –
SID do domínio PDC = BDC Base de usuários Unix PDC = BDC Base de usuários Samba PDC = BDC Sincronizar Netlogon e Profiles
67 http://slide pdf.c om/re a de r/full/425-sa mba
Exercício
66/99
5/9/2018
●
Em dupla – –
425 - Sa mba - slide pdf.c om
Eleger um PDC Configurar o outro Samba como BDC
68 http://slide pdf.c om/re a de r/full/425-sa mba
Domínios Configuração do Samba DMS
67/99
5/9/2018
425 - Sa mba - slide pdf.c om
●
Irá tornar o servidor membro de um contexto de segurança – –
– –
security = domain password server = PDC BDC1 BDC2 ou password server = * net rpc join -U root%senha Reiniciar o samba
69 http://slide pdf.c om/re a de r/full/425-sa mba
Usuários, Grupos e ACLs
68/99
5/9/2018
425 - Sa mba - slide pdf.c om
●
Controle de Permissões Flexível – – – – –
Permissões Unix Definições por Compartilhamento ACLs de Compartilhamentos ACLs Windows através de ACLs Posix Controle a nível de usuário ou grupo
70 http://slide pdf.c om/re a de r/full/425-sa mba
Usuários, Grupos e ACLs
69/99
5/9/2018
425 - Sa mba - slide pdf.c om
●
Controle de Grupos – –
Grupos Unix (posixGroup) Mapeamento unix → SID ●
–
net groupmap
Usuários adicionados ao grupo Unix
71 http://slide pdf.c om/re a de r/full/425-sa mba
Usuários, Grupos e ACLs 70/99
5/9/2018
Definições de Compartilhamento 425 - Sa mba - slide pdf.c om
●
[myshare] path = /tmp write list = diego valid users = @usuarios [secure] path = /opt hosts allow = 127.0.0.1 hosts deny = all [mynet] path = /home hosts = all 192.168.4.224/24 hosts allow deny =
72 http://slide pdf.c om/re a de r/full/425-sa mba
Exercício 71/99
●
Crie 2 grupos: “empire” e “rebels”
●
Crie os usuários nos grupos:
5/9/2018
425 - Sa mba - slide pdf.c om
– –
●
luke, solo: rebels vader, palpatine: empire
Crie os seguintes compartilhamentos: Hoth: leitura para grupo rebels, escrita para luke Coruscant: leitura para grupo empire, escrita para vader e palpatine – –
– –
Mandalore: leitura para rebels e empire, sem escrita Kamino: acessível apenas do próprio servidor
73 http://slide pdf.c om/re a de r/full/425-sa mba
Exercício 72/99
5/9/2018
[hoth]
425 - Sa mba - slide pdf.c om
path write = list/tmp = luke valid users = @rebels [coruscant] path = /tmp write list = vader, palpatine valid users = @empire [mandalore] path = /tmp read only = yes valid users = @empire, @rebels [kamino] path = /tmp hosts allow = 127.0.0.1
74 http://slide pdf.c om/re a de r/full/425-sa mba
Usuários, Grupos e ACLs 73/99
5/9/2018
UGO – User, Group, Other 425 - Sa mba - slide pdf.c om
●
– –
●
Permissionamento padrão Suportado transparentemente
ACLs POSIX –
– –
Necessário ativação de suporte ACL no filesystem e instalação de ferramentas Maior flexibilidade Permissionamento semelhante ao nativo Windows
75 http://slide pdf.c om/re a de r/full/425-sa mba
Usuários, Grupos e ACLs 74/99
●
UGO
5/9/2018
425 - Sa mba - slide pdf.c om
–
–
Criar um compartilhamento publico apontando para /tmp Criar um diretório com permisão 750 # mkdir /tmp/pub # chown diego:usuarios /tmp/pub # chmod 750 /tmp/pub
–
–
–
Acessar utilizando o dono e gravar um arquivo Acessar utilizando outro usuário do mesmo grupo e tentar gravar Tentar acessar usuário de outro grupo
76 http://slide pdf.c om/re a de r/full/425-sa mba
Usuários, Grupos e ACLs 75/99
5/9/2018
●
ACLs –
425 - Sa mba - slide pdf.c om
Instalar pacote acl # apt-get install acl
–
Ativar suporte a ACLs no FS # mount -o remount,acl /
–
Definindo uma ACL: # setfacl -m [user|group]:nome:perms alvo # setfacl -m user:diego:rwx /home/diego
–
Lendo ACLs: # getfacl alvo
77 http://slide pdf.c om/re a de r/full/425-sa mba
Usuários, Grupos e ACLs 76/99
5/9/2018
●
Adicionando um mapeamento 425 - Sa mba - slide pdf.c om
# groupadd orcs # net groupmap add ntgroup="Orcs" unixgroup=orcs ●
Listando Mapeamentos # net groupmap list
●
Removendo Mapeamentos # net groupmap delete ntgroup=”Orcs”
78 ●
Exercício Crie um diretório /tmp/lotr
http://slide pdf.c om/re a de r/full/425-sa mba
77/99
● 5/9/2018
Crie um compartilhamento “lotr” apontando um diretório /tmp/lotr 425 - Sa mba - slide pdf.c om
●
●
Crie três grupos: “orcs”, “elves” e “hobbits” Crie e adicione os seguintes usuários nos grupos: –
–
Shagrat, Grishnakh: grupo orcs Legolas, Galadriel: grupo elves
–
●
Frodo, Samwise: grupo hobbits Crie os seguintes subdiretórios com as permissões: –
–
Shire: Completo para “hobbits”, Leitura para “elves” Rivendell: Completo para “elves”, completo para “hobbits”
–
●
Mordor: Completo para “orcs”, nenhum acesso para os outros Teste os acessos
79 http://slide pdf.c om/re a de r/full/425-sa mba
Exercício 78/99
# groupadd hobbits
5/9/2018
425 - Sa mba - slide pdf.c om
# groupadd elves orcs # mkdir /tmp/lotr # mkdir /tmp/lotr/shire # mkdir /tmp/lotr/rivendell # mkdir /tmp/lotr/mordor # chgrp hobbits /tmp/lotr/shire # chgrp elves /tmp/lotr/rivendell # chgrp orcs /tmp/lotr/mordor # setfacl -m group:hobbits:rwx -m group:elves:rx /tmp/lotr/shire # setfacl -m group:hobbits:rwx -m group:elves:rwx /tmp/lotr/rivendell # chmod 770 /tmp/lotr/mordor # chmod o-rwx /tmp/lotr/shire /tmp/lotr/rivendell
80 http://slide pdf.c om/re a de r/full/425-sa mba
Exercício 79/99
5/9/2018
●
●
Crie agora um usuário “Sauron” no Samba Acesse o compartilhamento usando o root e faça, usando a interface do Windows, o usuário Sauron ter acesso completo a todos 425 - Sa mba - slide pdf.c om
os diretórios criados
81 http://slide pdf.c om/re a de r/full/425-sa mba
●
Gerenciamento 80/99
Pdbedit 5/9/2018
425 - Sa mba - slide pdf.c om
–
Gerencia o passdb Contas de sistema ●
●
–
Políticas de domínio
Visualiza contas # pdbedit -Lv luke
– –
Exporta e Importa databases entre backends Gerencia diferentes backends
82 http://slide pdf.c om/re a de r/full/425-sa mba
Gerenciamento 81/99
5/9/2018
●
Políticas do domínio
425 - Sa mba - slide pdf.c om
pdbedit -P [política] -C [valor] ●
Políticas disponíveis maximum password age minimum password age
min password length password history reset count minutes bad lockout attempt disconnect time lockout duration user must logon to change password refuse machine password change
83 ●
Gerenciamento Gerenciamento de usuários
http://slide pdf.c om/re a de r/full/425-sa mba
82/99
–
5/9/2018
Adicionar contas
425 - Sa mba - slide pdf.c om
# pdbedit -a conta
–
Deletar contas
# pdbedit -x conta –
Alterar contas # pdbedit -r --fullname="Luke Skywalker” luke
–
Forçar troca de senha # pdbedit --pwd-must-change-time=0 luke ou # net sam set pwmustchangenow chapman yes
–
–
Desabilitar # pdbedit -r -cconta “[D]” luke Resetar flags da conta para o padrão # pdbedit -r -c “[]” luke
84 http://slide pdf.c om/re a de r/full/425-sa mba
Gerenciamento 83/99
5/9/2018
●
Flags de Contas –
–
–
–
–
–
–
–
–
–
–
D H I L M N S T U W X
425 - Sa mba - slide pdf.c om
Conta Desabilitada Um diretório home é necessário Relação de confiança inter-domínio Conta bloqueada automaticamente Conta de logon MNS (Microsoft network service) Senha não obrigatória Conta de confiança de servidor Duplicata temporária de conta Conta de usuário normal Conta de confiança de estação de trabalho Senha não expira
85 http://slide pdf.c om/re a de r/full/425-sa mba
Exercício 84/99
5/9/2018
●
Configure as políticas no domínio 425 - Sa mba - slide pdf.c om
– –
●
Senhas possuem no mínimo 6 caracteres Contas serão bloqueadas após 5 tentativas
Crie um usuário “Chapman”
–
Faça com que tenha que trocar a senha no logon Faça logoff e tente uma senha errada até
–
que a conta seja bloqueada Desbloqueie a conta
–
86
http://slide pdf.c om/re a de r/full/425-sa mba
Backend LDAP 85/99
5/9/2018
●
●
●
Base centralizada de autenticação Flexibilidade como backend Integração com PAM e NSS (usuários de sistema) 425 - Sa mba - slide pdf.c om
87
http://slide pdf.c om/re a de r/full/425-sa mba
Backend LDAP 86/99
5/9/2018
●
Instalação OpenLDAP
425 - Sa mba - slide pdf.c om
# apt-get install slapd ldap-utils smbldap-tools ●
●
●
●
●
Configurar o sufixo da base para dc=4linux,dc=com,dc=br Habilitar o schema do Samba Configurar índices de atributos do Samba Configurar ACL de acesso a senha do Samba Recriar a base
88
http://slide pdf.c om/re a de r/full/425-sa mba
Backend LDAP 87/99
● 5/9/2018
Configurando o smb.conf 425 - Sa mba - slide pdf.c om
add user script = /usr/sbin/smbldap-useradd -m “%u” delete user script = /usr/sbin/smbldap-userdel “%u” add group script = /usr/sbin/smbldap-groupadd -p “%g” delete group script = /usr/sbin/smbldap-groupdel “%g” add user to group script = /usr/sbin/smbldap-groupmod -m “%u” “%g” delete user from group script = /usr/sbin/smbldap-groupmod -x “%u” “%g” set primary group script = /usr/sbin/smbldap-usermod -g “%g” “%u” add machine script = /usr/sbin/smbldap-useradd -w “%u” passdb backend = ldapsam:ldap://localhost ldap suffix = dc=4linux,dc=com,dc=br ldap machine suffix = ou=Usuarios ldap user suffix = ou=Usuarios ldap group suffix = ou=Grupos ldap admin dn = cn=admin,dc=4linux,dc=com,dc=br
89
http://slide pdf.c om/re a de r/full/425-sa mba
Backend LDAP 88/99
● 5/9/2018
Configurar o smbldap-tools Armazenar a senha do administrador do LDAP no Samba 425 - Sa mba - slide pdf.c om
●
# smbpasswd -w [senha] ●
Popular a base com os usuários do sistema
Backend LDAP
90
Configuração NSS e PAM
http://slide pdf.c om/re a de r/full/425-sa mba
●
89/99
5/9/2018
425 - Sa mba - slide pdf.c om
–
NSS ●
●
●
apt-get install libnss-ldap
/etc/nsswitch.conf /etc/libnss-ldap.conf
●
–
getent passwd
PAM ●
install libpam-ldap
●
/etc/pam.d/common-account
●
●
●
●
/etc/pam.d/common-auth /etc/pam.d/common-password /etc/pam.d/common-session /etc/pam_ldap.conf
91
http://slide pdf.c om/re a de r/full/425-sa mba
Backend LDAP 90/99
● 5/9/2018
Atributos de objetos Samba 425 - Sa mba - slide pdf.c om
–
–
–
–
–
–
–
–
–
SambaLMPassword: LanMan password (16-byte hash) SambaNTPassword: The NT password (16-byte hash) SambaPwdLastSet: Hora Unix da última modificação de senha sambaAcctFlagsString: Flags da conta SambaLogonTime: Não utilizado atualmente SambaLogoffTime: Não utilizado atualmente SambaKickoffTime: Define quando a conta expirará. SambaPwdCanChange: Quando o usuário poderá alterar a senha (hora unix) sambaPwdMustChangeSpecifies: Quando o usuário será forçado a alterar a senha (hora unix)
92
http://slide pdf.c om/re a de r/full/425-sa mba
Backend LDAP 91/99
5/9/2018
SambaHomeDrive: Letra do sambaHomePath do usuário 425 - Sa mba - slide pdf.c om
– –
–
–
–
–
–
SambaLogonScript: Logon script SambaProfilePath: Caminho para o perfil remoto SambaHomePath: Caminho de rede para o home do usuário SambaUserWorkstations: Estações no qual o usuário pode efetuar log in. SambaSID: SID (identificação) do usuário. SambaPrimaryGroupSID: SID do grupo primário do usuário. SambaDomainName: Nome do domínio que o usuário faz parte
93
http://slide pdf.c om/re a de r/full/425-sa mba
Winbind 92/99
● 5/9/2018
Usuários e Grupos de domínios Windows 425 - Sa mba - slide pdf.c om
–
●
●
Mapeamento de SID → UID e GID
Autenticação via PAM Estação Unix agirá efetivamente como parte do domínio
94
http://slide pdf.c om/re a de r/full/425-sa mba
Winbind 93/99
● 5/9/2018
Instalar o Winbind Configurar o domínio no Samba Adicionar diretivas de mapeamento do Winbind Reiniciar Winbind e Samba Ingressar no domínio 425 - Sa mba - slide pdf.c om
●
●
●
●
–
●
Validar o funcionamento com o wbinfo
Configurar o PAM para utilizar Winbind
95
http://slide pdf.c om/re a de r/full/425-sa mba
Ingressando em um AD 94/99
● 5/9/2018
Configurar o Samba
425 - Sa mba - slide pdf.c om
– – –
●
●
Security = ADS Realm = DOMINIO client use spnego = yes
Configurar o Winbind Instalar o Kerberos # apt-get install krb5-config krb5-user
●
Configurar o Kerberos –
/etc/krb5.conf
96
http://slide pdf.c om/re a de r/full/425-sa mba
Ingressando em um AD 95/99
●
Smb.conf
5/9/2018
425 - Sa mba - slide pdf.c om
[global] security = ADS realm = 4LINUX.LOCAL workgroup = 4LINUX password server = winstrutor.4LINUX.local uid = 10000-20000 idmap gid loglevel = 2
97
http://slide pdf.c om/re a de r/full/425-sa mba
Ingressando em um AD 96/99
●
Krb5.conf
5/9/2018
425 - Sa mba - slide pdf.c om
[libdefaults] default_realm = MYCOMPANY.LOCAL kdc_timesync = 1 ccache_type = 4 forwardable = true proxiable = true [realms] 4LINUX.LOCAL = { kdc = winstrutor.4linux.local admin_server = winstrutor.4linux.local } [domain_realm] .4linux.local = 4LINUX.LOCAL 4linux.local = 4LINUX.LOCAL [login] krb4_convert = true krb4_get_tickets = true
98
http://slide pdf.c om/re a de r/full/425-sa mba
●
Ingressando em um AD 97/99
● 5/9/2018
Após fazer as configurações, reiniciar os serviços: # /etc/init.d/samba restart 425 - Sa mba - slide pdf.c om
# /etc/init.d/winbind restart ●
Ingressar no domínio # net ads join -U administrator
●
Testar a configuração # kinit
[email protected] # wbinfo -u # wbinfo -g # getent passwd # getent group
99
http://slide pdf.c om/re a de r/full/425-sa mba
Obrigado 98/99
5/9/2018
425 - Sa mba - slide pdf.c om
Diego Alencar Alves de Lima
[email protected] www.4linux.com.br www.hackerteen.com twitter.com/4LinuxBR Tel: +55-11-2125-4747
http://slide pdf.c om/re a de r/full/425-sa mba
99/99