Ir para o conteúdo

Configurando nosso servidor na nuvem

Nesse passo a passo vamos dar os primeiros passos na configuração de um servidor na nuvem usando a empresa Digital Ocean e tem como objetivo:

  • Explicar o que é VPS
  • Explicar o que é SSH
  • Criando seu servidor na Digital Ocean
  • Criando Chave Pública
  • Configurando SSH para acesso sem chave
  • Alterando porta padrão para acesso
  • Permitir acesso via VPN

Referência: Esse material foi inspirado em uma apresentação que fiz para um antigo time em que eu participei e o link está disponivel: https://github.com/greenmind-sec/init-cloud/

Antes de começar

O que é

  • VPS (Virtual Private Server)

    DEFINIÇÂO VPS

  • SSH (Secure Shell)

    DEFINIÇÂO SSH

Criando Digital Ocean

  • Criando uma instância na Digital Ocean.

Com a nossa conta já criada, vamos clicar no botão que temos no topo.

Ou também podemos clicar ao lado esquerdo para realizar a criação da Droplets.

Criando Droplet

Inicialmente temos as seguintes opções:

  • Distribuições
  • Containers de distribuições
  • Marketplace
  • Backups
  • Imagem customizada

Vamos escolher distribuição e ir para a Ubuntu 20.04 (LTS) X64.

Escolhendo plano

Tome cuidado com o plano, pois inicialmente ele inicia com um valor alto.

Vamos usar uma droplet com os seguintes detalhes:

  • 4 GB
  • 2 CPU Intel
  • 80 GB NVMe SSD
  • 4 TB transferência

Essas configurações foram baseadas na documentação oficial que está disponivel no site do CERT.BR - Tutorial para a instalação de MISP em Sistemas Ubuntu

Agora vamos escolher a localização que será hospedado o servidor.

Criando senha

Também podemos configurar uma senha para o servidor e posteriormente realizar as configurações necessárias para a segurança.

Depois de adicionar uma senha vamos ter todos esses checks na cor verde.

Adicionando backup

É recomendado usar o backup usado pela digitalocean, e nos ajuda realizando toda semana o backup da imagem.

Isso tem o valor de 4.80 dolar por mês.

Adicionando nome ao host

Vamos inserir um nome que vamos usar em nosso servidor.

Finalizando

Podemos agora clicar em Create Droplet para finalizar a criação de nosso VPS.

Após clicar vamos ser redirecionados e ver um load.

Podemos agora acessar nosso site.

Criando chave pública e adicionando SSH Key

Vamos criar uma chave pública, com essa chave é usada para o login no servidor e assim não precisando adicionar senha.

Vamos adicionar mais tarde uma chave de forma manual.

Vamos criar uma chave

Em nossa máquina local que vamos usar para criar uma chave pública, vamos criar usando o seguinte comando.

ssh-keygen

Lembrando que quando geramos a chave, ela vai ser gerada no diretório atual.

Nesse caso eu gerei em um diretório meu que é o:

/home/greenmind/Documentos/MISP

Podemos ver a chave criada no diretório atual.

Adicionando chave

Vamos copiar a chave usando do diretório em que copiamos, nesse caso é o diretório.

Vamos até o diretório chamado.

cd /home/greenmind/Documentos/MISP

Agora vamos ver a nossa chave para adicionarmos no nosso servidor.

SSH

O que é

  • O que é o Secure Shell (SSH)

Instalação

  • Instalando no Linux

Veja como podemos instalar o openssh client

$ sudo apt-get install openssh-client

Primeiro Conexão

Já com o openssh-client instalado em nossa máquina, vamos pegar o endereço IP da máquina e realizar o teste.

Vamos imaginar que nosso IP é**134.122.126.167**.

Inicialmente vamos realizar a primeira conexão com root para realizar as configurações necessárias.

Vamos adicionar a senha criada anteriormente na criação do servidor na DigitalOcean e logar no servidor.

Criando um novo usuário

Vamos adicionar um novo usuário.

# adduser misp

Vamos criar nosso usuário para o sistema e assim evitar o uso do root.

Adicionando ao grupo sudo

Por motivos de segurança não é recomendado usar o root e assim podemos usar o sudo.

Vamos instalar o sudo.

# apt-get install sudo

Vamos adicionar ele ao grupo sudo

# adduser misp sudo

Não podemos esquecer de ver se o diretório ~/.ssh está criado, senão vamos criar usando o comando:

$ mkdir ~/.ssh

O ~/ é usado para se referenciar ao diretório /home/ do usuário usado, no caso do nosso usuário misp ficaria assim /home/misp/.

Adicionando Public Key

Vamos logar no usuário misp e realizar a configuração para adicionar a public-key.

Vamos até o arquivo authorized_keys.

$ nano /home/misp/.ssh/authorized_keys

Vamos copiar a chave pública de nossa máquina para a máquina VPS que está na cloud.

Liberando acesso via public-key

Será necessário abrir o arquivo usando um editor para realizar algumas modificações.

$ sudo nano /etc/ssh/sshd_config

Em seguida para que as configurações sejam efetuadas podemos realizar o restart do serviço.

$ sudo service ssh restart

Vamos deixar as configurações iguais à imagem acima.

Caso tenha dúvidas segue o passo a passo:

Vamos entrar no arquivo /etc/ssh/ssh_config e editar ele.

  • Retirando login senha
  • Inserindo login por chave pública

Podemos descomentar a linha PasswordAuthentication yes e mudar para no.

  • Retirando login root
  • Vamos alterar de PermitRootLogin yes para PermitRootLogin no.

  • Perigos de logando por senha

Logando por senha você pode ser hackeado ou até receber um ataque de brute.

Depois de realizar todas as configurações vamos realizar um restart no serviço

$ sudo service ssh restart

Logando no sistema

Podemos agora logar no sistema usando o usuário misp.

ssh [email protected] -i lab-misp