Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Безпека.docx
Скачиваний:
164
Добавлен:
31.08.2019
Размер:
6.2 Mб
Скачать

12.3.4. Підсистема реєстрації

Система UNIX має розвинену підсистему реєстрації, яку називають syslog. Осно­ву цієї системи становлять програма-демон syslogd та її конфігураційний файл /etc/syslog.conf. Також до складу системи входять бібліотечні програми openlog, syslog, closelog, які використовуються для обміну даними з програмою syslogd, а також програма logger. Програми, які використовують систему syslog, запису­ють реєстраційні дані за допомогою системного виклику syslog () у спеціальний файл /dev/log. У деяких системах є також файл пристрою /dev/klog, з якого сис­тема syslog читає повідомлення ядра операційної системи.

Файл /etc/syslog.conf має дуже простий формат. Це текстовий файл (як і пе­реважна більшість конфігураційних файлів UNIX), кожний рядок якого має два поля, розділених знаком табуляції. Перше поле — це список селекторів (Selector), що вказує, яких подій стосується цей рядок. Селектор визначає тип події за двома ознаками: підсистеми (Facility), що надсилає інформацію про подію, та рівня критичності події. І підсистему (наприклад, mail — система електронної пошти, kern — ядро), і рівень (наприклад, info, warning, alert) задають визначеними клю­човими словами, які складають дуже невеликий список. У сучасних реалізаціях syslog крім визначених підсистем можна також вказувати програму, яка генерує повідомлення про події.

Друге поле визначає дію, яку слід виконати для визначеної селектором події. Найчастіше в цьому полі зазначається ім'я файлу (журналу реєстрації), до якого слід зробити запис. Також можна задавати ідентифікатор користувача, якого слід повідомляти про подію, або мережне ім'я віддаленого комп'ютера, на який слід переслати цю інформацію (при цьому повідомлення надсилається системі реєс­трації syslog, що має функціонувати на віддаленому комп'ютері).

Файли системних журналів реєстрації можуть бути розміщені в різних місцях, їх місцезнаходження легко визначити з конфігураційного файлу /etc/syslog.conf. Типове місце розташування журналів реєстрації — /var/log. Перевагою syslog є її гнучкість. Система дає змогу легко встановлювати централізований сервер реє­страції подій у мережі, що значно підвищує її безпеку: навіть якщо порушник ском­прометував окрему систему і має можливість видалити з неї усі важливі записи журналів реєстрації, він не зможе видалити такі записи з віддаленого сервера.

Система syslog надає всім програмам зручний механізм реєстрації системних подій. Якщо програма вносить зміни до конфігураційного файлу, вона має змуси­ти syslogd перечитати конфігураційний файл, щоб зміни вступили в дію. З цією метою процесу syslogd необхідно надіслати сигнал hup, для чого потрібен іденти­фікатор цього процесу. Такий ідентифікатор міститься у файлі /etc/syslog.pid (для деяких систем — у файлі /var/run/syslog.pid). Є програми, що нехтують сис­темою syslog, встановлюючи власні правила реєстрації подій та файли реєстрації.

Окрім syslog, у деяких системах (наприклад, Solaris) є окрема система реєстрації невдалих спроб завантаження системи (файл /var/adm/loginlog), система реєстрації спроб su (файл /var/adm/sulog), а також система реєстрації подій входу-виходу користувачів (файл /var/adm/wtmp, команда last).