Ajudar a detectar la presència d'intrusos amb Afick

L'Afick és una utilitat
ràpida que permet detectar la presencia d'intrusos i vetllar per la
integritat del sistema. Es distribueix amb GNU GPL (lliurement) i
funciona en moltes plataformes ja que està basat en perl i es
distribueix tant en codi font com en binaris executables.
El que fa es comprovar periòdicament què ha canviat i quan dins del teu
sistema. És senzill i per tant adeqüat per a nous usuaris que es
vulguin iniciar en els sistemes de detecció d'intrusos (IDS - Intrusion Detection Systems).

He trovat aquesta utilitat a través de l'article que en Rick Nicholas a fet a LinuxGazette. M'ha semblat molt
senzilla d'utilitzar i instal·lar i una curiositat que potser a algú li
pot interessar, de manera que l'he adaptat. En el aquest cas la
instal·lació la he fet sobre un Red Hat 9.0 (Shrike).

L'ha
fet l'Eric Gerbier. Els Sistemes de detecció d'intrusos poden
presentar-se en moltes variants. Alguns fan seguiment de l'activitat
per la xarxa i els seus ports, d'altres comproven el nombre de
identificacions de sessions inactives, etc. En aquest cas l'Afick
comprova els canvis en els arxius del sistema i proporciona un informe
de forma peròdica dels canvis que hi han hagut, aquesta manera queden
enregistrats els canvis que es van produint i es pot determinar quan
n'hi ha hagut un d'inesperat. Recordeu que el major grau de seguretat
l'aconseguirem al combinar diferents novells de seguretat de forma
complementària. Cap sistema té un 100% d'efectivitat, però potser si si
els combinem entre ells.

A banda de la seva utilitat com a verificador de quins canvis es produeixen en el nostre sistema d'arxius, també pot tenir la seva utilitat encara que sigui simplement per guardar constància de quan s'han fet canvis.

Instal·lació

Per a instal·lar l'Afick m'he baixat l'arxiu al que fa referència l'article de la pàgina:

http://prdownloads.sourceforge.net/afick

He fet servir doncs el afick-1.6-0.noarch.rpm. Quan hi he
anat n'he vist de posteriors (2.0), però en el moment de instal·lar-los
m'ha demanat unes referències del CPAN del perl a uns mòduls que no he
trovat disponibles, de manera que he fet servir la 1.6 com l'autor de
l'article (ell ho instal·lava en un Fedora 1).

En la pàgina on us podeu baixar l'Afick,s'hi troven tant les .rpm
per al mandrake/Red Hat/Fedora com els ".deb" per al Debian, el font
sencer en arxius .tgz o executables per a windows en .exe.
Els passos per a instal·lar un cop tenim l'arxiu són:

  1. Agafa els privilegis de root.

    $su - <retorn>
    $password <retorn> 
  2. Ara instal·la l'arxiu .rpm que t'has baixat amb la següent comanda:

    #rpm -ivh afick-1.6-0.noarch.rpm

    Obtindràs un missatge similar a aquest:

      
    warning: afick-1.6-0.noarch.rpm: V3 DSA signature: NOKEY, key ID cb6fa42a
    Preparing... ########################################### [100%] 1:afick ########################################### [100%] first install : we will initiate the database
    Hash database created successfully. 36348 files entered. ----------------------------------------------------------------- MD5 hash of /var/lib/afick/afick => 41daxskFuk22DZC+Z1eO3Q

Configuració

Al instalarse des de rpm l'Afick ja es configura solet: Construeix una
base de dades amb els arxius, directoris i els checksums MD5
corresponents. Els arxius i directoris inclosos en la comprovació es
troven definits en l'arxiu /etc/afick.conf. Aquest arxiu té una sintaxi
molt simple i fàcil d'entendre. Pots afegir o treure tipus d'arxius a
comprovar i també directoris en funció de la part que vulguis
comprovar. Adoneu-vos que en els noms dels directoris són sensibles a
les majúscules.
Un exemple d'arxiu de configuració és:

# afick config sample file

# directives
############
database:=/var/lib/afick/afick
# report_url := stdout
# verbose := no
# warn_dead_symlinks := no
# report_full_newdel := no
# warn_missing_file := no
# running_files := no
# timing := no

# text files
exclude_suffix := log LOG html htm HTM txt TXT xml
# help files
exclude_suffix := hlp pod chm
# old files
exclude_suffix := tmp old bak
# fonts
exclude_suffix := fon ttf TTF
# images
exclude_suffix := bmp BMP jpg JPG gif png ico
# audio
exclude_suffix := wav WAV mp3 avi

# macros
########
# used by cron
@@define MAILTO root
@@define LINES 1000

# list the file or directories to scan
# syntaxe :
# file action
# to have action on file (see below
# ! file
# to remove file from scan
# file with blank character have to be quoted

