DEV.MD

Tag: ssh

Prevenim “Brute Force”

by on Sep.20, 2011, under Security

Ce e Brute Force și cum de luptat cu el?

În cuvinte simple și pe înțelesul tuturor – să presupunem că întâlniți o persoană și nu-i cunoașteți numele, iar ea refuză să vi-l spună, lăsându-vă însă să i-l ghiciți. Veți pierde o grămadă de timp parcurgând întreaga listă de nume existente. Logic este de a începe cu nume des întâlnite, asftfel, mărind șansa de al ghici mult mai repede. Însă, dacă este un nume mult mai mult decât rar – șansele tind spre zero. Așa ar derula procesul:

- Ion?
- Nu
- Vasile?
- Nu

-Nu

Și așa poate dura pânâ la infinit…

Respectiv, persoana e tupeistă și nu-și divulgă numele, tu ești insistent și tot încerci. Iar de ai noroc și-i ghicești numele – obții cam tot ce-ți dorești de la acea persoană.

Acum, o modalitate de a lupta cu brute force, adica, ghicitul parolelor, este de ai acorda câteva șanse de a ghici numele (în eventualitatea că persoanele se cunosc, însă pe moment are o scăpare în memorie). Să-i spunem că ai 3 tentative, în mod normal, vei spune numele din prima iar în cauza unui răufăcător – i se va spune “la revedere” după a 3-a tentativă eșuată (cu excepția cazurilor când e vorba de Ion).

Acum, cum arată soluția din punct de vedere tehnic. Deja, fără epitete, vorbim direct de ssh. Deseori văd prin log-uri mesaje de genul:

Sep 19 09:36:49 mx sshd[67988]: Bad protocol version identification '\026\003\003' from 216.129.118.139
...
Sep 19 18:22:51 mx sshd[99137]: Invalid user admin from 222.45.235.77
Sep 19 18:22:55 mx sshd[99147]: Invalid user admin from 222.45.235.77
Sep 19 18:22:59 mx sshd[99149]: Invalid user test from 222.45.235.77
Sep 19 18:23:02 mx sshd[99151]: Invalid user test from 222.45.235.77
Sep 19 18:23:06 mx sshd[99163]: Invalid user user from 222.45.235.77
...
Sep 19 18:45:11 mx sshd[1269]: Invalid user jackson from 222.45.235.77
Sep 19 18:45:14 mx sshd[1280]: Invalid user justin from 222.45.235.77
Sep 19 18:45:18 mx sshd[1285]: Invalid user brandon from 222.45.235.77
Sep 19 18:45:21 mx sshd[1287]: Invalid user john from 222.45.235.77

Este clar că, nenica de pe IP-ul 222.45.235.77 î-mi încearcă sistemul, încercând diferite nume (frecvent întâlnite) și parole, presupun că-s de genul 123, sau admin, etc.

Atacul durează, în cazul dat 20min și cu o frecvență de ~3sec

Așa cum, nu pot sta mereu cu nasul în log-uri, am pus o aplicație ce face treaba murdară pentru mine și se numește Sshguard (http://www.sshguard.net/)

Pe FreeBSD se pune și pornește foarte simplu

# cd /usr/ports/security/sshguard-ipfw/
# make install clean
# vi /etc/syslog.conf

Decomentăm linia

auth.info;authpriv.info     |exec /usr/local/sbin/sshguard

Restartăm syslog

# /etc/rc.d/syslogd reload

Am făcut un test de pe o altă locație (pentru a nu-mi tăia creanga pe care stau) – câteva tentative eșuate prin introducerea greșită a parolei. Iată ce am prins în log:

Sep 20 14:00:56 mx sshd[72753]: error: PAM: authentication error for sz from 89.28.59.169
Sep 20 14:00:57 mx last message repeated 2 times
Sep 20 14:00:59 mx sshd[72758]: error: PAM: authentication error for sz from 89.28.59.169
Sep 20 14:01:00 mx last message repeated 2 times
Sep 20 14:01:03 mx sshd[72777]: error: PAM: authentication error for sz from 89.28.59.169
Sep 20 14:01:04 mx last message repeated 2 times
Sep 20 14:03:41 mx sshd[72944]: error: PAM: authentication error for sz from 89.28.59.169
Sep 20 14:03:41 mx sshguard[72728]: Blocking 89.28.59.169:4 for >420secs: 4 failures over 165 seconds.

Respectiv, iată și înregistrarea în ipfw:

55029        37         4084 deny ip from 89.28.59.169 to me
Leave a Comment :, , more...

Looking for something?

Use the form below to search the site:

Still not finding what you're looking for? Drop a comment on a post or contact us so we can take care of it!

Visit our friends!

A few highly recommended friends...