Вопросы безопасности 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С: предприятие и каковы особенности ее поведения. Отбрасывайте суеверия и невежество. Удел администраторов — знать, понимать, уметь.

Поделитесь своим мнением

Свежие записи
Советы и помощь программиста в 1с © 2018 ·   Войти   · Наверх