Неубиваемая служба

Тема в разделе "WASM.WIN32", создана пользователем Max, 11 фев 2005.

  1. Max

    Max Member

    Публикаций:
    0
    Регистрация:
    22 май 2003
    Сообщения:
    192
    есть такая ситуация: домен на вин2к, [почти] каждый юзер домена является админом на своей машине.

    надо: админу домена установить службу на машину юзера, да так, чтобы этот юзер, даже обладая правами админа на конкретной машине не смог бы эту службу замочить.



    служба уже устанавливается удаленно и даже работает :), осталось только с безопасностью чего-то намудрить...



    кто что посоветует?
     
  2. Dr.Golova

    Dr.Golova New Member

    Публикаций:
    0
    Регистрация:
    7 сен 2002
    Сообщения:
    348
    Убери у сервиса функцию выгрузки =)
     
  3. SteelRat

    SteelRat New Member

    Публикаций:
    0
    Регистрация:
    26 авг 2004
    Сообщения:
    409
    И контролируй ветку реестра "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\ИМЯ_СЕРВИСА"

    Юзверь попробует остановить сервис, Винда ответит что-то на вроде "Сервис в данный момент не может быть остановлен и нужна перезагрузка" :) А контроль нужен на тот случай, если юзверь захочет убить сервис "на корню" - удалить из базы SCM
     
  4. Max

    Max Member

    Публикаций:
    0
    Регистрация:
    22 май 2003
    Сообщения:
    192
    Dr.Golova

    Убери у сервиса функцию выгрузки =)



    я пробовал - вызываю DeleteService, вызов проходит успешно, в оснастке служб в статусе пишется "Остановлена" (или чего-то типа того), после ребута службы нету.

    т.е., даже если я не буду реагировать на SERVICE_CONTROL_STOP, вызвав DeleteService юзер прибъет службу в БД сервис манагера.



    SteelRat

    И контролируй ветку реестра "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\ИМЯ_СЕРВИСА"



    что понимается под контролем?

    может накрутить какие нибудь права доступа на эту ветку?

    хотя это тоже ненадежный вариант - имея права админа юзер может права восстановить.



    з.ы. есть еще самый плохой вариант - юзер шедулит таск манагер, который запустится в LocalSystem (т.е. там где и служба), и тогда просто сможет замочить процесс службы.
     
  5. LevaGil

    LevaGil New Member

    Публикаций:
    0
    Регистрация:
    18 дек 2003
    Сообщения:
    18
    Почти наверняка можно сделать или права Domain Admin>Local Admin или службу запустить с правами Domain Network или System (как то так). Надо учить матчасть.
     
  6. Max

    Max Member

    Публикаций:
    0
    Регистрация:
    22 май 2003
    Сообщения:
    192
    LevaGil

    Почти наверняка можно сделать...



    сомневаюсь, т.к. в функции CreateService/OpenService никаких параметров безопасности (типа SECURITY_ATTRIBUTES) не передается
     
  7. LevaGil

    LevaGil New Member

    Публикаций:
    0
    Регистрация:
    18 дек 2003
    Сообщения:
    18
    Max

    сомневаюсь, т.к. в функции CreateService/OpenService никаких параметров безопасности (типа SECURITY_ATTRIBUTES) не передается...



    Зато при открытии базы SCM права нужны...
     
  8. NullSessi0n

    NullSessi0n New Member

    Публикаций:
    0
    Регистрация:
    20 янв 2006
    Сообщения:
    322
    Не получится запретить, можно через консоль восстановления (есть на установочном диске, у меня и на жёстком стоит) будет всё равно подправить конфигурацию Windows. Лучше всего тогда вообще перехватывать все Native API для работы со службами, чтобы пользователь даже не подумал чего-то там проверять.