CALOGERO SCARNÀ

La mia configurazione server

Architettura, servizi, hardening, monitoraggio e misure di sicurezza della mia infrastruttura server.

HARDENING · RASPBERRY PI 5 · LINUX

La mia configurazione server

Architettura e misure di sicurezza del server Raspberry Pi 5 che ospita servizi web e mail.

La configurazione segue un approccio multilivello contro brute-force, SQL injection, malware e minacce 0-day: firewall, WAF, IDS/IPS, autenticazione forte, controllo dell’integrità e monitoraggio.

Profilo tecnico

Hardware
Raspberry Pi 5 + storage NVMe

Sistema operativo
Debian / Raspberry Pi OS Hardened

Stack
Nginx + PHP-FPM, Nextcloud, Roundcube, WordPress, Postfix/Dovecot

Rapporto di riferimento
13 settembre 2025

ARCHITETTURA DI SISTEMA

Un server compatto, segmentato e monitorato

L’infrastruttura combina servizi web, cloud e posta con più livelli di difesa.

Hardware e storage

  • Raspberry Pi 5
  • Storage NVMe
  • Dischi di backup montati in sola lettura quando previsto

Servizi principali

  • Nginx + PHP-FPM
  • Nextcloud e Roundcube
  • WordPress
  • Postfix / Dovecot

Sicurezza multilivello

  • UFW + GeoIP
  • ModSecurity
  • Suricata IDS/IPS
  • Fail2ban e AppArmor

Backup

  • Backup settimanali
  • Timeshift
  • Supporti protetti da scritture non necessarie

MISURE DI SICUREZZA

Hardening applicato

Accesso SSH

  • Porta non standard: 318
  • Accesso root disabilitato
  • Accesso limitato a utenti specifici
  • Fail2ban contro brute-force SSH
Port 318
PermitRootLogin no
PasswordAuthentication yes
AllowUsers utentenome

Firewall UFW

  • Policy predefinita: deny
  • Aperte solo le porte necessarie
  • Rate limit per SSH e Nginx
  • GeoIP: Europa e USA
  • Aggiornamento giornaliero liste VPN e Tor
ufw default deny incoming
ufw allow 1024/tcp
ufw allow 80,443/tcp
ufw enable

Fail2ban

  • Jail: sshd, postfix, dovecot, Nextcloud, WordPress, Roundcube e nginx-*
  • Ban permanente con sblocco manuale
  • Notifiche Telegram per ban e unban
  • Report periodici ogni 4 ore
[nextcloud]
enabled = true
port = http,https
filter = nextcloud
bantime = -1
maxretry = 3

ModSecurity

  • OWASP CRS attivo in paranoia 2
  • Regole personalizzate per WordPress e Nextcloud
  • Integrazione con Fail2ban per ban automatici
SecRuleEngine On
SecRequestBodyAccess On
SecResponseBodyAccess Off
SecDefaultAction "phase:1,log,deny,status:403"

Suricata IDS/IPS

  • Modalità IDS con af-packet
  • Limite RAM: 512 MB
  • Feed Emerging Threats (et/open)
  • Alert Telegram con riepilogo periodico
af-packet:
  - interface: eth0
    cluster-id: 99
    cluster-type: cluster_flow
    defrag: yes

Kernel hardening

Parametri sysctl per ridurre superficie d’attacco e comportamenti di rete non necessari.

net.ipv6.conf.all.disable_ipv6 = 1
net.ipv4.conf.all.rp_filter = 1
net.ipv4.conf.all.accept_redirects = 0
net.ipv4.conf.default.accept_redirects = 0

AIDE · integrità file

  • Database aggiornato settimanalmente
  • Report email sui file modificati
  • Esecuzione automatizzata tramite cron

TESTING

Controlli di validazione

SSH

Test del login root: deve fallire.

Brute-force

Test su WordPress e Nextcloud: l’indirizzo deve essere bloccato da Fail2ban.

SQL injection

Test su WordPress: la richiesta deve essere intercettata da ModSecurity.

IDS

Test ICMP verso il Raspberry Pi: Suricata deve produrre un alert.

RISCHI RESIDUI

Valutazione e mitigazioni

Minacce 0-day

Mitigazione tramite WAF ModSecurity e rilevamento IDS Suricata.

DoS / DDoS

Mitigazione tramite rate limiting e restrizioni GeoIP.

Rischio interno

Ridotto tramite monitoraggio, ban persistenti e controlli operativi.

ESEMPI DI LOG

Monitoraggio operativo

Fail2ban

2025-09-13 10:44:39,580 fail2ban.actions [191336]: NOTICE [sshd] Ban 185.220.101.1

Suricata · fast.log

09/13/2025-10:50:11.123456 [**] [1:1000001:1] ICMP test alert [**]
[Classification: Generic ICMP event] [Priority: 3]
{ICMP} 1.2.3.4 -> 192.168.1.10

Questa pagina descrive la configurazione riportata nel Security Hardening Report del 13 settembre 2025.

INFRASTRUTTURA

Vuoi approfondire la configurazione o un progetto server?

Scrivimi: possiamo parlare di sviluppo, infrastrutture Linux, sicurezza, codice aperto e formazione.