Buscar

Leonardo_Campos_AIA_Relatório Final1

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 52 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 52 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 52 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

INSTITUTO INFNET
ESCOLA SUPERIOR DE TECNOLOGIA DA
INFORMAÇÃO
GRADUAÇÃO EM GESTÃO DE TI
Arquitetura de Infraestrutura de Aplicações
ALUNO: Leonardo da Silva Campos
E-MAIL: leonardo.scampos@al.infnet.edu.br
Matrícula: 10010786759
TURMA: 20E4_5
Relatório Final
mailto:leonardo.scampos@al.infnet.edu.br
Sumário
Introdução 2
Objetivo 3
Bibliografia 4
Introdução
Este é o relatório final, baseado em toda a matéria abordada no Moodle,
incluindo conhecimentos adquiridos em outras matérias do bloco. Este
relatório tem como centro a utilização da ferramenta Ansible para a
criação de um playbook para automação da instalação de nossa aplicação
distribuída, neste caso o wordpress, e sua posterior documentação e
versionamento no Github.
Objetivo
Avaliar a capacidade de elaboração projeto de implantação, de
ferramenta corporativa, utilizando automação com o Ansible e a sua
adequada documentação.
OBS: O relatório final está anexado a este documento, para melhor
simular um verdadeiro relatório corporativo.
Bibliografia
Este trabalho está baseado em todo o conteúdo programático
matéria disponíveis no moodle, bem como documentos e manuais
disponíveis na internet e material transmitido em aula.
Requisitos de hardware ESXi
https://docs.vmware.com/en/VMware-vSphere/6.5/com.vmware.vsphere.up
grade.doc/GUID-DEB8086A-306B-4239-BF76-E354679202FC.html
Site VMWare. Requisitos de hardware ESXi
https://tfmoucmj3cm5fdnxkonbpwc2la--docs-vmware-com.translate.goog/
en/VMware-vSphere/6.0/com.vmware.vsphere.install.doc/GUID-88571D8A-4
6E1-464D-A349-4DC43DCAF320.html
Site VMWare. Requisitos de hardware do vCenter Server Appliance.
https://www.freenas.org/hardware-requirements/
Site FreeNas. Hardware Requirements and Recommendations
https://sempreupdate.com.br/requisitos-de-sistema-do-ubuntu-linux/
Nebromonte, Emanuel. Requisitos de sistema do Ubuntu Linux
https://docs.ansible.com/ansible/latest/installation_guide/intro_installation.
html#prerequisites
Ansible Prerequisites
https://httpd.apache.org/docs/2.4/install.html#requirements
https://wordpress.org/about/requirements/
https://rodrigolira.eti.br/instalacao-do-vmware-esxi-6-5/
LIRA, Rodrigo. Instalação do VMware ESXi 6.5. 2016
https://pplware.sapo.pt/linux/aprenda-a-instalar-e-configurar-o-freenas-par
te-i/
https://www.youtube.com/watch?v=7M9E02CEon8
Ubuntu 20.10 Full Installation Walkthrough
https://docs.vmware.com/en/VMware-vSphere/6.5/com.vmware.vsphere.upgrade.doc/GUID-DEB8086A-306B-4239-BF76-E354679202FC.html
https://docs.vmware.com/en/VMware-vSphere/6.5/com.vmware.vsphere.upgrade.doc/GUID-DEB8086A-306B-4239-BF76-E354679202FC.html
https://tfmoucmj3cm5fdnxkonbpwc2la--docs-vmware-com.translate.goog/en/VMware-vSphere/6.0/com.vmware.vsphere.install.doc/GUID-88571D8A-46E1-464D-A349-4DC43DCAF320.html
https://tfmoucmj3cm5fdnxkonbpwc2la--docs-vmware-com.translate.goog/en/VMware-vSphere/6.0/com.vmware.vsphere.install.doc/GUID-88571D8A-46E1-464D-A349-4DC43DCAF320.html
https://tfmoucmj3cm5fdnxkonbpwc2la--docs-vmware-com.translate.goog/en/VMware-vSphere/6.0/com.vmware.vsphere.install.doc/GUID-88571D8A-46E1-464D-A349-4DC43DCAF320.html
https://www.freenas.org/hardware-requirements/
https://sempreupdate.com.br/requisitos-de-sistema-do-ubuntu-linux/
https://docs.ansible.com/ansible/latest/installation_guide/intro_installation.html#prerequisites
https://docs.ansible.com/ansible/latest/installation_guide/intro_installation.html#prerequisites
https://httpd.apache.org/docs/2.4/install.html#requirements
https://wordpress.org/about/requirements/
https://rodrigolira.eti.br/instalacao-do-vmware-esxi-6-5/
https://pplware.sapo.pt/linux/aprenda-a-instalar-e-configurar-o-freenas-parte-i/
https://pplware.sapo.pt/linux/aprenda-a-instalar-e-configurar-o-freenas-parte-i/
https://www.youtube.com/watch?v=7M9E02CEon8
https://computingforgeeks.com/how-to-install-php-7-3-on-ubuntu-18-04-u
buntu-16-04-debian/
https://tfmoucmj3cm5fdnxkonbpwc2la--docs-vmware-com.translate.goog/
en/VMware-vSphere/6.0/com.vmware.vsphere.install.doc/GUID-88571D8A-4
6E1-464D-A349-4DC43DCAF320.html
Site VMWare. Requisitos de hardware do vCenter Server Appliance
https://docs.ansible.com/ansible/latest/installation_guide/intro_installation.
html#installing-ansible-on-ubuntu
Installing Ansible on Ubuntu
https://httpd.apache.org/docs/2.4/install.html
https://www.youtube.com/watch?v=uAnk3gr-_xw
How to Install Wordpress 5.6 on Ubuntu 20.04
https://dev.mysql.com/doc/refman/8.0/en/installing.html
Containers vs. virtual machines
https://docs.microsoft.com/en-us/virtualization/windowscontainers/about/c
ontainers-vs-vm
Fault Tolerance
https://docs.vmware.com/en/VMware-vSphere/6.5/vsphere-esxi-vcenter-ser
ver-652-availability-guide.pdf#_OPENTOPIC_TOC_PROCESSING_d114e10651
Providing Fault Tolerance for Virtual Machines
https://docs.vmware.com/en/VMware-vSphere/6.5/vsphere-esxi-vcenter-ser
ver-652-availability-guide.pdf#unique_52
How to set up a hidden Tor service or .onion website
https://www.comparitech.com/blog/vpn-privacy/how-to-set-up-a-tor-hidde
n-service/
https://computingforgeeks.com/how-to-install-php-7-3-on-ubuntu-18-04-ubuntu-16-04-debian/
https://computingforgeeks.com/how-to-install-php-7-3-on-ubuntu-18-04-ubuntu-16-04-debian/
https://tfmoucmj3cm5fdnxkonbpwc2la--docs-vmware-com.translate.goog/en/VMware-vSphere/6.0/com.vmware.vsphere.install.doc/GUID-88571D8A-46E1-464D-A349-4DC43DCAF320.html
https://tfmoucmj3cm5fdnxkonbpwc2la--docs-vmware-com.translate.goog/en/VMware-vSphere/6.0/com.vmware.vsphere.install.doc/GUID-88571D8A-46E1-464D-A349-4DC43DCAF320.html
https://tfmoucmj3cm5fdnxkonbpwc2la--docs-vmware-com.translate.goog/en/VMware-vSphere/6.0/com.vmware.vsphere.install.doc/GUID-88571D8A-46E1-464D-A349-4DC43DCAF320.html
https://docs.ansible.com/ansible/latest/installation_guide/intro_installation.html#installing-ansible-on-ubuntu
https://docs.ansible.com/ansible/latest/installation_guide/intro_installation.html#installing-ansible-on-ubuntu
https://httpd.apache.org/docs/2.4/install.html
https://www.youtube.com/watch?v=uAnk3gr-_xw
https://dev.mysql.com/doc/refman/8.0/en/installing.html
https://docs.microsoft.com/en-us/virtualization/windowscontainers/about/containers-vs-vm
https://docs.microsoft.com/en-us/virtualization/windowscontainers/about/containers-vs-vm
https://docs.vmware.com/en/VMware-vSphere/6.5/vsphere-esxi-vcenter-server-652-availability-guide.pdf#_OPENTOPIC_TOC_PROCESSING_d114e10651
https://docs.vmware.com/en/VMware-vSphere/6.5/vsphere-esxi-vcenter-server-652-availability-guide.pdf#_OPENTOPIC_TOC_PROCESSING_d114e10651
https://docs.vmware.com/en/VMware-vSphere/6.5/vsphere-esxi-vcenter-server-652-availability-guide.pdf#unique_52
https://docs.vmware.com/en/VMware-vSphere/6.5/vsphere-esxi-vcenter-server-652-availability-guide.pdf#unique_52
https://www.comparitech.com/blog/vpn-privacy/how-to-set-up-a-tor-hidden-service/
https://www.comparitech.com/blog/vpn-privacy/how-to-set-up-a-tor-hidden-service/
1- Introdução 4
Apresentação / Cenário 4
Necessidade 4
Proposta 5
2- Tecnologia 5
Requisitos de Software 6
Requisitos de Hardware 6
Máquinas Virtuais 7
3- Implementação 7
Requisitos de desenvolvimento/correções 7
Gerenciamento da Aplicação (Código Fonte e versionamento) 8
Infraestrutura Necessária 8
Storage FreeNas 9
Criação do Pool 11
Compartilhamento do Pool 13
Servidor ESXi 14
Criação dos Datastores 16
Criação das VMs 18
Instalação do Vcenter 20
Instalação do Wordpress 26
Criação da Infraestrutura Ansible 26
Execução do Código 29
Publicação do Portal na rede Onion 31
Publicação e Atualização do Repositório 35
Plano de implementação 40
Agenda de implantação 40
Softwares Utilizados 41
2
Custos de implantação 42
4- Conclusão 43
5- Anexo 44
Softwares 44
Requisitos 44
Instalação 45
Hardware 46
Containers vs. virtual machines 46
Fault Tolerance 46
Hidden Service 46
3
1- Introdução
Apresentação / Cenário
A LSC é uma empresa voltada para a área de segurança da informação,
oferecendo serviços como consultorias, auditorias, criação e implementação depolíticas de segurança da informação. A alguns anos no mercado, a LSC está
investindo na formação de profissionais de segurança da informação, nas mais
vastas áreas de atuação.
Um profissional da segurança da informação, geralmente, é um profissional
de TI migrado de outras áreas, como Infraestrutura, por exemplo. No entanto,
atualmente, com a facilidade da transmissão de conhecimento e a defasagem
de profissionais, muitos profissionais de segurança já nascem dentro da área de
segurança. Pensando neste novo cenário de negócios, a LSC quis implementar o
projeto Challenge Game Infosec, destinado ao estudo da área ofensiva da
segurança da informação, se utilizando de um ambiente de CTF (Capture The
Flag)para o aprendizado. Este projeto visa atrair jovens interessados em
segurança ofensiva e defensiva, para receberem mentoria no aprendizado,
criando um roadmap educacional até a vida profissional, focado em segurança.
Com isso, fez-se necessário a criação de uma infraestrutura para utilização
em aulas simuladas, que possam dar experiência aos estudantes.
Necessidade
Para esta demanda, visamos a criação de uma infraestrutura local para a
hospedagem de um site, que será utilizado na ministração de curso de
segurança da informação.
Ele será utilizado nas aulas práticas de análise de vulnerabilidade e intrusão
de aplicações web.
4
Proposta
A proposta apresentada é a de criação de um site, on premises, publicado
na deepweb para a utilização dos instrutores e alunos dos cursos da LSC.
O site será utilizado para estudo da rede TOR, aprendizados em testes de
vulnerabilidade, CTFs e testes de penetração web.
Inicialmente disponibilizamos a aplicação para testes de penetração e
vulnerabilidades tipo CTF.
Depois de analisar com esmero as necessidades e as possíveis aplicações a
serem utilizadas, a LSC percebeu que poderia abrigar o projeto em espaço
ocioso de seus próprios servidores, reduzindo, com isso, os custos do projeto.
A Infraestrutura atual possui um servidor com capacidade computacional
ociosa, em condições de ser utilizado para esta feature. Por isso iremos utilizá-lo
em paralelo a outros serviços existentes, assegurando-se da segurança que deve
ser implementada, pela natureza do projeto.
Por conta do baixo custo de implementação, se comparado a soluções em
nuvem, o projeto será testado em infra on premises e, futuramente, objetivamos
escalar o projeto, migrando-o para uma nuvem pública.
2- Tecnologia
Frente às necessidades apresentadas, o desafio esteve na escolha das
ferramentas utilizadas na implantação do projeto.
Avaliamos a escolha entre a utilização de VMs ou containers para a
implementação de nosso ambiente e , prezando a questão da segurança, pela
própria natureza de nossa aplicação, que envolve publicação em rede onion e
utilização para testes de vulnerabilidades e penetração, a melhor escolha, sem
sombra de dúvidas, é a utilização do ambiente em VM.
As VMs são um invólucro que podem ser completamente apartadas da
5
rede e do host, enquanto os containers dividem o kernel do SO com o host. Isso
poderia significar um problema de segurança para o projeto.
https://docs.microsoft.com/en-us/virtualization/windowscontainers/about/containers-vs-vm
O portal será desenvolvido sobre uma instalação Wordpress com banco de
dados MySQL, utilizando um playbook em Ansible para automatização da
instalação do Wordpress, seus pré requisitos e dependências.
A escolha pelo Wordpress se deve a sua grande difusão. Cerca de 40% de
todos os sites na internet tem em seu background o Wordpress. Desta forma,
saber como ele funciona e suas vulnerabilidades, principalmente nos plugins
utilizados, é uma grande vantagem para um profissional de segurança.
Hoje em dia existe todo um mercado trabalhando sobre a segurança e o
desenvolvimento seguro para o Wordpress.
https://bobcares.com/blog/ansible-playbook-to-install-wordpress/
https://www.digitalocean.com/community/tutorials/how-to-use-ansible-to-install-and-set-up-
wordpress-with-lamp-on-ubuntu-18-04-pt
https://www.xpresservers.com/como-usar-o-ansible-para-instalar-e-configurar-o-wordpress-c
om-lamp-no-ubuntu-18-04/
https://kinsta.com/wordpress-market-share/
Requisitos de Software
Abaixo seguem os softwares e versões para a estruturação da aplicação:
• VmWare ESXi 6.x;
• VCenter 6.x;
• FreeNas;
• Ubuntu 20.10;
• PHP versão 7.4.3;
• MySQL versão 8.0;
• Apache 2.4.41;
• Wordpress 5.6.2;
Requisitos de Hardware
Os Hardwares , como mencionado, são preexistentes e possuem
capacidade para operar a aplicação. Abaixo às configurações das máquinas.
6
https://docs.microsoft.com/en-us/virtualization/windowscontainers/about/containers-vs-vm
https://bobcares.com/blog/ansible-playbook-to-install-wordpress/
https://www.digitalocean.com/community/tutorials/how-to-use-ansible-to-install-and-set-up-wordpress-with-lamp-on-ubuntu-18-04-pt
https://www.digitalocean.com/community/tutorials/how-to-use-ansible-to-install-and-set-up-wordpress-with-lamp-on-ubuntu-18-04-pt
https://www.xpresservers.com/como-usar-o-ansible-para-instalar-e-configurar-o-wordpress-com-lamp-no-ubuntu-18-04/
https://www.xpresservers.com/como-usar-o-ansible-para-instalar-e-configurar-o-wordpress-com-lamp-no-ubuntu-18-04/
https://kinsta.com/wordpress-market-share/
Storage (Existente):
Dell PowerEdge NAS Server:
Procesador Intel® Xeon® E5-2690
v4 - 14 núcleos;
RAM - 64 GB;
HDDs - 4TB - RAW (3TB - RAID 5);
Rede - Placa Ethernet Broadcom
5719 - 4 x 1Gb;
OS - FreeNas;
Servidor Host (Existente):
2 Servidores: PowerEdge R430;
Disco: 4 unidades de 2,5" SSD de troca
dinâmica, 1TB (Raid 5);
Memória: DIMM DDR4 120GB;
Processador: 1 Intel® Xeon® E5-2600 v4;
Placas de Rede: 4 x LOM de 1 GbE;
Fonte de energia: 2x Dell 1100w 09tmrf;
(Ambos os servidores têm a mesma
configuração).
Máquinas Virtuais
Teremos 02 máquinas virtuais que serão usadas como VM1 ( máquina
principal) e VM 2 (backup Fault Tolerance), para migração do serviço em caso de
falha.
https://docs.vmware.com/en/VMware-vSphere/6.5/vsphere-esxi-vcenter-server-652-availability-
guide.pdf#unique_52
Servidor Virtual 1:
VM 1 (Wordpress)
Sistema: Ubuntu 20.10
Disco: 100 GB (Dinâmica);
Memória: 16 GB (Dinâmica);
VCPU: 2 (dedicadas);
OBS: No servidor principal é onde
foi instalado o playbook Ansible.
Servidor Virtual 2 (Backup):
VM 2 (Wordpress)
Sistema: Ubuntu 20.10
Disco: 100 GB (Dinâmica);
Memória: 16 GB (Dinâmica);
VCPU: 2 (dedicadas);
OBS: Este servidor será utilizado para a
migração da aplicação em caso de falha.
Esta migração será gerenciada pelo próprio
virtualizado.
3- Implementação
Requisitos de desenvolvimento/correções
Após disponibilizado pela equipe de infra, os hardwares em condições,
serão entregue à equipe de desenvolvimento que trabalhará em cenários de
entregas distintos, com milestones divididos da seguinte maneira:
• Desenvolvimento e Correção
Ambiente de entrega do primeiro corpo do projeto e retorno de correção de
bugs reportados.
7
https://docs.vmware.com/en/VMware-vSphere/6.5/vsphere-esxi-vcenter-server-652-availability-guide.pdf#unique_52
https://docs.vmware.com/en/VMware-vSphere/6.5/vsphere-esxi-vcenter-server-652-availability-guide.pdf#unique_52
• Homologação
Ambiente para teste das versões disponibilizadas para validação interna.
• Entrega
Ambiente que disponibiliza ao usuário final o produto acabado.
Gerenciamento da Aplicação (Código Fonte e versionamento)
Será disponibilizado, por meio do Github, toda a codificação para a
implementação da infraestrutura lógica escrita no Ansible, possibilitando todo o
gerenciamento de versões.
A Equipe utilizará o VS Code para construir e compilar a infraestrutura
lógica. O VS Code estará sincronizado com a conta Github para automatizar os
versionamentos na ferramenta.
Infraestrutura Necessária
O diagrama a seguir mostra a infraestrutura do projeto, determinando que
os servidores devem estar ligados a um switch NAS, utilizando as portas
GigaEthernet. Da mesma forma se dá para a storage.
Será disponibilizado na storage, 4 HDs de 1TB, arranjados em Raid 5,
entregando3 discos de 1TB onde utilizaremos 100 GB para cada máquina
virtual.
As VMs estarão em VLANs diferentes da rede local para garantir a
segurança na publicação do serviço wordpress.
O Vsphere será capaz de gerenciar as VMs, fazendo utilização do Vsphere FT
(Fault Tolerance), garantido que o serviço não seja interrompido durante o
acesso dos instrutores. O FT é capaz de fazer o Failover ao vivo, sem queda de
rede ou atrasos, caso uma VM sofra falhas. Neste caso o FT faz sincronia
constante com uma VM de backup. Esta será levantada logo que a VM principal
falhe. Mesmo que a VM de backup falhe, a sincronia do FT pode subir nova VM
totalmente sincronizada com a VM principal.
Concomitantemente, o Vcenter HA é capaz, também, de migrar toda a VM
entre os hosts, caso o próprio hoste venha a falhar, utilizando o vMotion.
8
Storage FreeNas
Como mencionado, escolhemos o FreeNas para o gerenciamento da nossa
storage, e mesmo Free, é uma ferramenta robusta e confiável, o que a torna
muito interessante ao projeto, pois reduz custos com licenciamento sem
prejudicar a eficiência.
Abaixo, documentamos a instalação do FreeNas e como devem ficar os
arranjos de discos para a entrega às máquinas virtuais.
OBS: Mesmo sendo uma infraestrutura existente, mostraremos todo o
processo de implementação da infraestrutura de VMs para fins de
documentação.
9
Feita a escolha na tela anterior, a instalação solicitará a escolha do disco
onde o FreeNas será instalado.
Usando as setas do teclado caso tenham mais de uma opção, selecione OK
e aperte Enter. O sistema será instalado no seu HD dedicado.
10
Terminada a instalação e inicialização, o Freenas mostrará uma tela de
Setup. Caso o servidor já tenha IP ou esteja em DHCP, será mostrado nesta tela
o IP de acesso a interface web de gerenciamento.
Ao entrar na interface, você poderá acessar o gerenciador mediante login e
senha, que pode ser configurado na tela anterior.
Criação do Pool
Para a criação do Pool que arranjará os discos no formato que precisamos,
vá ao menu Storage -> Pool.
Na próxima tela, crie um novo Pool.
11
Selecionado os discos necessários para a criação do Raid 5, clicamos na seta
azul para enviar os discos ao DATA VDevs, onde escolhemos a opção de arranjo,
em nosso caso, Raid-Z2, que equivale ao Raid 5. *OBS.: Imagens para fins de
instrução. Não reflete a real capacidade do storage atual.
Realizada esta configuração para os discos necessários, teremos os discos
empilhados no tamanho que projetamos. *OBS.: Imagens para fins de
instrução. Não reflete a real capacidade do storage atual.
Com o Pool criado, teremos que clicar no menu hambúrguer para adicionar
um Dataset, criando uma identificação para este volume. Esta ação deve ser
realizada a todos os Pools.
Na tela abaixo podemos ver a configuração do Dataset e exibição dos
12
datastores e suas configurações de Dataset.
Compartilhamento do Pool
Retornando ao Menu principal, em “Sharing / Unix Shares (NFS)”, criamos o
compartilhamento NFS.
13
Também no menu hambúrguer do “path”, em “edit permissions”,
finalizamos dando direito de escrita ao servidor ESXi no storage e ver o caminho
criado para o compartilhamento.
Este caminho será utilizado no mapeamento, no ESXi.
Servidor ESXi
Para a instalação do ESXi 6.7, iniciamos o boot por disco no servidor.
14
Haverão algumas telas de interação que só precisam da confirmação para
prosseguimento, como evidenciado nas imagens.
Reiniciado após a instalação, vemos a tela do sistema.
Caso o DHCP esteja ativo, o servidor já terá um IP para acesso de sua interface
web.
15
Clicando em F2 podemos acessar um menu de customização onde , entre
outras coisas, o IP fixo pode ser definido.
Acessando a o IP configurado, podemos ter acesso a interface de gerência
do ESXi, finalizando sua instalação.
Criação dos Datastores
Finalizada a instalação do ESXi, podemos usá-lo para a criação das
Datastores, apontando às storages criadas no FreeNas. Elas, que serão
entregues às máquinas Virtuais. as evidências abaixo mostram o
apontamento efetuado, passo à passo.
16
17
Criação das VMs
Para a criação das VMs o processo se assemelha. No Dashboard do ESXi,
clique em New Virtual Machine.
18
Configure a máquina virtual conforme o planejamento e finalize a criação. à
exemplo do Datastore, repetiremos estas configurações para a criação da
segunda VM de backup.
19
Instalação do Vcenter
Abaixo serão mostrados os passos para instalação do Vcenter. Ele fará o
gerenciamento das VMs e Datastores já configurados no ESXi:
Ao executar o instalador do vSphere, escolhendo a instalação do
vCenter server e prosseguindo a instalação.
20
Aceitando os termos, escolhemos a opção Embedded Deployment.
21
Escolha o nome para a rede e o nome e senha do administrador.
22
Especifique a conta de usuário para executar o vCenter como serviço e,
em nosso caso, mantivemos o banco de dados padrão de instalação.
23
Configuramos às portas de funcionamento do sistema e às pastas de
destino (padrão) dos arquivos de instalação da aplicação:
24
Revisamos a configuração da instalação e temos a instalação finalizada.
25
Instalação do Wordpress
Nos pareceu irrelevante documentar a instalação do sistema
operacional Ubuntu, por se tratar de uma atividade trivial. Passaremos para
as atividades de criação do Playbook e sua execução para implementação
do projeto na VM 1 (principal). O processo será exatamente o mesmo para a
VM2 e o serviço Fault Tolerance poderá manter as VMs sincronizadas.
Obs: Caso seja necessário verificar a instalação deste e de outros softwares , além de
seus requisitos, poderá encontrar artigos sobre o assunto no anexo deste documento.
Criação da Infraestrutura Ansible
Abaixo serão documentados em imagens os comandos necessários para a
criação da infraestrutura necessária ao funcionamento do playbook:
Criação da pasta raíz do projeto:
Criação dos arquivos Hosts (para o inventário dinâmico) e Playbook.yml,
onde constará o código para a automatização da instalação completa da
aplicação Wordpress e suas dependências:
26
Criação do diretório roles, onde serão criados, efetivamente, a
infraestrutura da automatização do Ansible:
O arquivo playbook.yml foi editado apontando os tipos de roles que serão
implementadas:
Host: wordpress
remote_user: leonardo
become: yes
roles:
-server
-php
-mysql
-wordpress
Dentro do diretório roles são aplicados os comandos abaixo, para a
criação automática da infraestrutura de diretórios necessários:
● Role Server
ansible-galaxy init server
● PHP
ansible-galaxy init PHP
● Mysql
ansible-galaxy init mysql
● Wordpress
ansible-galaxy init wordpress
27
É necessário apontar a primeira máquina dentro do inventário, que será a
própria máquina onde está o projeto.
Para isso basta editar o arquivo hosts , introduzindo o IP localhost (Neste mesmo
arquivo poderão ser apontadas máquinas remotas que precisarão ter o usuário
e grupo aqui mostrado, para que o código possa ser executado):
Editamos o arquivo main nas tasks Mysql, server e wordpress, para que,
respectivamente, criasse o banco de dados e usuário com as permissões
necessárias, fizesse a instalação dos pacotes necessários para o ambiente onde
será instalado o wordpress e instalar o wordpress.
Editamos o arquivo main nas tasks Mysql, server e wordpress, para que,
respectivamente, criasse o banco de dados e usuário com as permissões
necessárias, fizesse a instalação dos pacotes necessários para o ambiente onde
será instalado o wordpress e instalar o wordpress.
28
O Código está pronto para ser implementado. É necessário atentar para a
identação do código a fim de evitar erros durante a execução.
Execução do Código
Para executar o playbook.yml pelo terminal, é necessário estar na pasta
onde está o arquivo. Pelo VS Code, ele iniciará dentro da pasta do projeto.
Execute o comando $ ansible-playbook -v -i playbook.yml.
Esta tela será exibida caso nenhum erro ocorra durante a execução.
29
Neste momento todos os pacotes e dependências já estãoinstalados
e o wordpress já está funcional.
30
O Site está implementado.
Publicação do Portal na rede Onion
Nosso portal foi publicado na deepweb como forma de marketing para a
cultura hacker e de Cybersecurity ao mesmo tempo em que será usado ,
tecnicamente, para ensinar sobre a própria deep web, rede onion (TOR), Hidden
Service, Relays Tor e etc.
Para a publicação foram dados os seguintes passos:
31
32
33
Ao ler o arquivo se pode ver a URL típica e pouco amigável da rede onion:
A url
http://adws3ea7vuxccwa6sjpjyentlo6dimnr34mde74uhqihhpq5xqd2rlad.onio
n/ já pode ser acessada externamente utilizando configurações específicas
para o proxy da rede Onion.
Alguns softwares ou Sistemas operacionais, como o Tor Browser e o
sistema operacional Tails, trazem às configurações automáticas para navegar
na rede tor, mas qualquer sistema operacional pode ser configurado para
acessá-la.
34
http://adws3ea7vuxccwa6sjpjyentlo6dimnr34mde74uhqihhpq5xqd2rlad.onion/
http://adws3ea7vuxccwa6sjpjyentlo6dimnr34mde74uhqihhpq5xqd2rlad.onion/
Publicação e Atualização do Repositório
Para o teste de atualização do repositório, usamos o VS Code e o terminal
da VM para realizar pequenas alterações no código para, posteriormente,
realizarmos a sincronia para o repositório.
git commit -m - Execute o primeiro commit dos arquivos.
35
git remote add origin - Aponta o projeto para o repositório criado
no Github na url https://github.com/LEOSCAMPOS/wordpress-ansible
36
https://github.com/LEOSCAMPOS/wordpress-ansible
Com o comando git push -u origin master os arquivos são enviados para o
repositório.
37
38
Então podemos ver nos logs e no próprio código que às alterações
realizadas localmente, foram sincronizadas com o projeto remoto.
39
Plano de implementação
Agenda de implantação
Abaixo, segue a agenda de implementação do projeto:
Infraestrutura Lógica
Criação da Infra, instalação das
VMs e provisionamento dos
discos
Dia 1 2 Equipe de Infra
Configuração e execução do
Ansible Dia 3 2 Equipe de Infra
Criação dos ambientes de
Milestones Dia 5 2 Equipe de Infra
Configuração do site Dia 07 05
Equipe de
desenvolvimento e
segurança
Publicação Dia 11 1
Equipe de
desenvolvimento e
segurança
40
Softwares Utilizados
Abaixo a biblioteca de software utilizada no projeto:
Software Versão URL
VmWare ESXi 6 https://my.vmware.com/web/vmware/downloads/de
tails?downloadGroup=ESXI60U3A&productId=491&r
PId=58587
vCenter 6 http://www.vmware.com/go/download-software-ma
nager-en
Ubuntu 20.10 https://ubuntu.com/download/desktop/thank-you?v
ersion=20.04.2.0&architecture=amd64
Wordpress 5.6 https://wordpress.org/wordpress-5.6.2.zip
FreeNas 11 https://download.freenas.org/11.3/STABLE/U5/x64/Fr
eeNAS-11.3-U5.iso
PHP 7.4 https://www.php.net/distributions/php-7.4.16.tar.gz
MySQL 8 https://dev.mysql.com/downloads/file/?id=501138
Apache 2.4 https://httpd.apache.org/download.cgi#apache24
41
Custos de implantação
Custos de Software
Software Versão Quant. Custo
VmWare ESXi 6.X 1 Licença existente
Vmware VCenter 6.x 1 Licença existente
Ubuntu 20.10 2 Free
Wordpress 5.6 2 Free
FreeNas 10 1 Free
PHP 7.4 2 Free
MySQL 8 2 Free
Apache 2.4 2 Free
Custos de Hardware
Dell PowerEdge NAS Server 1 Hardware
Existente
PowerEdge R430 2 Hardware
Existente
42
4- Conclusão
O projeto Challenge Game Infosec foi implantado e testado com sucesso.
Os prazos estabelecidos já previam folga para as tarefas necessárias e foram
suficientes para elas.
Não houve necessidade de compra de mais discos para a aplicação,
prevendo o tipo e quantidade de acessos normais para o período, pois
verificou-se que, se tratando de conteúdo estático, não precisaríamos de um
grande armazenamento.
Também os recursos de computação disponíveis foram suficientes para o
funcionamento adequado da aplicação.
Em nosso planejamento, uma melhoria é absolutamente necessária para a
aplicação. À depender da receptividade e demanda do projeto, podemos levar o
projeto para uma infraestrutura em cloud. Podemos aproveitar ou ampliar a
automatização das configurações da infraestrutura conseguida com a utilização
do Ansible, para , facilmente, escalarmos o número de máquinas preparadas
para o projeto. Com isso teremos mais facilidade para ampliar o alcance da
aplicação, melhorar a segurança, além de poder customizar as páginas de
acesso e fazer campanhas de CTFs tematizadas, com grande facilidade.
O sistema de elasticidade oferecido nos serviços em nuvem possibilitaria
aumentar a nossa infraestrutura durante as campanhas e reduzi-las quando
não fosse mais necessário.
Sem dúvidas estas ações podem aumentar a visibilidade da LSC no
mercado, dando credibilidade a marca, com um custo de investimento
adequado à demanda.
Em resumo, o projeto atendeu as nossas expectativas operacionais e pode,
com as melhorias, superá-las.
43
5- Anexo
Softwares
Requisitos
- ESXI 6
Requisitos de hardware ESXi
https://docs.vmware.com/en/VMware-vSphere/6.5/com.vmware.vspher
e.upgrade.doc/GUID-DEB8086A-306B-4239-BF76-E354679202FC.htm
l
Site VMWare. Requisitos de hardware ESXi
- VCenter 6
https://tfmoucmj3cm5fdnxkonbpwc2la--docs-vmware-com.translate.
goog/en/VMware-vSphere/6.0/com.vmware.vsphere.install.doc/GUID-
88571D8A-46E1-464D-A349-4DC43DCAF320.html
Site VMWare. Requisitos de hardware do vCenter Server
Appliance.
- FreeNas
https://www.freenas.org/hardware-requirements/
Site FreeNas. Hardware Requirements and Recommendations
- Ubuntu 20.10
https://sempreupdate.com.br/requisitos-de-sistema-do-ubuntu-linux/
Nebromonte, Emanuel. Requisitos de sistema do Ubuntu Linux
- Ansible
https://docs.ansible.com/ansible/latest/installation_guide/intro_install
ation.html#prerequisites
Ansible Prerequisites
- Apache 2.4.41
https://httpd.apache.org/docs/2.4/install.html#requirements
44
https://docs.vmware.com/en/VMware-vSphere/6.5/com.vmware.vsphere.upgrade.doc/GUID-DEB8086A-306B-4239-BF76-E354679202FC.html
https://docs.vmware.com/en/VMware-vSphere/6.5/com.vmware.vsphere.upgrade.doc/GUID-DEB8086A-306B-4239-BF76-E354679202FC.html
https://docs.vmware.com/en/VMware-vSphere/6.5/com.vmware.vsphere.upgrade.doc/GUID-DEB8086A-306B-4239-BF76-E354679202FC.html
https://tfmoucmj3cm5fdnxkonbpwc2la--docs-vmware-com.translate.goog/en/VMware-vSphere/6.0/com.vmware.vsphere.install.doc/GUID-88571D8A-46E1-464D-A349-4DC43DCAF320.html
https://tfmoucmj3cm5fdnxkonbpwc2la--docs-vmware-com.translate.goog/en/VMware-vSphere/6.0/com.vmware.vsphere.install.doc/GUID-88571D8A-46E1-464D-A349-4DC43DCAF320.html
https://tfmoucmj3cm5fdnxkonbpwc2la--docs-vmware-com.translate.goog/en/VMware-vSphere/6.0/com.vmware.vsphere.install.doc/GUID-88571D8A-46E1-464D-A349-4DC43DCAF320.html
https://www.freenas.org/hardware-requirements/
https://sempreupdate.com.br/requisitos-de-sistema-do-ubuntu-linux/
https://docs.ansible.com/ansible/latest/installation_guide/intro_installation.html#prerequisites
https://docs.ansible.com/ansible/latest/installation_guide/intro_installation.html#prerequisites
https://httpd.apache.org/docs/2.4/install.html#requirements
- Wordpress 5.6.2
https://wordpress.org/about/requirements/
Instalação
- ESXI 6
https://rodrigolira.eti.br/instalacao-do-vmware-esxi-6-5/
LIRA, Rodrigo. Instalação do VMware ESXi 6.5. 2016
- FreeNas
https://pplware.sapo.pt/linux/aprenda-a-instalar-e-configurar-o-freen
as-parte-i/
- Ubuntu 20.10
https://www.youtube.com/watch?v=7M9E02CEon8
Ubuntu 20.10 Full Installation Walkthrough
- PHP versão 7.4.3
https://computingforgeeks.com/how-to-install-php-7-3-on-ubunt
u-18-04-ubuntu-16-04-debian/
- VCenter 6
https://tfmoucmj3cm5fdnxkonbpwc2la--docs-vmware-com.translate.
goog/en/VMware-vSphere/6.0/com.vmware.vsphere.install.doc/GUID-
88571D8A-46E1-464D-A349-4DC43DCAF320.html
Site VMWare. Requisitos de hardware do vCenter Server
Appliance
- Ansible
https://docs.ansible.com/ansible/latest/installation_guide/intro_install
ation.html#installing-ansible-on-ubuntu
Installing Ansible on Ubuntu
- Apache 2.4.41
https://httpd.apache.org/docs/2.4/install.html
45
https://wordpress.org/about/requirements/https://rodrigolira.eti.br/instalacao-do-vmware-esxi-6-5/
https://pplware.sapo.pt/linux/aprenda-a-instalar-e-configurar-o-freenas-parte-i/
https://pplware.sapo.pt/linux/aprenda-a-instalar-e-configurar-o-freenas-parte-i/
https://www.youtube.com/watch?v=7M9E02CEon8
https://computingforgeeks.com/how-to-install-php-7-3-on-ubuntu-18-04-ubuntu-16-04-debian/
https://computingforgeeks.com/how-to-install-php-7-3-on-ubuntu-18-04-ubuntu-16-04-debian/
https://tfmoucmj3cm5fdnxkonbpwc2la--docs-vmware-com.translate.goog/en/VMware-vSphere/6.0/com.vmware.vsphere.install.doc/GUID-88571D8A-46E1-464D-A349-4DC43DCAF320.html
https://tfmoucmj3cm5fdnxkonbpwc2la--docs-vmware-com.translate.goog/en/VMware-vSphere/6.0/com.vmware.vsphere.install.doc/GUID-88571D8A-46E1-464D-A349-4DC43DCAF320.html
https://tfmoucmj3cm5fdnxkonbpwc2la--docs-vmware-com.translate.goog/en/VMware-vSphere/6.0/com.vmware.vsphere.install.doc/GUID-88571D8A-46E1-464D-A349-4DC43DCAF320.html
https://docs.ansible.com/ansible/latest/installation_guide/intro_installation.html#installing-ansible-on-ubuntu
https://docs.ansible.com/ansible/latest/installation_guide/intro_installation.html#installing-ansible-on-ubuntu
https://httpd.apache.org/docs/2.4/install.html
- Wordpress 5.6.2
https://www.youtube.com/watch?v=uAnk3gr-_xw
How to Install Wordpress 5.6 on Ubuntu 20.04
- MySQL 8
https://dev.mysql.com/doc/refman/8.0/en/installing.html
Hardware
- Dell PowerEdge R430 Owner's Manual
https://www.dell.com/support/manuals/pt-br/poweredge-r430/r430ow
nersmanual/dell-poweredge-r430-system-overview
- Dell PowerEdge NAS Server
https://www.amazon.com/Dell-PowerEdge-Storage-Certfied-Refurbis
hed/dp/B07MVMGLLX
Containers vs. virtual machines
https://docs.microsoft.com/en-us/virtualization/windowscontainers/about/con
tainers-vs-vm
Fault Tolerance
- Requisitos
https://docs.vmware.com/en/VMware-vSphere/6.5/vsphere-esxi-vcente
r-server-652-availability-guide.pdf#_OPENTOPIC_TOC_PROCESSING_
d114e10651
- Providing Fault Tolerance for Virtual Machines
https://docs.vmware.com/en/VMware-vSphere/6.5/vsphere-esxi-vcenter-ser
ver-652-availability-guide.pdf#unique_52
Hidden Service
- How to set up a hidden Tor service or .onion website
https://www.comparitech.com/blog/vpn-privacy/how-to-set-up-a-tor-hidden-service/
46
https://www.youtube.com/watch?v=uAnk3gr-_xw
https://dev.mysql.com/doc/refman/8.0/en/installing.html
https://www.dell.com/support/manuals/pt-br/poweredge-r430/r430ownersmanual/dell-poweredge-r430-system-overview
https://www.dell.com/support/manuals/pt-br/poweredge-r430/r430ownersmanual/dell-poweredge-r430-system-overview
https://www.amazon.com/Dell-PowerEdge-Storage-Certfied-Refurbished/dp/B07MVMGLLX
https://www.amazon.com/Dell-PowerEdge-Storage-Certfied-Refurbished/dp/B07MVMGLLX
https://docs.microsoft.com/en-us/virtualization/windowscontainers/about/containers-vs-vm
https://docs.microsoft.com/en-us/virtualization/windowscontainers/about/containers-vs-vm
https://docs.vmware.com/en/VMware-vSphere/6.5/vsphere-esxi-vcenter-server-652-availability-guide.pdf#_OPENTOPIC_TOC_PROCESSING_d114e10651
https://docs.vmware.com/en/VMware-vSphere/6.5/vsphere-esxi-vcenter-server-652-availability-guide.pdf#_OPENTOPIC_TOC_PROCESSING_d114e10651
https://docs.vmware.com/en/VMware-vSphere/6.5/vsphere-esxi-vcenter-server-652-availability-guide.pdf#_OPENTOPIC_TOC_PROCESSING_d114e10651
https://docs.vmware.com/en/VMware-vSphere/6.5/vsphere-esxi-vcenter-server-652-availability-guide.pdf#unique_52
https://docs.vmware.com/en/VMware-vSphere/6.5/vsphere-esxi-vcenter-server-652-availability-guide.pdf#unique_52
https://www.comparitech.com/blog/vpn-privacy/how-to-set-up-a-tor-hidden-service/

Outros materiais