LMD(Linux 恶意软件检测),未找到 inotify 进程 Ubuntu 14.04 LTS

LMD (Linux Malware detect), inotify process not found Ubuntu 14.04 LTS

我正在使用 Linux 恶意软件检测,它真的很棒。我每天 运行 最近的 maldet 脚本 4 次,但我想让监视器运行,因为它是共享主机服务器。

如果我 运行 maldet -m /home 我会得到以下错误:

maldet(19604): {mon} no inotify process found, check /usr/local/maldetect/inotify/inotify_log for errors.

问题是日志文件是空的,所以我不知道如何进一步。

感谢任何帮助!

我在使用 Plesk 和 CL linux(基于 centos)的 VPS 上被同样的问题扼杀了,这是我第一次回答所以对我温柔点:)

我的解决方案不是很专业,但如果您需要 运行 在监控模式下进行恶意攻击,它是一个解决方法 hack(可能其他基于此的解决方案可以为您提供更好的解决方案)

所以我 nano /usr/local/maldetect/maldet 找到了包含 $nice 的行(这是唯一包含搜索词 $nice 的行,大约在第 1318 行)

有两个原因不是 运行ning

  1. 出于某种原因,/proc/sys/fs/inotify/max_user_watches 在 运行 之前被设置为 0 这个命令 :( 所以我在 $notice 之前添加了行

    echo 100000 > /proc/sys/fs/inotify/max_user_watches
    

    100000 也可以更低,如果它太低你会得到这样的错误

    Apr 15 13:38:38 plesk2 inotifywait[889842]: Setting up watches.  Beware: since -r was given, this may take a while!
    Apr 15 13:38:38 plesk2 inotifywait[889842]: Failed to watch /var/www/vhosts/domain.com/httpdocs; upper limit on inotify watches reached!
    

    in /var/log/messages(像这样搜索它们:grep inotify /var/log/messages)。

  2. 由于一些奇怪的原因(了解bash的人请多多指教)$nice行执行的命令是

    /bin/nice -n 10 /usr/local/maldetect/inotify/inotifywait -d -r -o /usr/local/maldetect/inotify/inotify_log --fromfile /usr/local/maldetect/sess/inotify.paths.864367 --exclude (^/var/tmp/mysql.sock$|^/tmp/mysql.sock$|^/var/cache/buagent/md0.cache.data$|^/var/tmp/#sql_.*\.MYD$|^/tmp/#sql_.*\.MYD$) --timefmt %d %b %H:%M:%S --format %w%f %e %T -m -e create,move,modify
    

    和 bash 或 sh 对 --exclude (^/var/tmp/mysql.sock$|^/tmp/mysql.sock$|^/var/cache/buagent/md0.cache.data$|^/var/tmp/#sql_.*\.MYD$|^/tmp/#sql_.*\.MYD$) 部分不满意所以我只是从该行中删除了 $exclude (我知道它不好但正在努力如果我找到它我会post回)

    所以行

    $nice -n $inotify_nice $inotify -d -r -o $inotify_log --fromfile $inotify_fpaths $exclude --timefmt "%d %b %H:%M:%S" --format "%w%f %e %T" -m -e create,move,modify >> /dev/null 2>&1 &
    

    已更改为

    $nice -n $inotify_nice $inotify -d -r -o $inotify_log --fromfile $inotify_fpaths --timefmt "%d %b %H:%M:%S" --format "%w%f %e %T" -m -e create,move,modify >> /dev/null 2>&1 &
    

    成功了

我还特别为 plesk 用户提供了帮助

mysql -ss -uadmin -p`cat /etc/psa/.psa.shadow` psa -e "select www_root from hosting;" > /usr/local/maldetect/maldetfilelist

然后您可以使用以下命令启动 LMD:

maldet -m /usr/local/maldetect/maldetfilelist

以上是在这里找到的:http://www.coredump.id.au/linux-malware-detect-debian-and-plesk/

如果您想查看 bash 正在执行的内容,可获得额外奖励,将其放在您想要的行之前(在我们的例子中是 $nice 行):

set -x
$nice -n $inotify_nice $inotify -s -d -r -o $inotify_log --fromfile $inotify_fpaths --timefmt "%d %b %H:%M:%S" --format "%w%f %e %T" -m -e create,move,modify >> /dev/null 2>&1 & set +x

这里的神奇之处在于漂亮的 set -x(为了看不到我在 set +x 之后放置的数百行调试)

抱歉这么描述,我糟糕的英语希望它能帮助你或其他人

UPDATE 如果你改变了 maldet 文件中的任何内容,每天都有一个 cron 运行ning 在 (/etc/cron.daily/maldet) 中,更具体的是行

/usr/local/maldetect/maldet -d >> /dev/null 2>&1

上面这行每次都发现文件maldet的md5变了,重新安装原来的:(所以我就把它注释掉了:)现在监控工作了,每晚都不停:)

干杯 sassm430

感谢 sassm430,

您的具体演练没有帮助,但您发布了您的来源 (http://www.coredump.id.au/linux-malware-detect-debian-and-plesk/),我发现了这个:

sed -i -e"s/$inspath/inotify/inotifywait//usr/bin/inotifywait/" /usr/local/maldetect/internals.conf

您也可以手动编辑 /usr/local/maldetect/internals.conf 并在底部编辑此行:

inotify=$inspath/inotify/inotifywait

将上面一行改为:

inotify=/usr/bin/inotifywait

现在监控是运行,我上传了一个已经被隔离的文件,但是好像不起作用,或者监控是怎么工作的?

监视器是否会在重新启动时自行启动?

编辑:我执行了以下命令:maldet -m users

@Jonathan Lindgren

对我来说 inotify=$inspath/inotify/inotifywait

将上面一行改为:

inotify=/usr/bin/inotifywait

没用

我不是马尔代特方面的专家,但我唯一能告诉你的是以下内容

1) 我没有使用过 maldet 用户或我做过的类似的东西(在 plesk 上) mysql -ss -uadmin -pcat /etc/psa/.psa.shadow psa -e "select www_root from hosting;" > /usr/local/maldetect/maldetfilelist

然后您可以使用以下命令启动 LMD:

maldet -m /usr/local/maldetect/maldetfilelist

这会从 plesk 创建一个包含所有路径的文件

另一种方法是使用这样的东西

maldet --m /var/www/vhosts/ 或 maldet --m/var/www/vhosts/?/somesubfolder 在哪里?在 bash 上表示所有类似 * :)

2) 我能想到的另一个原因是,你确定 inotify 是 运行ning 吗?也许你 运行 out of inotify watchers 做一个 猫 /proc/sys/fs/inotify/max_user_watches 在你有朗姆酒监测器之后。
或者只是在日志文件上执行 tail -f 如果你在设备 bla bla bla 上没有更多的东西 space 那么你可能 运行 out of inotify watcher

但是,如果您告诉我们您的发行版等,如我原来的 post 中所述,这将会有所帮助。我在带有 cloud linux 和 plesk 的 centos 上使用它,但遇到了这个问题,但是在带有 cloudlinux 和 cpanel 的 centos 它开箱即用:((直到今天我还不明白为什么)

此外,我强烈建议您使用 设置-x

$nice -n $inotify_nice $inotify -s -d -r -o $inotify_log --fromfile $inotify_fpaths --timefmt "%d %b %H :%M:%S" --format "%w%f %e %T" -m -e 创建、移动、修改 >> /dev/null 2>&1 &

设置+x

将它放在 maldet 文件中(在 $nice 行之前和之后)它会真正告诉你是否一切都正确执行了:)

更新:另外请检查我在第一个答案底部所做的更新,这可能是你被它击中了(在那种情况下监视器停止) 你也可以 运行 一个小脚本来检查 monitor 和 inotifywatch 是否正在 运行ning,如果没有则重新启动它们。

希望你能使用其中的任何一个,如果我能进一步提供帮助,请告诉我。