Локальная система IDS анализирует различные факторы с целью выявления незаконного использования компьютера (вредоносной активности или злоупотреблений в сети) или вторжения (взлома извне). Такие IDS проверяют различные журналы (ядра, системы, сервера, сети, брандмауэра и т.д.) и сравнивают их с внутренней базой данных стандартных сигнатур известных атак. Локальные системы IDS для UNIX и Linux активно используют syslog и его возможность разделять регистрируемые события по уровням важности (например, незначительные сообщения принтера и важные предупреждения ядра). Команда syslog содержится в пакете sysklogd, включённом в состав Red Hat Enterprise Linux. Этот пакет предоставляет систему ведения журналов и перехвата сообщений ядра. Такие IDS фильтруют журналы (которые могут быть довольно подробными, как, например, некоторые журналы событий сети и ядра), анализируют их, назначают необычным сообщениям свой уровень важности и собирают их в специальном журнале для анализа администратора.
Локальная IDS также может проверять целостность важных файлов и исполняемых модулей. Она проверяет базу данных важных файлов (и всех файлов, заданных администраторов) и рассчитывает контрольную сумму каждого файла с помощью утилиты, вычисляющей выборку из сообщения (message digest), например md5sum (по 128-битному алгоритму) или sha1sum (по 160-битному алгоритму). Затем она сохраняет эти суммы в обычном текстовом файле и время от времени сравнивает их пересчитанными контрольными суммами файлов. Если контрольная сумма какого либо файла изменилась, IDS пошлёт администратору почтовое сообщение или SMS. Так работает система Tripwire, обсуждаемая в разделе 9.2.1 Tripwire.
Tripwire — самая популярная локальная IDS для Linux. Компания Tripwire, Inc., разработавшая Tripwire, открыла исходный код версии программы для Linux и лицензировала его на условиях, указанных в GNU GPL. Система Tripwire доступна по адресу http://www.tripwire.org/.
Замечание | |
---|---|
Tripwire не включается в состав Red Hat Enterprise Linux и не поддерживается. Это популярное приложение описано здесь для сведения пользователей, которые могут им заинтересоваться. |
Менеджер RPM-пакетов (RPM Package Manager, RPM) — ещё одна программа, которая может играть роль локальной IDS. RPM может разными способами анализировать пакеты и их содержимое. Его возможности проверки могут оказаться бесценными для администратора, подозревающего, что важные системные файлы и программы были изменены.
В приведённом ниже списке перечислены некоторые параметры RPM, предназначенные для проверки целостности файла в Red Hat Enterprise Linux. За полной информацией об использовании RPM обратитесь к Руководству по системному администрированию Red Hat Enterprise Linux.
Важно | ||
---|---|---|
Некоторые команды из следующего списка требуют, что бы вы добавили в связку ключей RPM открытый ключ Red Hat GPG. Этот ключ проверяет, что установленные в вашей системе пакеты содержат сигнатуру Red Hat, и тем самым подтверждает подлинность пакетов, выпущенных Red Hat. Загрузить этот ключ можно, выполнив от имени root следующую команду (заменив <version> версией RPM, установленного в системе):
|
Параметр -V проверяет файлы установленного пакета с именем package_name. Если эта команда отработает и ничего не сообщит, это будет означать, что со времени обновления базы данных RPM ни один из этих файлов не был изменён. Если происходит ошибка, например, такая:
S.5....T c /bin/ps |
это означает, что файл изменён и вы должны решить, сохранить ли его (если это изменённый файл конфигурации в каталоге /etc/) или удалить и переустановить содержащий его пакет. В следующем списке перечислены элементы строки из 8 символов (S.5....T в приведённом выше примере), сигнализирующие об ошибке проверки.
. — Тест прошёл эту стадию проверки
? — Тест встретил файл, который не удалось прочитать, что, скорее всего, связано с правами доступа к файлу
S — Тест встретил файл, изменивший размер по сравнению с изначально установленным в системе
5 — Тест нашёл файл, контрольная сумма md5 которого не совпадает с контрольной суммой первоначально установленного файла
M — Тест выявил ошибку, связанную с правами доступа или типом файла
D — Тест встретил несовпадение старшего/младшего номера файлового устройства
L — Тест нашёл изменённую символическую ссылку, указывающую на другой файл
U — Тест нашёл файл, который стал принадлежать другому пользователю
G — Тест нашёл файл, который стал принадлежать другой группе
T — Тест встретил файл с ошибками проверки mtime
Параметр -Va проверяет все установленные пакеты и находит любые несоответствия (почти так же, как и параметр -V, но выводит более подробную информацию, так как он проверяет каждый установленный пакет).
Параметр -Vf проверяет избранные файлы установленного пакета. Это может быть полезно для быстрой проверки подозрительного файла.
Параметр -K полезен для проверки контрольной суммы md5 и GPG-подписи пакета RPM. Он проверяет, подписан ли пакет, который вы собираетесь устанавливать, Red Hat или другой компанией, открытый ключ GPG которой импортирован в вашу связку GPG. Если пакет не подписан правильно, вы увидите подобное сообщение об ошибке:
application-1.0.i386.rpm (SHA1) DSA sha1 md5 (GPG) NOT OK (MISSING KEYS: GPG#897da07a) |
Будьте внимательны, устанавливая неподписанные пакеты, так как они не одобрены Red Hat, Inc. и могут содержать вредоносный код.
RPM может быть мощным средством, что доказывают его средства проверки RPM-пакетов и установленных файлов. Настоятельно рекомендуется после установки Red Hat Enterprise Linux скопировать содержимое каталога с базой данной RPM (/var/lib/rpm/) на носитель только для чтения, например, на CD-ROM. Это позволит вам выполнять проверку файлов и пакетов по этой базе только для чтения, а не по базе, находящейся в системе, которую злоумышленники могут изменить и подтасовать результаты.
Ниже перечислены некоторые другие существующие локальные системы обнаружения вторжения. За дополнительной информацией относительно установки и настройки обратитесь к сайтам соответствующих утилит.
Замечание | |
---|---|
Эти приложения не включены в состав Red Hat Enterprise Linux и не поддерживаются. Эти популярные приложения описаны здесь для сведения пользователей, которые могут ими заинтересоваться. |
SWATCH http://sourceforge.net/projects/swatch/ — Простой наблюдатель (Simple WATCHer, SWATCH) анализирует файлы журналов syslog в соответствии со своими файлами конфигурации и оповещает администраторов об аномалиях. SWATCH способен регистрировать любые события, заданные пользователем в файле конфигурации; однако, принято настраивать его в качестве локальной IDS.
LIDS http://www.lids.org/ — Система обнаружения вторжения для Linux (Linux Intrusion Detection System, LIDS) — дополнение ядра и административный инструмент, который также способен контролировать изменение файлов с помощью списков управления доступом (ACL) и защищать процессы и файлы, даже от пользователя root.