Configurazione nuova VPS
Dopo tanti anni di "mi piacerebbe però (non ho tempo|non ho voglia|non mi serve)" ho deciso di farmi un VPS per fare esperimenti; per chi non fosse sul pezzo VPS sta Virtual Private Server, altrimenti detto "server a noleggio in cloud". E' come avere un server a casa, ma senza la casa intorno.
Ho scovato un prodotto molto interessante presso Contabo, provider tedesco che offre un prodotto base al costo di 4,99 euro al mese, come più o meno qualunque altro provider, ma con caratteristiche molto più interessanti della media:
- 4 core
- 8GB RAM
- 200GB storage su SSD
- Traffico illimitato
- Varie distro (ho scelto Ubuntu perchè l'ho già usata parecchio in passato)
Detto fatto ho fatto l'acquisto con Paypal (5 euro per il primo mese e 5 euro una tantum) e dopo un quarto d'ora mi è arrivata la mail con IP e credenziali root. Provo a collegarmi e, magia!, ho un server tutto mio pronto per giocare.
Per prima cosa, sono andato sul sito del provider presso il quale ho registrato secoli addietro il mio dominio "mariopiccinelli.it" e ho modificato il DNS per collegarlo all'IP della nuova macchina.
Dopodichè mi sono dedicato alle normali attività di inizializzazione di un server Linux personale. Per prima cosa mi sono collegato in ssh come root, da Windows Terminal:
ssh root@ip_server
Ho creato un utente normale e l'ho messo nel gruppo sudo:
# Creazione utente
adduser mario
# Inserimento in gruppo SUDO
usermod -aG sudo username
Poi sono tornato un attimo sulla macchina Windows di casa e ho creato una coppia di chiavi ssh per poter far login senza dover inserire la password ogni volta:
# Genera la coppia di chiavi, che verranno salvate nella cartella .ssh/ nella
# home dell'utente C:\Users\utente
ssh-keygen -t rsa -b 4096
# Copia la chiave pubblica sulla VPS, nel file delle chiavi accettate per
# l'utente "mario"
cat .\.ssh\id_rsa.pub | ssh mario@ip_server "mkdir -p .ssh && cat >> .ssh/authorized_keys"
Poi sono tornato sul server e ho installato UFW, il firewall semplificato di Ubuntu, giusto per bloccare le porte che non vorrò condividere con la rete esterna:
# Installa UFW
sudo apt-get install ufw
# Assicurati che sia inattivo fino al termine della configurazione
sudo ufw disable
# Blocca di default qualunque connessione in ingresso
sudo ufw default deny incoming
# Consenti connessioni in uscita. Poco restrittivo, ma per ora va bene così.
sudo ufw default allow outgoing
# Consenti ingresso per i servizi che mi interessano: ssh, http, https
sudo ufw allow 22/tcp
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp
# Attiva il firewall
sudo ufw enable
# Verifica status
sudo ufw status
E poi è arrivata l'ora di andare a dormire. Domani si prosegue con l'installazione di un proxy e di un sitarello statico di una pagina, giusto per vedere qualcosa.