Це стелс-команда, яку можна запустити в постачальнику безкоштовного хостингу OnWorks за допомогою однієї з наших численних безкоштовних робочих станцій, таких як Ubuntu Online, Fedora Online, онлайн- емулятор Windows або онлайн-емулятор MAC OS
ПРОГРАМА:
ІМ'Я
stealth - невидимий сканер цілісності файлів
СИНТАКСИС
` ' представляє розташування використовуваного Unix Domain Socket.
хитрість --демон --сухий запуск --журнал --logmail
--максимальний розмір [BKMG] --no-mail --parse-policy-file
--випадковий інтервал --повторити
--пропускати файли --syslog
-- засіб системного журналу --syslog-priority --syslog-тег
-- багатослівність політика
хитрість --сухий запуск --журнал --logmail
--максимальний розмір [BKMG] --no-mail --parse-policy-file
--випадковий інтервал --повторити
--запуск-команда --пропускати файли --stdout --syslog
-- засіб системного журналу --syslog-priority --syslog-тег
-- багатослівність політика
хитрість {--ping,--перезавантажити,--перезапустити,--відновити,--призупинити,--завершити}
хитрість --довідка --версія
ОПИС
Назва хитрість програма є акронімом від:
На основі SSH Довіряйте правозастосування Набутий через a Місцево Довірений Ведучий.
Хитрість заснований на ідеї Ганс Ганкема та Кіс гвинт, обидва в Центрі для
Інформаційні технології Гронінгенського університету. Гопко Мейєрінг надано цінне
пропозиції щодо покращення.
ХитрістьОсновним завданням є виконання тестів цілісності файлів. Проте саме тестування буде
не залишайте осаду на комп’ютері, що перевіряється. тому хитрість має крадькома
характеристики. Це вважається важливою особливістю, що підвищує безпеку
(цілісність) програмного забезпечення комп’ютерів, що контролюються хитрість.
Будь ласка, усвідомте це хитрість має намір бути просто ще одним інструментом безпеки: інший захист
такі заходи, як брандмауери, сканери портів, системи виявлення вторгнень, видалення незашифрованого
протоколи тощо зазвичай потрібні для підвищення безпеки групи комп’ютерів, які
підключені до Інтернету. Хитрість є сканером цілісності файлів і цілісності файлів
сканери не можуть замінити ці інструменти (і інше).
Хитрість використовує файл політики для визначення дій, які потрібно виконати. Кожен файл політики є
унікально пов’язаний з хостом, що контролюється. Цей хост (називається клієнт нижче)
довіряє комп’ютеру, на якому хитрість пробігає, називається контролювати (звідси: а Місцево Довірений
Господар). Монітор виконує завдання (як правило, перевіряє цілісність файлів), які забезпечувати дотримання Довіряйте
ми маємо на клієнтському комп'ютері. Оскільки майже всі тести цілісності можна запустити на клієнті,
один монітор може керувати багатьма клієнтами, навіть якщо сам монітор використовує старі жорсткі і
програмні компоненти.
Оскільки монітор і клієнт є (тобто повинні бути) різними комп’ютерами, монітор повинен бути обов’язково
безпечно спілкуватися з клієнтом. Це реалізується через SSH. Отже, є
тут задіяний інший елемент "локальної довіри": клієнт повинен дозволити монітору
налаштувати безпечне з’єднання SSH, що дозволить монітору отримувати доступ до чутливих елементів у
файлова система клієнта.
It is важливо до забезпечувати Що громадськість доступ до контролювати is запобігли. Немає що входить
послуги Повинен be допускається. Команда тільки доступ до контролювати Повинен be через його втішити та
контролювати Повинен be розміщений in a фізично безпечний Місцезнаходження. Чутливий інформація of
клієнтів він має зберігати in моніторів файл системи. До доступ клієнтів хитрість in демон
режим може використання a захищений парольною фразою ssh-ключ, дозволяє хитрість до виконувати його завдання
після цього. це, теж, робить it важливо до запобігати контролювати від буття доступний by
несанкціонований осіб.
Якщо замість бігати хитрість в режимі deamon бажано дозволити хитрість виконувати
поодинокі, але автоматизовані сканування цілісності, потім нові SSH(1) підключення може бути складним
встановити, чи використаний ssh-ключ захищений паролем. Щоб реалізувати цей сценарій (тобто,
автоматичне сканування цілісності за допомогою захищених паролем ssh-ключів) програми ssh-cron(1) може
вигідно використовувати.
ХитрістьПоточний спосіб підключення до клієнтів використовує один SSH(1) з'єднання, яке
призводить лише до одного SSHD(1) запис у лог-файлах клієнта, який триває протягом
тривалість хитрістьбігти. При використанні хитрість у режимі демона це також мінімізує
"слід" хитрість має на клієнтських хостах.
Сам монітор зазвичай потребує лише двох типів вихідних послуг: SSH досягти свого
клієнтів та деяких поштових транспортних агентів (наприклад, sendmail(1)) для пересилання вихідної пошти на адресу
якийсь поштовий центр.
Ось що відбувається, коли хитрість виконується з використанням першого синопсису:
o По-перше, політика файл читається. Для кожного клієнта визначається файл політики,
визначення дій, які потрібно виконати, і визначення значень кількох
змінні, які використовуються хитрість.
o Якщо параметр командного рядка --daemon вказано, хитрість працює як демон
процесу, використовуючи сокет домену Unix ( ) для спілкування з хитрість
процеси, що виконуються в режимі IPC.
Якщо доступ до Unix Domain Socket, визначений Stealth, працює в режимі демона
має бути обмежено, його можна визначити в каталозі з доступним лише для
користувач, який використовує Stealth (часто це буде користувач root).
Під час роботи в режимі демона --repeat може бути вказано для повторного запуску
сканування цілісності кожного секунд. Якщо виконується перевірка цілісності
коли відповідно до інтервалу повторення має бути наступне сканування цілісності, то
поточне сканування спочатку завершено. Після завершення буде проведено наступне сканування цілісності
виконується через секунди секунд.
o Далі монітор відкриває командну оболонку на клієнті за допомогою SSH(1) і команда
оболонку на моніторі комп’ютера за допомогою sh(1).
o Після того, як командні оболонки стануть доступними, команди, визначені у файлі політики, стануть доступними
виконуються в порядку їх появи. Нижче наведено приклади. Як правило, повертаються
перевіряються значення програм. Коли повертаються значення мають бути перевірені хитрість
завершується, коли визначається ненульове значення. Якщо це станеться, повідомлення
вказавши причину хитрість завершено записується у файл звіту (і в
пошту, надіслану хитрість). У деяких випадках (наприклад, коли файл звіту не може бути
написано), повідомлення записується в стандартний потік помилок.
o Дуже часто тести цілісності можна контролювати за допомогою знаходити(1), викликаючи програми, як
ls(1) sha256сум(1) або його власний метод -printf для створення пов'язаного з цілісністю файлу
статистика. Більшість із цих програм записують імена файлів у кінці створених рядків.
Цю характеристику використовує один з хитрістьвнутрішні підпрограми для виявлення змін
у створеному виході. Такі зміни можуть свідчити про якийсь шкідливий намір, наприклад
встановлений root-кіт.
o Коли виявлено зміни, вони реєструються a звітом файл, до якої інформації
завжди додається. Хитрість ніколи не зменшує розмір файлу звіту та не переписує його
зміст. Коли інформація додається до файлу звіту (за межами звичайної позначки часу)
щойно додана інформація надсилається електронною поштою на налаштовану адресу електронної пошти для
подальша (людська) обробка. Зазвичай електронний лист надсилається системному менеджеру
перевірений клієнт. Хитрість дотримується підходу "темної кабіни" в тому сенсі, що ні
пошта надсилається, коли не було виявлено жодних змін.
o Звіт та інші файли журналу можна безпечно обертати між парою --suppress і
команди --resume (див. нижче в розділі `ЗВІТ ПРО ПОВЕРТАННЯ ФАЙЛОВ').
If хитрість не слід запускати як процес-демона, можна використовувати другий синопсис. У цьому
випадок хитрість виконує одне або кілька перевірок цілісності (останнє, коли параметр --repreat
було зазначено). Коли запитується єдине сканування цілісності хитрість припиняється після
сканувати. Коли вказано --repeat хитрість показує підказку (тобто `? ') і завершується після
натисканням клавіші Enter.
Третій синопсис використовується для спілкування з a хитрість демон. У цьому випадку
Доменний сокет Unix, визначений файлом хитрість Демон-процес необхідно вказати після
параметр, що вказує запитану команду.
ВАРІАНТИ
Короткі варіанти надаються між дужками, відразу після довгого варіанта
еквіваленти
Описи параметрів, що показують (C), можна використовувати лише в командному рядку і ігноруються, коли
зазначений у другому розділі файлу політики.
В огляді параметрів ` ' представляє назву Юнекс Область Розетка використовувати,
і ` ' відноситься до (відносної або абсолютної) специфікації розташування файлу.
З першим і другим оглядами відносні розташування (сокета домену Unix і
інші специфікації файлів) інтерпретуються відносно поточного робочого каталогу.
Параметри командного рядка замінюють параметри, визначені у файлі політики.
o --демон (-d) : (C) запускати як фоновий (демон) процес. Коли Stealth
Запущено процес демона, Unix Domain Socket (tt ) може ще не існувати.
o --dry-run: (C) не виконується сканування цілісності чи перезавантаження, але вважається, що все в порядку.
Решта завдань зазвичай виконується;
o --help (-h): (C) Відображення довідкової інформації та вихід;
o --log (-L) : повідомлення журналу додаються до `file-spec'. Якщо файл-спец
не існує, воно спочатку створене;
o --logmail: лист надіслав хитрість реєструється (потрібно --log або --syslog);
o --максимальний розмір [BKMG]: файли, отримані за допомогою команд GET, можуть мати щонайбільше
байт (В), Кбайт (К), Мбайт (М), Гбайт (G). Розмір за замовчуванням — 10 Мб
одиницею є В.
o --no-mail: лист не надсилається. За замовчуванням пошта надсилається, як налаштовано в
файл політики (--logmail можна вказати незалежно від --no-mail);
o --parse-policy-file (-p): (C) аналізувати файл політики, після чого хитрість закінчується.
Вкажіть один раз, щоб побачити пронумеровані команди;
двічі, щоб побачити кроки аналізу файлу політики.
Результати записуються в std. вихід.
o --ping : (C) не виконує жодних дій, але використовується для перевірки того, що a хитрість демон
можна отримати через його Unix Domain Socket ( ). Демон відповість, навіть якщо
наразі виконується перевірка цілісності. Його використовує /usr/bin/stealthcron
сценарій, щоб перевірити, що a хитрість демон живий.
o --випадковий інтервал (-i) [m]>: почати сканування через випадковий інтервал
секунд (або хвилин, якщо до `m' додається (без пробілів). )
після затримки, зазначеної в --repeat (див. нижче). Цей варіант вимагає
специфікація параметрів --repeat та --daemon;
o --перезавантажити : (C) перезавантажує конфігурацію та пропускає файли та перезапускає сканування
в хитрість процес демона. Параметри, визначені у файлі політики, також є
перезавантажено. Однак параметри командного рядка завжди мають пріоритет над визначеними параметрами
у файлі політики, тож коли параметри командного рядка використовувалися під час запуску хитрість in
режимі демона, їх не можна змінити, перезавантаживши файл політики.
o --повторити : прокидатися та виконувати перевірку цілісності під час переривань або після
секунд (або хвилин, якщо до `m' додається (без пробілів). ) після
завершення попереднього сканування цілісності. Для цього можна використовувати параметр --random-interval
додати випадкову затримку до доки не буде виконано наступне сканування цілісності. Це
параметр вимагає специфікації параметра і --daemon;
o -- повторити : (C) розпочати виконання команд сканування цілісності, які вказані в
хитрість файл політики процесу демона;
o --резюме : (C) відновити призупинений хитрість процес, має на увазі --перезапуск;
o --запуск-команда (-r) : (C) Виконати лише номер команди (натуральне число).
Номери команд відображаються за допомогою хитрість ---файл політики розбору. Цей варіант може бути тільки
уточнюється за допомогою другого конспекту;
o --пропустити-файли (-и) : всі записи в пропущені. Їхній
цілісність не контролюється. Якщо запис уже є у файлі журналу, тоді
хитрість один раз генерує повідомлення ігнорування в листі, надісланому на адресу
вказано на EMAIL у файлі політики. Кожен запис, згаданий у специфікації файлу, має бути увімкненим
окремий рядок і має бути вказано за допомогою абсолютних шляхів до файлів. Закінчення записів
у косій рискі вважаються каталоги, повний вміст яких потрібно пропустити. Інший
записи інтерпретуються як імена файлів, які потрібно пропустити. Початкові та кінцеві пробіли,
порожні рядки та рядки, які мають # як перший непорожній символ, ігноруються. Тут
є кілька прикладів:
# пропустити всі файли в каталозі користувача Mail
/домашня сторінка/користувач/Пошта/
# пропустити файл .history користувача
/home/user/.history
o --stdout (-o): повідомлення (також) записуються на std. вихідний потік (тільки
доступно з другим синопсисом);
o --призупинити : (C) призупиняє активну дію хитрість процес. Після
--suspend use --resume для повторної активації хитрість daemon або --terminate, щоб завершити
хитрість демон;
o --syslog: писати повідомлення системного журналу;
o --syslog-facility : можливість використання системного журналу. За замовчуванням засіб DAEMON
використовується;
o --syslog-priority : пріоритет системного журналу для використання. За замовчуванням пріоритетом ПРИМІТКА є
використаний;
o --syslog-тег : вказує ідентифікатор, який має префікс до syslog
повідомлення. За замовчуванням використовується тег `STEALTH', див. також наступний розділ;
o --припинити : (C) завершити активну в даний момент хитрість процес;
o --штамп часу (-t) : часові позначки для використання. За замовчуванням UTC. Щоб використовувати місцевий
вказати час --time-stamp LT. Параметр --time-stamp не застосовується до міток часу
генерується системним журналом (див. також наступний розділ);
o --usage: (C) Відображення довідкової інформації та вихід;
o -- багатослівність : визначає кількість зареєстрованої інформації. Потрібні варіанти
--log або --syslog. Можливі значення:
0: нічого не реєструється
1: звіти режиму (за замовчуванням) і команди політики
2: також: команди та дії ipc
3: також: інформаційні повідомлення сканування цілісності
o --version (-v): (C) Дисплей хитрістьінформація про версію 's та завершення;
o політика: специфікація файлу політики. Якщо вказано відносне розташування
тоді це розташування інтерпретується відносно поточного робочого каталогу.
Хитрість перетворює цю відносну специфікацію в абсолютне розташування файлу, і an
параметр, наприклад --reload, перезавантажить файл політики з визначеного таким чином абсолютного значення
шлях до файлу.
Можна використовувати лише один із параметрів --daemon, --reload, --resume, --suspend або --terminate
вказано. Параметри --reload, --rerun, --resume, --suspend та --terminate ігнорують будь-які
інші варіанти.
Наступні параметри все ще розпізнаються для зворотної сумісності з хитрість
попередні версії 3.00 і будуть видалені в майбутньому хитрість версія. Вони генерують помилку
повідомлення, що пропонують альтернативи:
o --echo-commands (-e): команди echo для стандартної помилки під час їх обробки; використовуйте --log
замість цього.
o --keep-alive: працювати як демон; замість цього використовуйте --daemon.
o --only-stdout: звіт про сканування записується до стандартного виведення; замість цього використовуйте --stdout.
o --quiet (-q): пригнічує повідомлення про прогрес, записані в stderr; використовувати --verbosity 0
замість цього.
o --придушити : пригнічує активний на даний момент хитрість процес; використовувати --призупинити
замість цього.
Починаючи з того часу, такі опції були припинені хитрість Версія 3.00.00:
o --debug (замість цього можна використовувати опцію --verbosity або --dry-run);
o --no-child-processes;
o --parse-config-file.
При визначенні довгих параметрів у файлах політики початкові дефіси слід опускати. Тут
кілька прикладів:
%%
журнал /tmp/stealth.log
багатослівність 3
EXIT СТАТУС
При запиті команди IPC або під час запуску хитрість як демон повертається 0, якщо
команда була успішно виконана. В іншому випадку повертається значення, відмінне від 0.
ВІДЧИНЕНО SSH LINK TO КЛІЄНТИ
один раз хитрість розпочався як процес переднього плану або демон, що виконує сканування цілісності файлів
SSH(1) використовується для підключення до клієнта(ів), що контролюється хитрість. У той час як хитрість працює тільки
один SSH(1) з’єднання відкрито для кожного клієнта. Це з’єднання залишається активним протягом
хитрість's життя, щоб мінімізувати кількість SSHD записи в журналах клієнта.
THE ПОЛІТИКА Фото
Файл політики складається з двох розділів, другий розділ є необов'язковим і починається з a
рядок, що містить лише %%.
Перший розділ файлу політики складається з двох наборів даних: використання директиви (починаючи
з ключовим словом ВИКОРИСТАННЯ) і Команди. Порожні рядки та інформація за межами хеш-міток (#).
ігнорується, в той час як рядки після рядків, що закінчуються зворотною косою рискою (\), об’єднуються (en
проходження видалення цих кінцевих зворотних слешів). Пробіли в рядках політики
файл ігнорується.
Другий (необов'язковий) розділ починається з рядка, що містить лише %%. Слідом за цим
розділяючий рядок можна ввести кілька довгих специфікацій параметрів (див. нижче в розділі
ВАРІАНТИ). Параметри, зазначені в командному рядку, мають пріоритет над параметрами, зазначеними в
файл політики. Хоча параметр --reload перезавантажує файл політики, він не зміниться
значення параметрів, спочатку вказані як параметри командного рядка. Цей розділ може містити
специфікації файлів пропуску та параметрів журналу. Відносні розташування файлів, визначені для
ці параметри інтерпретуються відносно розташування файлу політики. Наприклад, якщо
Аргумент файлу політики вказується як /root/client/policy, а потім журнал специфікації:
Результати client.log хитрість запис його журналів у файл /root/client/client.log.
ВИЗНАЧИТИ ДИРЕКТИВИ
ВИЗНАЧИТИ директиви використовуються для зв'язування довших рядків тексту з певними символами. наприклад,
після DEFINE FINDARGS -xdev -type f -exec /usr/bin/sha256sum {} \; специфікація
${FINDARGS} можна використовувати в ВИКОРИСТАННЯ ДИРЕКТИВИ та Команди (див. нижче), щоб використовувати текст
пов'язані з ЗНАКИ символ.
Зверніть увагу, що ВИЗНАЧИТИ символи також можуть використовуватися у визначенні інших ВИЗНАЧИТИ символи як
добре. Слід уникати прямих або непрямих кругових визначень, оскільки вони або не є, або
розширена неповністю.
ВИКОРИСТАННЯ ДИРЕКТИВИ
Наступні ВИКОРИСТАННЯ можуть бути зазначені директиви (директиви пишуться великими літерами, і
має відображатися точно так, як написано нижче: регістр букв збережено). Технічні характеристики в
кутові дужки (наприклад ) представляють специфікації, які повинні бути надані хитрістьАвтора
користувачів:
o ВИКОРИСТАННЯ БАЗА
БАЗА визначає каталог, звідки хитрість діє. Всі наступні родичі
специфікації шляху у файлі політики (включаючи відносні характеристики шляху в
друга частина політики) інтерпретуються відносно БАЗА. By дефолт це
каталог де хитрість було розпочато.
БАЗА та інші неіснуючі шляхи створюються автоматично хитрість якщо ще ні
існуючий.
приклад:
ВИКОРИСТОВУЙТЕ БАЗА /root/client
o ВИКОРИСТАННЯ DD
Команда DD використання специфікації /bin/dd за замовчуванням і визначає розташування dd(1)
програми, як на сервері, так і на клієнті. The DD Програма використовується для копіювання файлів
між клієнтом і монітором через існуюче ssh-з'єднання. Програма
зазначений тут використовується лише хитрість під час виконання команд PUT і GET
(описано нижче).
Приклад показу за замовчуванням:
ВИКОРИСТОВУЙТЕ DD /bin/dd
o ВИКОРИСТАННЯ РІЗНИЦЯ
За умовчанням РІЗНИЦЯ використання специфікації /usr/bin/diff, і визначає розташування
різниця(1) програма на моніторі. The різниця(1) програма використовується для порівняння раніше
створений лог-файл перевірки цілісності з новоствореним файлом журналу.
Приклад показу за замовчуванням:
ВИКОРИСТОВУЙТЕ DIFF /usr/bin/diff
o ВИКОРИСТАННЯ DIFFPREFIX
Команда DIFFPREFIX специфікація визначає розмір префікса, доданого DIFF
команди до рядків, створених командами, що виконуються через хитрість.
За умовчанням /usr/bin/diff програма ставить префікси до рядків `> ' або `< '. The
значення за замовчуванням для тому дорівнює 2.
Приклад показу за замовчуванням:
ВИКОРИСТОВУЙТЕ DIFFPREFIX 2
o ВИКОРИСТАННЯ ЕЛ. АДРЕСА
Команда ЕЛ. АДРЕСА специфікація визначає адресу електронної пошти для отримання звіту
сканування цілісності клієнта. Тут дотримуються філософії «темної кабіни»: пошта
надсилається лише тоді, коли виявляється зміна.
Приклад показу за замовчуванням (очевидно, адреса електронної пошти на моніторі):
ВИКОРИСТОВУЙТЕ корінь електронної пошти
o ВИКОРИСТАННЯ ПОШТОВИК
Команда ПОШТОВИК специфікація визначає програму, яка надсилати електронну пошту на
ЕЛ. АДРЕСА-адреса. Всупереч РІЗНИЦЯ та DD і (див. нижче) SH та SSH, ПОШТОВИК виконується як
a / Бен / ш команду, щоб дозволити сценаріям оболонки також обробляти пошту. За замовчуванням
ПОШТОВИК визначається як /usr/bin/mail. ПОШТОВИК викликається з такими аргументами:
-------------------------------------------------- --------
ПОШТА, Дивись нижче;
ЕЛ. АДРЕСА, адресат пошти.
-------------------------------------------------- --------
Приклад показу за замовчуванням:
ВИКОРИСТОВУЙТЕ MAILER /usr/bin/mail
В якості альтернативи надається скрипт Stealthmail. Він пропонує зручний
сортування фільтром хитрістьвиведення і збереження лише рядків, що містять текст ADDED,
МОДИФІКОВАНО, ВИДАЛЕНО або приховане. Зазвичай ці рядки є системними менеджерами
Завжди можна переглянути файли звіту та журналу, щоб визначити
фактичний характер змін.
o ВИКОРИСТАННЯ ПОШТА
Команда ПОШТА специфікація визначає аргументи, які передаються в MAILER,
потім специфікація EMAIL.
Приклад показу за замовчуванням:
ВИКОРИСТОВУЙТЕ MAILARGS -s "Звіт про сканування STEALTH"
Зверніть увагу, що в специфікації теми можуть бути використані пробіли: використовуйте подвійні або одинарні
лапки для визначення елементів, що містять пробіли. Використовуйте \", щоб використовувати подвійні лапки в a
рядок, який сам по собі розділений подвійними лапками; використовуйте \', щоб використовувати одинарні лапки в a
рядок, який сам по собі розділений одинарними лапками.
o ВИКОРИСТАННЯ ЗВІТ
ЗВІТ визначає назву файлу звіту. До цього завжди додається інформація
файл. На кожному хитрість сканування цілісності a час маркер лінія записується до звіту
файл. Тільки тоді, коли (на додаток до лінії маркера) додається додаткова інформація
до файлу звіту доданий вміст файлу звіту надсилається на пошту
адреса, зазначена в ВИКОРИСТАННЯ ЕЛ. АДРЕСА специфікації. Коли відносний файл
використовується специфікація, інтерпретується розташування відносно USE BASE
специфікація.
Приклад показу за замовчуванням:
Звіт про використання звіту
o ВИКОРИСТАННЯ SH
Команда SH використання специфікації / Бен / ш за замовчуванням і визначає командну оболонку, яка використовується
монітор для виконання команд над собою. Це має бути абсолютний шлях
специфікація.
Приклад показу за замовчуванням:
ВИКОРИСТОВУЙТЕ SH / Бен / ш
o ВИКОРИСТАННЯ SSH
Команда SSH специфікація має немає дефолт та повинен бути уточненим. Це має бути
абсолютна специфікація шляху.
Припускаючи клієнта трести монітор (що, зрештою, і є ця програма
приблизно, тому це не повинно бути дуже сильним припущенням), бажано загальнодоступний ssh
ключ монітора слід розмістити в кореневому файлі .ssh/authorized_keys клієнта,
надання клієнту root-доступу монітора. Зазвичай для цього потрібен root-доступ
отримати доступ до всіх каталогів і файлів файлової системи клієнта.
На практиці підключення до облікового запису за допомогою sh(1) оболонка є кращою. Коли
інша оболонка вже використовується цим обліковим записом, слід переконатися, що її оболонка
не визначає власні перенаправлення для стандартного введення та стандартного виводу. Односторонній
для досягнення цього є примусове виконання / Бен / ш , ВИКОРИСТАННЯ SSH
специфікації. Приклади:
# оболонка root є / Бен / ш:
ВИКОРИСТОВУЙТЕ SSH root@client -T -q
# root використовує іншу оболонку, але використання / bin / bash змушений:
ВИКОРИСТОВУЙТЕ SSH root@client -T -q exec / bin / bash
# альтернатива:
ВИКОРИСТОВУЙТЕ SSH root@client -T -q exec / bin / bash --непрофільний
У деяких установках хитрість використовується для перевірки самого монітора, навіть якщо це так
НЕ рекомендується, оскільки це порушує одну з основних причин для хитрістьіснування Росії. Але в
ті ситуації (так, де хитрість використовується для моніторингу цілісності локального хоста),
/ bin / bash можна вказати в директиві USE SSH. Наприклад:
# Для прихованої перевірки локального хоста:
ВИКОРИСТОВУЙТЕ SSH / bin / bash --непрофільний
КОМАНДИ
Після ВИКОРИСТАННЯ специфікації, Команди можна вказати. Команди виконуються в
порядок їх появи у файлі політики. Обробка триває до останньої команди
було оброблено або поки перевірена команда (див. нижче) не поверне ненульове значення.
LABEL КОМАНДИ
Наступні LABEL доступні команди:
o LABEL
Це визначає текстову мітку, яка записується до ЗВІТ файл, перед
вихід, згенерований наступним ПЕРЕВІРКА- команда. Якщо наступний ПЕРЕВІРКА-команда генерує ні
виведення, текстова мітка не записується в ЗВІТ- файл. Одного разу а LABEL було
визначений, він використовується до тих пір, поки не буде перевизначений наступним LABEL. Використовуйте порожній LABEL
специфікації для придушення друку етикеток.
Текст може містити \n символів (два символи), які перетворюються на a
символ нового рядка.
приклад:
LABEL Перевірка файлів у / Etc\nВключаючи підкаталоги
LABEL
(У цьому прикладі колишній LABEL специфікація стирається останнім LABEL
команда)
LOCAL КОМАНДИ
LOCAL команди виконуються на самому моніторі:
o LOCAL
Виконайте команду на моніторі, використовуючи SH командна оболонка. Команда повинна
досягти успіху (тобто має повернути нульове значення виходу).
приклад:
ЛОКАЛЬНИЙ scp rootsh@client:/usr/bin/sha256sum / Tmp
Ця команда копіює команду клієнта sha256сум(1) програма для монітора.
o LOCAL ПРИМІТКА
Виконайте команду на моніторі, використовуючи SH командна оболонка. Команда може або може
не досягти успіху.
приклад:
ЛОКАЛЬНА ПРИМІТКА mkdir /tmp/subdir
Ця команда створює /tmp/subdir на моніторі. Команда не вдається, якщо каталог
не можна створити, але це не припиняється хитрість.
o LOCAL ПЕРЕВІРКА [ВХІД =] [зміщення шляху]
Виконайте команду на моніторі, використовуючи SH командна оболонка. Команда повинна
досягати успіху. Вихід цієї команди порівнюється з результатом цієї команди
згенерований під час попередньої перевірки цілісності, виконаної хитрість.
Фраза ВХІД = є необов'язковим. Коли вказано відносне розташування файлу на
він інтерпретується відносно специфікації шляху USE BASE.
PathOffset також необов'язковий. Якщо вказано, це визначає зміщення (на основі 0).
імена шляхів перевірених файлів починаються з рядків, створених . За замовчуванням
хитрість передбачає, що перше поява косої риски визначає першу
символ імен шляхів перевірених файлів.
Наприклад, якщо diff-output виглядає так:
01234567890123456789012345678901234567890 (зміщення стовпців)
33c33
< 90d8b506d249634c4ff80b9018644567 filename-specification
---
> b88d0b77db74cc4a742d7bc26cdd2a1e filename-specification
потім специфікація
Файл журналу LOCAL CHECK 36 команда, яка має бути виконана
інформує хитрість де знайти специфікації імені файлу у виводі diff. Використання
стандарт /usr/bin/diff команді, цей зсув дорівнює 2 + зміщення
Специфікація імені файлу знайдена в команді, яка буде виконуватися.
Будь-які відмінності між попереднім і поточним виводом записуються ЗВІТ. Якщо
знайдено відмінності, ім’я існуючого файлу журналу перейменовано на
logfile.YYMMDD-HHMMSS, з YYMMDD-HHMMSS міткою дати і часу (UTC) на момент часу
хитрість був запущений.
Зауважте, що в кінцевому підсумку може бути створено багато файлів logfile.YYMMDD-HHMMSS: це до
системний менеджер монітора, щоб вирішити, що робити зі старою штампом дати і часу
лог-файли.
Специфікації файлу журналу можуть використовувати відносні та абсолютні шляхи. Коли відносні шляхи
використовуються, ці шляхи відносно БАЗА. Коли каталоги, передбачені
Специфікації файлів журналів ще не існують, вони створюються спочатку.
приклад:
ЛОКАЛЬНИЙ ЖУРНАЛ ПЕРЕВІРКИ = local/sha256sum sha256sum /tmp/sha256sum
Ця команда перевіряє суму SHA256 програми /tmp/sha256sum. Отриманий
вихід зберігається в БАЗА/local/sha256sum. Програма має бути успішною (тобто sha256sum
має повернути нульове вихідне значення).
o LOCAL ПРИМІТКА ПЕРЕВІРКА [зміщення шляху]
Виконайте команду на моніторі, використовуючи SH командна оболонка. Команда може або може
не досягти успіху. В іншому випадку команда виконується точно так само, як LOCAL ПЕРЕВІРКА ...
команда, розглянута вище.
приклад:
ЛОКАЛЬНИЙ ЖУРНАЛ ПЕРЕВІРКИ НОТЕСТУ=local/sha256sum sha256sum /tmp/sha256sum
Ця команда перевіряє суму SHA256 програми /tmp/sha256sum. Отриманий
вихід зберігається в БАЗА/local/sha256sum. Програма має бути успішною (тобто sha256sum
має повернути нульове вихідне значення).
Зауважте, що СКП(1) команду можна використовувати для копіювання файлів між клієнтом і монітором,
за допомогою локальної команди. Це, однак, не рекомендується, як окремо SSH(1)-з'єднання є
необхідно для кожного окремо СКП(1) команда. Ця тонкість була доведена до автора
увагу Гопко Мейєрінка ([захищено електронною поштою]).
Щоб скопіювати файли між клієнтом і монітором, команди GET і PUT (описано
нижче) слід використовувати замість цього, оскільки ці команди використовують існуючі SSH(1) підключення. в
загалом, команди LOCAL не слід використовувати для встановлення додаткових SSH(1) підключення до a
клієнт.
РЕЙТИНГ КОМАНДИ
Віддалені команди – це команди, які виконуються на клієнті за допомогою SSH оболонка. Ці команди
виконуються за допомогою стандартного PATH, встановленого для SSH оболонка. Проте радять
вкажіть повний шлях до програм, які будуть виконуватися, щоб запобігти ``троянським підходам''
де троянський кінь встановлений у "ранішому" каталозі PATH-специфікації, ніж
задуману програму.
Дві спеціальні віддалені команди – GET і PUT, які можна використовувати для копіювання файлів між файлами
клієнт і монітор. Внутрішньо GET і PUT використовують специфікацію DD. Якщо
використовується специфікація, що не є типовою, слід переконатися, що альтернативна програма приймає
dd(1) має параметри if=, of=, bs= та count=. З GET параметри bs=, count= і of= є
використовується, з PUT використовуються параметри bs=, count= і if=. Зазвичай в цьому не повинно бути потреби
щоб змінити специфікацію DD за замовчуванням.
Команду GET можна використовувати наступним чином:
o GET
Скопіюйте файл, зазначений шляхом client-path на клієнті, у локальний шлях на моніторі.
Тут шлях клієнта має бути повним шляхом до існуючого файлу на клієнті,
local-path може бути локальним каталогом, у цьому випадку ім'ям файлу клієнта є
використовується, або може бути вказано інше ім’я файлу, у цьому випадку файл клієнта
скопійовано до вказаного локального імені файлу. Якщо локальний файл уже існує, він є
перезаписаний процедурою копіювання.
приклад:
GET /usr/bin/sha256sum / Tmp
Програма /usr/bin/sha256sum, доступний у клієнта, копіюється на монітор
/ Tmp каталог. Якщо з будь-якої причини копіювання не вдасться хитрість припиняється.
o GET ПРИМІТКА
Скопіюйте файл, зазначений шляхом client-path на клієнті, у локальний шлях на моніторі.
Знову ж таки, шлях клієнта має бути повним шляхом до існуючого файлу на клієнті,
local-path може бути локальним каталогом, у цьому випадку ім'ям файлу клієнта є
використовується, або може бути вказано інше ім’я файлу, у цьому випадку файл клієнта
скопійовано до вказаного локального імені файлу. Якщо локальний файл уже існує, він є
перезаписаний процедурою копіювання.
приклад:
ОТРИМАТИ ПРИМІТКУ /usr/bin/sha256sum / Tmp
Програма /usr/bin/sha256sum, доступний у клієнта, копіюється на монітор
/ Tmp каталог. Решта команд у файлі політики виконуються, навіть якщо
процес копіювання не був успішним.
Команду PUT можна використовувати наступним чином:
o PUT
Скопіюйте файл, зазначений локальним шляхом на моніторі, у віддалений шлях на клієнті.
Аргумент local-path має бути повним шляхом до існуючого файлу на моніторі.
Аргумент remote-path має бути повним шляхом до файлу на клієнті. Якщо
віддалений файл уже існує, він перезаписаний PUT.
приклад:
ВСТАВТЕ /tmp/sha256sum /usr/bin/sha256sum
Програма /tmp/sha256sum, доступна на моніторі, копіюється на клієнта як
usr/bin/sha256sum. Якщо копіювання не вдається, хитрість припиняється.
o PUT ПРИМІТКА
Скопіюйте файл, зазначений локальним шляхом на моніторі, у віддалений шлях на клієнті.
Аргумент local-path має бути повним шляхом до існуючого файлу на моніторі.
Аргумент remote-path має бути повним шляхом до файлу на клієнті. Якщо
віддалений файл уже існує, він перезаписаний PUT.
приклад:
ЗМІСТИТИ ПРИМІТКУ /tmp/sha256sum /usr/bin/sha256sum
Скопіюйте файл, зазначений локальним шляхом на моніторі, у віддалений шлях на клієнті.
Аргумент local-path має бути повним шляхом до існуючого файлу на моніторі.
Аргумент remote-path має бути повним шляхом до файлу на клієнті. Якщо
віддалений файл уже існує, він перезаписаний PUT. Залишилися команди в
файл політики виконується, навіть якщо процес копіювання не був успішним.
Прості команди можна виконувати на клієнтському комп’ютері, просто вказавши їх. оф
Звичайно, це означає, що програми на клієнті мають назву, наприклад, LABEL, LOCAL або
USE, не може бути виконано, оскільки ці імена інтерпретуються інакше хитрість. Його
навряд чи це обмеження створює велику проблему....
Наступні команди доступні для виконання на клієнті:
о
Виконайте команду-шлях на клієнті за допомогою SSH командна оболонка (це сильно
радимо вказати повний шлях до команди для виконання). Команда має бути успішною
(тобто має повернути нульове значення виходу). Однак будь-який вихід, згенерований файлом
команда ігнорується.
приклад:
/usr/bin/find / Tmp -тип f -викон /bin/rm {} \;
Ця команда видаляє всі звичайні файли в і нижче клієнтських / Tmp каталог.
o ПРИМІТКА
Виконайте команду-шлях на клієнті, використовуючи файл SSH командна оболонка. Команда може або
може не вдатися.
приклад:
ПРИМІТКА /usr/bin/find / Tmp -тип f -викон /bin/rm {} \;
Те саме, що й попередня команда, але цього разу значення виходу /usr/bin/find НЕ
інтерпретується.
o ПЕРЕВІРКА [ВХІД =] [зміщення шляху]
Виконайте команду-шлях на клієнті, використовуючи файл SSH командна оболонка.
Фраза ВХІД = є необов'язковим. Коли вказано відносне розташування файлу на
він інтерпретується відносно специфікації шляху USE BASE.
PathOffset також необов'язковий і має те саме значення, що й для ЛОКАЛЬНОЇ ПЕРЕВІРКИ
команду, описану вище. Команда має бути успішною. Висновок цієї команди
порівняно з результатом цієї команди, згенерованим під час попереднього запуску
хитрість. Будь-які відмінності пишуться ЗВІТ. Якщо були виявлені відмінності, то
існуюче ім'я файлу журналу перейменовано на logfile.YYMMDD-HHMMSS, з YYMMDD-HHMMSS
штамп дати й часу хитрість був запущений.
Зауважте, що команда виконується на клієнті, але файл журналу зберігається на
монітор. Ця команда представляє ядро методу, реалізованого за допомогою хитрість:
не буде залишків від виконаних дій хитрість на клієнта
комп’ютери.
Кілька прикладів (зверніть увагу на використання зворотної косої риски як символів продовження рядка):
ПЕРЕВІРТИ ЖУРНАЛ = remote/ls.root \
/usr/bin/find /\
-xdev -perm /6111 -type f -exec /bin/ls -l {} \;
Усі файли suid/gid/executable на тому ж пристрої, що й кореневий каталог (/) на
клієнтський комп’ютер перелічено з інформацією про їхні дозволи, власника та розмір. The
отриманий перелік записується у файл БАЗА/remote/ls.root.
ПЕРЕВІРТЕ remote/sha256.root \
/usr/bin/find /\
-xdev -perm /6111 -type f -exec /usr/bin/sha256sum {} \;
Контрольні суми SHA256 усіх suid/gid/виконуваних файлів на тому ж пристрої, що й файл
визначаються кореневий каталог (/) на клієнтському комп'ютері. Отриманий список
записано у файлі БАЗА/remote/sha256.root.
o ПРИМІТКА ПЕРЕВІРКА [ВХІД =] [зміщення шляху]
Виконайте команду-шлях на клієнті, використовуючи файл SSH командна оболонка.
Фраза ВХІД = є необов'язковим. Коли вказано відносне розташування файлу на
він інтерпретується відносно специфікації шляху USE BASE.
PathOffset також необов'язковий і має те саме значення, що й для ЛОКАЛЬНОЇ ПЕРЕВІРКИ
команду, описану вище. Команда може вдатися, а може і не вдатися. В іншому випадку,
програма діє так само, як і ПЕРЕВІРКА ... команду, описану вище.
приклад:
ЖУРНАЛ ПЕРЕВІРКИ ПРИМІТК = remote/sha256.root \
/usr/bin/find /\
-xdev -perm /6111 -type f -exec /usr/bin/sha256sum {} \;
Контрольні суми SHA256 усіх suid/gid/виконуваних файлів на тому ж пристрої, що й файл
визначаються кореневий каталог (/) на клієнтському комп'ютері. Отриманий список
записано у файлі БАЗА/remote/sha256.root. хитрість не припиняється, якщо
/usr/bin/find програма повертає ненульове значення виходу.
Максимальний розмір завантаження (за допомогою GET або CHECK) можна вказати за допомогою --max-size
варіант, див. нижче. За замовчуванням цей розмір встановлений на 10 Мб.
ЗВІТ Фото ПОВЕРНЕННЯ
З хитрість лише додає інформацію до файлу звіту, розмір файлу звіту може
врешті-решт стануть непомірно великими, і може бути бажаним поворот журналу. Це звичайно
можна виконати команду --terminate, повернути файли журналу та перезапустити хитрість, Але
хитрість також пропонує можливість тимчасово призупинити сканування цілісності, яке виконує a
хитрість процес демона:
o Дзвінок хитрість з опцією --призупинити призупиняє цілісність демона
сканування. Якщо хитрість фактично виконує серію перевірок цілісності, коли --suspend
видається, спочатку виконується команда, що виконується, після чого
--suspend команда завершена. Одного разу хитрість Демон призупинено, автоматично
або явні запити на перевірку цілісності відхиляються, і демон може бути тільки
доручено відновити свої завдання сканування (хитрість --резюме ) або припинити
(хитрість --припинити ).
o Один раз `хитрість --призупинити ' повернувся, файл звіту можна безпечно повертати
(використовуючи, наприклад, logrotate(1)), а за бажанням може бути новий (порожній) файл звіту
створений процесом логротації.
o Після завершення ротації журналів процес ротації журналу має видати
команда `хитрість --резюме '. Таким чином відновлюється діяльність призупиненого
хитрість демон, негайно виконуючи наступне сканування цілісності. Після
це хитрість daemon повернувся до початкового режиму сканування цілісності. Ось
приклад logrotate(1) обертається специфікація хитрість лог-файли:
/root/stealth/clienthost/small/report /var/log/stealth/clienthost-small.log {
щодня
повернути 4
стискати
відсутній
копіювати
спільні скрипти
попередньо обертати
/usr/bin/stealth --suspend /root/stealth/client/small.uds
кінцевий сценарій
побудувати
/usr/bin/stealth --resume /root/stealth/client/small.uds
кінцевий сценарій
}
ПЕРЕЗАвантажити, ПОВТОРИТИ І ПРИПИНУТИ
Ось що відбувається, коли хитрість виконується з використанням третього синопсису:
o Коли почався як хитрість --перезавантажити , хитрість процес демона перезавантажує його
файл політики та (якщо вказано) файл специфікації --skip-files. Далі хитрість
Процес daemon виконує перевірку цілісності файлу, використовуючи інформацію в перечитанні
політику та файли пропуску. Хитрість може перезавантажити (змінений) вміст файлу
початково вказані імена політик і файлів пропуску. Якщо інший поліс та/або
skip-files файли повинні використовуватися іншим хитрість необхідно розпочати процес, для чого
ці нові імена файлів вказані.
o Коли почався як хитрість -- повторити , хитрість демон виконує ще одне сканування
(якщо воно не було призупинено використання хитрість --призупинити ).
o Коли почався як хитрість --припинити , хитрість демон припинено.
RSYSLOG ФІЛЬТРУВАННЯ
При використанні rsyslogd(1) фільтри на основі властивостей можна використовувати для фільтрації повідомлень системного журналу та
запишіть їх у файл на ваш вибір. Наприклад, для фільтрації повідомлень, починаючи з системного журналу
використання тегу повідомлення (наприклад, STEALTH).
:syslogtag, isequal, "STEALTH:" /var/log/stealth.log
:syslogtag, isequal, "STEALTH:" стоп
Зауважте, що двокрапка є частиною тегу, але не вказана за допомогою параметра syslog-tag.
Це призводить до того, що всі повідомлення, що мають тег STEALTH:, будуть записані в /var/log/stealth.log
після чого їх викидають. Також підтримується більш розширена фільтрація, див., наприклад,
http://www.rsyslog.com/doc/rsyslog_conf_filter.html та
http://www.rsyslog.com/doc/property_replacer.html
Позначки часу, написані rsyslogd, не контролюються хитрістьопція --time-stamp, але,
наприклад, за специфікацією TZ у /etc/default/rsyslog. Просто додайте рядок
експорт TZ=UTC
до /etc/default/rsyslog, а потім перезапуск rsyslogd налаштовує rsyslogd для створення
відмітки часу з використанням UTC.
РОЗМІЩЕННЯ РЕЗЮМЕ
Нижче наведено рекомендації, які слід виконати під час встановлення невидимого режиму. Все це
кроки детально описані в хитрістьАвтора користувач Guide (розділ Робота `стелс'):
o Встановити хитрість (наприклад, використовувати dpkg(1) для встановлення дебютантка файл);
o Створення одного або кількох файлів політики;
o Автоматизувати (повторний) запуск хитрість використання крон(1) або ssh-cron(1) (можливо, дзвонить
стелскрон);
o Налаштуйте автоматичну ротацію журнальних файлів, використовуючи, наприклад, приховане очищення та logrotate(1)
визначення одного або кількох конфігураційних файлів /etc/logrotate.d/stealth....
Використовуйте прихований режим онлайн за допомогою служб onworks.net