Il lavoro del sysadmin è sottovalutato
Due giorni di log, migliaia di tentativi di accesso falliti, centinaia di IP in giro per il mondo. ed il server continua a fare finta di niente.
C’è questa leggenda urbana secondo cui “tanto il server mica lo guarda nessuno, una volta che va… va”. Spoiler: no. Non va. Lo facciamo andare noi, a forza di bestemmie in shell, log tailati alle tre di notte e firewall tenuti più tesi di una corda di violino.
Prendiamo solo due giorni di vita reale di un server qualsiasi esposto su Internet.
Non una banca, non la NASA, non i militari: un serverino sobrio, pulito, con qualche servizio onesto.
Due giorni di auth.log hanno raccontato questo:
- 9367 tentativi di accesso SSH falliti
- 3617 “Invalid user” (cioè, migliaia di utenti inventati a caso per vedere cosa esiste)
- Oltre 250 IP diversi che hanno provato a “bussare”
-
Username di ogni tipo: da
rootaadmin, daoracleapostgres, passando per router, IoT, NAS, miner e chissà cos’altro
Due giorni. Nemmeno il tempo di aggiornare il kernel che il mondo ti ha già fatto una simulazione di guerra globale sul porto 22.
Un sysadmin, un server ed un intero pianeta di bot annoiati
Immagina la scena.
Tu accendi il PC, ti fai il caffè, apri la tua bella ssh dal tuo IP legittimo, entri,
fai le tue manutenzioni con calma zen.
Nel frattempo, là fuori:
-
blocchi interi di IP tipo
193.46.255.0/24,80.94.93.0/24,2.57.121.0/24stanno tirando a sorte le password diroot, -
bot in roaming da mezzo mondo provano utenti tipo
admin,user,test,ubuntu,oracle,postgres,ec2-user,ubnt,Antminer,ftpuser,nagios,git,weblogic,tomcat… -
qualcuno ha addirittura wordlist di nomi propri:
reese,stefanie,antwan, e via così, come se stessero invitando ad una festa invece che cercare di bucarti il server.
Il mare di log che nessuno vede (tranne chi li deve leggere)
Un normale utente vede:
“Funziona il sito? Sì. Allora è tutto ok.”
Il sysadmin vede:
Failed password for root from 193.46.255.217 port 50844 ssh2a rafficaInvalid user oracle from 167.71.232.108 port 50412 ssh2Failed password for invalid user ubuntu from 165.232.191.223 port 33928 ssh2- centinaia di righe al minuto, ore di log rotolanti, rotation, compressione, analisi.
Ogni riga è un frammento di:
- un attacco automatizzato,
- uno scanner,
- un botnet scheduler da qualche parte nel mondo,
- un tizio che ha messo una VPS a 5 €/mese a fare “ricognizione globale”.
Tu leggi tutto questo mentre sai che là fuori c’è sempre qualcuno che, a cena, dirà:
“Ma sì, dai, tanto è solo un server Linux, è gratis, cosa vuoi che succeda? Mettilo in piedi e poi lo lasci andare…”
E poi c’è la parte buffa: guardi meglio gli IP e ti rendi conto che non ti sta attaccando “il vicino di casa che si annoia”, ma mezza geografia mondiale. Hai i blocchi di data center dell’Europa dell’Est che sembrano discoteche del venerdì sera, cloud americani che di giorno hostano app “innovative” e di notte tirano brute-force su qualunque cosa risponda al porto 22, VPS nord-europee con più personalità multipla di un hacker conference, fino ai classici backbone asiatici che spruzzano pacchetti come se non ci fossed un domani.
Vedi subnet romene che ti usano come test di penetrazione non richiesto, inglesi che ti salutano con l’aplomb di chi ha mille server e zero scrupoli, blocchi russi che provano password su root con la delicatezza di un ariete medievale, infrastrutture mediorientali che ti corteggiano a colpi di Invalid user, e certe reti cinesi che ti spiegano, in pratica, il significato reale di “traffico globale”. Tutti diversi, tutti lontani, tutti accomunati da un’unica nobile missione: riempirti i log di immondizia digitale.
Mentre l’utente medio dice “ma chi vuoi che ti attacchi, sei una piccola realtà”, tu hai davanti la cartina del mondo disegnata a colpi di Failed password. E lì non puoi fare altro che emanare maledizioni tecniche molto democratiche: che alle botnet d’oltreoceano si corrompa il file di configurazione, che alle VPS low-cost dell’Est Europa scada l’account per carta di credito respinta, che ai cloud “developer friendly” si azzeri improvvisamente la bandwidth gratuita proprio mentre spediscono l’ennesimo ondata di tentativi SSH. Niente odio per i popoli, sia chiaro: ce l’abbiamo solo con i frigoriferi connessi, le VPS da 5 euro e gli script kiddies che li pilotano.
Strumenti del mestiere: non è magia, è mestiere
Il sysadmin non è quello che “sa dove cliccare”, è quello che:
-
in
/etc/ssh/sshd_configha messo:PermitRootLogin noPasswordAuthentication no(o quasi)- magari ha cambiato anche la porta, non per sicurezza assoluta, ma per togliersi di torno il 90% dei bot da quattro soldi;
-
ha collegato fail2ban o CrowdSec ad
auth.logcon filtri seri:- 3–5 tentativi → ban ore,
- recidiva → ban lungo, quasi definitivo.
-
ha preparato una bella ipset od una tabella
nftablestipo:
oppure la versioneipset create ssh_badnets hash:net family inet ipset add ssh_badnets 193.46.255.0/24 ipset add ssh_badnets 80.94.93.0/24 ipset add ssh_badnets 2.57.121.0/24 ipset add ssh_badnets 45.140.17.0/24 # ... e tutta la collezione di /24 che hanno deciso di farci compagnia iptables -I INPUT -m set --match-set ssh_badnets src -p tcp --dport 22 -j DROPnft:tabled inet filter { set ssh_badnets { typed ipv4_addr flags interval elements = { 193.46.255.0/24, 80.94.93.0/24, 2.57.121.0/24, 45.140.17.0/24 # ... } } chain input { type filter hook input priority 0; tcp dport 22 ip saddr @ssh_badnets drop } }
Non è “setup una volta e poi basta”:
- devi monitorare chi banni,
- devi aggiornare,
-
devi evitare di farti fuori da solo
(chi non ha mai fatto
iptables -P INPUT DROPda remoto scagli la prima pietra…), - devi verificare che le policy non facciano a pugni con nuovi servizi, nuove VPN, nuove esigenze dei clienti.
E mentre fai questo, fuori c’è qualcuno che dice:
“Eh ma tanto è tutto automatico ormai, no? Ci sono i firewall, i sistemi intelligenti, il cloud…”
Sì, certo. ed io sono l’omino che tiene girate le manovelle dentro il cloud, grazie.
La Fatwa del porto 22
Ad un certo punto ti stufi, e scatta la fatwa tecnica.
Con la presente, questo server emette scomunica digitale verso:
– tutti i bot di193.46.255.0/24, condannati ad un’eternità diConnection timed out;
– gli script kiddies di80.94.93.0/24, marchiati con ilDROPsilenzioso e senza log, così non sanno neppure se li stiamo guardando;
– le VPS low-cost che vivono di brute-force SSH, costrette a tentare per sempre su honeypot e banner finti che raccontano di sistemi operativi inesistenti.
Ogni nuovo tentativo SSH non autorizzato verrà sacrificato in onore dei grafici RRD che nessuno guarda, ma che ci ricordano che noi ve le abbiamo viste, tutte, una per una.
Non è odio, è igiene digitale.
Tu non odi i germi, li disinfetti. E qui il disinfettante si chiama DROP.
“Un paio d’ore alla settimana” (la barzelletta che non fa ridere)
Ed eccoci alla figura mitologica: l’imprenditòr del ricco nordest (ma tranquillo, il clone esiste in tutta Italia), che cerca:
“Una persona che segua un po’ l’IT. Sai… server aziendale, posta, privacy, NIS2, gestione dei fornitori, contratti cloud, regolamento GDPR, sicurezza, backup, stampanti, cambio toner, mettere la carta in fotocopiatrice, fare due siti, un gestionale, assistere e formare i dipendenti, magari vedere ‘sta roba dell’intelligenza artificiale. Tanto è un paio d’ore alla settimana, eh!”
Due. Ore. Alla. Settimana.
Per seguire:
- un server esposto a migliaia di tentativi di intrusione ogni 48 ore,
- normative tipo GDPR, NIS2, privacy, compliance,
- infrastruttura interna, Wi-Fi, VPN, NAS, firewall,
- login dipendenti, provisioning, deprovisioning,
- backup (che andrebbero testati, non solo “fatti”),
- incident response quando qualcosa va male e “bisogna recuperare i dati” subito, perché “non possiamo fermarci”.
È come dire:
“Cerchiamo un cardiochirurgo, pilota di linea, elettricista, psicologo aziendale e giardiniere, ma per un paio d’ore alla settimana. Se è giovane, meglio, così ‘ha voglia di fare’.”
Il sysadmin / responsabile iT vero non è quello che ti cambia il toner (che se proprio vuoi te lo cambiamo, ma non è quello il punto). È quello che:
- legge
auth.log,syslog,kern.loge sa cosa sta cercando, - conosce la differenza fra un port scan ed un tentativo mirato,
- ragiona su policy, segmentazione, minimo privilegio,
-
parla la lingua di:
iptables,nftables,ipset,ssh,sudo,journald,fail2ban,CrowdSec,suricata,- backup incrementali, snapshot, RPO/RTO,
- ed intanto deve pure decifrare il legalese di certi contratti cloud.
E no, non è lavoro da “ragazzo per tutto” che “lo fa tra una stampa e l’altra”.
L’inferno è automatizzato. La sicurezza no.
I bot che ti martellano il server sono:
- automatizzati,
- infiniti,
- economici (per chi li gestisce),
- globali.
La difesa, invece, è:
- artigianato tecnico (ben fatto),
- fatta di esperienza, di pattern riconosciuti dopo aver visto tante reti, tanti incident,
- fatta di decisioni: cosa aprire, cosa chiudere, cosa loggare, quanto conservare, come reagire, cosa automatizzare e cosa no.
Il paradosso:
- il cliente vede zero incidenti → “Ma allora tutto questo casino di sicurezza è inutile, non succede mai niente!”
- quando invece succede qualcosa → “Perché non ci avete pensato prima? È il vostro lavoro!”
Sì. È il nostro lavoro. Ed è il motivo per cui il lavoro del sysadmin è sottovalutato: perché quando è fatto bene, non si vede. Si vedono solo le volte in cui qualcuno ti ha tolto il budget, non ha voluto pagare le ore, ha preso il cuggino del nipote “che smanetta con i computer”.
E alla fine, sì, il sysadmin dorme tranquillo (se lo paghi come si deve)
Dopo:
- avere filtrato mezzo pianeta,
- avere messo in riga SSH,
- avered impostato backup decenti,
- avere definito policy e ruoli,
- avere documentato il minimo indispensabile,
quel server, anche se bersagliato da migliaia di tentativi in 48 ore, se ne resta lì, tranquillo, a fare il suo mestiere.
Il sysadmin pure, ma solo se:
- non deve correre gratis dietro a ogni capriccio,
- non deve essere responsabile di tutto con zero potere decisionale,
- non deve farsi carico di ruoli che richiederebbero un team intero, venduti come “lavoretto secondario”.
Il messaggio finale è semplice:
Non stai pagando “uno che sa usare il computer”.
Stai pagando qualcuno che, mentre il mondo intero martella la tua porta 22, fa in modo che tu non te ne accorga nemmeno.
E sì, ogni tanto lancia anche una fatwa digitale contro qualche /24, giusto per il gusto di ricordare a botnet & co. che, finché c’è un sysadmin sveglio, gli umani vincono ancora.
www.esperti.com/cv/giovanni_grandesso.html
www.esperti.com
www.alboinformatici.com