Skip to content

raphaelamonteiro/kitsune-network-infrastructure

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

34 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

📋 Introdução

O Kitsune Network Infrastructure é um projeto acadêmico que demonstra a implantação de uma infraestrutura web segura, escalável e distribuída na AWS.

A arquitetura utiliza duas instâncias EC2 interligadas por uma VPN WireGuard, com HAProxy atuando como balanceador de carga e proxy reverso, além do uso do Nginx como servidor web. A aplicação é executada em contêineres Docker, utilizando PostgreSQL para persistência de dados.

O projeto foi desenvolvido com foco em conceitos de infraestrutura moderna, segurança de redes, alta disponibilidade e implantação de aplicações web em ambientes cloud.

Os principais conceitos e componentes implementados incluem:

  • Configuração de instâncias AWS EC2.
  • Implementação de uma VPN segura para comunicação em rede privada.
  • Configuração do HAProxy como balanceador de carga e proxy reverso.
  • Configuração do Nginx para aplicação web.
  • Containerização e orquestração dos serviços utilizando Docker e Docker Compose.
  • Persistência de dados utilizando PostgreSQL em contêineres Docker.
  • Implementação de políticas CORS para comunicação segura entre origens.

📑 Escopo

Este projeto aborda a configuração de uma infraestrutura web segura e escalável na AWS, incluindo os seguintes tópicos:

1. Provisionamento da Instância EC2

Criação e configuração de instâncias EC2 para hospedagem da aplicação.

2. Configuração de VPN com WireGuard

Implementação de uma VPN segura utilizando WireGuard para acesso remoto à infraestrutura.

3. Configuração do Nginx e HAProxy

Instalação e configuração do Nginx como servidor web. Implementação do HAProxy para distribuição de carga (Load Balancing) e proxy reverso.

4. Containerização com Docker e Docker Compose

Criação, gerenciamento e orquestração dos serviços da aplicação utilizando contêineres Docker.

5. Balanceamento de Carga

Aplicação da estratégia Round Robin através do HAProxy para distribuição de requisições entre os serviços.

6. Políticas de Segurança CORS

Exemplos práticos de configuração de políticas CORS para controle seguro de acesso entre diferentes origens.

🚩 Objetivos

  • Provisionar uma infraestrutura na AWS utilizando EC2.
  • Garantir acesso seguro através de VPN WireGuard.
  • Configurar servidores web utilizando Nginx.
  • Distribuir tráfego e aumentar disponibilidade com HAProxy.
  • Aplicar boas práticas de segurança com políticas CORS.

⚙️ Tecnologias

AWS Ubuntu Linux Docker Nginx HAProxy Wireguard PHP React TypeScript Vite Axios PostgreSQL Git

📦 Estrutura do Repositório

kitsune-network-infrastructure/
│
├── docs/
│   ├── screenshots/              # Capturas de tela do projeto
│   ├── concepts.md               # Documentação com aprendizados e conceitos do sistema
│   └── diagrama-redes.jpeg       # Diagrama visual da infraestrutura de rede
│
├── kitsune-backend/
│   ├── .env.example              # Exemplo de variáveis de ambiente
│   ├── api.php                   # Configuração e entrada da API
│   └── auth.php                  # Lógica de autenticação
│
├── kitsune-frontend/
│   ├── public/                   # Arquivos estáticos servidos diretamente
│   ├── src/                      # Código-fonte principal da aplicação (components, pages, services)
│   ├── .env.example              # Modelo de variáveis de ambiente
│   ├── vite.config.ts            # Configuração do Vite
│   ├── tsconfig.json             # Configuração principal do TypeScript
│   ├── tsconfig.app.json         # Configuração do TypeScript (aplicação)
│   ├── tsconfig.node.json        # Configuração do TypeScript (Node)
│   ├── vite-env.d.ts             # Tipagens globais do Vite
│   ├── package.json              # Dependências e scripts do projeto
│   ├── package-lock.json         # Lockfile de dependências
│   ├── index.html                # Entry point da aplicação
│   └── README.md                 # Documentação do frontend
│
├── scripts/
│   ├── init.sql                  # Exemplo de script SQL para criar o banco automaticamente
│   └── demo.sh                   # Script de automação e diagnóstico do sistema
│
├── docker-compose.yml            # Define serviços, volumes e redes Docker
├── haproxy.cfg                   # Configuração do balanceador de carga HAProxy
├── .gitignore                    # Arquivos ignorados pelo Git
└── README.md                     # Documentação principal do projeto

📖 Referências

🧱 Arquitetura

🎞️ Demonstração

kitsune-demo.mp4

⚠️ Pode haver um pequeno delay no redirecionamento, isso é um detalhe de timing do React que não afeta a segurança ou a funcionalidade da infraestrutura.

🧡 Créditos

💻 Desenvolvido por Raphaela Monteiro como projeto acadêmico de Infraestrutura de Redes, sob orientação do professor Jean Carlos.

About

Projeto de infraestrutura que simula um ambiente de rede seguro e escalável, utilizando AWS EC2, VPN, SSH, HAProxy (load balancing e proxy reverso), Nginx e Docker em uma arquitetura distribuída.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors