Запрет запуска внешних ert на низком уровнеСтатья описывает возможность запрета на программный и интерактивный доступ к внешним ert средствами внешней компоненты (ВК). Приведен пример внешней компоненты с исходным кодом. | | Автор статьи: Последняя редакция №1 от 27.02.06 URL: http://kb.mista.ru/article.php?id=114 | |
Ключевые слова: ert, внешний отчет, внешняя обработка, запрет, безопасность, защитить
см. также
Книга знаний: Взлом и защита 1С:Предприятие 7.7
Не секрет, что одной из основных уязвимостей в системе безопасности 1С:Предприятие 7.7 является возможность программного открытия внешних отчетов и обработок (файлов с расширением ert), независимо от запрета на запуск внешних отчетов и обработок в пользовательских правах.
Штатные средства Конфигуратора 1С:Предприятие позволяют заблокировать только интерактивный доступ к ert.
Приведенная ниже внешняя компонента позволяет блокировать доступ (как программный, так и интерактивный) к внешним отчетам и обработкам вне папки ExtForms конфигурации (в этой же папке должна находиться и компонента StopErt.dll).
Внешняя компонента перехватывает системный вызов CreateFile (эта функция используется в системе Windows для создания или открытия файлов) и блокирует доступ к ert.
Методика программного перехвата функций DLL подробно описана в книге Джеффри Рихтера "Windows для профессионалов".
Инициализация внешней компоненты
ФайлВК=КаталогИБ()+"ExtForms\StopErt.dll";
Если ЗагрузитьВнешнююКомпоненту(ФайлВК)=0 Тогда
Сообщить("Не удается загрузить "+ФайлВК);
Возврат;
КонецЕсли;
Больше ничего делать не нужно.
Обратите внимание, что внешняя компонента сама расположена в папке ExtForms.
Она узнает путь к нужной папке ExtForms по своему собственному расположению.
Внешняя компонента для скачивания:
http://x-romix.narod.ru/StopErt.rar
(~63К, скачивать ЛЕВОЙ кнопкой мыши).
В комплекте с компонентой идет описание, тестовый пример конфигурации с внешними отчетами и исходный код (компилятор - Delphi 6). |