Domeka
09.09.2010., 14:51:42 *
Welcome, Guest. Please login or register.
Did you miss your activation email?

Login with username, password and session length
 
   Home   Help Search GoogleTagged Contact Login Register  
Pages: [1]   Go Down
  Print  
Author Topic: Fail2ban - konfiguracija i uporaba - I. dio  (Read 739 times)
0 Members and 1 Guest are viewing this topic.
The MasteR
Administrator
Full Member
*****

Karma: +20/-0
Offline Offline

Gender: Male
Posts: 168



View Profile WWW
« on: 25.03.2009., 11:08:43 »

Riječ je o jednostavnom i efikasnom sustavu zaštite koji prati logove i na određene učestale pojave blokira napadača.

Ovo čini uporabom iptables pravila, te tako blokira sve IP adrese s kojih dolaze napadi. Napadi najčešće dolaze od strane slabo upućenih korisnika, koji pokreću skripte i programe koje pronađu na Internetu (takozvani script-kiddies). Uspješnost provala preko ovih skripti je izuzetno niska, ali resurse utrošeni na ove napade, kao i mogućnost upada na sustav ne treba zanemariti.

Iako postoje drugi sustavi zaštite zasnovani na ovom principu, fail2ban je jedan od najjednostavnijih. On štiti odmah nakon instalacije, i ne traži više nikakvo konfiguriranje. Automatski štiti od SSH napada, iako je moguće zaštititi i druge servise bazirane na PAM-u.

Odmah ćemo se osvrnuti na mane fail2ban pristupa. Fail2ban je često kritiziran kao nepotreban servis, jer troši sistemske resurse (doduše, jako male) iako se ista stvar može postići s recent mehanizmom ugrađenim preko modula ipt_recent u iptables.

Najopasnije što se može dogoditi s fail2ban pristupom je da bilo tko na sustavu može uspješno zaustaviti rad bilo kojeg servisa krivotvorenjem unosa u logovima. Zapisati nesto u logove mogu i programski jezici, primjerice PHP, pa stoga treba pripaziti na to tko može pisati u logove. možda bi bilo dobro zaštititi /dev/log device tako da se promijeni grupa, a sve servise potom upišemo u tu grupu.

Da ti napadi nisu rijetkost, pokazat će sljedeća naredba, odnosno niz naredbi:

Code:
zcat /var/log/auth.log*gz | grep 'Failed password' | grep sshd | \
      awk '{print $1,$2}' | sort | uniq -c | sort -n -k 3

Nakon instalacije, sustav automatski postaje aktivan i podrazumijevano  je sustav zaštićen od SSH brute force napada. Pogledajmo te podrazumijevane vrijednosti, i lokacije konfiguracijskih datoteka.

Glavna konfiguracijska datoteka je /etc/fail2ban/fail2ban.conf. Ostale konfiguracijske datoteke se, kako je to već uobičajeno na Debianu, nalaze u conf.d direktorijima action.d, filter.d, te u dodatnoj konfiguracijskoj datoteci jail.conf. Ove konfiguracijske datoteke održavaju interni način rada fail2ban-a:

filter - određuje što će izazvati "okidanje" akcije, uporabom regularnih izraza
action - određuje jednu ili više odgovora na "okidanje"
jail - skupina filtera i jedne ili više akcija

Navest ćemo primjer za SSH. U datoteci jail.conf se nalazi unos:

Code:
[ssh]
enabled = true
port    = ssh
filter  = sshd
logpath  = /var/log/auth.log
maxretry = 6

U datoteci action.d-sshd.conf možemo naići na unose poput ovoga:

Code:
[INCLUDES]
before = common.conf

Code:
[Definition]
_daemon = sshd

failregex = ^%(__prefix_line)s(?:error: PAM: )?Authentication failure for .* from <HOST>\s*$
            ^%(__prefix_line)srefused connect from \S+ \(<HOST>\)\s*$
            ^%(__prefix_line)sAddress <HOST> .* POSSIBLE BREAK-IN ATTEMPT\s*$
ignoreregex =

I na kraju, u datotekama akcija (podsjetimo se, može ih biti više za jedan jail) možemo naći iptables pravila. Primjerice:

Code:
[Definition]
actionstart = iptables -N fail2ban-<name>
              iptables -A fail2ban-<name> -j RETURN
              iptables -I INPUT -p <protocol> --dport <port> -j fail2ban-<name>

actionstop = iptables -D INPUT -p <protocol> --dport <port> -j fail2ban-<name>
             iptables -F fail2ban-<name>
             iptables -X fail2ban-<name>

actioncheck = iptables -n -L INPUT | grep -q fail2ban-<name>

actionban = iptables -I fail2ban-<name> 1 -s <ip> -j DROP

actionunban = iptables -D fail2ban-<name> -s <ip> -j DROP

Code:
[Init]
name = default
port = ssh
protocol = tcp

Iptables pravilima se neće u ovom postu baviti, samo ćemo reći da fail2ban prilikom starta pokreće akciju "actionstart", prilikom gašenja "actionstop", a i ostalim akcijama samo ime govore prilikom čega se pokreću.
Logged

Bavim se mreznom implementacijom - sistemac - Linux, CCNA, CCNP
Hrvoje Kusulja
Administrator
Full Member
*****

Karma: +2/-0
Offline Offline

Gender: Male
Posts: 107



View Profile WWW
« Reply #1 on: 25.03.2009., 11:31:46 »

to je sve uredu, medjutim moje osobno misljenje je da se dobar dio toga obavi na samom routeru (gateway), i da sto manje toga dodje do stroja opcenito..
 - na taj nacin za vise servera radimo zastitu na jednom mjestu, bolje je pracenje
 - svaki pojedini server se nemora zamarati s iptablesima i ostalim zasttiama tog nivoa..

ali router treba biti malo jaci i pametniji da bi to znao napraviti...

sve u svemu ako imamo jedan, dva servera, ovo je cist ok rjesenje Tongue
Logged

The MasteR
Administrator
Full Member
*****

Karma: +20/-0
Offline Offline

Gender: Male
Posts: 168



View Profile WWW
« Reply #2 on: 25.03.2009., 11:44:01 »

Nazalost ta tvoja ideja je super za za manje mreze, ali kod nas u CARNetu je to malo teze trpat kroz jedan firewall pogotovo oko 100 servera i mreze i svega toga, no ovo je super staviti na svaki stroj pojedinacno zato sto ti firewall nemoze provjeravati autorizaciju preko SSHa nego samo server na koji se kacis.
Logged

Bavim se mreznom implementacijom - sistemac - Linux, CCNA, CCNP
Hrvoje Kusulja
Administrator
Full Member
*****

Karma: +2/-0
Offline Offline

Gender: Male
Posts: 107



View Profile WWW
« Reply #3 on: 25.03.2009., 12:09:08 »

a dobro da, sve ima svoje prednosti i mane Tongue
Logged

t-cat
Newbie
*

Karma: +0/-0
Offline Offline

Posts: 25


View Profile
« Reply #4 on: 10.05.2009., 14:13:02 »

A protiv čega sve taj sustav ima zaštitu? OK, SSH je česta prijetnja, ali što još može spriječiti?
Logged
The MasteR
Administrator
Full Member
*****

Karma: +20/-0
Offline Offline

Gender: Male
Posts: 168



View Profile WWW
« Reply #5 on: 10.05.2009., 15:29:13 »

To je cisti alat za zastiti ud brute forc napada. Koliko sam uspio pronaci na netu i u manualima podrzava sve standardne servise koji se najvise koriste.

A to su: LDAP, SSH, HTTP, HTTPS, IMAP, IMAPS, DNS, POP3, POP3S, SAMBA i ..... ima jos toga no nisam uspio naci puni popis
Logged

Bavim se mreznom implementacijom - sistemac - Linux, CCNA, CCNP
t-cat
Newbie
*

Karma: +0/-0
Offline Offline

Posts: 25


View Profile
« Reply #6 on: 14.05.2009., 07:25:00 »

A za to. A fino Smiley
Logged
The MasteR
Administrator
Full Member
*****

Karma: +20/-0
Offline Offline

Gender: Male
Posts: 168



View Profile WWW
« Reply #7 on: 18.05.2009., 09:41:30 »

A za to. A fino Smiley

Alat radi na principu da da kreira rulove u IPtalesu i primjenjuje ih. Po pravilima radi filtriranje.
Logged

Bavim se mreznom implementacijom - sistemac - Linux, CCNA, CCNP
t-cat
Newbie
*

Karma: +0/-0
Offline Offline

Posts: 25


View Profile
« Reply #8 on: 20.05.2009., 08:19:54 »

Pa skužio sam da dodaje ruleove u firewall Smiley
Logged
Pages: [1]   Go Up
  Print  
GoogleTagged: fail2ban

 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.8 | SMF © 2006-2008, Simple Machines LLC | Sitemap Valid XHTML 1.0! Valid CSS!
Page created in 0.064 seconds with 22 queries.

Google visited last this page 14.08.2010., 18:20:52