UP | HOME

LPI-2 202-450 Topico 209.1
Configuração do servidor Samba

Índice

209.1: Configuração do servidor SAMBA - Objetivos

Peso 5

O candidato deve ser capaz de configurar um servidor Samba para diversos clientes. Este objetivo inclui configurá-lo para login dos clientes, configurar o grupo de trabalho do servidor e definição das impressoras e diretórios compartilhados. Também é necessário configurar um cliente Linux para usar um servidor Samba, testar e solucionar problemas de instalação.

Conhecimentos-chave:

  • Documentação do Samba 4;
  • Arquivos de configuração do Samba 4;
  • Ferramentas do Samba 4;
  • Montar compartilhamentos Samba no Linux;
  • Ferramentas do Samba 4;
  • Daemons do Samba;
  • Mapear nomes de usuário do Windows para nomes de usuário do Linux;
  • Segurança em nível de usuário e em nível de compartilhamento.

Lista parcial dos arquivos, termos e ferramentas utilizados:

  • smbd, nmbd, winbindd;
  • smbcontrol, smbstatus, testparm, smbpasswd, nmblookup;
  • smbclient;
  • sambatool;
  • net;
  • /etc/smb/;
  • /var/log/samba/.

209.1: Configuração do servidor SAMBA - Conteúdo

Como funciona a resolução de nomes em computadores Windows

Um dos pontos mais importantes na coompreensão do funcionamento dos serviços de rede é entender como funciona a resolução de nomes. Em equipamentos Linux o assunto já foi abordado no tópico 207. Porém em computadores Windows o processo é diferente.

Em computadores Windows existem 2 tipos de resolução:

  1. A resolução de nomes baseado no arquivo hosts e em DNS;
  2. a resolução de nomes baseado em NetBIOS, que é usado pelo Windows sob o protocolo Server Message Block (SMB).

Esses são os nomes que um usuário Windows coloca quanto acessa um mapeamento de rede ou conectando a uma impressora.

Na verdade existe uma ordem default que computadores Windows seguem quando executam a resolução de nomes:

  1. Consulta-se o cache do resolver local;
  2. Verifica o arquivo hosts (semelhante ao do linux);
  3. Verificar no arquivo LMHosts local se há algum nome NetBIOS que corresponda ao nome que está sendo consultado;
  4. Executa a consulta nos servidores DNS configurados no computador;
  5. Consultar um ou mais servidores NetBIOS;
  6. Emitir uma mensagem de broadcast na rede questionando pelo nome do servidor a ser consultado. Se ele existir na rede local ele irá responder. Esse método só é efetivo em redes pequenas, pois em redes maiores pode haver roteamento dividindo a porção de rede onde ficam as estações de trabalho e os servidores.

O protocolo SMB

O Server Message Block Protocol (protocolo SMB) é um protocolo de comunicação cliente-servidor usado para compartilhar o acesso a arquivos, impressoras, portas seriais e outros recursos em uma rede. Criado pela IBM na década de 1980, o protocolo SMB gerou várias variantes ou implementações, também conhecidas como dialetos, para atender aos requisitos de rede em evolução ao longo dos anos.

Dialetos do protocolo SMB: as variantes do protocolo SMB melhoraram os recursos, escalabilidade, segurança e eficiência da implementação original. Aqui está uma breve visão geral dos dialetos notáveis do protocolo SMB:

  • SMB 1.0 (1984): Criado pela IBM para compartilhamento de arquivos no DOS;
  • CIFS (1996): dialeto SMB desenvolvido pela Microsoft que estreou no Windows 95. Adicionado suporte para tamanhos de arquivo maiores, transporte diretamente sobre TCP / IP e links simbólicos e links físicos;
  • SMB 2.0 (2006): Lançado com Windows Vista e Windows Server 2008;
  • SMB 2.1 (2010): Introduzido com Windows Server 2008 R2 e Windows 7;
  • SMB 3.0 (2012): Lançado no Windows 8 e no Windows Server 2012;
  • SMB 3.02 (2014): introduzido no Windows 8.1 e Windows Server 2012 R2;
  • SMB 3.1.1 (2015): Lançado com Windows 10 e Windows Server 2016.

CIFS vs. SMB

