Перекладено Добровольським А.М.© 2001.
7. Основні правила безпеки
7.1 Вступ
Людина
влаштована таким чином, що задумується про питання безпеки лише
після того, як відчує на собі наслідки недбалого ставлення до
цієї проблеми.
Стосовно
комп'ютерної безпеки, найчастіше лише аварія системи або втрата
важливих данних примушує згадати про те, що цього можно було легко уникнути, дотримуючись не складних
правил:
Своєчасно
поновлюйте програмне забезпечення. Автори комплекту докладають максимум
зусиль до виявлення та виправлення помилок, що зачіпають безпеку системи.
Підпишіться на список розсилки security-announce@altlinux.ru, щоб бути
вчасно поінформованим про нові версіі програм, що виправляють помилки
в галузі безпеки.
Дотримуйтесь
розумної політики у використанні паролей для користувачів. Не використовуйте
паролі, про які інструмент passwd повідомляє, що вони погані.
Не
працюйте привілейованим користувачем.
Не
запускайте ті служби, якими ніхто не буде користуватися.
Дотримуйтеся
головних правил безпеки в мережі:
Налаштуйте
firewall між своїм комп'ютером та залишком мережи, а також між корпоративною
мережою та світовою.
Використовуйте
захищені протоколи для пересилки данних, такі як IPSEC (IP Security)
та SSH (Secure Shell).
Не
використовуйте електронну пошту для пересилання приватних відомостей;
коли використання електронної пошти в цих цілях необхідно, наприклад,
через відсутність технічноі можливості застосування захищених протоколів
пересилки данних, то скористайтесь GnuPG для підпису та шифрування поштових
повідомлень.
Використовуйте
різні паролі для місцевих ресурсів та ресурсів, що розташовані на удалених
обслуговувачах з тим, щоб паролі до місцевих ресурсів не виходили за межи
місцевої мережи.
Пам'ятайте
також, що автори комплекту постаралися зробити вашу систему безпечною
"з коробки" і не псуйте цей захист не подумавши.
7.2 Чому неможна працювати з правами root
Ні
для кого не секрет, що Linux є багатозадачною операційною
системою. Це значить, що вона розроблена з розрахунком на одночасну роботу
декількох користувачів. З урахуванням цього, уся буденна робота під Linux, не
пов'язана з наглядом за системою, може і повинна виконуватися звичайними
користувачами. Цього правила необхідно дотримуватися для того, щоб:
вірогідність
того, що Ваша випадкова помилка зіпсує всю систему, була зведена до мінімуму;
вірогідність
того, що можливі помилки в програмах, що Ви використовуєте, зіпсують всю
систему, була зведена до мінімуму.
На
жаль, немала частина ПО написана безграмотно с точки зору security.
Запускаючи такі програми звичайним користувачем, Ви тим самим
автоматично ускладнюєте процедуру вторгнення до Вашої системи потенційних
зламників.
В
Linux-Mandrake RE налаштування для користувача root визначаються специфікою
його завдань, і тому не пристосовані для щоденної діяльності й лише обмежено
локалізовани.
7.3 Налаштування sudo
Sudo
- це програма, розроблена на допомогу наглядачеві за системою, що дозволяє
делегувати ті чи інші привілейовані ресурси користувачу, з веденням
протоколу роботи. Основна ідея - делегувати користувачам як можно
меньше прав, але наряду з цим рівно стільки, скільки треба для вирішення
поставлених завднь.
Sudo
надає можливість користувачам виконувати команди від імені root'а
або іншого користувача. Правила, що їх використовує sudo
для прийняття рішення
про надання доступу, знаходяться в файлі /etc/sudoers
. Мова написання
правил для sudo
та приклади використання детально викладені в sudoers(5)
.
Крім того, приклад правил, що надають користувачам які є членами
групи rpm, можливість встановлювати, поновлювати та видаляти пакети в системі,
наведено в файлі /usr/share/doc/sudo-<назва_версіі>/rpm.sudoers
.
Для
редагування файла /etc/sudoers
треба використовувати програму visudo
,
яка перевіряє синтаксис і тим самим дозволяє уникнути помилок в правилах.
В
більшості випадків грамотне налаштуання sudo
робить роботу root'ом непотрібною.
7.4 Налаштування firewall
Firewall
є, мабуть, найбільш важливим компонентом в системі захисту внутрішньої
мережи від вторгнень з зовні та регулювання доступу користувачів внутрішньої
мережи до ресурсів за її межами.
Створення
firewall'а починається з визначення політики безпеки в тій мережі, для
якої він розроблюється. Для цього:
визначте
служби, що використовуються;
визначте
групи користувачив;
визначте,
до яких служб які групи користувачів повинні мати доступ;
проголосіть
всі інші форми доступу забороненими.
Як
тільки політика безпеки для мережи визначена, можно переходити до створення
правил для певного firewall'а. У випадку ядра з серіі 2.2 синтаксис
правил має назву ipchains
, а для ядра з серіі 2.4 - iptables
.
Самі
правила можно створювати руками або за допомогою допоміжних інструментів
налаштування, наприклад, gfcc
.
Рекомендаціі
з побудови політики безпеки мережи, а також детальну документацію
по ipchains
та iptables
можно знайти в
7.5 Secure Shell
Одне
з самих розповсюджених завдань, що виникають під час роботи в мережі - віддалений
shell-доступ до інших машин та надання такого доступу.
Для
вирішення цієї проблеми використовується ставший вже традиційним протокол SSH
(Secure Shell). На відміну від застарілих протоколів, таких як telnet та
rsh/rlogin/rcp
, які передають данні прямим текстом та можуть прослуховуватися звичайними
засобами та нестійкі до інших атак, SSH встановлює з'єднання з віддаленим
комп'ютером, захищене від
прослуховування
данних, що передаються по такому з'єднанню;
маніпулювання
данними на шляху від клієнта до обслуговувача;
підміни
клієнта або обслуговувача шляхом маніпулювання IP-адресами, DNS або маршрутизією.
На
додаток до відмінних характеристик в галузі забезпечення безпечного
з'єднання клієнт-обслуговувач, SSH має наступні можливості:
стиснення
данних, що передаються;
тунелювання
каналов в межах встановленого з1єднання, а також тунелювання з'єднань з
X-обслуговувачем;
широка
розповсюдженість: існують варіанти SSH для самих різних апаратних
платформ та операційних систем.
OpenSSH
- це варіант, що входить до комплекту SSH, вона підтримує версіі 1.3,
1.5 та 2.0 протокола SSH, та розповсюджується на умовах ліцензіі BSD. Ця
версія має:
програми клієнти - ssh
, scp
та
sftp
- використовуються для запуска програм на віддалених
обслуговувачах та копіювання файлів в мережі;
порграми обслуговувачі - sshd
,
sftp-server
- використовуються для надання доступу
за протоколом SSH;
допоміжні
програми: make-ssh-known-hosts
, rescp
, ssh-keygen
, ssh-add
, ssh-agent
,
ssh-copy-id
, ssh-keyscan
.
В подробицях
відомості про використання цих програм міститься в
man-сторінках, що до них додаються.
7.6 Вибір рівня захисту в Mandrake
Можливість
вибору рівня захисту - власна розробка MandrakeSoft. Прочитайте
цей розділ особливо уважно. Вибір надто низького рівня робить систему
беззахисною, серед усього, і від ваших випадкових дій, але, невиправданий
вибір високого рівня зробить роботу в ній незручною.
Основою
системи визначення рівня захисту є пакет msec
, що входить в число
базових, встановлюються завжди. Для зручності налаштування створено також
програма взаємодії з користувачем draksec. Стандартно, draksec
дозволяє обрати
з трьох рівнів захисту, проте, якщо її запустити з параметром -expert,
отримаєте вибір з чотирьох рівнів. Досвічений користувач може також
визначити свій рівень, вивчивши механізм роботи msec
.
Якщо
Ви не бажаєте користуватися draksec
, то можете викликати
де
x -рівень захисту, або custom, якщо Ви бажаєте самі призначити всі параметри,
що визначають захист системи.
Linux-Mandrake
RE пропонує 3 рівня: 2-"Слабий", 3-"Середній" та 4-"Високий", які
ми розглянимо з подробицями.
Рівень
2 (він визначений слабким) прийнятний для тих, хто хоче дозволити звичайним
користувачам доступ, наприклад, до звукових можливостей системи без вводу
пароля root. На цьому рівні вже проводяться перевірки на захищеність системи
та "видаються" попередження про можливі загрози. Проте, якщо Ваша машина
підключена до місцевої мережи та/або Internet, то добре подумайте, чи варто
ризикувати. Ми радимо цей рівень для початківців.
Рівень
3 (середній) відповідає звичайному рівню захисту в попередніх версіях Linux-Mandrake
RE та Red Hat. В цьому режимі виконується перевірка відкритих портів системи,
проте, вони залишаються відкритими, доступними для всіх. Для роботи на цьому
рівні потрібні базові знання Linux, але для робочої станціі, що підключена
до Internet, він є цілком прийнятним. Якщо Ви не розбираєтесь досконало
в питаннях захисту системи, але не новачок в Linux, то, швидше за все, цей
рівень - для вас.
Рівень
4 (високий). Цей рівень задовольнить прискіпливих наглядачів за системою.
Стандартно, доступ в систему ззові заботонено.
Порівняльні
характеристики рівнів захисту наведено в таблиці.
?/div>
|
2
|
3
|
4
|
Загальна
перевірка захисту
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
З'єднання
з X-обслуговувачем дозволено
|
|
|
|
Доступ
користувачів до audio дозволено
|
|
|
|
|
|
|
|
Попередження
в файлі /var/log/security.log
|
|
|
|
Попередження
пересилаються на консоль
|
|
|
|
|
|
|
|
Попередження
відсилаються root по e-mail
|
|
|
|
Перевірка
на наявність новых або видалених suid root файлів
|
|
|
|
Перевірка
контрольной суми файлів suid root
|
|
|
|
Перевірка
файлів, загально доступних на запис
|
|
|
|
Перевірка
прав доступу до файлів налаштувань та каталогам користувачів
|
|
|
|
Перевірка
наявності нових або видалених suid group файлів
|
|
|
|
Перевірка
безхозних файлів
|
|
|
|
Перевірка
відкритих портів
|
|
|
|
Перевірка
наявності паролей та їх прихованості (shadow)
|
|
|
|
Перевірка
наявності паролей в shadow-файлі
|
|
|
|
Перевірка
захисту кожен день опівночі
|
|
|
|
Всі
повідомлення системи відображуються на 12-у консоль (/dev/tty12). Лише root
може "ctrl-alt-del"
|
|
|
|
Невідомі
для системи захисту служби заборонені
|
|
|
|
|
|
|
|
|
|
|
|
Налаштування, що Ви зробили, будуть збережені в файлі etc/security/msec/security.conf.
Увага!
Коли Ви задаєте питання до розсилки, то не забудьте вказати рівень
захисту системи.