# action : a list of item to check
# md5 : md5 checksum
# d : device
# i : inode
# p : permissions
# n : number of links
# u : user
# g : group
# s : size
# b : number of blocks
# m : mtime
# c : ctime
# a : atime

#R: p+d+i+n+u+g+s+m+c+md5
#L: p+d+i+n+u+g

# action alias may be configured with
# your_alias = another_alias|item[+item][-item]
# all is a pre-defined alias for all items except "a"

# alias :
#########
DIR=p+i+n+u+g
ETC = p+d+i+u+g+s+h
Logs = p+n+u+g
MyRule = p+d+i+n+u+g+s+b+md5+m

# file to scan
##############

=/ DIR
#
/bin MyRule

/boot MyRule
!/boot/map
!/boot/System.map

/etc ETC
/etc/mtab ETC - i
/etc/adjtime ETC - h
/etc/aliases.db ETC - h
/etc/mail/statistics ETC -h
!/etc/map
!/etc/webmin/sysstats/modules/
!/etc/cups/certs/0

/lib MyRule
/lib/modules MyRule -m

/root MyRule
!/root/.viminfo
!/root/.bash_history
!/root/.mc

/sbin MyRule

/usr/bin MyRule
/usr/sbin MyRule
/usr/lib MyRule
/usr/local/bin MyRule
/usr/local/sbin MyRule
/usr/local/lib MyRule

/var/ftp MyRule
/var/log Logs
/var/www MyRule

Anant més enllà en l'exemple, imagina que vols afegir el teu directori
arrel en la comprovació de la integritat, i que el que comprovarem és
la propietat, canvis en els permisos, data de modificació i canvi en el
tamany de l'arxiu i canvis en l'arxiu. Per fer-ho primer caldrà posar
una nova entrada en l'afick.conf dins de la secció # alias més o menys
com aquesta:

  
HOME = u+g+p+m+s

Després dins de la secció # files to scan posarem una entrada així:

  /home/elmeunomdusuari HOME

Amb això, quan l'Afick torni
a executar-se, afegirà /home/elmeunomdusuari a la seva base de dades i
comprovarà els criteris establerts. Si vols que els canvis tinguin
efecte immediat cal executar:

  afick --update

Tanmateix pots simplement esperar a que
s'executi el cron diari i el directori ja quedarà afegit
automàticament.El resultat d'aquesta tasca automatitzada el rebràs per
correu cada dia a l'adreça que estigui establerta en la entrada MAILTO
de l'/etc/afick.conf (per omisió és root). L'aspecte d'aquest correu
diari és més o menys el següent:

  This is an automated report generated by Another File Integrity Checker on
+localhost.localdomain at 07:46:07 AM on 02/25/2004.
Output of the daily afick run:
new file : /var/log/afick/afick.log.2
new file : /var/log/afick/error.log.2
deleted file : /etc/sysconfig/iptables
changed file : /etc/adjtime
changed file : /etc/aliases.db
changed file : /etc/mail/statistics
changed file : /etc/prelink.cache
changed file : /etc/printcap
detailed changes
changed file : /etc/adjtime
MD5 : 7+bTDZQbxsTXEJXhyI2GCw ao6a/yDwoBR8GSL1AKlWXQ
changed file : /etc/aliases.db
MD5 :GT/eP5D+B8apNoa7L5CLRw soh7MnLDuQw4gI9KHlhpTA
changed file : /etc/mail/statistics
MD5 :oshq17jZ2a0o5pYhVBRgwQ vb69gMWXvpIEEZ4fmOl9/Q
changed file : /etc/prelink.cache
MD5 : SKh/403FRMUqBNdCIInQ9A zeC+5EPFfWBR4OeT7xZdbw
changed file : /etc/printcap
MD5 : b5e3g2//bGaxeCxVyRJqaw QFY1NJGy/kdt32B1YV0TXQ
filesize : 194 581

Com
pots veure, l'Afick ens notificarà dels canvis que s'han produit,
arxius que s'han esborrat i creat, etc. D'aquesta manera et podràs
adonar de si s'han fet canvis en un arxiu on aquests canvis no
esperaves que s'haguéssin produit. Si ets nou a Linux, potser no
coneixeràs si algun d'aquests canvis són o no normals, però en tot cas
tindràs l'oportunitat de preguntar-ho.
Per a una major seguretat, pot ser bona idea també posar la base de
dades de l'Afick en un lloc diferent al d'omisió (/var/lib/afick/). Si
el nivell de seguretat que volem aconseguir és molt alt, llavors es
podria posar en la gravadora de CD, de manera que no s'en podrien
esborrar els continguts.

Pàgina de l'Afick

La pàgina de l'Afick ("Another File Checker") la trovareu a http://afick.sourceforge.net/

pàgina generada en: 0.739 segons.