Domeka
06.02.2012., 10:22:04 *
Welcome, Guest. Please login or register.

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 - II. dio  (Read 523 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: 22.04.2009., 11:02:24 »

U prvom nastavku iz serije članaka o fail2ban sustavu zaštite uveli smo vas u osnovne postavke i način rada fail2ban sustava. U ovom nastavku ćemo malo više obratiti pažnju na ono što se zbiva “ispod haube”.

Fail2ban rabi standardni način rada, putem daemona i klijentskog programa. S daemon programom ne bismo trebali imati nikakav direktan kontakt, jer se sve poruke daemonu mogu navesti preko klijenta. Daemon, ipak, kod starta prima određene opcije, pa ćemo ih navesti.

Code:
  -b start in background
  -f start in foreground
  -s <FILE> socket path
  -x force execution of the server (remove socket file)
  -h, --help display this help message
  -V, --version print the version

Kao što se može vidjeti, opcije su iskoristive praktički samo kod debugiranja i testiranja, pa se nećemo na njima zadržavati, jer je opis samorazumljiv. S druge strane, klijent prima sljedeće naredbe:

Code:
  -c <DIR> configuration directory
  -s <FILE> socket path
  -d dump configuration. For debugging
  -i  interactive mode
  -v increase verbosity
  -q decrease verbosity
  -x force execution of the server (remove socket file)
  -h, --help display this help message
  -V, --version print the version

I ovdje možemo vidjeti da opcije prije svega služe za razna testiranja prije puštanja u produkciju. Najzanimljivije su opcije za smanjivanje i povećavanje razine zapisa u logovima (verbosity). Razina 1 je minimalna razina, a razina 4 se rabi samo u postupku eventualnog debugiranja.

No, najsnažnija karakteristika klijenta je direktna mogućnost konfiguriranja cijelog sustava, baš kao da smo rabili konfiguracijske datoteke. Naredbi je mnogo, pa ćemo opisati najkorisnije, a druge ćemo samo spomenuti. Za daljnje informacije pogledajte dokumentaciju na adresi Fail2Ban Manual.

Naredbe koje fail2ban-client podržava:

Code:
  start         pokreće se daemon i svi "zatvori" (jailovi)
  reload        ponovno se učitava konfiguracija
  reload <JAIL> ponovo se učitava samo zatvor pod imenom <JAIL>
  stop          zaustavlja se daemon i svi zatvori
  status        dobija se informacija o trenutnom stanju daemona
  ping          provjerava se je li daemon uopće pokrenut

Code:
  set loglevel <LEVEL> postavlja se razina informativnosti (verbosity) na razinu <LEVEL>.
  get loglevel ispisuje razinu informativnosti
  get/set …

Opcija iza get/set naredbi ima mnogo, primjerice addignoreip, addlogpath, addfailregex, findtime i tako dalje. No, vjerojatno je besmisleno na ovaj način učiti konfigurirati fail2ban, i držati se konfiguriranja preko standardnih konfiguracijskih datoteka. Ipak, neke naredbe bi bilo dobro znati, primjerice:

Code:
# fail2ban-client get loglevel
 Current logging level is INFO

Dakle, trenutna razina je INFO (razina 3). Ostale razine su: ERROR (1), WARN (2) i DEBUG (4).

Fail2ban ima i interaktivni način, pa ćemo ostale opcije demonstarirati na taj način. Ulazak u interaktivni način je pomoću opcije "-i".

Code:
# fail2ban-client -i

Fail2Ban v0.8.3 reads log file that contains password failure report
and bans the corresponding IP addresses using firewall rules.

Code:
fail2ban> get logtarget
Current logging target is:
`- /var/log/fail2ban.log

Dakle, ova naredba se isto mogla izvršiti i direktno iz naredbene linije, a  prikazuje u koju datoteku se zapisuju logovi.

Code:
fail2ban> ping
Server replied: pong

Slično kao i standardna naredba "ping" koja daje osnovnu informaciju je li mrežni uređaj aktivan, i ovdje ona samo daje potvrdu da je daemon "živ", bez dodatnih informacija.

Code:
fail2ban> status
Status
|- Number of jail: 2
`- Jail list: pam-generic, ssh

Naredba "status" bez dodatnih opcija daje samo popis trenutno aktivnih zatvora.

Code:
fail2ban> status ssh
Status for the jail: ssh
|- filter
| |- File list: /var/log/auth.log
| |- Currently failed: 8
| `- Total failed: 6143
`- action
    |- Currently banned: 0
    | `- IP list:
    `- Total banned: 17

Nešto izdašniji ispis daje naredba "status <JAIL>", gdje ćemo dobiti statističke podatke o tome koliko je adresa trenutno na "čekanju", te koliko ih je trenutno na crnoj listi. Adresa će na crnu listu doći kad prekorači zadane parametre.

Code:
fail2ban> stop ssh
Jail stopped

Sa naredbom "stop" možemo određene zatvore zaustaviti, bilo radi dodatne konfiguracije, bilo radi pogrešnog rada, (pre)opeterećenja sustava i slično.

Kad smo se upoznali s osnovama i načinom rada, dalje je prilično jednostavno. Nakon instalacije paketa, automatski miate zaštitu od SSH i PAM napada (a autentikaciju preko PAM-a rabi većina servisa, primjerice login). Neki za autentikaciju ne rabe PAM, primjerice Apache može rabiti direktno LDAP, ili vlastiti htpasswd mehanizam. U tom slučaju, sve što trebate učiniti je uključiti odgovrajući zatvor u jail.conf:

Code:
[apache]

enabled = false
port    = http,https
filter  = apache-auth
logpath = /var/log/apache*/*error.log
maxretry = 6

Za uključivanje je dovoljno promieniti prvi redak u:

Code:
enabled = true

Nakon toga samo treba napraviti reload:

Code:
# fail2ban-client reload

i provjeriti je li zatvor uključen:

Code:
# fail2ban-client status
Status
|- Number of jail:      3
`- Jail list:           apache, pam-generic, ssh

Od tog trenutka je aktivna i zaštita definirana s parametrom failregex unutar datoteke /etc/fail2ban/filter.d/apache-auth.conf.

Slična stvar je i sa drugim servisima, jedino kod mail servisa (kod nas je standardan Postfix), možda će trebati promijeniti putanju do logova:

Code:
[postfix]

enabled  = true
port     = smtp,ssmtp
filter   = postfix
logpath  = /var/log/mail.log

u

Code:
logpath  = /var/log/mail/mail.log

U sljedećem, zadnjem, nastavku, pokazat ćemo vam kako prilagoditi fail2ban svojim potrebama, te napraviti vlastite filtere i akcije, u slučaju da ne postoje odgovarajuće u postojećoj distribuciji.
Logged

Bavim se mreznom implementacijom - sistemac - Linux, CCNA, CCNP
Pages: [1]   Go Up
  Print  
GoogleTagged: naredba konfiguraciju

 
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.174 seconds with 22 queries.

Google visited last this page 04.02.2012., 05:27:24