Baixe o app para aproveitar ainda mais
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/
Compartilhar