Jun 26

da “Il piccolo sistemista”, Garzanti Editori

Category: tmrc

tutto e’ cominciato stamattina.

N. mi chiama: “Suuuugo?”

Io: “Si’?”

N. “Nagios dice che e’ morto il server web su [CENSORED]

(chissa’ come mai sono diventato cosi’ riservato)

Tosto mi ci collego in ssh. Il server web stava girando. Certo, il tutto era di una lentezza mostruosa, cosa che mi ha indotto a usare top, free, ps, cazzi e mazzi.

La cosa piu’ importante di quel server e’ il radius. Stava funzionando.

In effetti non poteva non funzionare.

Se fosse morto pure quello, da quel posto li’ mi avrebbero gia’ chiamato i Nagios umani (cioe’ le segretarie).

Cosi’ decido di usare rkhunter e chkrootkit, giusto per stare piu’ apposto con la coscienza.

chkrootkit mi ha sparato una lista di file sospetti troppo lunga per essere vera.

L’ho fatta vedere a E., c’abbiamo riso sopra insieme, e morta li’.

rkhunter invece mi ha trovato 3 checksum BAD: insmod, depmod e modinfo.

Mi e’ sembrato strano. L’ultima volta (e unica, a dir la verita’) che ho trovato dei binari taroccati ce n’erano molti di piu’.

Insomma, pensavo piu’ a un falso positivo.

Rootkit Hunter has found some bad or unknown hashes. This can happen due to replaced
binaries or updated packages (which give other hashes). Be sure your hashes are
up-to-date (rkhunter –update). If you’re in doubt about these hashes, contact
us through the Rootkit Hunter mailinglist at [email protected].

Cosi’ sono giunto allo script “hashupd.sh”, che ha lo scopo di aggiornare il database degli hash dei vari binari.

Purtroppo non e’ stato immediato usarlo 🙂

root@CENSORED:/home/sugo# sh hashupd.sh
[FATAL] /usr/local/rkhunter/lib/rkhunter/db/os.dat not writable, exiting.

Ahhh, il classico errore di permessi… Ma:

root@CENSORED:/home/sugo# ls -lF /usr/local/rkhunter/lib/rkhunter/
total 16
drwxr-xr-x 2 root root 4096 Jun 25 22:45 db/
drwxr-xr-x 2 root root 4096 Jun 25 20:32 docs/
drwxr-xr-x 2 root root 4096 Jun 25 20:32 scripts/
drwxr-xr-x 2 root root 4096 Jun 26 00:40 tmp/

..da qui in poi tutta una serie di cazzi infiniti, paranoie, lsattr, chattr, etc…

L’unica era forse dare un’occhiata allo script e vedere un po’ di che cazzo aveva bisogno:

# 2. Functions. Easy readable code.
show_help() { echo -en “hashupd for Rootkit Hunter\nargs: \n -q: quiet, only errors shown,\n -c : supply path and
configuration file,\n -d : supply path to database directory (if not found in rkhunter.conf),\n -t
ory name>: supply path to temp directory (if not found in rkhunter.conf),\n -m : email new or changed
sums to address so you can send it to the maintainer.\n* ${progn} is an unofficial, but community-supported, helper applic
ation for adding and changing\nRootkit Hunter database information.\nFor support please see [email protected]
e.net\nPlease send new hashes for inclusion in Rootkit Hunter to [email protected]\n\n”; }
is_writable() { case “$1″ in d) check_int=”7″;; f) check_int=”6”;; esac; perm=$(stat -c %a “$2” 2>/dev/null); case “${#perm
}” in 3) check_pos=”${perm:0:1}”;; 4) check_pos=”${perm:1:1}”;; esac; if [ “$check_pos” != “$check_int” ]; then echo “[FATA
L] “$2″ not writable, exiting.”; exit 1; fi; }

La parte in neretto era quella interessata, ma diciamocelo francamente: non avevo minimamente voglia di CAPIRLA.

Alla fine ho svoltato su google un tizio che aveva avuto il mio stesso errore, e uno gli ha risposto:

Can you try 'stat -c %a /usr/local/rkhunter/lib/rkhunter/db' and let me
know what it says please.

stat: command not found.

Bene.

Il pacchetto coreutils non c’era.

Ho avuto la pessima idea di provare a metterlo con swaret. Su una Slackware 9.0.

Durante l’operazione ho letto che si vociferava di aggiornare le glibc. Mi sono spaventato e ho fatto control+c.

Ottimo.

Da qui in poi l’aria che si respirava era questa:

root@CENSORED:~# ls
/bin/ls: error while loading shared libraries: libacl.so.1: cannot open shared object file: No such file or directory

root@CENSORED:/home/sugo# mv
mv: error while loading shared libraries: libacl.so.1: cannot open shared object file: No such file or directory

root@CENSORED:/home/sugo# cp
cp: error while loading shared libraries: libacl.so.1: cannot open shared object file: No such file or directory

Insomma, avevo rotto tutto.

Per fortuna esiste IL BACKUP, non a caso il nostro server di backup si chiama “salvatore” 🙂

Ho ripristinato i binari, e tutto e’ tornato a funzionare.

p.s. fanculo alle installazioni “a risparmio” 🙂 🙂

7 comments

7 Comments so far

  1. Emi June 26th, 2007 04:15

    dovevi fare o funzione “cetrel” o “mother rella’s action”, in my opinion…
    ^_^

  2. DoM June 27th, 2007 17:16

    Si ma come finisce la storia ?
    Dai che fremo dal sapere la dura realta’ dei fatti

    FATTI FATTI

    Cià

  3. sugo June 27th, 2007 21:13

    funziona tutto amico mio 🙂

  4. blended June 29th, 2007 20:26

    ti si e’ strizzato il culo immagino 🙂
    cosi’ la prossima volta ci ripensi 2 volte a fare le installazioni facili ehehhehe

    saluti

    ( beh io per un errore del cazzo ho bloccato la produzione di 15000, si hai letto bene, quindicimila scatole 😛 )

  5. sugo July 1st, 2007 03:49

    cousin la slackware non l’avevo installata io 🙂

  6. Emiliano July 13th, 2007 10:31

    Smettete di usare roba automatica. Se esiste il configure;make;make install ci sarà un perché.
    Ma soprattutto, ripetete con me il nostro credo: “Debian é il male”

  7. sugo July 22nd, 2007 03:46

    ciao capo 🙂
    scusa se il tuo commento ha atteso un po’ troppo 🙂

Leave a comment