Configuração inicial e essencial de segurança num servidor Ubuntu.

Com apenas $2.50 (aprox. 2.15€) é possível correr uma máquina virtual com qualquer distribuição Linux.

Se o processo de criação da máquina é fácil então o processo para proteger a mesma deverá de ser igual.

Assim sendo aqui fica uma possível configuração inicial da vossa máquina de forma a mante-la segura contra possíveis ataques.

Para este exemplo usamos uma máquina com Ubuntu 16.04 LTS

Configuração

Comecamos por alterar a palavra-passe do utilizador root para algo mais seguro, devem de utilizar um servico para gerar e guardar uma palavra-passe aleatória (1Password, keepass, etc)

passwd

Em seguida atualizamos o sistema

sudo apt update
sudo apt upgrade

Uma boa politica de seguranca passa por criar um novo utilizador, de forma a nao utilizar a propria conta root do sistema

useradd packagedoid
mkdir /home/packagedoid
mkdir /home/packagedoid/.ssh
chmod 700 /home/packagedoid/.ssh 

No passo a cima criamos o utilizador e 2 pastas, uma com o nome do utilizador e outra com o nome .ssh.

Esta ultima pasta irá ter as chaves de acesso, que permitem a autenticacao do utilizador sem recorrer a uma palavra-passe.

Para isso vamos criar um ficheiro e colar o conteudo da nossa public key

nano /home/packagedroid/.ssh/authorized_keys

e alteramos as permissões do ficheiro

chmod 400 /home/packagedroid/.ssh/authorized_keys
chown packagedroid:packagedroid /home/packagedroid -R

Agora adicionamos o utilizador criado ao grupo sudo 

visudo

e adicionamos a linha:

%sudo   ALL=(ALL:ALL) ALL

e corremos os seguintes comandos:

usermod -aG sudo packagedroid
exec su -l packagedroid

Com este passo finalizado vamos forcar o login por ssh keys editando o seguinte ficheiro:

nano /etc/ssh/sshd_config

e adicionamos as seguintes linhas, tendo em conta que devem de substituir o ip 1.1.1.1 pelo ip fixo que utilizam para aceder a máquina, caso nao se aplique ignorem a ultima linha

PermitRootLogin no
PasswordAuthentication no
AllowUsers [email protected]

Para aplicar as regras basta reiniciar o servico do ssh

service ssh restart

Firewall

Na configuração da firewall devem de seguir os passos descritos nesta publicação:

Configuração do UFW no Ubuntu e Debian para servidores web

As atualizações de segurança devem de ser instaladas assim que disponíveis, para isso vamos executar os seguintes passos:

apt-get install unattended-upgrades

e editamos o seguinte ficheiro:

nano /etc/apt/apt.conf.d/10periodic

com as seguintes alterações:

APT::Periodic::Update-Package-Lists "1";
APT::Periodic::Download-Upgradeable-Packages "1";
APT::Periodic::AutocleanInterval "7";
APT::Periodic::Unattended-Upgrade "1";

Outra aplicação indispensável num servidor é o fail2ban, para esta publicação a configuração inicial da aplicação é o suficiente

sudo apt install fail2ban

De forma a receber todas as notificações existentes nos logs vamos instalar o logwatch e enviar todo o relatório para o nosso email

sudo apt install logwatch

editamos o seguinte ficheiro:

nano /etc/cron.daily/00logwatch

e adicionamos a seguinte linha substituindo o email pelo vosso:

/usr/sbin/logwatch --output mail --mailto [email protected] --detail high

Tudo feito, a vossa máquina encontra se pronta a utilizar de forma segura 🙂

There are currently no comments.