Conforme observado na lista acima, CIFS é um dialeto antigo do protocolo SMB desenvolvido pela Microsoft. Embora os termos às vezes sejam usados indistintamente, o CIFS se refere apenas a uma única implementação do SMB. A maioria dos sistemas modernos usa dialetos mais recentes do protocolo SMB.

Níveis de segurança

Existem dois meios básicos para proteger os recursos oferecidos em uma rede. Cada método se esforça para disponibilizar os recursos protegidos apenas para usuários que tenham acesso autorizado a esses recursos.

  1. Nível de compartilhamento envolve a proteção de conexões a um ponto de compartilhamento de rede por meio de uma senha. Os usuários que sabem o nome do ponto de compartilhamento e a senha podem se conectar ao ponto de compartilhamento. Todos os subdiretórios e arquivos encontrados no ponto de compartilhamento são acessíveis usando unicamente a senha.
  2. Nível de usuário envolve o uso de controles de acesso no sistema de arquivos (ACL), diferentemente de colocar uma única senha em uma árvore inteira de recursos (embora você possa fazer isso dessa forma, se desejar). Em vez disso, as permissões de acesso podem ser colocadas em qualquer diretório ou arquivo em um diretório ou subdiretórios. Quando um usuário se conecta a um recurso protegido por mecanismos de segurança em nível de usuário, o usuário deve primeiro se autenticar (fazer logon no servidor) usando seu nome de usuário e senha. O usuário então recebe direitos de acesso a cada arquivo ou diretório no recurso, seja pelas restrições de controle de acesso colocadas implicitamente no recurso ou por herança de direitos de acesso.

SAMBA

Lançado em 1992, o Samba é uma implementação em Software Livre do protocolo SMB para sistemas Unix like. Ele suporta compartilhamento de arquivos e impressoras, autenticação, autorização, resolução de nomes e anúncios de serviço entre servidores Unix like e computadores Windows.

Versões do samba

Para todas as versões do Samba, o objetivo é o mesmo: compartilhar recursos do Windows com sistemas operacionais estilo Unix, como Linux, e compartilhar recursos do Linux com sistemas Windows. Infelizmente, o suporte para sistemas Microsoft é como atirar em um alvo em movimento: A Microsoft não é exatamente conhecida por sua disposição em publicar especificações, e a gigante do software continua estendendo seus protocolos SMB / CIFS de uma versão do Windows para a próxima. Os desenvolvedores de código aberto tentam acompanhar as mudanças no SMB usando ferramentas como o Ethereal para farejar conexões, mas a Microsoft intensificou seu jogo com o Windows 2000, introduzindo o sistema de diretório baseado em objeto chamado Active Directory Service.

Samba versão 3 e 4

Quando o Samba 3 foi lançado em 2003 ele consistia de três serviços:

  • smbd o fileserver;
  • nmbd o nameserver;
  • winbind o servidor de autenticação.

Em sua interação com o resto do sistema, esses três serviços forneciam um serviço de arquivo e um controlador de domínio NT4.

Em dezembro de 2012, o mundo do código aberto recebeu o primeiro, e muito aguardado, lançamento da série Samba 4.x. O Samba 4 foi desenvolvido durante 10 anos. Ao mesmo tempo, a série Samba 3.x também teve vários lançamentos e avanços. Esse desenvolvimento paralelo levou a alguma confusão sobre a natureza do Samba 4; e, algumas distribuições lançam pacotes samba3 e samba4 que podem ser instalados em paralelo, com vários graus de sucesso.

Por fim a série 4.x se tornou um upgrade completo para o Samba 3 e se tornou a versão oficialmente em produção.

O suporte do Samba 4 para um domínio do Active Directory significa que ele precisa fornecer uma gama mais ampla de serviços: a resolução de nomes NETBIOS clássica foi substituída pelo DNS, a autenticação foi centralizada usando Kerberos e o armazenamento de dados centralizado foi implementado via LDAP - apenas o servidor de arquivos permaneceu mesmo, com mudanças para coincidir com a nova estrutura.

Os serviços que compõem o Samba

nmbd

O daemon do servidor nmbd entende e responde às solicitações de serviço de nome NetBIOS, como aquelas produzidas por SMB/CIFS em sistemas baseados em Windows. Esses sistemas incluem clientes Windows 95/98/ME, Windows NT, Windows 2000, Windows XP e LanManager. Ele também participa dos protocolos de navegação que constituem a exibição Ambiente de rede do Windows. A porta padrão que o servidor escuta para o tráfego NMB é a porta UDP 137. O arquivo de configuração para este daemon é descrito em smb.conf.O daemon nmbd é controlado pelo serviço smb.

