Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Операционные системы » Microsoft Windows » Запрет на изменение HOSTS

Модерирует : KLASS, IFkO

 Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 1 2 3

Открыть новую тему     Написать ответ в эту тему

djbub

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Возможно ли как-то запретить изменение файла hosts? Имеется ввиду под администраторской учетной записью, например запретив к нему доступ или установить только чтение. При этом не используя сторонних программ.
Знаю, что некоторые антивирусы умеют блокировать, но используется MSE и в нем, к сожалению такой функции нет, поэтому компьютер под угрозой подмены этого файла и дальнейших опасных действий.

Всего записей: 329 | Зарегистр. 06-03-2009 | Отправлено: 18:04 15-12-2009
PLAYYOB



Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
djbub

Цитата:
Возможно ли как-то запретить изменение файла hosts?

 
Системе? Нет.
Другим юзерам да, если не дать им админ прав.

----------
English Room
_
Изучаем иностранный язык играя!

Всего записей: 7216 | Зарегистр. 21-03-2007 | Отправлено: 18:28 15-12-2009
djbub

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
PLAYYOB
А как быть? Вири ведь под админом изменяют этот файл! Обрезать права пользователю компа нельзя. Да и смысла нет, т.к. комп защищен и юзер не идиот, просто был уже случай "вишмастера", который антивирем не детектился и подредактировал хостс.

Всего записей: 329 | Зарегистр. 06-03-2009 | Отправлено: 19:03 15-12-2009
arom_uk

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
djbub
а с помощью разрешений файловой системы ntfs не достаточно?
В правах на файл оставить только полный для SYSTEM, а для "всех" оставить только выполнение, чтение данных, атрибутов, дополнительных атрибутов и разрешений.
Другое дело, что под администратором можно овладеть файлом и переназначить права, но вирь ведь должен специально полезть им овладевать...
 
Можно в планировщике составить задание перезаписывать здоровый hosts из безопасного места раз в минуту...

Всего записей: 347 | Зарегистр. 13-07-2006 | Отправлено: 20:01 15-12-2009 | Исправлено: arom_uk, 20:04 15-12-2009
djbub

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
arom_uk
Хм, я не знал, что можно оставлять права только для SYSTEM. Этот вариант вполне мне подходит. Только, подскажите, как для этого файла так сделать? Папку etc не дает ничего делать (общий доступ и безопасность пишет "нельзя, т.к. используется системой").
Напишите, пожалуйста, как правильно проделать, чтобы нельзя было администраторам обращаться к этому файлу, а тока системе.
И вопрос: а как тогда потом администратору снять это ограничение?

Всего записей: 329 | Зарегистр. 06-03-2009 | Отправлено: 20:19 15-12-2009
01MDM



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
djbub
Администратор всегда может стать владельцем файла. Работай под юзером или запускай сомнительные приложения в песочнице (sandboxie и подобные)

Всего записей: 2638 | Зарегистр. 13-02-2006 | Отправлено: 20:35 15-12-2009
djbub

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
01MDM
Тут проблема не тока в использовании песочниц и виртуальных машин. Мне нужно запретить доступ к файлу из под админа. Это и есть моя задача. Прошу помочь.
 
А файлы часто проверенные и достоверные. Вирусы на то и вирусы, что прикрепляютя. Да и что значит в песочнице? А если мне надо работать с файлом? А если кто-то пришел ко мне? Понимаете, зачем мне создавать проблемы, когда есть очевидный вариант решения и прошу подсказать, как осуществить его.

Всего записей: 329 | Зарегистр. 06-03-2009 | Отправлено: 20:39 15-12-2009
arom_uk

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
djbub
администратор может получить доступ к любому файлу, для того он и администратор. Он может стать владельцем файла и затем переназначить права как угодно.
 
Оставьте "всем" разрешения только на чтение, полностью запрещать доступ всё-таки не нужно.
Можно также спрятать файл cacls.exe из system32.
 
