Executando verificação de segurança...
1

Olá, muito obrigado pelas dicas!

Você parece entender bem sobre a S3, nesse caso, quais são os grupos de segurança que devem ser configurados tanto para o S3 quanto para as máquinas na AWS?

Carregando publicação patrocinada...
2

Olá, você precisaria configurar os acessos apenas pelas maquinas exemplo:

Criando EC2 AWS

  1. Após criar sua maquina EC2 crie uma chave para acesso ssh no seu servidor
  2. Você precisara criar um grupo de segurança e vincula-lo a maquina (eu geralmente coloco o nome de 'remote-access')
  3. Libere o acesso a porta 22 apenas e selecione na coluna source 'My IP'
  4. Lembre-se de criar um grupo de segurança default que permite acesso de qualquer pessoa pelas portas de acesso web tipo a 80 e 443 esse você pode definir como acesso publico

Isso irá fazer com que apenas o acesso a essa maquina possa ser feito da sua maquina com aquela chave ssh.

obs: Se precisa de mais performace crie uma AmazonLinux2, são um pouco mais chatas de configurar porem são melhores que as ubunto pois vem mais limpa.

Se precisar ter acesso a um banco de dados teria que autorizar seu IP na porta da base de dados tambem.

Configurando bases de dados

Caso precise configurar um RDS vincule tambem o grupo de segurança 'remote-access'. Porem irá ter que criar um grupo de acesso a base de dados tambem com o IP publico e privado das EC2 que irão ter acesso direto a base. Ai basta vincular esse outro grupo ao RDS tambem.

(Eu recomendo que configure o banco de dados direto em um ec2 caso saiba fazer, é melhor e mais barato. Tive que fazer isso recentemente porque o meu RDS deu uns bugs sabe Deus por que. E lembre-se sempre dos servidores de backup usando rsync em caso de dar algum pepino)

Criando S3

  1. Para criar o S3 é bem simples basta seguir o passo a passo e NÃO LIBERE O ACESSO PUBLICO
  2. Para fazer o acesso do S3 você deve criar uma conta IAM com as permissões predefinidas da aws apenas para S3.
  3. Use essa conta para acessar o S3 diretamente da aplicação

Configure as chaves no .env pelo amor de Deus não suba para o git kkkkkkkkkkkk

A partir dai é só usar a lib aws-sdk

Dica extra

Se a conta da aws for de um cliente crie uma sub-conta IAM com acesso total a conta da aws e não fale para ninguem. Se algo acontecer com a conta da AWS você consegue recupera-lá muito facil, porque as vezes o cliente pode tentar te sacanear. Então é bom previnir.

Porque configurar os grupos de segurança

Você provavelmente já entendeu mas em base é que os unicos acessos que irão circular pelas maquinas são aqueles que você permitir, ou seja isso vai dificultar bastante a vida de invasores, só é chato trocar o IP quando cai a conexão de internet.
E o melhor é que você irá servir os arquivos seguindo S3 -> aplicação -> cliente e não S3 -> cliente. Fazendo que os documentos fiquem mais seguros e não vazando os dados como algumas empresas fizeram tipo a Nubank kkkkk

1
1

Imagina você tambem me ajudou bastante a distrair a cabeça, se precisar de uma mentoria especifica para algum projeto até em questão de escalabilidade ou performace, você pode entrar em contato comigo
https://bkode.com.br

Mas tambem te respondo por aqui fica tranquilo, gosto de fazer isso porque da uma distraida do dia a dia e compartilhar conhecimento sempre é bom

1