Создание скрипта для мониторинга /root/.bashrc

На самом деле Gmail Offline переносится с Gears на HTML5, поэтому в эти дни он не работает. Вам нужно подождать, пока Chrome12 не получит новую обновленную службу офлайн.

0
задан 25 July 2017 в 04:31

6 ответов

Pyinotify, простой подход

Поскольку вы запросили Python среди возможных вариантов решений, есть модуль pyinotify Python. Я лично использую Python 3. Решение может быть таким же простым, как python3 -m pyinotify <FILE>, или вы можете написать полномасштабный скрипт, если это необходимо.

Вот пример в действии:

Script

Одна возможность настраиваемого скрипта может быть выполнена путем изменения учебника, предоставленного на . Поскольку вы беспокоитесь только об изменениях в файле, я применил сценарий только для этого, но его можно изменить, чтобы включить другие события.

#!/usr/bin/env python3
import pyinotify
import sys

class EventHandler(pyinotify.ProcessEvent):
    def process_IN_MODIFY(self, event):
        print("File",sys.argv[1]," was modified:",event.pathname)

wm = pyinotify.WatchManager()
mask = pyinotify.IN_MODIFY
handler = EventHandler()
notifier = pyinotify.Notifier(wm, handler)
wdd = wm.add_watch(sys.argv, mask, rec=True)
notifier.loop()

И вот небольшой тест: [!d9 ]

enter image description here

Принимая это дальше

В любом случае все, что вам нужно сделать, это запустить команду с правами root с помощью /etc/rc.local или через cron, и все. Вывод может быть отправлен либо в какой-либо файл журнала, либо для отправки уведомления администратору. Лично я запускаю две команды: одну с привилегиями root, которая записывает в файл журнала, а другую, которая отслеживает файл журнала для изменений и отправляет пользователю GUI-уведомление. Возможности здесь бесконечны, поэтому используйте свое воображение.

Поиск изменений может быть выполнен путем сохранения резервной копии файла (возможно, в начале сценария) и после изменения файла - запустите diff или через скрипт Python через enter image description here . Вы также можете включить в уравнение проверку хешсумов md5 или sha256, но они не очень полезны, за исключением того, что они знали, что файл был изменен. Другая проблема заключается в том, что запуск скрипта notifier не предотвращает изменений, которые могли произойти, когда система была автономной, т. Е. Если кто-то загрузил Live USB или достал ваш жесткий диск и подключился к их машине, и только потом изменил файл. Это можно смягчить, зашифровав жесткий диск. Это также означает, что вы, вероятно, должны проверить изменения, как только начнется сценарий.

Что касается определения того, кто изменил файл, вы можете рассмотреть вопрос о корреляции даты изменения и даты регистрации пользователей в качестве пользователя root / sudo. Конечно, я должен предупредить: это несколько безнадежная задача. Пользователь-мошенник с способностями root может изменять журналы и стирать присутствие этого пользователя, оставляя практически никаких указаний на то, кем он был. Пользователи, которые приобрели полномочия root, могут даже изменить ваш скрипт. В заключение, лучшая безопасность, чтобы избежать изменения вашего чувствительного файла, - это предотвращение того, чтобы кто-либо мог открыть этот файл в первую очередь.

