Питання безпеки 1С або паролі у командному рядку

паролі

У цій статті я хочу дати кілька рекомендацій щодо того, які дії варто вжити, щоб убезпечити свій обліковий запис у платформі 1С: Підприємство 8.х.

Почнемо з того, що платформа 1С Підприємство має можливість задати режим роботи, використовуючи базу, ім'я та пароль користувача, вказавши їх у параметрах командного рядка. З повним списком параметрів можна ознайомитись у документації. Дана можливість часто застосовується 1С програмістами та адміністраторами для виконання рутинних дій, на кшталт створення образів конфігурації та бази за розкладом, виконання різних операцій в автоматичному режимі. Думаю, що ні для кого не стане відкриттям, якщо я скажу, що деякі ліниві 1С програмісти створюють ярлики з вже заданими параметрами доступу до бази, щоб уникнути вибору зі списку потрібної бази і введення паролів. Дивуватися з того, що запущений таким чином процес відображає пароль користувача у властивостях процесу «командний рядок» не варто.

Також термінальний сервер від Microsoft надає відмінну можливість. Ну навіщо користувачеві який буде працювати в терміналі з однією програмою робочий стіл і купа непотрібних додатків? Тому частою практикою для 1С: Підприємство є використання платформи як оболонка. Виконується це через меню параметрів властивостей користувача. Також частою практикою при налаштуванні параметрів користувача терміналу є вказівка ​​робочої бази та імені користувача та пароля. Насправді завдання пароля користувача в командному рядку — порочна практика. Небажаність таких дій пов'язана з тим, що у великих організаціях кілька адміністраторів, і часом до їх функцій взагалі не входить дотикз 1С. У свою чергу залишаючи паролі в налаштуваннях користувача ми забезпечуємо таких адміністраторів набором облікових записів, які їм загалом по колу обов'язків не потрібні. Так, я усвідомлюю, що якщо адміністратор захоче, то дізнається будь-який пароль. Але зауважимо, що одна справа докладати зусиль для добування паролів, і зовсім інша — скопіювати їх із рядка запуску оболонки термінального користувача.

Здавалося б ось вона дірка. Знай собі запускай диспетчер завдань з-під будь-якого облікового запису термінального сервера і записуй паролі користувачів пачками. Але не тут було. Справа в тому, що система не видає параметри чужих процесів користувачеві з обмеженими правами. Все, що видає система користувачеві - ім'я процесу, і його PID. Жодних додаткових параметрів не видно. Тим не менш, існує ймовірність, що користувач зможе за допомогою стороннього ПЗ підняти собі права до адміністраторських і подивитися властивості чужих процесів. Тому: Використання паролів до 1С у налаштуваннях користувачів терміналу є потенційною діркою у безпеці. Від такої практики рекомендується відмовитись.

Цінну інформацію для входу в базу даних також можна побачити, якщо запустити її в режимі конфігуратора, потім натиснути налагодження. Дивимося в диспетчер завдань. За замовчуванням платформа запускає сеанс налагодження, запускаючи свою копію із заданими їй у командному рядку ім'ям користувача та паролем. Цього можна уникнути, якщо прибрати в налаштуваннях конфігуратора у вкладці Запуск платформи перемикач з варіанта «Поточний користувач» на якийсь інший, тоді платформа буде вимагати ім'я користувача при вході, або використовувати автентифікацію windows.

Такий самий ефект з'являється якщо при роботі в режимі підприємства платформапотрапить у виключення, що не обробляється, при роботі від користувача з правами адміністратора бази. У таких ситуаціях платформа пропонує перейти користувачеві в режим конфігуратора, і якщо у користувача вистачить прав на запуск бази в цьому режимі конфігуратора, ми побачимо той самий ефект, що й при запуску налагодження - платформа запустить свою копію, задавши ім'я користувача та пароль через командний рядок. Приводить до такого самого ефекту, що і при запуску налагодження. Наскільки мені відомо - відключити цю властивість (як у випадку з налагодженням) не можна.

Небезпечною така поведінка платформи може бути тільки в тому випадку, якщо адміністратор нехтує елементарним правилом безпеки: під обліком адміністратора не повинно бути сторонніх. Якщо ви посадили когось користувача за свою машину під своїм обліковим записом і не контролюєте, що він робить, то запевняю, що крадіжка пароля від 1С мабуть далеко не найстрашніше з усього, що можна зробити. Для будь-якого користувача, а для адміністратора втричі має діяти золоте правило - під моїм обліковим записом повинен працювати тільки я і ніхто інший. Блокувати робочу станцію потрібно, навіть коли відходьте від робочого місця на 5 кроків, щоб налити каву. Просто тому, що в наступний момент може статися «аврал» і потрібно буде терміново кудись бігти залишивши робоче місце не заблокованим на невизначену кількість часу, з ймовірністю того, що в кращому випадку добрі колеги поставлять Вам в асі статус: «Я Вінні Пух"…

З виходом платформи 8.2 в комплект платформи став входити універсальний завантажувач 1cestart (розташовується в каталозі C: ​​Program Files 1cv82 common 1cestart.exe) - надає людям мають бази платформи, що працюють під різними версіями (8.0, 8.1, 8.2), вибирати потрібнуз єдиного меню. Завантажувач, залежно від налаштувань, вибирає, яку версію платформи потрібно запустити для вибраної бази.

У меню налаштування бази 1cestart можна вибрати версію платформи, і задати ті самі параметри для аутентифікації, які і будуть передані через командний рядок платформи, що запускається. І знову дивуватися з того, що пароль та ім'я користувача з'явилися у властивості процесу «командний рядок» не доводиться.

  • Не встановлюйте паролі користувача у властивостях оболонка термінальних користувачів.
  • Не допускайте роботи з платформою сторонніх людей під вашим обліковим записом 1С.
  • Не допускайте роботи під Вашим обліковим записом сторонніх.
  • Відмовтеся від зберігання паролів у 1cestart.

Сподіваюся, що цей пост повною мірою пояснив феномен «пароль у командному рядку», а головне показав, що це не є діркою для адміністраторів, які усвідомлюють, як працює платформа 1С: підприємство і які особливості її поведінки. Відкидайте забобони та невігластво. Доля адміністраторів — знати, розуміти, вміти.