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!
Prosimy o pomoc dla małej Julki — przekaż 1% podatku na Fundacji Dzieciom zdazyć z Pomocą.
Więcej informacji na dug.net.pl/pomagamy/.
Witam.
Od pewnego czasu zauważyłem, że ClamAV zaczął ostro zapełniać logi. Oto ich fragment:
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:
/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
strace próbowaleś?
Offline
Spróbuj go odpalić z palca w terminalu, i zobacz, co wypluje.
Jeśli nic ciekawego, to potem też z roota gdb albo strace.
Offline
/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
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)
Offline
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:
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
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:
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)
Offline
[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
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)
Offline
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 |