Benvenuti nel blog di Clarintux!
PREMESSA 1: Procurarsi un dominio. Personalmente ho richiesto un dominio gratuito EU.ORG. In questo caso, registrare prima un account gratuito su un server DNS come Cloudflare, scegliere il dominio che poi verrà richiesto su https://nic.eu.org/ e prendere nota dei servername, infine fare richiesta del dominio con questi servername.
PREMESSA 2: Per un server email, assicurarsi che il proprio ISP provider accetti la richiesta di un indirizzo IP statico e di un record PTR per il proprio subdomain. Sebbene sia possibile fare in modo che un server sia sempre raggiungibile, nonostante l’indirizzo IP dinamico, non è comunque possibile una risoluzione DNS inversa (rDNS) del proprio indirizzo IP. Morale della favola: senza questi due requisiti le email finiranno nella cartella spam di qualunque Gmail, Yahoo eccetera.
PREMESSA 3: Assicurasi che il proprio ISP provider non blocchi (o che sblocchi) le porte che intendiamo utilizzare, che per un server email sono 25/tcp e 143/tcp.
Scegliere un dispositivo che consumi poco (nel mio caso un Raspberry Pi Zero W) e un sistema operativo (nel mio caso Debian per il Raspberry).
Alla prima accensione, con un monitor e una tastiera collegati, effettuare il login come root: è l’unico utente su questa Debian e senza alcuna password. Quindi scegliere immediatamente una password robusta per root:
# passwd
Scegliere un nome per la macchina:
# hostnamectl set-hostname mio-hostname
Configurare la connessione automatica alla rete Wi-Fi editando il file /etc/network/interfaces:
auto wlan0
allow-hotplug wlan0
iface wlan0 inet dhcp
wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf
iface default inet dhcp
Creare il file /etc/wpa_supplicant/wpa_supplicant.conf:
# wpa_passphrase "SSID" "PASSWORD" > /etc/wpa_supplicant/wpa_supplicant.conf
Editarlo come segue:
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1
network={
ssid="SSID"
scan_ssid=1
#psk="PASSWORD"
psk=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
proto=RSN
key_mgmt=WPA-PSK
pairwise=CCMP
}
Creare un utente:
# adduser USER
Aggiungerlo ai gruppi mail e sudo:
# gpasswd -a USER sudo
A questo punto, riavviando avremo connessione ad Internet. Loggarsi come utente. Diventare root tramite su (non abbiamo ancora installato sudo…). Aggiornare subito il sistema:
# apt update && apt upgrade
In caso di aggiornamenti al kernel riavviare di nuovo.
Installare pacchetti essenziali:
# apt install sudo ufw vim
Controllare che il firewall sia attivo:
# ufw status verbose
Se sudo funziona, volendo, possiamo anche disabilitare root:
sudo passwd --lock root
Prime configurazioni di /etc/ssh/sshd_config:
Port PORT
PermitRootLogin no
Aggiungere al firewall una regola per la porta appena scelta:
sudo ufw allow PORT/tcp
Abilitare ed avviare il servizio ssh:
sudo systemctl enable --now ssh
Possiamo anche scollegare monitor e tastiera e connetterci tramite ssh:
ssh -p PORT user@local_ip
Creiamo la directory .ssh nella nostra home:
mkdir ~/.ssh
Settiamo i corretti permessi:
chmod 700 ~/.ssh
Spostiamoci sulla directory:
cd ~/.ssh
Generiamo le chiavi pubblica e privata:
ssh-keygen -t rsa -b 4096 -f rpi_key
Copiare la chiave pubblica su authorized_keys:
cat rpi_key.pub >> authorized_keys
Copiare da un nostro PC la chiave privata:
scp -P PORT user@local_ip:/home/user/.ssh/rpi_key ~/.ssh/rpi_key
Avviare una connessione ssh tramite la chiave ottenuta:
ssh -p PORT -i ~/.ssh/rpi_key user@local_ip
Disabilitare la connessione tramite semplice password in /etc/ssh/sshd_config:
Port PORT
PermitRootLogin no
PasswordAuthentication no
Riavviare il servizio ssh:
sudo systemctl restart ssh
A questo punto possiamo pure aprire al mondo la connessione da remoto, aprendo la porta scelta sul router.
BACKUP:
rsync -aAXhHv / --exclude={"/dev/*","/proc/*","/sys/*","/tmp/*","/run/*","/mnt/*","/media/*","/lost+found","/swapfile"} /mnt
Linux GNU Server Internet NORWAY DIY YouTube Sistema operativo Bla News Clothing Bla Bla Games