Nie jesteś zalogowany.
Jeśli nie posiadasz konta, zarejestruj je już teraz! Pozwoli Ci ono w pełni korzystać z naszego serwisu. Spamerom dziękujemy!

Ogłoszenie

Prosimy o pomoc dla małej Julki — przekaż 1% podatku na Fundacji Dzieciom zdazyć z Pomocą.
Więcej informacji na dug.net.pl/pomagamy/.

#1  2011-02-25 15:29:57

  krzys.tk - Użytkownik

krzys.tk
Użytkownik
Zarejestrowany: 2010-05-07

ClamAV-daemon, naruszenie ochrony pamięci

Witam.
Od pewnego czasu zauważyłem, że ClamAV zaczął ostro zapełniać logi. Oto ich fragment:

Kod:

Feb 24 19:45:32 poczta amavis[19027]: (19027-06-2) (!!)ClamAV-clamd av-scanner FAILED: run_av error: Too many retries to talk to /var/run/clamav/clamd.ctl (Can't connect to UNIX socket /var/run/clamav/clamd.ctl: Po\263\261czenie odrzucone) at (eval 86) line 309.
Feb 24 19:45:32 poczta amavis[19027]: (19027-06-2) (!!)WARN: all primary virus scanners failed, considering backups
Feb 24 19:45:42 poczta amavis[19027]: (19027-06-2) (!)killing process [19211] running ClamAV-clamscan (reason: on reading: timed out)
Feb 24 19:45:42 poczta amavis[19027]: (19027-06-2) (!)run_av (ClamAV-clamscan): collect_results - reading aborted: timed out at /usr/sbin/amavisd-new line 3108.
Feb 24 19:45:42 poczta amavis[19027]: (19027-06-2) (!!)ClamAV-clamscan av-scanner FAILED: run_av error: run_av: Exceeded allowed time at (eval 86) line 516.
Feb 24 19:45:42 poczta amavis[19027]: (19027-06-2) (!!)TROUBLE in check_mail: virus_scan FAILED: virus_scan: ALL VIRUS SCANNERS FAILED: ClamAV-clamd av-scanner FAILED: run_av error: Too many retries to talk to /var/run/clamav/clamd.ctl (Can't connect to UNIX socket /var/run/clamav/clamd.ctl: Po\263\261czenie odrzucone) at (eval 86) line 309.; ClamAV-clamscan av-scanner FAILED: run_av error: run_av: Exceeded allowed time at (eval 86) line 516.
Feb 24 19:45:42 poczta amavis[19027]: (19027-06-2) (!)PRESERVING EVIDENCE in /var/lib/amavis/tmp/amavis-20110224T194525-19027

Zauważyłem, że są też problemy z uruchomieniem clamav-daemon:

Kod:

/etc/init.d/clamav-daemon restart
Stopping ClamAV daemon: clamd.
Starting ClamAV daemon: clamd LibClamAV Warning: ***********************************************************
LibClamAV Warning: ***  This version of the ClamAV engine is outdated.     ***
LibClamAV Warning: *** DON'T PANIC! Read http://www.clamav.net/support/faq ***
LibClamAV Warning: ***********************************************************
/lib/lsb/init-functions: line 30: 20671 Naruszenie ochrony pamięci  /sbin/start-stop-daemon --start --nicelevel $nice --quiet --exec $exec --oknodo --pidfile "$pidfile" -- "$@"
 failed!

Uaktualniłem ClamAV do wersji 0.97 jednak to nie pomogło. Wciąż przy próbie uruchomienia występuje informacja o naruszeniu ochrony pamięci. Co mogę z tym zrobić? Nie ukrywam, że zależy mi na bezpieczeństwie moich e-maili i wyłączenie skanowania nie wchodzi w rachubę.

Offline

 

#2  2011-02-26 21:00:12

  torrentow - Członek Sejmowej Komisji Śledczej

torrentow
Członek Sejmowej Komisji Śledczej
Skąd: z GNU
Zarejestrowany: 2009-11-23

Re: ClamAV-daemon, naruszenie ochrony pamięci

strace próbowaleś?


Każdy sam sobie szkodzi :)
[img]http://img715.imageshack.us/img715/7104/apt.png[/img]

Offline

 

#3  2011-02-26 21:16:00

  Jacekalex - Podobno człowiek...;)

Jacekalex
Podobno człowiek...;)
Skąd: /dev/urandom
Zarejestrowany: 2008-01-07

Re: ClamAV-daemon, naruszenie ochrony pamięci

Spróbuj go odpalić z palca w terminalu, i zobacz, co wypluje.

Jeśli nic ciekawego, to potem też z roota gdb albo strace.


W demokracji każdy naród ma taką władzę, na jaką zasługuje ;)
Si vis pacem  para bellum  ;)       |       Pozdrawiam :)

Offline

 

#4  2011-02-26 23:04:09

  krzys.tk - Użytkownik

krzys.tk
Użytkownik
Zarejestrowany: 2010-05-07

Re: ClamAV-daemon, naruszenie ochrony pamięci

Kod:

/usr/sbin/clamd -c /etc/clamav/clamd.conf
LibClamAV Warning: ***********************************************************
LibClamAV Warning: ***  This version of the ClamAV engine is outdated.     ***
LibClamAV Warning: *** DON'T PANIC! Read http://www.clamav.net/support/faq ***
LibClamAV Warning: ***********************************************************
Naruszenie ochrony pamięci

To co daje strace umieściłem [url=http://wklej.org/id/483302/]tutaj[/url]

Offline

 

#5  2011-02-26 23:45:53

  Jacekalex - Podobno człowiek...;)

Jacekalex
Podobno człowiek...;)
Skąd: /dev/urandom
Zarejestrowany: 2008-01-07

Re: ClamAV-daemon, naruszenie ochrony pamięci

A zatem jakaś inna wersja?
Ewentualnie, właśnie aktualizowałem u mnie clama do 0.97 (Gentoo) - i trzeba było zaktualizować bazę wirusów, bo na bazie pobranej przez freshclama wcześniejszej wersji nie działał , bo nie umiał jej czytać.

Tylko że u mnie to clamd napisał, ale nie wywalił się.
Spróbowałbym na twoim miejscu odinstalować go całkowicie, i zainstalować ponownie, jednak to nie gwarantuje, że błąd zniknie, choć szansa istnieje.
Względnie samo clamd - bez wskazania konfiga - daje taki sam komunikat?
Bo istnieje jakieś raczej  małe prawdopodobieństwo, że na kłopot ma wpływ konfiguracja.
Choć oczywiście powinien być w takim wypadku komunikat, a nie Segmentation fault.

Pozdrawiam
;-)

Ostatnio edytowany przez Jacekalex (2011-02-26 23:55:30)


W demokracji każdy naród ma taką władzę, na jaką zasługuje ;)
Si vis pacem  para bellum  ;)       |       Pozdrawiam :)

Offline

 

#6  2011-02-27 09:06:30

  krzys.tk - Użytkownik

krzys.tk
Użytkownik
Zarejestrowany: 2010-05-07

Re: ClamAV-daemon, naruszenie ochrony pamięci

Zainstalowałem ClamAV z apta, przedtem robiąc apt-get purge clam*. Oczyściłem folder /var/lib/clamav/. Nowa wersja 0.94 pierwszy raz uruchomiła się bez problemów, później przy próbie restartu z init.d sypała tymi samymi błędami co 0.97. Jak uruchamiam clamd z roota poleceniem clamd -c /etc/clamav/clamd.conf
wyrzuca tylko dwa warningi:

Kod:

ARNING: Ignoring deprecated option ArchiveLimitMemoryUsage at line 12
WARNING: Ignoring deprecated option MailFollowURLs at line 34

i przechodzi w tło. Natomiast skrypt /etc/init.d/clamav-daemon restart zabija clamav ale nie udaje mu się go ponownie uruchomić. Dostaję dokładnie to, co w pierwszym poście.

Offline

 

#7  2011-02-27 09:40:26

  Jacekalex - Podobno człowiek...;)

Jacekalex
Podobno człowiek...;)
Skąd: /dev/urandom
Zarejestrowany: 2008-01-07

Re: ClamAV-daemon, naruszenie ochrony pamięci

DO debugowania programów potrzebne jest trochę doświadczenia, i samodzielnego sprawdzania i analizowania logów, dlatego nie polecam.

Jeśli z palca w termialu chodzi, to dopisz polecenie uruchomienia clamd do np /etc/rc.local, skrypt  /etc/init.d/clamav-daemon olej sikiem prostym.
polecenie do rc.local? np:

Kod:

sudo -u <USER> /usr/sbin/clamd -c /etc/clamav/clamd.conf &

gdzie <USER> - to użytkownik, z którego uprawnieniami ma działać clamd.
żeby wpis działał - musi być w /etc/rc.local przed exit.

Wtedy będzie chodził - jeśli wstał z palca.
Polecenie najpierw spróbuj w terminalu.
Wpisując do rc.local nie zapomnij dać znaku [b]&[/b] za poleceniem - jednego,bo inaczej reszta cześć systemu może poczekać, aż skrypt rc.local (i clamd) skończy pracę ;)

Poza tym jeśli z roota wstał, a z użytkownika clamav (czy podobny) nie wstał, to mogłoby teoretycznie oznaczać kłopot z jakimiś uprawnieniami, ale w takim przypadku nie powinien się wywalać (Segmentation Fault )- chociaż może mieć błąd w kodzie, w tzw obsłudze wyjątku.

Jeżeli chcesz się bawić w wyjaśnianie zachowania  clamd,
to możesz zastosować [url=http://www.gentoo.org/proj/pl/qa/backtraces.xml]śledzenie wsteczne[/url].

Jednak tu inaczej się zachowuje włączany z skryptu startowego [b]/etc/init.d/clamav-daemon[/b] , a inaczej odpalany z palca, także błąd będzie dość ciężko zlokalizować.
Możesz też poszukać "inspiracji" na [url=http://bugs.debian.org/cgi-bin/pkgreport.cgi?pkg=clamav]bugzilli[/url] Debiana.
Co do błędów Warning - popraw konfig, masz napisane, co i gdzie w komunikatach.

To by było na tyle
;-)

Ostatnio edytowany przez Jacekalex (2011-02-27 09:44:25)


W demokracji każdy naród ma taką władzę, na jaką zasługuje ;)
Si vis pacem  para bellum  ;)       |       Pozdrawiam :)

Offline

 

#8  2011-02-27 09:48:02

  krzys.tk - Użytkownik

krzys.tk
Użytkownik
Zarejestrowany: 2010-05-07

Re: ClamAV-daemon, naruszenie ochrony pamięci

[quote=Jacekalex]Poza tym jeśli z roota wstał, a z użytkownika clamav (czy podobny) nie wstał, to mogłoby teoretycznie oznaczać kłopot z jakimiś uprawnieniami, ale w takim przypadku nie powinien się wywalać (Segmentation Fault )- chociaż może mieć błąd w kodzie, w tzw obsłudze wyjątku.[/quote]
Niestety dokładnie tak jest. Wpisałem do /etc/rc.local to o co prosiłeś i wyrzuciło Naruszene ochrony. Na śledzenie wsteczne i inne zaawansowane sposoby debugowania nie mam głowy. Uważam, że najprostsze rozwiązania są najskuteczniejsze. Zatem moje pytanie brzmi: czy moge bezpiecznie odpalać ClamAV z roota?

Ostatnio edytowany przez krzys.tk (2011-02-27 09:54:43)

Offline

 

#9  2011-02-27 15:19:47

  Jacekalex - Podobno człowiek...;)

Jacekalex
Podobno człowiek...;)
Skąd: /dev/urandom
Zarejestrowany: 2008-01-07

Re: ClamAV-daemon, naruszenie ochrony pamięci

Ja mam clama odpalonego z roota, i jakoś działa, problemow nie mialem.
Z roota tylko dlatego, że kilka programów z niego korzysta, anie chciało mi się go puszczać dla każdego usera osobno.

Bo można odpalić kilka procesów z róznymi konfigami, i każdy przypisany do innego usera.

Względnie, w Ubuntu miałem clamd działający jako root chroniony profilem apparmoa, obecnie mam Gentoo, do apparmora mam, ale dziala tylko cześciowo (userspace się nie  sprawdza), natomiast mam grsecurity i paxa, dlatego o jakiś straszny kłopot się nie obawiam.
Ale na serwerze czy routerze bym się dwa razy zastanowił, czy Clama odpalać jako root, chyba, żeby był chroniony polityką [url=http://grsecurity.net/gracldoc.htm]ACL Grsecurity[/url], albo przynajmniej Selinux lub Apparmor.

Tylko, że obecnie na desktopie (Gentoo) mam Grsecurity, Paxa i Apparmor.
A wszystko na systemie Gentoo Hardened - idealnym w mojej opinii na serwer i router, chociaż dosć trudnej, zwłaszcza dla "mgr inżyniera" od Sapera i Pasjansa  w WinXp ;)))

Pozdrawiam
;-)

Ostatnio edytowany przez Jacekalex (2011-02-27 15:20:32)


W demokracji każdy naród ma taką władzę, na jaką zasługuje ;)
Si vis pacem  para bellum  ;)       |       Pozdrawiam :)

Offline

 

Stopka forum

Powered by PunBB
© Copyright 2002–2005 Rickard Andersson
To nie jest tylko forum, to nasza mała ojczyzna ;-)

[ Generated in 0.013 seconds, 9 queries executed ]

Informacje debugowania

Time (s) Query
0.00017 SET CHARSET latin2
0.00005 SET NAMES latin2
0.00157 SELECT u.*, g.*, o.logged FROM punbb_users AS u INNER JOIN punbb_groups AS g ON u.group_id=g.g_id LEFT JOIN punbb_online AS o ON o.ident='13.58.216.74' WHERE u.id=1
0.00123 UPDATE punbb_online SET logged=1716253908 WHERE ident='13.58.216.74'
0.00067 SELECT * FROM punbb_online WHERE logged<1716253608
0.00111 SELECT t.subject, t.closed, t.num_replies, t.sticky, f.id AS forum_id, f.forum_name, f.moderators, fp.post_replies, 0 FROM punbb_topics AS t INNER JOIN punbb_forums AS f ON f.id=t.forum_id LEFT JOIN punbb_forum_perms AS fp ON (fp.forum_id=f.id AND fp.group_id=3) WHERE (fp.read_forum IS NULL OR fp.read_forum=1) AND t.id=18431 AND t.moved_to IS NULL
0.00008 SELECT search_for, replace_with FROM punbb_censoring
0.00297 SELECT u.email, u.title, u.url, u.location, u.use_avatar, u.signature, u.email_setting, u.num_posts, u.registered, u.admin_note, p.id, p.poster AS username, p.poster_id, p.poster_ip, p.poster_email, p.message, p.hide_smilies, p.posted, p.edited, p.edited_by, g.g_id, g.g_user_title, o.user_id AS is_online FROM punbb_posts AS p INNER JOIN punbb_users AS u ON u.id=p.poster_id INNER JOIN punbb_groups AS g ON g.g_id=u.group_id LEFT JOIN punbb_online AS o ON (o.user_id=u.id AND o.user_id!=1 AND o.idle=0) WHERE p.topic_id=18431 ORDER BY p.id LIMIT 0,25
0.00151 UPDATE punbb_topics SET num_views=num_views+1 WHERE id=18431
Total query time: 0.00936 s