Il problema con la soluzione proposta è che non mi fido della lista nera IP di qualcun altro che non posso verificare in qualche modo in modo indipendente.
Supponiamo che esista un sistema in cui è possibile segnalare a un server di database comune che sta eseguendo script cercando di entrare in ssh con nomi utente / password comuni.
Gli amministratori di sistema inviano parti di log come /var/log/auth.log
:
Feb 4 09:15:04 quarkonia sshd[12414]: Invalid user webadmin from 129.2.145.XXX
Feb 4 09:15:04 quarkonia sshd[12414]: pam_unix(sshd:auth): check pass; user unknown
Feb 4 09:15:04 quarkonia sshd[12414]: pam_unix(sshd:auth): authentication failure; logname= uid=0 euid=0 tty=ssh ruser= rhost=XXX.student.umd.edu
Feb 4 09:15:07 quarkonia sshd[12414]: Failed password for invalid user webadmin from 129.2.145.XXX port 39505 ssh2
e quindi l'indirizzo IP 129.2.145.XXX viene aggiunto alla lista nera comune. Ma sarebbe piuttosto banale presentare registri falsi con gli indirizzi IP degli utenti che stai provando a fare; impedendo agli utenti legittimi di accedere utilizzando ssh ai server che si iscrivono a questa lista nera.
Questo è leggermente diverso rispetto a dire di fare report su whois
su 129.2.145.XXX
OrgAbuseHandle: UARA-ARIN
OrgAbuseName: UMD Abuse Role Account
OrgAbusePhone: +1-301-405-8787
OrgAbuseEmail: [email protected]
OrgAbuseRef: http://whois.arin.net/rest/poc/UARA-ARIN
per trovare il contatto di abuso e dire l'indirizzo IP 129.2.145.XXX sembra eseguire script che tentano di irrompere in macchine tramite ssh.
Un amministratore di sistema può quindi esaminare il problema, eventualmente (a) trovare un sistema compromesso sotto il controllo di un hacker remoto (e quindi rimuovere il malware, ad esempio reinstallare il sistema operativo), (b) un kiddie di script che non Non so cosa stanno facendo cercando di entrare in siti casuali (e minacciare azioni legali per fermare il bambino) o (c) nulla dopo una rapida investigazione e ignorare il falso allarme.
Ci sono blacklist dei blocchi di indirizzi IP assegnati ai paesi in cui questa roba è più dilagante (Cina, Russia, Nigeria , Europa orientale) e che potrebbe non aver bisogno di accedere al tuo server. Personalmente avrei corso whois su tutti loro per ricontrollare, se dovessi fare questo metodo; e assicurarsi che sia ok per il tuo server web / ssh per bloccare tutto il traffico proveniente da quei paesi; e non preoccuparti del raro evento di blocchi IP che vengono riassegnati a regione diversa .
Ma tendo solo a bloccare il numero di AllowedUser in ssh a uno, cambia la porta ssh (sì, security by obscurity) a qualcos'altro sotto 1023 (quindi solo root può controllare la porta), previeni la scansione delle porte con una psad
, attacchi automatizzati attenuati con fail2ban
e utilizzando una passphrase complicata (normalmente tramite la chiave ssh).