O comando nmblookup

É um comando utilizado para fazer consultas NetBIOS e mapear os endereços IPs usando consultas NetBIOS sobre uma rede IP. Todas as consultas são feitas com UDP.

$ nmblookup srvfs7
192.168.1.46 srvfs7<00>

$ nmblookup workgroup
192.168.1.46 srvfs7<00>
192.168.1.50 deskt2<00>
192.168.1.62 seskt5<00>
192.168.1.90 srvad2<00>
smbd

O daemon smbdserver fornece serviços de compartilhamento e impressão de arquivos para clientes Windows. Além disso, é responsável pela autenticação do usuário, bloqueio de recursos e compartilhamento de dados por meio do protocolo SMB. As portas padrão nas quais o servidor escuta o tráfego SMB são as portas TCP 139 e 445. O arquivo de configuração para este daemon é o /etc/samba/smb.conf. O smbd daemon é controlado pelo smb service.

winbindd

O serviço winbind resolve informações de usuário e grupo vindos de um servidor que executa o Windows NT 2000 ou Microsoft Active Directory. Isso torna as informações de usuário/grupo do Windows compreensíveis por plataformas UNIX. Isso é obtido usando chamadas Microsoft RPC, Pluggable Authentication Modules (PAM) e Name Service Switch (NSS). Isso permite que os usuários de domínio do Windows NT apareçam e operem como usuários UNIX em uma máquina UNIX. Embora empacotado com a distribuição Samba, o serviço winbind é controlado separadamente do serviço smb.

O daemon winbindd é controlado pelo serviço winbind e não requer que o serviço smb seja iniciado para operar. Winbindd também é usado quando o Samba é um membro do Active Directory e também pode ser usado em um controlador de domínio Samba (para implementar grupos aninhados e / ou confiança entre domínios). Como o winbind é um serviço do lado do cliente usado para se conectar a servidores baseados no Windows NT, uma discussão mais detalhada sobre o winbind está além do escopo deste resumo.

Instalação do Samba

Devido a constante necessidade de interoperabilidade entre computadores rodando sistemas operacionais diferentes o Samba é um dos pacotes de software mais populares em sistemas Linux. Portanto o pacote que consta nos repositórios das tribuições de versão corrente já será uma versão moderna e estável. Portanto é bastante viável a instalação a partir do gerenciador de pacotes.

O arquivo de configuração do Samba

Como já mencionado anteriormente a configuração do Samba é escrita no arquivo /etc/samba/smb.conf. O arquivo padrão da instalação do pacote pode ser usado como um guia para as diretivas que ali existem. Ele é bastante extenso justamente por ser bastante documentado. Portanto o arquivo original é bastante útil para alguma ajuda rápida ou referênca, assim faça um backup dele para usar em consultas futuras. Pode-se usar o comando cp /etc/samba/smb.conf{,.ori} para copia-lo antes de começar as edições.

O arquivo de configuração possui apenas uma seção principal. A seção [global] as diretivas dessa seção fornecem todas as opções e parâmetros necessários para os daemons Samba (smbd) e NetBIOS (nmbd) operem na rede.

As outras seções no arquivo de configuração descrevem um recurso de compartilhamento (shared resource). O nome da seção em um recurso de compartilhamento e os parâmetros dentro da seção definem os atributos do compartilhamento.

Configurando um compartilhamento "anônimo"

O primeiro passo é definir qual diretório será compartilhado. Geralmente cria-se um diretório novo para esse propósito. Seguindo os padrões da estrutura de diretórios hierárquica do Linux devemos criar esse diretório como um sub-diretório abaixo de /srv e setar os permissionamento desse diretório:

$ mkdir -p /srv/samba/anonymous-shares
$ chmod 0777 /srv/samba/anonymous-shares
$ chown nobody:nobody /srv/samba/anonymous-shares

Agora precisamos preparar o arquivo de configuração /etc/samba/smb.conf.

Como já fizemos uma cópia do arquivo original, vamos apenas inserir um shared resource no final do arquivo smb.conf