0
ответ дан 22 May 2018 в 20:13
  • 1
    О, это было много. Спасибо, что ответили на мой вопрос и дали мне несколько вариантов. Причина, по которой я задавала этот вопрос, - это то, что я работал над мини-проектом. Это где, скажем, кто-то взломал root и узнал свой пароль, я установил что-то внутри файла root/.bashrc, что приведет к отключению всей системы сразу после того, как кто-то войдет в систему с правами root. Но поскольку, если кто-то знает пароль к файлу root/.bashrc, они могут изменить то, что я настроил. Но я не знаю, отключили ли они это. Поэтому мне нужно было что-то посмотреть, чтобы файл искал изменения. – StrangeRanger 25 July 2017 в 03:24
  • 2
    Не уверен, как это относится к разговору / ответу, но в этом вся причина, по которой я решил задать этот вопрос. – StrangeRanger 25 July 2017 в 03:25
  • 3
    @HunterT. Я бы предложил отключить учетную запись root полностью или, по крайней мере, отключить интерактивный вход для нее. Для blackhats типично для грубой силы root-учетной записи. Учет sudo менее очевиден. Кроме того, если вы используете ssh, запретите вход в root через ssh. У меня есть вопрос о моем профиле где-то об этом, но я нахожусь на телефоне, поэтому считаю, что для меня это занимает немного времени. – Sergiy Kolodyazhnyy 25 July 2017 в 04:14
  • 4
    Я держу его отключенным. Я только делаю это на виртуальном изображении Ubuntu Linux. На моем Mac я не могу отключить root. И я слышал о черных шляпах, которые заставляют корень. Разве люди не настраивают ботов, которые запрограммированы на это? – StrangeRanger 25 July 2017 в 04:21
  • 5
    Ага. Раньше у меня был сервер на Digital Ocean. Журналы были полны неудачных попыток входа в систему как root. Все автоматические словарные атаки – Sergiy Kolodyazhnyy 25 July 2017 в 04:21

Pyinotify, простой подход

Поскольку вы запросили Python среди возможных вариантов решений, есть модуль pyinotify Python. Я лично использую Python 3. Решение может быть таким же простым, как python3 -m pyinotify <FILE>, или вы можете написать полномасштабный скрипт, если это необходимо.

Вот пример в действии:

Script

Одна возможность настраиваемого скрипта может быть выполнена путем изменения учебника, предоставленного на . Поскольку вы беспокоитесь только об изменениях в файле, я применил сценарий только для этого, но его можно изменить, чтобы включить другие события.

#!/usr/bin/env python3 import pyinotify import sys class EventHandler(pyinotify.ProcessEvent): def process_IN_MODIFY(self, event): print("File",sys.argv[1]," was modified:",event.pathname) wm = pyinotify.WatchManager() mask = pyinotify.IN_MODIFY handler = EventHandler() notifier = pyinotify.Notifier(wm, handler) wdd = wm.add_watch(sys.argv, mask, rec=True) notifier.loop()

И вот небольшой тест:

enter image description here [!d5]

Принимая это дальше

В любом случае все, что вам нужно сделать, это запустить команду с правами root с помощью /etc/rc.local или через cron, и все. Вывод может быть отправлен либо в какой-либо файл журнала, либо для отправки уведомления администратору. Лично я запускаю две команды: одну с привилегиями root, которая записывает в файл журнала, а другую, которая отслеживает файл журнала для изменений и отправляет пользователю GUI-уведомление. Возможности здесь бесконечны, поэтому используйте свое воображение.

Поиск изменений может быть выполнен путем сохранения резервной копии файла (возможно, в начале сценария) и после изменения файла - запустите diff или через скрипт Python через enter image description here [!d5] . Вы также можете включить в уравнение проверку хешсумов md5 или sha256, но они не очень полезны, за исключением того, что они знали, что файл был изменен. Другая проблема заключается в том, что запуск скрипта notifier не предотвращает изменений, которые могли произойти, когда система была автономной, т. Е. Если кто-то загрузил Live USB или достал ваш жесткий диск и подключился к их машине, и только потом изменил файл. Это можно смягчить, зашифровав жесткий диск. Это также означает, что вы, вероятно, должны проверить изменения, как только начнется сценарий.

Что касается определения того, кто изменил файл, вы можете рассмотреть вопрос о корреляции даты изменения и даты регистрации пользователей в качестве пользователя root / sudo. Конечно, я должен предупредить: это несколько безнадежная задача. Пользователь-мошенник с способностями root может изменять журналы и стирать присутствие этого пользователя, оставляя практически никаких указаний на то, кем он был. Пользователи, которые приобрели полномочия root, могут даже изменить ваш скрипт. В заключение, лучшая безопасность, чтобы избежать изменения вашего чувствительного файла, - это предотвращение того, чтобы кто-либо мог открыть этот файл в первую очередь.

0
ответ дан 18 July 2018 в 09:45

Pyinotify, простой подход

Поскольку вы запросили Python среди возможных вариантов решений, есть модуль pyinotify Python. Я лично использую Python 3. Решение может быть таким же простым, как python3 -m pyinotify <FILE>, или вы можете написать полномасштабный скрипт, если это необходимо.

