Clarintux: Un Tux e' per sempre!

Benvenuti nel blog di Clarintux!

Configurazione del mio server (parte 1)

Basato su Debian e Raspberry Pi Zero W, 7 Maggio, 2023

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

Post popolari

  • Image Linux
    Sistema operativo
  • Image Ipsum
    Praes tinci sed
  • Image Dorum
    Ultricies congue
  • Image Mingsum
    Lorem ipsum dipsum

Tags

Linux GNU Server Internet NORWAY DIY YouTube Sistema operativo Bla News Clothing Bla Bla Games