Файл конфигурации состоит из двух полей: объект протоколирования и файл, в который будут записываться сообщения, порождаемые этим объектом. Для каждого объекта можно указать один из уровней протоколирования:
• debug – отладочная информация;
• info – просто информация;
• notice – уведомление;
• warn – предупреждение;
• err – ошибка;
• emerg – критический уровень.
Первые три уровня протоколирования относятся к информационным сообщениям. Уровень warn – это предупреждения, a err – ошибки. Помимо этого, существуют критические сообщения, которые выводятся прямо на консоль. Для обозначения объектов и для обозначения уровней протоколирования можно использовать символ *, который обозначает все объекты или все уровни.
Сетевое протоколированиеДля обеспечения повышенной защищенности сети все сообщения можно хранить не на локальном компьютере, а передавать по сети на специальный сервер, на котором будет находиться база log-файлов компьютеров, подключенных к сети.
Для передачи сообщений используется протокол UDP. Для нормального функционирования необходимо в файле /etc/service раскомментировать строку syslog 514/udp.
После этого необходимо внести изменения в файл конфигурации /etc/syslog.conf – вместо файлов протоколов используйте параметр @hostname, где hostname – это имя компьютера, на который будут перенаправлены сообщения.
Имя узла желательно указать в файле /etc/hosts, поскольку демон syslogd обычно стартует раньше, чем сервер DNS.
Демон klogd
Демон klogd предназначен для перехвата и протоколирования сообщений ядра Linux. В табл. 27.2 приведены основные параметры командной строки демона klogd.
Таблица 27.2.По умолчанию демон klogd вызывается системным вызовом для того, чтобы препятствовать отображению всех сообщений на консоль. Это не распространяется на критические сообщения ядра (kernel panic). Эти сообщения в любом случае будут отображены на консоли.
Защита системы после взлома
Правда, несколько странное название раздела? Как это – защита системы
Взломы операционной системы бывают разные. Самый простой вариант – какой-то подросток начитался литературы или нашел в Интернете программку-взламыватель, например sendmail, применил свои псевдознания к вашей системе, пошалил – удалил что-то с вашего компьютера или, наоборот, оставил послание – "ваш компьютер взломан супер-хакером Васей" и ушел, причем, зачастую, не уничтожив следы своего воздействия на компьютер. На такой простой случай вам рассчитывать не стоит. Как правило, серьезный взлом подготавливается долгое время, и о нем вы узнаете, например, от администратора какого-нибудь сервера на другом конце земного шара, да и то потому, что от вас на его сервер идет очень большой трафик или еще по каким-либо косвенным признакам. Такой взлом преследует чисто прагматические цели – воспользоваться вашей системой для дальнейшего взлома других компьютеров, устроить на вашем сервере хранилище файлов или что-нибудь в подобном роде. Причем взломщик после себя всегда оставляет на вашем компьютере набор специальных утилит, называемых rootkit.
Rootkit
Rootkit (набор инструментов администратора) – это набор утилит, которые взломщик устанавливает на взломанном компьютере после получения первоначального доступа. Rootkit обычно содержит сетевой sniffer (утилиту, способную получать и обрабатывать
Основное назначение rootkit – позволить взломщику возвращаться во взломанную систему и получать доступ к ней, не будучи при этом обнаруженным системным администратором. Обычно для этого используется модифицированная версия telnetd или sshd. Модифицированный сервис будет использовать сетевой порт, отличный то того, который этот демон по умолчанию прослушивает. Большинство версий rootkit снабжены модифицированными системными программами, которые замещают существующие во взломанной системе. Конкретный набор модифицируемых системных утилит весьма зависит от версии rootkit и нужд и квалификации взломщика, но, как правило, заменяются программы ps, w, who, netstat, Is, find, login и другие, которые могут быть использованы для контроля за работой взломанной системы.
Для усложнения обнаружения подмены системных утилит большинство rootkit, производя замену системных утилит на модифицированные версии, устанавливают точно такие же даты их создания и размеры файлов, поэтому простой список файлов с датой их создания и модификации и размером никакой пользы в обнаружении подмены системных утилит не принесет. Исходя из этого, пожалуй, лучший способ обнаружения подмены системных утилит – получить контрольную сумму файлов в системе и сохранить этот список в надежном месте – на другом компьютере или на компакт-диске.
В принципе, можно воспользоваться возможностями, предоставляемыми менеджером пакетов RPM – контрольной суммой пакета, рассчитанной по алгоритму MD5. При этом RPM использует контрольные суммы пакетов, хранящиеся в базе данных установленных RPM. Как легко заметить, данный способ не подходит для обнаружения опытных взломщиков. Причин к тому две.
• В вашей системе могут быть установлены программы не из RPM, а скомпилированные из исходных кодов – совершенно очевидно, что ваш менеджер пакетов абсолютно ничего не знает о программах, устанавливаемых без помощи RPM.
• База данных RPM находится на взломанном компьютере, и взломщику не составляет труда модифицировать ее нужным образом или вообще повредить ее.
Для решения этой проблемы обычно используются специализированные программные пакеты, например Tripwire или AIDE, о которых мы поговорим несколько позже.
Помимо вышеперечисленного, некоторые rootkit содержат сетевой анализатор пакетов и утилиты для записи нажатий клавиатурных кнопок, что позволяет взломщику с целью получения необходимой информации организовать сбор паролей и анализ сетевого трафика.
Наибольшую угрозу для безопасности вашей системы представляют rootkit, использующие загружаемые модули ядра (Loadable Kernel Module, LKM), что позволяет не подменять системные утилиты, а нарушать их правильное функционирование через ядро операционной системы.