Вот пример в действии:

Script

Одна возможность настраиваемого скрипта может быть выполнена путем изменения учебника, предоставленного на . Поскольку вы беспокоитесь только об изменениях в файле, я применил сценарий только для этого, но его можно изменить, чтобы включить другие события.

#!/usr/bin/env python3 import pyinotify import sys class EventHandler(pyinotify.ProcessEvent): def process_IN_MODIFY(self, event): print("File",sys.argv[1]," was modified:",event.pathname) wm = pyinotify.WatchManager() mask = pyinotify.IN_MODIFY handler = EventHandler() notifier = pyinotify.Notifier(wm, handler) wdd = wm.add_watch(sys.argv, mask, rec=True) notifier.loop()

И вот небольшой тест:

enter image description here [!d5]

Принимая это дальше

В любом случае все, что вам нужно сделать, это запустить команду с правами root с помощью /etc/rc.local или через cron, и все. Вывод может быть отправлен либо в какой-либо файл журнала, либо для отправки уведомления администратору. Лично я запускаю две команды: одну с привилегиями root, которая записывает в файл журнала, а другую, которая отслеживает файл журнала для изменений и отправляет пользователю GUI-уведомление. Возможности здесь бесконечны, поэтому используйте свое воображение.

Поиск изменений может быть выполнен путем сохранения резервной копии файла (возможно, в начале сценария) и после изменения файла - запустите diff или через скрипт Python через enter image description here [!d5] . Вы также можете включить в уравнение проверку хешсумов md5 или sha256, но они не очень полезны, за исключением того, что они знали, что файл был изменен. Другая проблема заключается в том, что запуск скрипта notifier не предотвращает изменений, которые могли произойти, когда система была автономной, т. Е. Если кто-то загрузил Live USB или достал ваш жесткий диск и подключился к их машине, и только потом изменил файл. Это можно смягчить, зашифровав жесткий диск. Это также означает, что вы, вероятно, должны проверить изменения, как только начнется сценарий.

Что касается определения того, кто изменил файл, вы можете рассмотреть вопрос о корреляции даты изменения и даты регистрации пользователей в качестве пользователя root / sudo. Конечно, я должен предупредить: это несколько безнадежная задача. Пользователь-мошенник с способностями root может изменять журналы и стирать присутствие этого пользователя, оставляя практически никаких указаний на то, кем он был. Пользователи, которые приобрели полномочия root, могут даже изменить ваш скрипт. В заключение, лучшая безопасность, чтобы избежать изменения вашего чувствительного файла, - это предотвращение того, чтобы кто-либо мог открыть этот файл в первую очередь.

0
ответ дан 24 July 2018 в 19:25

Это может сработать: sudo inotifywatch -r /root/.bashrc

Для получения дополнительной информации см. справочную страницу.

0
ответ дан 22 May 2018 в 20:13
  • 1
    Скорее всего, да. Но "sudo" не требуется. Это должно быть сделано как «корень». и от cron. – Rinzwind 25 July 2017 в 00:05
  • 2
    Я немного изменил свой вопрос. Что будет эта команда при обнаружении изменений в файле? – StrangeRanger 25 July 2017 в 00:07
  • 3
    он расскажет вам, что произошло после того, как вы ctrl-C – Camden 25 July 2017 в 00:15

Это может сработать: sudo inotifywatch -r /root/.bashrc

Для получения дополнительной информации см. справочную страницу.

0
ответ дан 18 July 2018 в 09:45

Это может сработать: sudo inotifywatch -r /root/.bashrc

Для получения дополнительной информации см. справочную страницу.

0
ответ дан 24 July 2018 в 19:25
  • 1
    Скорее всего, да. Но "sudo" не требуется. Это должно быть сделано как «корень». и от cron. – Rinzwind 25 July 2017 в 00:05
  • 2
    Я немного изменил свой вопрос. Что будет эта команда при обнаружении изменений в файле? – StrangeRanger 25 July 2017 в 00:07
  • 3
    он расскажет вам, что произошло после того, как вы ctrl-C – Camden 25 July 2017 в 00:15

Другие вопросы по тегам:

Похожие вопросы: