Як перевірити, чи Linux-сервер чистий від rootkits / backdoors / botnets тощо?


9

У випадку, якщо сервер Linux виявився в Інтернеті з надзвичайно низькою політикою безпеки (r / w анонімні папки Samba, сервер бази даних Firebird з паролем адміністратора за замовчуванням, без брандмауера тощо), то як я можу переконатися, що система є не поставлено під загрозу без повного форматування та перевстановлення, доступу до нього лише віддалено через SSH?

Відповіді:


7

Зазвичай я б запропонував локальну перевірку за допомогою такого інструмента, як chkrootkit, але якщо єдиний спосіб запустити перевірку - зробити це віддалено, я б рекомендував спробувати Rootkit Hunter .

Rookit Hunter перевіряє руткіти та іншу таку активність, виконуючи такі тести (див. Інформацію про проект для більш детальної інформації):

  • MD5 хеш-порівняння
  • Шукайте файли за замовчуванням, які використовуються руткітами
  • Неправильні дозволи для файлів для двійкових файлів
  • Шукайте підозрювані рядки в модулях LKM та KLD
  • Шукайте приховані файли

Хочу додати, що, як говорили інші, єдиний вірний спосіб переконатись, що не було порушених служб, - це відновити його. Ці інструменти працюють добре, але вони не є 100% гарантією успіху.


2

OSSEC перевіряє наявність руткітів та виявляє підозрілу активність.


2

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

  • Видаліть комп’ютер з Інтернету
  • Резервне копіювання даних та налаштування інформації для видалення пристроїв
  • Формат зберігання
  • Перевстановіть базову / стандартну настройку / оновлення
  • Переконфігуруйте сервер, використовуючи старі дані в якості посилання
  • Відновити дані користувача

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

[текст посилання] [1] текст посилання текст посилання текст посилання текст

[1]: http://www.sans.org/reading_room/whitepapers/linux/linux-rootkits-beginners-prevention-removal_901 "Новачки Rootkits Linux"


2

Також не відповідь, яку ви хочете, але якщо є можливість, що система вкоренилася, може бути дуже важко бути на 100% впевненим, що система чиста. Рокітки створені таким чином, щоб їх було важко виявити. Якщо ви запускаєте різні кореневі перевірки, і це перевіряється чисто, то "швидше за все" ваша система чиста.

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


1

Тут вам дійсно потрібно проявляти активність. Немає надійного способу виявлення руткітів на машинах, тому потрібно запобігти їх потраплянню в першу чергу і знайти способи їх виявлення при вході (наприклад, через трипровідний простір і заблокований інтерфейс).

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


1

RKhunter, Tripwire тощо - це чудово, але насправді лише користь, якщо вони були встановлені до інциденту - це тому, що вони чудово підходять для визначення того, чи були змінені ключові файли. Якщо зараз встановити RKHunter і запустити його, він виявить включення багатьох руткітів, але він не виявить жодного заднього вікна зловмисника, відкритого в ОС або застосованих вами додатках.

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

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

Якщо чесно, то, мабуть, менше працювати над тим, що запропонував JJ та перебудувати, ніж зробити так, щоб комп'ютер не був порушений. Це цінні дані, а не ОС та конфігурація (окрім людських годин у налаштуванні).

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


0

Першим кроком насправді повинен бути rkhunter / chkrootkit, однак мені також пощастило в минулому з функціями, вбудованими в певні менеджери пакунків, наприклад, 'rpmverify', який пройде через всі пакети вашої системи та перевірить, чи MD5Sums файлів, які вони включали, не відрізняються від файлів на диску.

Основні бінарні файли дійсно повинні мати ідентичні MD5, що визначено в базах даних RPM або DPKG, тому, якщо вони різні, ви знаєте, що відбувається щось дивне.


-1

Найефективніший спосіб визначити, чи порушена ваша операційна система, - це використовувати Second Look . Він перевірить ядро ​​та все запущене програмне забезпечення в пам’яті, щоб переконатися, що вони відповідають тому, що постачальник дистрибутива постачав. Це набагато кращий підхід, ніж rkhunter, chkrootkit тощо, які шукають артефакти конкретних відомих інфекцій. Second Look не передбачає припущень щодо цілісності операційної системи, тому вам не потрібно використовувати та встановлювати її до інциденту.

(Відмова: Я є провідним розробником Second Look.)

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.