Когда я сканирую свою машину с помощью chkrootkit
, я замечаю, что для одного из них всегда говорится:
Checking `syslogd'... not tested
Почему это не проверяется? Должно ли это быть проверено? И если это хорошая вещь для проверки, как я могу заставить ее проверять это?
Description: Ubuntu 14.10
Release: 14.10
chkrootkit:
Installed: 0.49-5ubuntu1
Candidate: 0.49-5ubuntu1
Version table:
*** 0.49-5ubuntu1 0
500 http://gb.archive.ubuntu.com/ubuntu/ utopic/universe amd64 Packages
100 /var/lib/dpkg/status
Это происходит потому что chkrootkit
ищет названный исполняемый файл syslogd
в нескольких общих местоположениях, но так как Ubuntu использует rsyslog, его демона системного журнала вместо этого звонят rsyslogd
.
Проверять, что демона системного журнала на Вашей машине конкретно звонят rsyslogd
вместо syslogd
, можно работать locate syslogd
(хотя, конечно, если у Вас действительно был руткит, он мог бы заставить неправильные результаты сообщаться этой командой также):
ek@Io:~$ locate syslogd
/etc/apparmor.d/usr.sbin.rsyslogd
/etc/apparmor.d/disable/usr.sbin.rsyslogd
/etc/apparmor.d/local/usr.sbin.rsyslogd
/usr/sbin/rsyslogd
/usr/share/man/man8/rsyslogd.8.gz
Проверить, что это то, почему chkrootkit
не тестирует демона системного журнала, можно работать chkrootkit
с -d
флаг (для режима отладки) и отправляет копию вывода в файл:
sudo chkrootkit -d |& мишень ~/chkrootkit.log
Затем откройте файл журнала в текстовом редакторе и исследуйте вывод отладки между Checking `syslogd'...
и not tested
сообщения. На моей машине это похоже на это (на Вашей, я ожидаю, что это будет подобно):
Checking `syslogd'... + chk_syslogd
+ STATUS=1
+ SYSLOG_I_L=/usr/lib/pt07|/dev/pty[pqrs]|/dev/hd[als][0-7]|/dev/ddtz1|/dev/ptyxx|/dev/tux|syslogs\.h
+ loc syslogd syslogd /usr/local/sbin /usr/local/bin /usr/sbin /usr/bin /sbin /bin /sbin /usr/sbin /lib /usr/lib /usr/libexec .
+ thing=syslogd
+ shift
+ dflt=syslogd
+ shift
+ :
+ test -f /usr/local/sbin/syslogd
+ :
+ test -f /usr/local/bin/syslogd
+ :
+ test -f /usr/sbin/syslogd
+ :
+ test -f /usr/bin/syslogd
+ :
+ test -f /sbin/syslogd
+ :
+ test -f /bin/syslogd
+ :
+ test -f /sbin/syslogd
+ :
+ test -f /usr/sbin/syslogd
+ :
+ test -f /lib/syslogd
+ :
+ test -f /usr/lib/syslogd
+ :
+ test -f /usr/libexec/syslogd
+ :
+ test -f ./syslogd
+ [ / = / ]
+ echo syslogd
+ exit 1
+ CMD=syslogd
+ [ ! -r syslogd ]
+ return 2
+ STATUS=2
+ [ = t ]
+ echo not tested
not tested
Начиная с названного файла syslogd
не существует ни в одном из тех местоположений (или вообще), нет ничего, чтобы это протестировало.
Возможное частичное обходное решение должно было бы создать символьную ссылку в одном из тех местоположений к реальному ryslogd
исполняемый файл. Я считаю это только частичным решением, потому что я не знаю детали какой chkrootkit
проверки (или должен проверить), или если существует что-либо специальное, которое это должно делать для надлежащего осмотра rsyslogd
, или если это действительно работает правильно при осмотре символьных ссылок и недавно созданных файлов. chkrootkit
действительно сообщает успешно проверка syslogd
когда я делаю это, хотя:
ek@Io:~$ sudo ln -s /usr/sbin/rsyslogd /usr/local/sbin/syslogd
ek@Io:~$ sudo chkrootkit | grep syslogd
Checking `syslogd'... not infected
sbin
подкаталог /usr/local
не мог бы уже существовать, в этом случае можно создать его. Так или иначе я действительно предлагаю удалить syslogd
символьная ссылка после использования его.
В любом случае действительное решение - как bodhi.zazen говорит - об этом нужно сообщить как ошибка против chkrootkit
пакет в Ubuntu. Путем я предлагаю, чтобы Вы сообщили об ошибке, к:
ubuntu-bug chkrootkit
.chkrootkit
когда проблема происходит. Я рекомендую присоединить журнал, показывающий его вывод, предпочтительно включая вывод отладки. Вы могли присоединить файл журнала, созданный, если бы/когда Вы работали sudo chkrootkit -d |& tee ~/chkrootkit.log
(см. выше). Вы могли бы также воспроизвести маленькую, самую соответствующую часть в тексте самого отчета об ошибках.От http://www.chkrootkit.org/README :
"не протестированный": тест не был выполнен - это могло произойти в следующих ситуациях:
a) тестом является конкретная ОС;
b) тест зависит от внешней программы, которая не доступна;
c) некоторые определенные параметры командной строки даны. (например,-r).
Принятие Вы не передали определенный параметр командной строки, я собираюсь предположить, что это - "ОС, конкретная" в некотором роде.
я был бы регистрировать отчет об ошибках с Ubuntu.
Я записал chkrootkit авторам об этом делающий проверку на syslogd а не на syslogd, существующем в основанных на Ubuntu дистрибутивах.
Вот соответствующая часть разговора:
---отрезают---
, я понимаю, что это - исключительно основанная на Ubuntu проблема распределения, но является этим вообще возможный, что rsyslog может в конечном счете стать целью?
Да, все двоичные файлы Linux возможны быть зараженными (rsyslogd включенный), но проверять его я должен видеть зараженный двоичный файл. После 20 лет, с тех пор как был создан chkrootkit, I’ve никогда не видят зараженный rsyslogd.---отрезают---
, Таким образом, это не ошибка.
Аплодисменты.