Когда администратор не может получить вообще никакой доступ к файлу или папке, надо на вкладке "владелец" назначить им себя (для каталогов поставить чек "Заменить владельца субконтейнеров и объектов"), а затем уже изменить разрешения на файл/папку на какие нужно.
 
Но от дюже умного вируса это может не помочь: может быть, он проделает то же самое.
 
Можно ещё задать совсем нестандартный атрибут для файла (утилитами), и тогда вообще никто не сможет его ни удалить, ни перезаписать, ни переименовать. Но лучше этого не делайте. Лучше используйте какую-нибудь маленькую стороннюю программу. Easy File Protector и т.п.

Всего записей: 347 | Зарегистр. 13-07-2006 | Отправлено: 20:39 15-12-2009 | Исправлено: arom_uk, 21:01 15-12-2009
djbub

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
arom_uk
Нее, сторонних программ не хочется. Доктор Веб тоже умеет блокировать доступ, но там полный доступ.
 
 
Подскажите, как мне сделать доступ только для чтения через систему? Я не знаю как это сделать!

Всего записей: 329 | Зарегистр. 06-03-2009 | Отправлено: 21:15 15-12-2009
arom_uk

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
djbub
сделайте, чтобы было вот так:
 

 
Само собой, в "Проводнике" -> Сервис -> Свойства папки -> Вид "Использовать простой общий доступ к файлам" должен быть отключен. После этого кликаете правой кнопкой на файл hosts и выбираете Свойства -> Безопасность. Далее как на картинке.
Если у вас другая версия windows, выглядеть может чуть иначе, но принцип тот же.
А когда захотите сами что-то изменить в hosts, в третьем (на рисунке) окне установите Всем "Полный доступ".

Всего записей: 347 | Зарегистр. 13-07-2006 | Отправлено: 21:32 15-12-2009 | Исправлено: arom_uk, 21:44 15-12-2009
djbub

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
arom_uk
Я именно поэтому и спросил, т.к. у меня нет такого! У меня нет в свойствах файла "безопасности". А в настройке "свойства папки" нет меню про общий доступ. Может как-то можно открыть это окошко, что на картинке выше через запуск файла, например mmc?
У меня Windows XP SP3 с последними апдейтами.

Всего записей: 329 | Зарегистр. 06-03-2009 | Отправлено: 21:43 15-12-2009
arom_uk

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Home edition, что ли? Русская или английская?
 
Попробуйте Пуск -> Выполнить, напишите там cmd и запустите.
В окошке cmd дайте команду:
 
cacls.exe C:\WINDOWS\system32\drivers\etc\hosts /C /G SYSTEM:F Все:R
 
(Путь до файла hosts поправьте так, как у вас есть. Если у вас английская windows, то слово "Все" в команде замените словом "Everyone".)
 
Попробуйте то же самое в безопасном режиме (F5 при загрузке компьютера).

Всего записей: 347 | Зарегистр. 13-07-2006 | Отправлено: 21:57 15-12-2009
colovorot



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
djbub
 
Необходимо подправить два ключа в реестре:
1. HKLM\\SYSTEM\\ControlSet001\\Control\\Lsa\\forceguest
2. HKLM\\SYSTEM\\CurrentControlSet\\Control\\Lsa\\forceguest
   Значение "forceguest" необходимо сменить с 0x00000001(1) на 0x00000000(0)
   Появится вкладка "Безопасность" в Свойствах файла. Ну а затем дать Админу полный запрет на файл. Если необходимо будет снять запрет, придется назначать себя (админа)владельцем файла.
 
 
 
   

Всего записей: 273 | Зарегистр. 04-05-2009 | Отправлено: 22:25 15-12-2009
djbub

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
arom_uk
Да, у меня лицензионная XP преобразованная (через реестр) до PRO, но оказывается не все функции имеются.
Pro дороговата, да и вроде как не нужна. Хотя думаю обновить до 7ки. Но еще определяю с чего выгоднее с Висты или ХП обновляться.
 
Способ с cacls прокатил. Большое спасибо!
 
Добавлено:
colovorot
У меня нет таких разделов в реестре (forceguest), полагаю их нужно создать? Спасибо, обязательно проверю!

Всего записей: 329 | Зарегистр. 06-03-2009 | Отправлено: 00:34 16-12-2009
arom_uk

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
djbub
прекрасно!
 
Соответственно, когда захотите изменить что-то в hosts, дайте команду
 
cacls.exe C:\WINDOWS\system32\drivers\etc\hosts /C /G SYSTEM:F Все:F
 
А после сохранения опять первую.

Всего записей: 347 | Зарегистр. 13-07-2006 | Отправлено: 01:01 16-12-2009
colovorot



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
djbub

Цитата:
У меня нет таких разделов в реестре (forceguest), полагаю их нужно создать? Спасибо, обязательно проверю!

 
Поиск правильно осуществлялся? Надо нажать не на крестик рядом с каталогом Lsa чтобы посмотреть подкаталоги (в левой колонке), а на сам параметр  Lsa, чтобы посмотреть значения ключей данного параметра и в правой колонке ищем нужный ключ (forceguest). Если этого ключа нет, то его необходимо создать.
 

Всего записей: 273 | Зарегистр. 04-05-2009 | Отправлено: 06:38 16-12-2009
djbub

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
colovorot
Спасибо! Этот способ тоже помог! Я искал раздел в реестре "forceguest", а не параметр.
Вот что интересно, у меня в "безопасности" какая-то неизвестная запись. В управлении компьютером ее нет (только мои). Может ее стоит удалить?
 
 

Всего записей: 329 | Зарегистр. 06-03-2009 | Отправлено: 10:38 16-12-2009
arom_uk

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
djbub
S-1-5-32-547 - это идентификатор группы "Power Users" (см. здесь, ПОД таблицей). Формально, этой группы пользователей в WinXP Home нет, но вы говорили, что у вас windows переделан в Pro.
У вас один пользователь на компьютере?
Прежде чем удалять, убедитесь, что ВАШ активный аккаунт не входит в эту группу (действительно, проверьте с какими правами работает ваш текущий аккаунт, потому что группы "Администраторы" в WinXP Home тоже нет: в зависимости от ситуации и метода подготовки системы производителем вашего компьютера, может возникнуть путаница), и если нет никаких Power Users - смело удаляйте запись из разрешений файловой системы (главное, чтобы там остались ваш идентификатор, SYSTEM и, желательно, Local Service. Я также добавляю Network Service - для уверенности, что все сервисы будут работоспособны. Для нормальной работы двух последних, наличия только разрешений для SYSTEM часто бывает НЕ ДОСТАТОЧНО, надо указывать их явно). Если выход компьютера в сеть защищён каким-нибудь нормальным настраиваемым файерволлом, можете добавить Всех ко всем файлам (для упрощения работы), начиная с корня диска. (Файл hosts потом опять перенастроите как нужно.)
Скачайте отсюда PsTools и запустите psgetsid.exe из этого набора. По отображённому SID будет видно к какой группе относится ваш текущий аккаунт.
Затем запустите
psgetsid.exe S-1-5-32-547
и если ответ будет Alias: BUILTIN\(что-нибудь написано) - то всё нормально, если будет написано "Account for (и ещё что-то)" - то надо будет думать, зачем вам этот аккаунт на компьютере, если же будет написано "Error querying SID" или что-то подобное, то аккаунт - совсем левый и не нужный.
 
И ещё, посмотрите - отображается ли у вас оснастка Панель управления -> Администрирование -> Управление компьютером -> Локальные пользователи (или Пуск -> Выполнить, и там запустите compmgmt.msc, и там уже смотрите "Локальные пользователи"), а то после вашей переделки ни в чём нельзя быть уверенным... В этой оснастке можно управлять пользователями и их принадлежностью к группам.
 
