Контрольная работа: Безпека в мережевій операційній системі FreeBSD
drwxrwxrwt -r-sr-sr-x 5 sys 3 root sys 367 sys 15688 Dec 19 Oct 25 20:29 /tmp 1995 /usr/bin/passwd
Таблиця 1.5. Операції зміни атрибутів файлу
Операція | Команда/системний виклик | Кому дозволено |
Зміна прав доступу | chmod(1) | Власник |
Зміна додаткового атрибута Sticky bit | chmod(1) | Суперкористувач |
Зміна додаткового атрибута SGID | chmod(1) | власник, причому його GID також повинний збігатися з ідентифікатором групи файлу |
Користувачі системи
Зараз же наша задача — розібратися, яку інформацію зберігає система про користувача. Для цього розглянемо фрагмент файлу /etc/passwd:
root :x:0:l:0000-Adinin( 0000) : /: /bin/bash daemon:х:1:1:0000-Admin(0000):/:
bin:x:2:2:OOOO-Admin(OOOO):/usr/bin:
sys:x:3:3:0000-Admin(0000) :/:
adm:x:4:4:0000-Admin(0000):/var/adm:
lp:x:71:8:0000-lp(0000):/usr/spool/lp:
uucp:x:5:5:0000-uucp(0000):/usr/lib/uucp:
nobody:x:60001:60001:uid no body:/:
andy:x:206:101:Andrei Robachevsky:/home/andy:/bin/bash
Кожен рядок файлу є записом конкретного користувача і має наступний формат:
name-.passwd-encod:UID:GID:comments:home-dir:shell — всього сім полів (атрибутів), розділених двокрапками.
Розглянемо докладніше кожний з атрибутів:
name | Реєстраційне ім'я користувача. Це ім'я користувач вводить у відповідь на запрошення системи login. Для невеликих систем ім'я користувача досить довільне. У великих системах, у яких зареєстровані сотні користувачів, вимоги унікальності змушують застосовувати визначені правила вибору імен. |
Password-encod |
Пароль користувача в закодованому виді. Алгоритми кодування відомі, але вони не дозволяють декодировать пароль. При вході в систему пароль, що набирається, кодується, і результат порівнюється з полем Password-encod. У випадку збігу користувачу дозволяється ввійти в систему. Навіть у закодованому виді доступність пароля представляє деяку небез-пеку, тому часто пароль зберігають в окремому файлі. Користувач, у даному полі якого є символ * , ніколи не зможе потрапити в систему. Як правило такий пароль мають псевдокористувачі. |
UID | Ідентифікатор користувача є внутрішнім представленням користувача в системі. Цей ідентифікатор успадковується задачами, що запускає користувач, і файлами, що він створює. По цьому ідентифікаторі система перевіряє користувальницькі права (наприклад, при запуску програми чи читанні файлу). Суперкористувач має UID == 0, що дає йому необмежені права в системі. |
GID | Визначає ідентифікатор первинної групи користувача. Цей ідентифікатор відповідає ідентифікатору у файлі /etc/group, що містить ім'я групи і повний список користувачів, що є її членами. Приналежність користувача до групи визначає додаткові права в системі. Група визначає загальні для всіх членів права доступу і тим самим забезпечує можливість спільної роботи (наприклад, спільного використання файлів). |
comments | Як правило, це повне "реальне" ім'я користувача. Це поле може містити додаткову інформацію, наприклад, телефон або адрес електронної пошти. Деякі програми (наприклад, flnger(l) і поштові системи) використовують це поле. |
home-dir | Домашній каталог користувача. При вході в систему користувач виявляється в цьому каталозі. Як правило, користувач має обмежені права в інших частинах файлової системи, але домашній каталог і його підкаталоги визначають область файлової системи, де він є повноправним хазяїном. |
shell | Ім'я програми, що FREEBSD використовує як командного інтерпретатора. При вході користувача в систему FREEBSD автоматично запустить зазначену програму. Звичайно це один зі стандартних командних інтерпретаторів /bin/sh (Bourne shell), /bin/csh (C shell) чи /bin/ksh (Kom shell), що дозволяють користувачу вводити команди і запускати задачі. В принципі, у цьому полі може бути зазначена будь-яка програма, наприклад, командний інтерпретатор з обмеженими функціями (restricted shell), клієнт системи керування базою даних чи навіть редактор. Важливо те, що, завершивши виконання цієї задачі, користувач автоматично вийде із системи. Деякі системи мають файл /etc/shells, що містить список програм, що можуть бути використані як командний інтерпретатор. |
Паролі
Наявність пароля дозволяє захистити ваші дані, а можливо (якщо суперкористувач) і всю систему в цілому. Уточнимо: наявність хорошого пароля, тому що невірно обраний пароль — серйозний недолік у безпеці системи.
Призначити або змінити пароль можна командою passwd(l). Звичайний користувач може змінити свій пароль, адміністратор може призначити пароль будь-якому користувачу.
Перед запуском програми passwd(l) варто тримати в голові загальне правило вибору пароля: пароль повинний добре запам'ятовуватися і бути важким для підбору.
Не рекомендується записувати пароль, його необхідно запам'ятати. Власне прізвище, кличка улюбленого собаки, рік і місяць народження, безумовно легкі для запам'ятовування, але такі паролі неважко підібрати. Багато систем пропонують пароль, згенерований самою системою. Передбачається, що він зовсім позбавлений якого-небудь змісту, тобто не містить імен, і звань і взагалі яких-небудь вимовних слів. Хоча система пропонує його у вигляді, зручному для запам'ятовування, це не завжди допомагає.
Багато систем вимагають, щоб пароль задовольняв наступним вимогам:
· довжина пароля не повинна бути менше шести символів;
· пароль повинний включати принаймні 2 алфавітних символи й одну цифру або спеціальний символ;
· пароль повинний містити хоча б 3 символи, що не зустрічалися у вашому попередньому паролі.
Паролі відіграють значну роль у забезпеченні безпеки системи. Загальні рекомендації, адресовані насамперед адміністраторам, можна звести до наступного:
1. У системі не повинне існувати незахищених користувальницьких входів. Це відноситься як до користувальницьких входів без пароля, так і до входів користувачів, що залишили систему. Якщо користувач тривалий час не працює в системі, видалите його чи запис хоча б захистите його вхід символом '*' у поле пароля.