Deprecated: Joomla\Input\Input implements the Serializable interface, which is deprecated. Implement __serialize() and __unserialize() instead (or in addition, if support for old PHP versions is necessary) in /home/ylliagdo/public_html/libraries/vendor/joomla/input/src/Input.php on line 41

Deprecated: Return type of Joomla\Input\Input::count() should either be compatible with Countable::count(): int, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/ylliagdo/public_html/libraries/vendor/joomla/input/src/Input.php on line 170

Deprecated: Joomla\CMS\Input\Input implements the Serializable interface, which is deprecated. Implement __serialize() and __unserialize() instead (or in addition, if support for old PHP versions is necessary) in /home/ylliagdo/public_html/libraries/src/Input/Input.php on line 31

Deprecated: Joomla\CMS\Input\Cookie implements the Serializable interface, which is deprecated. Implement __serialize() and __unserialize() instead (or in addition, if support for old PHP versions is necessary) in /home/ylliagdo/public_html/libraries/src/Input/Cookie.php on line 21

Deprecated: str_replace(): Passing null to parameter #3 ($subject) of type array|string is deprecated in /home/ylliagdo/public_html/libraries/src/Uri/Uri.php on line 141

Deprecated: Joomla\CMS\Input\Files implements the Serializable interface, which is deprecated. Implement __serialize() and __unserialize() instead (or in addition, if support for old PHP versions is necessary) in /home/ylliagdo/public_html/libraries/src/Input/Files.php on line 21
Samba 4 como PDC e BDC

Deprecated: Function strftime() is deprecated in /home/ylliagdo/public_html/components/com_k2/models/item.php on line 121

Deprecated: preg_replace_callback(): Passing null to parameter #3 ($subject) of type array|string is deprecated in /home/ylliagdo/public_html/plugins/content/dropfiles/dropfiles.php on line 78

Deprecated: Function strftime() is deprecated in /home/ylliagdo/public_html/components/com_k2/models/itemlist.php on line 576

Deprecated: Function strftime() is deprecated in /home/ylliagdo/public_html/components/com_k2/models/itemlist.php on line 576

Deprecated: Function strftime() is deprecated in /home/ylliagdo/public_html/components/com_k2/models/itemlist.php on line 576

Deprecated: Function strftime() is deprecated in /home/ylliagdo/public_html/components/com_k2/models/itemlist.php on line 576

Deprecated: Function strftime() is deprecated in /home/ylliagdo/public_html/components/com_k2/models/itemlist.php on line 576

Deprecated: Function strftime() is deprecated in /home/ylliagdo/public_html/components/com_k2/models/itemlist.php on line 576

Deprecated: Function strftime() is deprecated in /home/ylliagdo/public_html/components/com_k2/models/itemlist.php on line 576

Deprecated: Function strftime() is deprecated in /home/ylliagdo/public_html/components/com_k2/models/itemlist.php on line 576

Deprecated: Function strftime() is deprecated in /home/ylliagdo/public_html/components/com_k2/models/item.php on line 121

Deprecated: preg_replace_callback(): Passing null to parameter #3 ($subject) of type array|string is deprecated in /home/ylliagdo/public_html/plugins/content/dropfiles/dropfiles.php on line 78

Deprecated: Function strftime() is deprecated in /home/ylliagdo/public_html/components/com_k2/views/item/view.html.php on line 309

Deprecated: Function strftime() is deprecated in /home/ylliagdo/public_html/components/com_k2/models/item.php on line 121

Deprecated: preg_replace_callback(): Passing null to parameter #3 ($subject) of type array|string is deprecated in /home/ylliagdo/public_html/plugins/content/dropfiles/dropfiles.php on line 78

Deprecated: Function strftime() is deprecated in /home/ylliagdo/public_html/components/com_k2/views/item/view.html.php on line 350

Deprecated: Function strftime() is deprecated in /home/ylliagdo/public_html/components/com_k2/views/item/view.html.php on line 457

Deprecated: Constant FILTER_SANITIZE_STRING is deprecated in /home/ylliagdo/public_html/components/com_k2/views/item/view.html.php on line 523

Deprecated: Constant FILTER_SANITIZE_STRING is deprecated in /home/ylliagdo/public_html/components/com_k2/views/item/view.html.php on line 600

Deprecated: Constant FILTER_SANITIZE_STRING is deprecated in /home/ylliagdo/public_html/components/com_k2/views/item/view.html.php on line 625

Samba 4 como PDC e BDC

Written by

Como base para nossos trabalhos com o Free Bsd nas distro’s pfSense e FreeNas, precisaremos ter um serviço de autenticação centralizada, afinal de contas precisamos de um ambiente

completo e próximo a realidade. Aproveito então para mostrar a instalação e configuração do Samba 4 como Controlador primário e como Controlador Backup.

Como quase tudo nessa vida, é mais simples do que parece. Vamos utilizar o Debian 8 como base. Configure a rede com ip fixo, hostname “pdc” e FQDN “pdc.meudominio.local”.

Feito isso, baixe a ultima versão do Samba diretamente no site oficial.

