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

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

Наскільки захищений ваш Linux?

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

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

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

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

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

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

Руткіти, наприклад, Ryuk, можуть заражати комп’ютери навіть у вимкненому стані, використовуючи функцію пробудження по локальній мережі. Концептуальний код вже розроблено. Дослідники з Університету імені Бен-Гуріона в Негеві продемонстрували успішну “атаку”, яка дозволяє зловмисникам викрадати дані з комп’ютера з повітряним зазором.

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

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

І ось тут на допомогу приходить Lynis.

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

Щоб встановити Lynis в Ubuntu, скористайтеся цією командою:

sudo apt-get install lynis

Для Fedora введіть:

sudo dnf install lynis

Для Manjaro використовуйте pacman:

sudo pacman -Sy lynis

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

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

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

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

sudo lynis audit system

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

У першому розділі аудиту буде наведено версію Linux, версію ядра та іншу системну інформацію.

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

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

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

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

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

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

Зелений “V” означає, що тест пройдено. Також можуть з’являтися жовті знаки питання та червоні “X”.

У нас є зелені галочки, тому що брандмауер та сканер шкідливого програмного забезпечення активні. З метою тестування ми також встановили rkhunter, детектор руткітів, щоб перевірити, чи виявить його Lynis. Як бачите, Lynis його знайшов і біля “Сканера шкідливого програмного забезпечення” з’явилася зелена галочка.

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

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

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

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

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

Усунення попереджень

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

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

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

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

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

Щоб відредагувати файл згідно з рекомендацією Lynis, введіть:

sudo gedit /etc/postfix/main.cf

Знайдіть в файлі рядок, що визначає банер.

Відредагуйте його, щоб він відображав текст, рекомендований Lynis.

Збережіть зміни і закрийте gedit. Тепер необхідно перезапустити поштовий сервер postfix, щоб зміни набули чинності:

sudo systemctl restart postfix

Запустіть Lynis ще раз, щоб побачити, чи вплинули зміни.

У розділі “Попередження” залишилося лише чотири. Попередження, що стосується postfix, зникло.

Одним попередженням стало менше, але все ще залишається 4 попередження і 50 пропозицій!

Наскільки глибоко потрібно занурюватись?

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

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

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