Безпека, лабораторія юного линуксоида

Introduction to Linux. A Hands on Guide -
Введення в Linux. Керівництво по роботі

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

Можливо, ви не знаєте, чи стосується це до вашого домашнього або робочого комп'ютера. Питання, які вам слід задати собі, повинні бути наступними:

  • Ви хочете мати контроль над власною системою?
  • Чи хочете ви (мимоволі) брати участь у злочинній діяльності?
  • Ви хочете, щоб ваше обладнання використовувалося кимось іншим?
  • Ви хочете мати можливість втратити підключення до Інтернет?
  • Вам подобається відновлювати вашу систему кожен раз, коли вона була зламана?
  • Ви хочете ризикувати втратити особисті чи інші дані?

Припустимо, що ви всього цього не хочете; ми розпишемо кілька кроків, які ви можете зробити для захисту вашої машини.

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

Емпіричне правило таке, що якщо ви не дізнаєтеся конкретну службу, ви, ймовірно, не потребуєте в ній. Також майте на увазі, що деякі служби насправді не призначені для використання через Інтернет. Не покладайтеся на те, що запущено все, що повинно бути запущено, перевірте, які сервіси прослуховуються на TCP-портах, використовуючи команду netstat:

Чого слід уникати:

  • exec, rlogin, rsh і telnet просто про всяк випадок.
  • X11 на серверах.
  • Відсутність lp, якщо жоден принтер фізично підключений.
  • Немає MS Windows хостів в мережі, не потрібно Samba.
  • Не допускайте FTP, якщо сервер FTP не потрібно.
  • Не дозволяйте NFS і NIS через Інтернет, вимкніть усі супутні служби на автономної установці.
  • Чи не запускати MTA, якщо ви не перебуваєте на поштовому сервері.
  • .

Зупиніть запущені служби за допомогою команди chkconfig. скриптів init або шляхом редагування конфігураційного файлу (x) inetd.

регулярне оновлення

Здатність швидко адаптуватися в постійно мінливому середовищі дозволяє Linux процвітати. Але це також створює ймовірність того, що оновлення безпеки випускаються після того, як ви встановили нову версію дистрибутива; тому перше, що потрібно зробити (і це стосується будь-якої ОС) після установки - отримати і встановити всі доступні оновлення.

Деякі оновлення можуть знадобитися нові конфігураційні файли, а старі файли можуть бути замінені. Перевірте документацію і переконайтеся, що все працює нормально після оновлення.

Більшість Linux дистрибутивів пропонують сервіси списків розсилки для повідомлення про оновлення безпеки та інструменти для застосування оновлень до системи.

Оновлення являє собою безперервний процес, тому відбувається майже щодня.

Брандмауери і політики доступу

Що таке брандмауер (фаєрвол)?

У попередньому розділі ми вже згадували можливості брандмауера (брандмауера) в Linux. Хоча управління ним є одним із завдань вашого мережевого адміністратора, ви повинні знати деякі речі про фаєрвол.

Брандмауер - нечітко визначений термін, він може означати все, що діє як захисний бар'єр між нами і зовнішнім світом, як правило, Інтернет. Брандмауер може бути вбудованим в систему або окремим додатком, яке забезпечує подібну функціональність. Або це може бути поєднання компонентів, в тому числі різні комбінації апаратного та програмного забезпечення. Міжмережеві екрани побудовані з "правил", які використовуються для визначення того, чого дозволено входити і / або виходити на даній системі або в мережі.

Після відключення непотрібних служб, ми повинні обмежити запущені служби таким чином, щоб дозволити їм тільки мінімально необхідні з'єднання. Прекрасним прикладом є робота на дому: має бути дозволено тільки строго певне з'єднання між вашими офісом і будинок, з'єднання з іншими машинами в мережі Інтернет повинні бути заблоковані.

пакетні фільтри

Першою лінією оборони є пакетний фільтр, який може переглядати вміст IP-пакетів і приймати рішення виходячи з їх змісту. Найпопулярнішим є пакет Netfilter, що надає команду iptables. наступне покоління пакетних фільтрів для Linux.

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

Shoreline Firewall або Shorewall є інтерфейс для доступу до стандартної функціональності брандмауера в Linux.

обгортки TCP

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

Переваги оболонок TCP в тому, що підключився клієнт не знає, що використовуються обгортки, і що вони працюють окремо від додатків, які вони захищають.

На хості доступ контролюється в файлах hosts.allow і hosts.deny. Більш детальну інформацію можна знайти в файлах документації обгортки TCP в / usr / share / doc / tcp_wrappers [- /] або / usr / share / doc / tcp і в man-сторінках для файлів контролю доступу хоста, там же містяться приклади.

Проксі-сервери можуть виконувати різні завдання, і не всі з них мають безпосереднє відношення до безпеки. Однак ці служби є проміжною ланкою, яке робить проксі прекрасним місцем для застосування політики управління доступом, обмеження прямого з'єднання через брандмауер і контролю того, як мережа після проходження через проксі виглядає в Інтернет.

Зазвичай в поєднанні з пакетним фільтром, але іноді і самі по собі, проксі-сервери забезпечують додатковий рівень контролю.

Доступ до окремих програм

Деякі сервери можуть мати свої власні засоби контролю доступу. Наприклад, Samba, X Window, Bind, Apache і CUPS. Для кожної служби використовуються певні файли конфігурації.

файли журналів

У всякому разі UNIX-шлях фіксації всіх видів діяльності на всіх видах файлів підтверджує, що "це щось робить". Звичайно, файли журналів повинні регулярно перевірятися вручну або автоматично. Міжмережеві екрани і інші засоби контролю доступу, як правило, створюють величезну кількість log-файлів, так що проблема полягає в тому, щоб спробувати знайти в них тільки ненормальну активність.

виявлення вторгнень

Системи виявлення вторгнень (Intrusion Detection Systems - IDS) призначені зловити те, що, можливо, пропустив брандмауер. Вони можуть також бути призначені для уловлювання активної спроби злому або для виявлення вже доконаного вторгнення. В останньому випадку вже занадто пізно, щоб запобігти будь-яке пошкодження, але принаймні ми усвідомили проблему на ранній стадії. Існують два основних типи IDS: захищають мережі та захищають індивідуальні хости.

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

Виявлене вторгнень обробляється системою, яка бачить весь трафік, який пропускає брандмауер.

додаткові поради

Деякі загальновідомі факти, які слід мати на увазі:

Мене хакнули?

Як ви можете про це здогадатися? Це контрольний список підозрілих подій:

  • Таємничі відкриті порти, дивні процеси.
  • Системні утиліти (часто використовувані команди) поводяться дивно.
  • Увійти в систему проблемно.
  • Незрозумілий використання пропускної здатності мережі.
  • Пошкоджені або відсутні файли журналів, дивна поведінка демона syslog.
  • Інтерфейси в незвичайних режимах.
  • Несподівано зміна конфігураційних файлів.
  • Дивні записи в файли історії оболонки.
  • Невідомі тимчасові файли.

Відновлення після вторгнення

Отже, зберігайте спокій. Потім виконайте наступні дії в зазначеному порядку:

  • Вимкніть комп'ютер від мережі.
  • Постарайтеся з'ясувати, наскільки це можливо те, яким чином безпека була порушена.
  • Створіть резервну копію важливих несистемних даних. Якщо це можливо, порівняйте ці дані з існуючими резервними копіями, зробленими до того як системи була зламана, для забезпечення цілісності даних.
  • Переінсталюйте систему.
  • Використовуйте нові паролі.
  • Відновлення резервні копії даних.
  • Застосуйте всі доступні оновлення.
  • Переглянути систему: заблокуйте непотрібні служби, перевірте правила брандмауера і інші політики доступу.
  • Підключіться до мережі.