Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
LR_1-6.doc
Скачиваний:
7
Добавлен:
14.11.2019
Размер:
5.18 Mб
Скачать

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

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

Файл /etc/syslog.conf має дуже простий формат. Це текстовий файл (як і переважна більшість конфігураційних файлів Unix), кожна строка якого має вигляд:

<селектор> <Tab> <дія>

<селектор> має формат:

<засіб>.<рівень>,

де <засіб> – це система, від якої надходить повідомлення (наприклад, mail – система електронної пошти, kern – ядро, та інші), <рівень> – це ступінь критичності повідомлення (наприклад, info, warning, alert). <засіб> і <рівень> вибирають із досить невеликого списку ключових слів. <дія> – це ім'я файлу, до якого слід зробити запис, або ідентифікатор користувача, якого слід повідомити про подію, або мережеве ім'я віддаленого комп'ютера, на який слід переслати цю інформацію (останнє є досить ефективним засобом захисту журналу реєстрації від модифікації його зловмисником). Дозволяється в одному записі конфігураційного файлу розміщувати список селекторів, або в одному селекторі використовувати список засобів та/або список рівнів.

Файли системних журналів реєстрації можуть знаходитись в різних місцях, їх місцезнаходження легко визначити з конфігураційного файлу /etc/syslog.conf.

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

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

Характерні вразливості системи Unix

Системі Unix вже більше 30 років. За цей час вона пройшла великий шлях розвитку і підвищення ступеню безпеки. Однак і по цей день система має певні притаманні їй недоліки, які досить часто виявляються причиною знайдених вразливостей системи. Розглянемо тільки ті потенційні вразливості, які не пов'язані з роботою в мережі.

Одним з принципових недоліків системи Unix є наявність в ній суперкористувача, тобто користувача, для якого ігноруються правила розмежування доступу. Фактично, суперкористувач має доступ по любому методу до всіх файлів в системі. В деяких сучасних Unix'ах забороняється безпосередній вхід суперкористувача в систему, і підтримується розподіл ролей адміністраторів системи.

Небезпечною є наявність в системі багатьох конфігураційних файлів, вміст яких є критичним для безпеки системи. Захист цих файлів здійснюється штатними засобами розмежування доступу, що не завжди достатньо. Великим кроком по підвищенню безпеки Unix'у стало впровадження "невидимого" файлу /etc/shadow (або /etc/master.passwd).

Дуже серйозну загрозу безпеці становлять програми з встановленими флагами SUID або SGID. Саме через помилки в таких програмах, або в функціях ядра системи, які роблять виклики таких програм, і з'являється переважна більшість вразливостей системи, що дозволяють звичайному користувачеві отримати повноваження суперкористувача. На жаль, повністю відмовитись від таких програм неможливо, оскільки під час роботи звичайний користувач час від часу має звертатись до системних файлів або таблиць, довільний доступ до яких йому заборонено. Хрестоматійним прикладом є зміна власного паролю, що вимагає доступу на запис до файлу /etc/master.passwd.

Базова система розмежування доступу на основі 12-бітного вектору вважається на теперішній час недостатньо гнучкою. Крім того, кількість методів доступу, що розрізняються підсистемою розмежування доступу Unix (читання, запис, виконання) теж не є достатньою. Наприклад, запис в файл зі зміною даних, що містяться в ньому, і додавання інформації в кінець файлу без права на модифікацію даних, що були записані раніше, — це фактично різні види доступу. При цьому сама система Unix на рівні системних викликів при відкриванні файлу розрізняє ці види доступу, а підсистема розмежування доступу — ні. В деяких сучасних системах з сімейства Unix на додаток до базової системи розмежування доступу додається система зі списками прав доступу, подібна до реалізованої в системі Windows NT. Також в ряді випадків добудовують систему нормативного (mandatory) керування доступом, підвищуючи клас захищеності системи за "Оранжевою книгою" до групи В.

Ряд недоліків має система реєстрації. Найголовнішим з них є те, що журнали аудиту є звичайними файлами, що захищені від модифікації стандартними засобами розмежування доступу. Якщо в результаті успішної атаки зловмисник отримав права суперкористувача, він має можливість знищити або модифікувати в журналі аудиту всі записи, що стосуються його атаки.

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

Однак взагалі позитивні риси Unix'у мають перевагу над її недоліками. Незважаючи на безпрецедентно довгий вік, операційна система Unix продовжує розвиватись, задовольняючи все жорсткіші вимоги безпеки для систем загального призначення. Дороблені системи Unix атестовані на класи В1 (Trusted Irix, Trusted Solaris) та В2 (Trusted Xenix) за "Оранжевою книгою".

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]