[Anonymous]
comment = Compartilhamento anonimo
path = /srv/samba/anonymous_shares
browsable =yes
read only = no
writable = yes
guest ok = yes
force user = nobody

Onde:

[Anonymous]
O nome entre os colchetes é o nome do shared resource também o nome do compartilhamento;
comment
Uma descrição do compartilhamento;
path
O diretório a ser compartilhado;
brouseable
Quando setado com um yes os gerenciadores de arquivos conseguem navegar na estrutura de diretórios compartilhada;
read only
O compartilhamento só receberá edições caso essa diretiva seja setada com no;
writable
O antônimo de read only;
guest ok
Se este parâmetro for setado como yes nenhuma senha será necessária para conectar;
force user
Isso especifica um nome de usuário UNIX que será designado como usuário padrão para todos os usuários que se conectam a este serviço. Isso é útil para compartilhar arquivos. Também devemos usá-lo com cuidado, pois o uso incorreto pode causar problemas de segurança.

Tenha em mente que, embora estejamos definindo algumas permissões aqui, as permissões subjacentes do sistema de arquivos ainda serão aplicadas.

testparm

Para verificar se nosso arquivo de configuração está OK utilizamos o comando testparm, ele fará a verificação completa do arquivo e, se tudo ocorrer bem ele fará um dump da configuração removendo todos os comentários e mostrando quais as diretivas serão lidas efetivamente pelos daemons do Samba excluindo as implícitas (as configurações que forem iguais às padrão):

root@srvfs01:/etc/samba# testparm 
Load smb config files from /etc/samba/smb.conf
rlimit_max: increasing rlimit_max (1024) to minimum Windows limit (16384)
WARNING: The "syslog" option is deprecated
Processing section "[printers]"
Processing section "[print$]"
Processing section "[Anonymous]"
Loaded services file OK.
Server role: ROLE_STANDALONE

Press enter to see a dump of your service definitions

Particularmente para manter uma configuração limpa eu costumo usar esse dump gerado pelo comando testparm para ser o conteúdo definitivo do arquivo /etc/samba/smb.conf dos servidores que eu administro.

Obs.: Para verificar todos os parâmetros que serão usados em produção além dos que foram configurados, os que tem valores default utiliza-se a opção -v

# testparm -v

Aplicando a configuração

Para aplicar a configuração que acabamos de criar basta reiniciar os daemons do samba, isso difere de distribuição para distribuição pois os nomes dos daemons são diferentes.

Em distribuições RedHat-like os daemons são smb, nmb e winbind. Em distribuições Debian-like os daemons são smbd, nmbd e winbindd.

Após reiniciar os serviços nosso compartilhamento anonymous estará disponível para clientes Windows.

smbcontrol

Eventualmente pode ser necessária alguma edição nos arquivos de configuração com o servidor em produção. Nesses casos o restart do serviço não é aconselhável. Para essa situação existe o comando smbcontrol que emite mensagens aos daemons do Samba permitindo operar os serviços sem "derrubar" os usuários. Exemplo:

smbcontrol smbd reload-config

smbclient

smbclient é um cliente que faz parte do pacote de software Samba. Ele se comunica com um servidor de arquivos SMB, oferecendo uma interface semelhante à do programa ftp. As operações incluem coisas como levar arquivos do servidor para a máquina local, colocar arquivos da máquina local no servidor, recuperar informações de diretório do servidor e assim por diante.

smbclient -L localhost --user=jeremias_queiroz
Enter jeremias_queiroz's password: 
Domain=[CORPORATION] OS=[] Server=[]

        Sharename       Type      Comment
        ---------       ----      -------
        CORPORATION       Disk      
        PUBLICO         Disk      
        IPC$            IPC       IPC Service (Samba 4.5.16-Debian)
Domain=[CORPORATION] OS=[] Server=[]

        Server               Comment
        ---------            -------

        Workgroup            Master
        ---------            -------
smbstatus

smbstatus é um programa simples que gera uma listagem de quem está conectado ao servidor Samba e quais compartilhamentos há atualmente, bem como arquivos bloqueados, se houver.

root@srvfs01:/srv/samba# smbstatus 

Samba version 4.3.11-Ubuntu
PID     Username      Group         Machine            Protocol Version       
------------------------------------------------------------------------------
7032      nobody        nogroup       192.168.34.155 (ipv4:192.168.34.155:49180) SMB2_10     

Service      pid     machine       Connected at
-------------------------------------------------------
Anonymous    7032   192.168.34.155  Mon Aug 13 04:46:10 2020

Locked files:
Pid          Uid        DenyMode   Access      R/W        Oplock           SharePath   Name   Time
--------------------------------------------------------------------------------------------------
7032         65534      DENY_NONE  0x100081    RDONLY     NONE             /srv/samba/anonymous_shares   .   Mon Aug 13 04:48:48 2020
7032         65534      DENY_NONE  0x100081    RDONLY     NONE             /srv/samba/anonymous_shares   .   Mon Aug 13 04:48:48 2020
net

O utilitário net do Samba foi desenvolvido para funcionar da mesma forma que o utilitário net disponível para Windows e DOS. O primeiro argumento especifica o protocolo a ser usado ao executar um determinado comando. Assim:

ADS
é usado para ActiveDirectory
RAP
é usado para clientes antigos (Win9x / NT3), e;
RPC
pode ser usado para NT4 e Windows 2000.

Se este argumento for omitido, net tentará determiná-lo automaticamente. Nem todos os comandos estão disponíveis em todos os protocolos.

Exemplos de uso:

  1. Inserir um computador em um domínio: net ads join -U usuario@dominio
  2. Remover um computador de um domínio: net ads leave -U usuario@dominio
  3. Verificar a lista de todas as conexões no SMB:

    root@srvfs01:/srv/samba# net status shares
    
    Service      pid     machine       Connected at
    -------------------------------------------------------
    Anonymous    7032   192.168.34.145  Mon Aug 13 04:46:10 2020
    Anonymous    7919   192.168.34.139  Tue Aug 14 00:20:48 2020
    IPC$         7919   192.168.34.139  Tue Aug 14 00:20:48 2020
    
  4. Verificar a lista de todas as seções no protocolo SMB:

    root@srvfs01:/srv/samba# net status sessions
    PID     Username      Group         Machine                        
    -------------------------------------------------------------------
       7032   nobody        nogroup       192.168.34.145 (ipv4:192.168.34.145:49180)
       7919   nobody        nogroup       192.168.34.139 (ipv4:192.168.34.139:49185)
    

Segurança em um compartilhamento Samba

A primeira etapa para proteger o compartilhamento de arquivos Samba é fazer uma união entre as senhas. Sistemas operacionais Linux e Microsoft Windows armazenam senhas com hash. Como a função hash é irreversível, isso fornece algumas medidas de segurança para o armazenamento das senhas. Mas o problema é que o Linux e o Windows não usam o mesmo algoritmo Hash para armazenar senhas!

Normalmente, o Windows armazena senhas em sistemas de um único computador usando SAM. O Security Accounts Manager (SAM) é um arquivo de registro do Windows NT e versões posteriores até o Windows 10. Ele armazena as senhas dos usuários em um formato hash (em hash LM e hash NTLM).

Em distribuições Linux, as senhas de login são geralmente registradas com hash e armazenadas no arquivo /etc/shadow usando o algoritmo MD5. A segurança da função hash MD5 foi seriamente comprometida por vulnerabilidades de colisão. Isso não significa que o MD5 é inseguro para hashing de senha, mas em algumas distribuições algoritmos SHA são usados (como a NSA tem recomendado) que são mais seguros e não têm fraquezas conhecidas. Podemos alterá-lo usando o módulo pam_unit (que será descrito no tópico 210.2).

Mediante a essas diferenças a solução é usar um mecanismo de hash separado para armazenamento das senhas para usar na autenticação dos compartilhamentos Samba.

Para essa demonstração criamos um novo diretório para compartilhar:

root@srvfs01:~# mkdir /srv/samba/shareprivado
root@srvfs01:~# chmod 777 /srv/samba/shareprivado
root@srvfs01:~# chown user1:user1 /srv/samba/shareprivado

Agora vamos criar um novo compartilhamento

[compartilhamento-privado]
comment = Compartilhamento exclusivo do usuario1
path = /srv/samba/shareprivado
valid users = usuario1 joao
read only = no
create mask = 0777
directory mask = 0777

Testamos o arquivo com o testparm e se tudo tiver OK recarregamos os daemons com o comando smbcontrol conforme já falamos anteriormente.

Agora falta criar o referenciado "usuario1"

root@srvfs01:~# smbpasswd -a usuario1
New SMB password:
Retype new SMB password:
Added user usuario1.

O comando smbpasswd conta com várias opções úteis:

  • -x nome Exclui o usuário indicado;
  • -d nome Bloqueia o usuário indicado;
  • -e nome Desbloqueia o usuário indicado;
  • -n nome A senha do usuário indicado se tornará nula. Somente será possível abrir o compartilhamento se existir o parâmetro null passwords = yes na seção [global] do arquivo smb.conf.
  • -m nome Indica que a conta em questão é uma conta de máquina, não de usuário.

Após a criação da conta o usuário poderá acessar o recurso compartilhado no servidor. Eventualmente pode ocorrer de que o usuário na estação de trabalho utilize um nome diferente do que o que está parametrizado para acessar o compartilhamento alvo, nesses casos usa-se a opção username map no arquivo de configuração do Samba segue sintaxe:

username map = /var/lib/samba/users.map

Assim a equivalência de nomes de usuário pode ser definida no arquivo indicado seguindo o formato usuário servidor = usário estação. Podem ser mapeados mais de 1 usuário de estação por usuário de servidor basta inserir um espaço, por exemplo:

user1 = usuario1 joao

Assim (desde que o usuário joao também seja criado com o comando smbpasswd) tanto o usuario1 como o usuario joão terão acesso ao compartilhamento.

Sincronizando as credenciais

Em alguns casos pode ser necessário sincronizar as credenciais de um usuário samba com usuários do GNU/Linux. Como pré requisito para tal setup, tanto os usuários Samba quanto os usuários GNU/Linux precisam ter o mesmo username. Posto isso para que tal arranjo funcione, precisamos configurar na seção global do arquivo /etc/samba/smb.conf as seguintes diretivas:

unix password sync
quando esta diretiva está configurada com yes toda vez que o comando smbpasswd for executado será também invocado o comando para troca de senhas indicado na próxima diretiva;
passwd program
Deve ser preenchido com o programa de troca de senhas padrão do sistema em execução, em distribuições Debian-like deve ser preenchido com /usr/bin/passwd %u.

Montando um compartilhamento Samba no Linux

Primeiramente precisamos testar se o compartilhamento samba está alcançável utilizando o utilitário smbclient:

[root@linuxclient1 ~]# smbclient -L 192.168.35.129 -U usuario1
Enter SAMBA\user1's password: 
Domain=[srvfs01] OS=[Windows 6.1] Server=[Samba 4.3.11-Ubuntu]

    Sharename                        Type      Comment
    ---------                        ----      -------
    print$                           Disk      Printer Drivers
    Anonymous                        Disk      Compartilhamento anonimo
    IPC$                             IPC       IPC Service (ubuntu16-1 server (Samba, Ubuntu))
    compartilhamento-privado         Disk      Compartilhamento exclusivo do usuario1

Domain=[srvfs01] OS=[Windows 6.1] Server=[Samba 4.3.11-Ubuntu]

    Server               Comment
    ---------            -------

    Workgroup            Master
    ---------            -------
    WORKGROUP

Depois de testado podemos montar e desmontar o compartilhamento usando o comando mount:

[root@linuxclient1 ~]# mount //192.168.35.129/compartilhamento-privado /mnt -o username=usuario1
Password for usuario1@//192.168.34.129/compartilhamento-privado:  ***********

Para desmontar o exemplo acima um simples umount /mnt resolve.

Para fazer a montagem permanente desse compartilhamento precisamos inserir o caminho no /etc/fstab:

//192.168.35.129/compartilhamento-privado /mnt cifs username=usuario1,password=Ab123456? 0 0

Evidentemente não é uma boa ideia deixar a senha no arquivo /etc/fstab pois ele é um arquivo acessível a usuários comuns do Linux. Portanto uma forma mais segura de fazer essa montagem seria:

//192.168.35.129/compartilhamento-privado /mnt cifs credentials=/mnt/.smbcredenciais 0 0

Este arquivo oculto deverá ter as permissões setadas para 600 e ser de propriadade root:root. O conteúdo dele no nosso exemplo seria:

username=usuario1
password=Ab123456?

Autor: Jeremias Alves Queiroz

Criado em: 2021-12-19 dom 17:24

Valid XHTML 1.0 Strict