{"id":73,"date":"2007-06-26T01:12:06","date_gmt":"2007-06-25T23:12:06","guid":{"rendered":"http:\/\/www.olografix.org\/frank\/wordpress\/?p=73"},"modified":"2007-06-26T01:46:43","modified_gmt":"2007-06-25T23:46:43","slug":"da-il-piccolo-sistemista-garzanti-editori","status":"publish","type":"post","link":"https:\/\/olografix.sugodipesce.net\/frank\/wordpress\/?p=73","title":{"rendered":"da &#8220;Il piccolo sistemista&#8221;, Garzanti Editori"},"content":{"rendered":"<p>tutto e&#8217; cominciato stamattina.<\/p>\n<p>N. mi chiama: &#8220;Suuuugo?&#8221;<\/p>\n<p>Io: &#8220;Si&#8217;?&#8221;<\/p>\n<p>N. &#8220;Nagios dice che e&#8217; morto il server web su <strong>[CENSORED]<\/strong>&#8221;<\/p>\n<p align=\"center\"><em>(chissa&#8217; come mai sono diventato cosi&#8217; riservato) <\/em><\/p>\n<p align=\"center\">\n<p align=\"left\">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.<\/p>\n<p align=\"left\">La cosa piu&#8217; importante di quel server e&#8217; il radius. Stava funzionando.<\/p>\n<p align=\"left\">In effetti non poteva non funzionare.<\/p>\n<p align=\"left\">Se fosse morto pure quello, da <em>quel posto li&#8217;<\/em> mi avrebbero gia&#8217; chiamato i Nagios umani (cioe&#8217; le segretarie).<\/p>\n<p align=\"left\">\n<p align=\"left\">Cosi&#8217; decido di usare rkhunter e chkrootkit, giusto per stare piu&#8217; apposto con la coscienza.<\/p>\n<p align=\"left\">chkrootkit mi ha sparato una lista di file sospetti <a target=\"_blank\" href=\"http:\/\/www.olografix.org\/frank\/wordpress\/wp-content\/file_sospetti.txt\">troppo lunga per essere vera<\/a>.<\/p>\n<p align=\"left\">L&#8217;ho fatta vedere a E., c&#8217;abbiamo riso sopra insieme, e morta li&#8217;.<\/p>\n<p align=\"left\">rkhunter invece mi ha trovato 3 checksum BAD: <strong>insmod<\/strong>, <strong>depmod<\/strong> e <strong>modinfo<\/strong>.<\/p>\n<p align=\"left\">Mi e&#8217; sembrato strano. L&#8217;ultima volta (e unica, a dir la verita&#8217;) che ho trovato dei binari taroccati ce n&#8217;erano molti di piu&#8217;.<\/p>\n<p align=\"left\">Insomma, pensavo piu&#8217; a un falso positivo.<\/p>\n<p align=\"center\"><em>Rootkit Hunter has found some bad or unknown hashes. This can happen due to replaced<br \/>\nbinaries or updated packages (which give other hashes). Be sure your hashes are<br \/>\nup-to-date (rkhunter &#8211;update). If you&#8217;re in doubt about these hashes, contact<br \/>\nus through the Rootkit Hunter mailinglist at rkhunter-users@lists.sourceforge.net.<\/em><\/p>\n<p align=\"center\">\n<p align=\"left\">Cosi&#8217; sono giunto allo script &#8220;hashupd.sh&#8221;, che ha lo scopo di aggiornare il database degli hash dei vari binari.<\/p>\n<p align=\"left\">Purtroppo non e&#8217; stato immediato usarlo \ud83d\ude42<\/p>\n<p align=\"left\">root@CENSORED:\/home\/sugo# sh hashupd.sh<br \/>\n[FATAL] \/usr\/local\/rkhunter\/lib\/rkhunter\/db\/os.dat not writable, exiting.<\/p>\n<p align=\"left\">Ahhh, il classico errore di permessi&#8230; Ma:<\/p>\n<p align=\"left\">root@CENSORED:\/home\/sugo# ls -lF \/usr\/local\/rkhunter\/lib\/rkhunter\/<br \/>\ntotal 16<br \/>\ndrwxr-xr-x    2 root     root         4096 Jun 25 22:45 db\/<br \/>\ndrwxr-xr-x    2 root     root         4096 Jun 25 20:32 docs\/<br \/>\ndrwxr-xr-x    2 root     root         4096 Jun 25 20:32 scripts\/<br \/>\ndrwxr-xr-x    2 root     root         4096 Jun 26 00:40 tmp\/<\/p>\n<p align=\"left\">..da qui in poi tutta una serie di cazzi infiniti, paranoie, lsattr, chattr, etc&#8230;<\/p>\n<p align=\"left\">L&#8217;unica era forse dare un&#8217;occhiata allo script e vedere un po&#8217; <em>di che cazzo aveva bisogno<\/em>:<\/p>\n<p align=\"left\"># 2. Functions. Easy readable code.<br \/>\nshow_help() { echo -en &#8220;hashupd for Rootkit Hunter\\nargs: \\n -q: quiet, only errors shown,\\n -c : supply path and<br \/>\nconfiguration file,\\n -d : supply path to database directory (if not found in rkhunter.conf),\\n -t<br \/>\nory name>: supply path to temp directory (if not found in rkhunter.conf),\\n -m : email new or changed<br \/>\nsums to address so you can send it to the maintainer.\\n* ${progn} is an unofficial, but community-supported, helper applic<br \/>\nation for adding and changing\\nRootkit Hunter database information.\\nFor support please see rkhunter-users@lists.sourceforg<br \/>\ne.net\\nPlease send new hashes for inclusion in Rootkit Hunter to unspawn@users.sourceforge.net\\n\\n&#8221;; }<br \/>\n<strong>is_writable() { case &#8220;$1&#8243; in d) check_int=&#8221;7&#8243;;; f) check_int=&#8221;6&#8221;;; esac; perm=$(stat -c %a &#8220;$2&#8221; 2>\/dev\/null); case &#8220;${#perm<br \/>\n}&#8221; in 3) check_pos=&#8221;${perm:0:1}&#8221;;; 4) check_pos=&#8221;${perm:1:1}&#8221;;; esac; if [ &#8220;$check_pos&#8221; != &#8220;$check_int&#8221; ]; then echo &#8220;[FATA<br \/>\nL] &#8220;$2&#8243; not writable, exiting.&#8221;; exit 1; fi; }<\/strong><\/p>\n<p align=\"left\">\n<p align=\"left\">La parte in neretto era quella interessata, ma diciamocelo francamente: non avevo minimamente voglia di CAPIRLA.<\/p>\n<p align=\"left\">Alla fine ho svoltato su google un tizio che aveva avuto il mio stesso errore, e uno gli ha risposto:<\/p>\n<pre><strong><em>Can you try 'stat -c %a \/usr\/local\/rkhunter\/lib\/rkhunter\/db' and let me\r\nknow what it says please.<\/em><\/strong><\/pre>\n<p align=\"left\">stat: command not found.<\/p>\n<p align=\"left\">Bene.<\/p>\n<p align=\"left\">Il pacchetto coreutils non c&#8217;era.<\/p>\n<p align=\"left\">Ho avuto la pessima idea di provare a metterlo con swaret. Su una Slackware 9.0.<\/p>\n<p align=\"left\">Durante l&#8217;operazione ho letto che si vociferava di aggiornare le glibc. Mi sono spaventato e ho fatto <strong>control+c<\/strong>.<\/p>\n<p align=\"left\">\n<p align=\"left\">Ottimo.<\/p>\n<p align=\"left\">Da qui in poi l&#8217;aria che si respirava era questa:<\/p>\n<p align=\"left\">root@CENSORED:~# ls<br \/>\n\/bin\/ls: error while loading shared libraries: libacl.so.1: cannot open shared object file: No such file or directory<\/p>\n<p align=\"left\">root@CENSORED:\/home\/sugo# mv<br \/>\nmv: error while loading shared libraries: libacl.so.1: cannot open shared object file: No such file or directory<\/p>\n<p align=\"left\">root@CENSORED:\/home\/sugo# cp<br \/>\ncp: error while loading shared libraries: libacl.so.1: cannot open shared object file: No such file or directory<\/p>\n<p align=\"left\">Insomma, avevo rotto tutto.<\/p>\n<p align=\"left\">Per fortuna esiste IL BACKUP, non a caso il nostro server di backup si chiama &#8220;salvatore&#8221; \ud83d\ude42<\/p>\n<p align=\"left\">Ho ripristinato i binari, e tutto e&#8217; tornato a funzionare.<\/p>\n<p align=\"left\">p.s. fanculo alle installazioni &#8220;a risparmio&#8221; \ud83d\ude42 \ud83d\ude42<\/p>\n<p align=\"left\">\n<p align=\"left\">\n<p align=\"left\">\n<p align=\"left\">\n<p align=\"left\">\n<p align=\"left\">\n<p align=\"left\">\n<p align=\"left\">\n<p align=\"left\">\n<p align=\"left\">\n<p align=\"left\">\n<p align=\"left\">\n<p align=\"left\">\n","protected":false},"excerpt":{"rendered":"<p>tutto e&#8217; cominciato stamattina. N. mi chiama: &#8220;Suuuugo?&#8221; Io: &#8220;Si&#8217;?&#8221; N. &#8220;Nagios dice che e&#8217; morto il server web su [CENSORED]&#8221; (chissa&#8217; come mai sono diventato cosi&#8217; 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, [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[2],"tags":[],"class_list":["post-73","post","type-post","status-publish","format-standard","hentry","category-tmrc"],"_links":{"self":[{"href":"https:\/\/olografix.sugodipesce.net\/frank\/wordpress\/index.php?rest_route=\/wp\/v2\/posts\/73","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/olografix.sugodipesce.net\/frank\/wordpress\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/olografix.sugodipesce.net\/frank\/wordpress\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/olografix.sugodipesce.net\/frank\/wordpress\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/olografix.sugodipesce.net\/frank\/wordpress\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=73"}],"version-history":[{"count":0,"href":"https:\/\/olografix.sugodipesce.net\/frank\/wordpress\/index.php?rest_route=\/wp\/v2\/posts\/73\/revisions"}],"wp:attachment":[{"href":"https:\/\/olografix.sugodipesce.net\/frank\/wordpress\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=73"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/olografix.sugodipesce.net\/frank\/wordpress\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=73"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/olografix.sugodipesce.net\/frank\/wordpress\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=73"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}