Як очистити дані під час витирання / перевстановлення зіпсованого сервера?


1

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

Файли представляють роки реєстрації даних, але я не маю резервних копій, з якими я б міг їх порівняти (це проникнення було першим, про який мені сказали про ці сервери "під моїм керуванням", і наступають деякі серйозні зміни), ні знання про те, що слід / не повинно міститися в. Чи існує якийсь більш ретельний метод переконання, що дані не містять сплячих фрагментів шкідливого коду? Я можу спробувати запобігти виконанню сценаріїв із своїх резервних каталогів, але я припускаю, що в якийсь момент хтось із користувачів запитає, чому якийсь код, який вони написали 2 роки тому, не працює, і він завершить скасування будь-якої безпеки, яку я додаю.

TL; DR : Я був власником. Як переконатися, що дані, які я копіюю на свіжу установку сервера, не містять потенційно шкідливого коду?

Відповіді:


0

Відповідь новачка:

  • змонтуйте за допомогою noexecпараметра, щоб виконувані файли та бібліотеки взагалі не могли працювати (сценарії також не можуть бути запущені, але їх все одно можна викликати bash malicious.sh).

Або

  • налаштуйте якесь безпечне середовище chroot, щоб ви не заперечували здувати всю "систему", коли вірус намагається вас обрушити, à la honeypot.

Варіант 1 має очевидний недолік: ви не можете запустити будь-який легітимний код, варіант 2 має очевидний недолік. Один єдиний виконуваний файл може неправильно зафіксувати всі ваші законні дані.

Крім того, хороший дизайн дозволів (користувачі, групи, клейкий біт, встановлений біт тощо) та обмежувальний umask повинні гарантувати, що користувач може лише підірвати власні файли (або на його відповідальність), що краще, ніж повне знищення у разі нападу.

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


Я щойно зрозумів, що це відповідає не на питання "Як очистити дані", а "як запобігти видаленню зловмисної програми". У будь-якому випадку я зберігатиму це, оскільки думаю, що це може допомогти користувачеві (і наразі це єдина відповідь).
CijcoSistems

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

Тут надходять дозволи. Коли користувач копіює свій старий робочий каталог, щоб щось виконати, він може видалити всі його файли, якщо це шкідливий файл, але не вся робота в команді. Ви можете подивитися на limit.conf та ulimit, щоб уникнути таких речей, як forkbombs, які спричинили б DoS в системі, що запускає його для всіх користувачів та служб.
CijcoSistems
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.