Vamos começar?

Instalando as dependências:

[code type="Cole no terminal ROOT e pressione ENTER"]apt-get install gcc flex make gdb python-ldap python-dev libacl1-dev[/code

Descompacte os arquivos na sua home de root mesmo, entre na pasta e compile:

 

[code type="Cole no terminal ROOT e pressione ENTER"]./configure –enable-debug –enable-selftest[/code]

[code type="Cole no terminal ROOT e pressione ENTER"]make[/code]

[code type="Cole no terminal ROOT e pressione ENTER"]make install[/code]

Pronto! Samba 4 instalado. Agora você precisa criar seu domínio. Utilizamos a ferramenta “samba-tool” para isso. Por padrão, o samba 4 instalado dessa forma ficará com o path “/usr/local/samba”.  Use o comando para provisionar seu domínio respondendo o que for solicitado. Atenção apenas na hora que ele solicitar o mecanismo de “DNS”, utilize o “samba internal”.

[code type="Cole no terminal ROOT e pressione ENTER"]/usr/local/samba/bin/samba-tool domain provision[/code]

Agora sim! Vamos testar?

Instale o pacote “dnsutils” via apt-get e digite os comandos abaixo para testar o funcionamento do seu samba 4 como “PDC”.

[code type="Cole no terminal ROOT e pressione ENTER"]host -t SRV _ldap._tcp.meudominiolocal[/code]

[code type="Cole no terminal ROOT e pressione ENTER"]host -t SRV _kerberos._tcp.meudominio.local[/code]

Não funcionou? Calma.. você precisa dar o start no serviço.

[code type="Cole no terminal ROOT e pressione ENTER"]/usr/local/samba/sbin/samba[/code]

Teste novamente.

Agora vamos ao “BDC”.

Apesar do trabalho incansável dos desenvolvedores, o samba ainda não possui todos os recursos do AD micro$oft. Questão de tempo, mas nada que não possa ser resolvido com o kit de ferramentas que temos disponíveis em nosso amado Pinguim.

Em outra máquina,  instale as dependências e compile o samba da mesma forma que fizemos no “PDC”. O que muda aqui, é que agora vamos ingressar no domínio como controlador Backup. Utilizamos o “samba-tool” com parâmetros específicos pra isso.

[code type="Cole no terminal ROOT e pressione ENTER"]./samba-tool domain join meudominio.local DC Uadministrator –realm=meudominio.local –dns-backend=SAMBA_INTERNAL[/code]

###Não se esqueça de configurar sua rede e usar o PDC como servidor DNS. Isso deve ser feito para todas as máquinas que ingressarão no domínio###

Após isso, inicie o samba e use o comando abaixo para verificar se os controladores começaram a se falar.

[code type="Cole no terminal ROOT e pressione ENTER"]./samba-tool drs showrepl[/code] 

A administração pode ser feita via samba-tool, porém isso fica pra outro post. Vamos utilizar as ferramentas de administração de servidor remoto. Instale no seu Windows 7 mesmo obtendo aqui.

Para gerenciar seu ad, sua máquina windows deve estar no domínio. Para isso ela deve estar na mesma rede do “PDC”, que deve ser apontado como DNS também.

Crie alguns usuários, “GPO”, “OU’s” e comece a modelar seu AD. Feito isso, vamos acertar um último detalhe. Repare que se você conectar no “BDC”,  os usuários e a estrutura do seu AD estarão replicados, porém se você for mexer nas GPO’s do BDC, receberá a mensagem de “Arquivo não encontrado”.

O que ocorre é: As GPOS que você criar no “PDC” não são replicadas no BDC nativamente, portanto você precisa fazer isso na mão, neste caso, com “RSYNC” e “CRON”.

Instale o rsync via apt-get. Nos dois servidores.

Agora precisamos replicar a pasta “SYSVOL” que contém os arquivos das GPOS. O rsync cuidará disso tranquilamente, e o cron se encarrega de repetir a operação a cada 5 minutos para manter tudo sincronizado.

Como o Cron fará tudo sem nossa intervenção, precisamos configurar alguns parâmetros de autenticação e da pasta que será sincronizada. Para isso o rsync deverá rodar como DAEMON, o que pode ser feito no debian alterando o arquivo “/etc/default/rsync”, trocando a linha “RSYNC_ENABLE” de false para true.
# start rsync in daemon mode from init.d script?
#  only allowed values are “true”, “false”, and “inetd”
#  Use “inetd” if you want to start the rsyncd from inetd,
#  all this does is prevent the init.d script from printing a message
#  about not starting rsyncd (you still need to modify inetd’s config yourself).
RSYNC_ENABLE=true

Agora você pode startar o rsync como serviço, através do comando “#service rsync start”, mas não faça isso ainda. Para configurar o que pode ser sincronizado e a autenticação que o serviço aceitará para a tarefa, crie o arquivo “/etc/rsyncd.conf”.

 

Deixe ele assim:

[sysvol] path = /usr/local/samba/var/locks/sysvol/

comment = Samba Sysvol

uid = root

gid = root

read only = yes

auth users = sysvol-replication

secrets file = /usr/local/samba/etc/rsyncd.secret

##Parece um arquivo de configuração do samba né? Simples assim##

O que fizemos foi criar um compartilhamento rsync chamado “sysvol”, apontamos a pasta que queremos que seja replicada, e definimos um usuário a ser usado apenas para esse acesso, o “sysvol-replication” apontando o arquivo que contem a senha que deve ser aceita para a conexão. Deixe este arquivo no “etc do samba” para mantermos o ambiente organizado.

Crie o arquivo “/usr/local/samba/etc/rsyncd.secret” e ponha o seguinte conteúdo.

[code type="Conteúdo do arquivo"]sysvol-replication:SENHAs3cr3t4[/code]

##Sintaxe do arquivo, “nome do usuário” : “senha”##

Detalhe importante, só o root pode ler esse arquivo, portanto não esqueça de setar a permissão correta, senão o rsync não aceitará o arquivo.

[code type="Cole no terminal ROOT e pressione ENTER"]chmod 0400 rsyncd.secret[/code] 

Nosso PDC está pronto para aceitar os pedidos de sincronização do SYSVOL via Rsync!

Vamos agora configurar nosso BDC para sincronizar de fato.

Primeiro, criamos o arquivo com a senha de autenticação no rsync remoto. Precisaremos disso para que o cron possa fazer o trabalho sozinho depois. Crie o arquivo “/usr/local/samba/etc/rsync-sysvol.secret” e coloque a senha que configuramos no PDC.

Arquivo: /usr/local/samba/etc/rsync-sysvol.secret

SENHAs3cr3t4

Configure a permissão correta. Só o root pode ler esse arquivo!

[code type="Cole no terminal ROOT e pressione ENTER"]chmod 0400 rsync-sysvol.secret[/code]

Teste a sincronização utilizando o parâmetro “–dry-run” do rsync. Cuidado com os Path’s, esse comando apaga tudo que tem na pasta e sincroniza com o sysvol do PDC, se você apontar o caminho errado, pode acabar perdendo algo importante!

rsync –dry-run -XAavz –delete-after –password-file=/usr/local/samba/etc/rsync-sysvol.secret rsync://This email address is being protected from spambots. You need JavaScript enabled to view it..1.2/sysvol/ /usr/local/samba/var/locks/sysvol/

##Estamos assumindo que você utilizou o Ip “192.168.1.2” no seu PDC##

Sem erros? Então podemos remover o “–dry-run” e inserir no cron. Acesse sua Cron tab [crontab -e] e insira a linha a seguir:

*/5 * * * * rsync -XAavz –delete-after –password-file=/usr/local/samba/etc/rsync-sysvol.secret rsync://This email address is being protected from spambots. You need JavaScript enabled to view it..1.2/sysvol/ /usr/local/samba/var/locks/sysvol/

Finalmente! Agora a cada 5 minutos seu BDC vai sincronizar as GPO’s que você criar no Ad!

Acompanhem as postagens na seção Free Bsd. Nos próximos Posts, vamos fazer um File server autenticado em nosso Ad Samba 4.

Espero que tenham gostado.


Deprecated: MPFInput implements the Serializable interface, which is deprecated. Implement __serialize() and __unserialize() instead (or in addition, if support for old PHP versions is necessary) in /home/ylliagdo/public_html/administrator/components/com_osmembership/libraries/mpf/input/input.php on line 23

Duração: Tempo de vida
Preço: R$365.00
Duração: Tempo de vida
Preço: R$365.00

Adonel Bezerra

- É Perito com computação;
Auditor Líder das Normas ISO 27001, 27701, 27002 e 37301;
Membro efetivo da APCF - Associação Portuguesa de Ciências Forenses;
Pós-graduação em pericia forense computacional;
Pós-graduado em teoria em educação a distância e docência do ensino superior;
Graduando em direito;
Graduado em processamento de dados;
Escritor;
Com atuação profissional no Brasil e na Europa atualmente;
Especialista em investigação digital;
Experiência em implantação e auditoria das normas ISO 9001 e 27001;
Experiência em adequação de empresas a LEI N 13.709, DE 14 DE AGOSTO DE 2018 (LGPD) e General Data Protection Regulation (GDPR);
Experiência em auditoria interna ISO 27001;
Foi assessor sênior de desenvolvimento de tecnologia da informação do Conselho regional de engenharia e agronomia;
Consultor de segurança de sistemas e redes com mais de trinta anos de experiência;
Professor de pós-graduação em Pericia Computacional;
Já ministrou treinamentos e palestras para milhares de profissionais no todo Brasil e Exterior;
Fundador do Clube do Hacker www.clubedohacker.org
Site pessoal www.adonelbezerra.com
Lattes: http://lattes.cnpq.br/3540462066550327

Publish modules to the "offcanvs" position.


Deprecated: trim(): Passing null to parameter #1 ($string) of type string is deprecated in /home/ylliagdo/public_html/plugins/system/membershipprosms/membershipprosms.php on line 206