И ещё, запустите regedit и в разделе HKEY_USERS и посмотрите какие аккаунты перечислены. Короткие - это встроенные, они там и должны быть, пара самых длинных (второй заканчивается на _Classes) - это ваш текущий. Если длинных (пар) несколько - пишите сюда.

Всего записей: 347 | Зарегистр. 13-07-2006 | Отправлено: 15:33 16-12-2009 | Исправлено: arom_uk, 16:15 16-12-2009
djbub

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
compmgmt.msc, и там уже смотрите "Локальные пользователи"
Там только мои юзеры (я через управление запускаю это окно), как я и писал выше.
 
 
Вот реестр:

 
У меня на ПК пользователи (которые через управление видно; если через панель управления, то там вообще только Я и гость):
Я, PostgreSQL, Admin, Гость
 
Вот, что выдает psgetsid на мой аккаунт

 
а вот, что по запросу psgetsid.exe S-1-5-32-547

 
Т.е., я понимаю, что аккаунт левый? А где мне его потереть, если его нет в "управлении" ( compmgmt.msc ) ?
 
 
И вообще, для чего был создан этот Poweruser тогда?

Всего записей: 329 | Зарегистр. 06-03-2009 | Отправлено: 20:54 16-12-2009
arom_uk

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
djbub
Для чего был создан - теперь уже сказать трудно. Например, при изготовлении OEM-системы производителем компьютера, может быть...
И это не пользователь, а группа, в которую входил пользователь. Разрешение для группы осталось в разрешениях файловой системы, самого пользователя у вас нет. Можете спокойно тереть.
 
Теперь, когда у вас есть закладка Безопасность, вы можете просто кликнуть правой кнопкой на весь диск C: (в корень), и в Свойствах -> Безопасность -> Дополнительно добавить/удалить всё, что нужно, поставить чек "Заменить разрешения всех дочерних объектов..." и Применить. Ко всем каталогам и файлам диска применятся те разрешения, которые вы указали. Заодно владельцем всех файлов себя укажите.
 
Если же хотите ТОЛЬКО изъять из файловой системы лишние SIDы, то можете всё это сделать более весело:
скачать отсюда замечательную MS-утилиту SubInACL.exe, установить её и в каталоге, где она присутствует, создать bat-файл следующего содержания:
 
removeunknownSIDs.bat

Код:
 
@echo off
setlocal
set work="%TEMP%\RevokePermSID_%RANDOM%.TMP"
set obj=c:\*.*
call :findSID %obj%
for /f "Tokens=*" %%a in ('dir %obj% /s /b /a') do (
 call :findSID "%%a"
)
:finish
del /q %work%
endlocal
goto :EOF
:findSID
subinacl /outputlog=%work% /File %1
for /f "Tokens=*" %%b in ('type %work%^|FIND "=S-1-"') do (
 for /f "Tokens=1* Delims==" %%c in ('@echo %%b') do (
   for /f "Tokens=1" %%e in ('@echo %%d') do (  
    subinacl /File %1 /revoke=%%e
   )
 )
)
 

 
и запустить его. Это будет помедленнее, чем из вкладки "Безопасность", запущенный bat некоторое время поработает, но дайте ему закончить. Все застрявшие и недействительные SIDы будут изъяты из всех файлов на диске C:, где они числятся. Все действительные SIDы (то есть те, которые могут быть переведены в зарегистрированные имена пользователей и служб) останутся как есть.
Если понадобится сделать то же самое, например, на диске D: - замените строку set obj=c:\*.* на set obj=d:\*.*

Всего записей: 347 | Зарегистр. 13-07-2006 | Отправлено: 23:26 16-12-2009 | Исправлено: arom_uk, 00:08 17-12-2009
Открыть новую тему     Написать ответ в эту тему

Страницы: 1 2 3

Компьютерный форум Ru.Board » Операционные системы » Microsoft Windows » Запрет на изменение HOSTS


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru