Як перевірити безпеку системи Linux за допомогою Lynis

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

Наскільки захищений ваш комп’ютер Linux?

Lynis виконує набір автоматизованих тестів які ретельно перевіряють багато системних компонентів і налаштувань вашої операційної системи Linux. Він представляє свої висновки у кольоровому кодуванні ASCII звіт у вигляді списку попереджень, пропозицій та дій, які слід виконати.

Кібербезпека – це балансування. Відверта параноя нікому не корисна, тож наскільки ви повинні бути стурбовані? Якщо ви відвідуєте лише авторитетні веб-сайти, не відкриваєте вкладення та не переходите за посиланнями в небажаних листах, а використовуєте різні надійні паролі для всіх систем, у які ви входите, яка небезпека залишається? Особливо, коли ви використовуєте Linux?

Звернемося до них навпаки. Linux не захищений від шкідливих програм. По суті, найперший комп’ютерний хробак був розроблений для комп’ютерів Unix у 1988 році. Руткіти були названі на честь суперкористувача Unix (root) і набору програмного забезпечення (комплектів), за допомогою якого вони встановлюються, щоб уникнути виявлення. Це дає суперкористувачу доступ до суб’єкта загрози (тобто поганого хлопця).

Чому вони названі на честь кореня? Тому що перший руткіт був випущений в 1990 році і націлений на Sun Microsystems запуск SunOS Unix.

Отже, шкідливе програмне забезпечення зародилося в Unix. Він перестрибнув через паркан, коли Windows злетіли, і привернув увагу. Але тепер, коли світом керує Linux, він повернувся. Linux і Unix-подібні операційні системи, такі як macOS, привертають повну увагу суб’єктів загрози.

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

Руткіти, як Рюк, може заражати комп’ютери, коли вони вимкнені, компрометуючи файл пробудження по локальній мережі функції моніторингу. Код підтвердження концепції також розроблено. Вдалу «атаку» продемонстрували дослідники в Університет Бен-Гуріона в Негеві що дозволить суб’єктам загроз вилучити дані з комп’ютер з повітряним зазором.

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

  Як спростити DD за допомогою GdiskDump на Linux

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

І ось тут приходить Лініс.

Встановлення Lynis

Щоб встановити Lynis на Ubuntu, виконайте таку команду:

sudo apt-get install lynis

На Fedora введіть:

sudo dnf install lynis

На Manjaro ви використовуєте pacman:

sudo pacman -Sy lynis

Проведення аудиту

Lynis базується на терміналі, тому в ньому немає графічного інтерфейсу. Щоб почати аудит, відкрийте вікно терміналу. Клацніть і перетягніть його до краю монітора, щоб він розгорнувся на повну висоту або розтягніть його на всю висоту. Lynis має багато результатів, тому чим вище вікно терміналу, тим легше його буде переглянути.

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

Щоб розпочати аудит, введіть таку просту команду:

sudo lynis audit system

Назви категорій, назви тестів та результати будуть прокручуватися у вікні терміналу, коли кожна категорія тестів буде завершена. Аудит займає максимум кілька хвилин. Коли це буде завершено, ви повернетеся до командного рядка. Щоб переглянути результати, просто прокрутіть вікно терміналу.

Перший розділ аудиту визначає версію Linux, випуск ядра та інші деталі системи.

Області, які потрібно розглянути, виділені жовтим (пропозиції) та червоним (попередження, на які слід звернути увагу).

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

Нижче Lynis попереджає нас, що брандмауер не налаштовано на віртуальній машині Ubuntu, яку ми використовуємо.

Прокрутіть результати, щоб побачити, що позначила Лініс. Унизу аудиторського звіту ви побачите екран підсумку.

«Індекс загартування» – це ваш результат іспиту. Ми отримали 56 зі 100, що не дуже добре. Було проведено 222 тести та ввімкнено один плагін Lynis. Якщо ви перейдете до плагіна Lynis Community Edition сторінка завантаження і підпишіться на розсилку, ви отримаєте посилання на інші плагіни.

  Як грати в House Flipper на Linux

Існує багато плагінів, у тому числі для перевірки на відповідність стандартам, наприклад GDPR, ISO27001, і PCI-DSS.

Зелений V позначає галочку. Ви також можете побачити жовті знаки питання та червоні X.

Ми маємо зелені галочки, тому що у нас є брандмауер і сканер шкідливих програм. З метою тестування ми також встановили rkhunter, детектор руткітів, щоб побачити, чи знайде його Lynis. Як ви бачите вище, так і сталося; ми отримали зелену галочку біля «Сканер шкідливих програм».

Статус відповідності невідомий, оскільки аудит не використовував плагін відповідності. У цьому тесті були використані модулі безпеки та вразливості.

Створюється два файли: журнал і файл даних. Нас цікавить файл даних, розташований за адресою «/var/log/lynis-report.dat». Він міститиме копію результатів (без підсвічування кольором), які ми можемо побачити у вікні терміналу . Це стане в нагоді, щоб побачити, як ваш індекс затвердіння покращується з часом.

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

Ось п’ять попереджень:

«Версія Lynis дуже стара, і її слід оновити»: насправді це найновіша версія Lynis у сховищах Ubuntu. Хоча їй лише 4 місяці, Лініс вважає це дуже старим. Версії в пакетах Manjaro і Fedora були новішими. Оновлення в менеджерах пакетів завжди будуть трохи відставати. Якщо ви дійсно хочете останню версію, ви можете клонуйте проект з GitHub і тримати його синхронізованим.
«Пароль не встановлено для єдиного режиму»: Single – це режим відновлення та обслуговування, у якому працює лише користувач root. За замовчуванням для цього режиму не встановлено пароль.
«Не вдалося знайти 2 адаптивних сервера імен»: Лініс намагався зв’язатися з двома DNS-серверами, але безуспішно. Це попередження про те, що якщо поточний DNS-сервер не працює, автоматичного переходу на інший не буде.
«Знайдено деяку інформацію в банері SMTP»: розкриття інформації відбувається, коли програми або мережеве обладнання розкривають номери своєї марки та моделі (або іншу інформацію) у стандартних відповідях. Це може дати суб’єктам загроз чи автоматизованому зловмисному програмному забезпеченню уявлення про типи вразливостей, які потрібно перевірити. Після того, як вони визначать програмне забезпечення або пристрій, до якого вони підключені, простий пошук знайде вразливості, які вони можуть спробувати використати.
«модуль(и) iptables завантажено, але правила не активні»: брандмауер Linux запущено та працює, але для нього не встановлено жодних правил.

  Як використовувати команду chgrp в Linux

Очищення попереджень

Кожне попередження містить посилання на веб-сторінку, яка описує проблему та що ви можете зробити, щоб її усунути. Просто наведіть вказівник миші на одне з посилань, а потім натисніть Ctrl і клацніть його. Ваш браузер за замовчуванням відкриється на веб-сторінці для цього повідомлення або попередження.

Сторінка нижче відкрилася для нас, коли ми клацнули посилання, натиснувши Ctrl+, для четвертого попередження, яке ми розглянули в попередньому розділі.

Ви можете переглянути кожне з них і вирішити, на які попередження звертатися.

На веб-сторінці вище пояснюється, що фрагмент інформації за замовчуванням («банер»), який надсилається віддаленій системі, коли вона підключається до поштового сервера postfix, налаштованого на нашому комп’ютері Ubuntu, є надто багатослівним. Немає ніякої користі від пропонування забагато інформації — насправді її часто використовують проти вас.

На веб-сторінці також повідомляється, що банер знаходиться в «/etc/postfix/main.cf». Він повідомляє нам, що його слід обрізати, щоб показувати лише «$myhostname ESMTP».

Ми вводимо наступне, щоб відредагувати файл, як рекомендує Лініс:

sudo gedit /etc/postfix/main.cf

Ми знаходимо рядок у файлі, який визначає банер.

Ми редагуємо його, щоб показувати лише текст, рекомендований Лінісом.

Ми зберігаємо зміни та закриваємо gedit. Тепер нам потрібно перезапустити поштовий сервер postfix, щоб зміни набули чинності:

sudo systemctl restart postfix

Тепер давайте запустимо Lynis ще раз і подивимося, чи вплинули наші зміни.

У розділі «Попередження» тепер показано лише чотири. Того, що посилається на постфікс, немає.

Одне менше, і ще чотири попередження та 50 пропозицій!

Як далеко ви повинні йти?

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

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

Занести в чорний список драйвери ядра USB, щоб вимкнути доступ до USB, коли ви ним не користуєтеся? Для критично важливого комп’ютера, який надає чутливі бізнес-послуги, це може знадобитися. Але для домашнього ПК Ubuntu? Ймовірно, ні.