1. Schimbați-vă sshd
portul de ascultare
Oricât de simplu pare, schimbarea portului din valoarea implicită 22
la o valoare personalizată (de ex. 2200
) pe un IP public ar putea reduce numărul de scanări de porturi de la mii pe zi la câteva zeci. Pentru un tutorial vezi Aici.
Acestea fiind spuse, deși acest lucru reduce supărarea de a fi scanat prin port, acesta NU oferi o securitate reală. „Securitatea prin obscuritate” este un mit și nimic mai mult.
2. Utilizați autentificarea cu cheia publică și dezactivați autentificarea prin parolă
Boții ar putea ghici corect o parolă, dar sunt nu o să ghicesc corect o cheie privată. Atâta timp cât folosiți algoritmi moderni și nu vă scurgeți cheia accidental. Pentru un tutorial vezi Aici.
Rețineți că acest lucru înseamnă că nu vă veți mai putea autentifica de la nicio mașină aleatorie, cu excepția cazului în care aveți cheia cu dvs. (pe care trebuie să o asigurați prin alt mod).
3. Utilizați fail2ban
Dacă eșuează de 5 ori, interziceți-le să încerce din nou pentru o zi sau ceva. Asta le va arăta. Foarte eficient împotriva încercărilor de forță brută. Pentru un tutorial vezi Aici.
Dezavantajul este că s-ar putea să te blochezi dacă într-o zi ai degetele tremurătoare (beat sau ceva de genul ăsta, nu știu).
4. Interziceți înainte o listă de IP-uri cunoscute pentru utilizare abuzivă
Surse ca Abuz de IPDB menține liste mari de IP-uri rău intenționate cunoscute, accesibile prin API. Veți avea nevoie de o cheie API pentru ao utiliza, dar puteți înregistra un cont gratuit destul de ușor. Trageți lista și folosiți ceva de genul iptables
pentru a interzice acele IP-uri cunoscute în vrac. Configurați o lucrare cron pentru a o automatiza periodic pentru cel mai bun efect. Iată un script foarte simplu pe care l-am scris (și folosesc personal) să fac exact asta. Simțiți-vă liber să-l folosiți ca referință, dar NU-L FOLOSIȚI ÎN PRODUCȚIE.
Din experiența mea personală, această metodă este la fel de eficientă (dacă nu mai mult) ca metoda #3.
Personal, folosesc toate cele 4 metode enumerate mai sus, iar VPS-ul meu ar putea primi una sau două încercări de autentificare rău intenționate în jurnalul meu de securitate, într-o lună proastă. Iată istoricul interceptărilor iptables
prin metoda #4:
$ abip-hist
Lanț abip-ban (1 referințe)
pkts bytes target prot opt in out source destination
362 14480 DROP toate -- * * 45.143.200.6 0.0.0.0/0
307 12280 DROP toate -- * * 185.156.73.104 0.0.0.0/0
288 12672 DROP toate -- * * 212.133.164.75 0.0.0.0/0
277 19911 DROP all -- * * 146.88.240.4 0.0.0.0/0
250 11000 DROP toate -- * * 212.133.164.14 0.0.0.0/0
230 9200 DROP toate -- * * 45.146.164.213 0.0.0.0/0
215 8600 DROP toate -- * * 185.156.73.67 0.0.0.0/0
214 8560 DROP toate -- * * 5.188.206.18 0.0.0.0/0
202 8080 DROP toate -- * * 193.27.228.63 0.0.0.0/0
201 8040 DROP toate -- * * 193.27.228.64 0.0.0.0/0
199 7960 DROP toate -- * * 193.27.228.59 0.0.0.0/0
197 7880 DROP toate -- * * 193.27.228.65 0.0.0.0/0
197 7880 DROP toate -- * * 193.27.228.61 0.0.0.0/0
196 7840 DROP toate -- * * 45.135.232.119 0.0.0.0/0
196 7840 DROP toate -- * * 193.27.228.60 0.0.0.0/0
196 7840 DROP toate -- * * 193.27.228.58 0.0.0.0/0
189 7560 DROP toate -- * * 45.146.165.149 0.0.0.0/0
184 7360 DROP toate -- * * 45.155.205.247 0.0.0.0/0
184 7360 DROP toate -- * * 195.54.160.228 0.0.0.0/0
182 7280 DROP toate -- * * 45.143.203.12 0.0.0.0/0
181 7240 DROP toate -- * * 45.141.84.57 0.0.0.0/0
180 7200 DROP toate -- * * 45.135.232.85 0.0.0.0/0
176 7040 DROP toate -- * * 45.146.165.148 0.0.0.0/0
...
asta continuă pentru 1700 de linii...
$ timp de funcționare
06:36:49 până la 16 zile, 15:24