Проблеми със сигурността 1C или пароли в командния ред

пароли

В тази статия искам да дам някои препоръки какви действия трябва да се предприемат, за да защитите акаунта си в платформата 1C: Enterprise 8.x.

Нека започнем с факта, че платформата 1C Enterprise има възможност да зададе режим на работа, като използва базата данни, потребителско име и парола, като ги посочи в параметрите на командния ред. За пълен списък с параметри вижте документацията. Тази функция често се използва от програмисти и администратори на 1C за извършване на рутинни действия, като създаване на конфигурация и изображения на база данни по график и автоматично извършване на различни операции. Мисля, че няма да бъде откритие за никого, ако кажа, че някои мързеливи 1C програмисти създават преки пътища с вече зададени параметри за достъп до база данни, за да избегнат избора на правилния от списъка с бази данни и въвеждане на пароли. Не трябва да е изненадващо, че процес, стартиран по този начин, показва паролата на потребителя в свойствата на процеса на "командния ред".

Освен това терминалният сървър на Microsoft предоставя отлична възможност. И наистина, добре, защо потребител, който ще работи в терминала с една програма, ще има десктоп и куп ненужни приложения? Следователно обичайната практика за 1C: Enterprise е платформата да се използва като обвивка. Това става чрез менюто с настройки на потребителските свойства. Също така е обичайна практика, когато конфигурирате потребителските настройки на терминала, да посочите работеща база и потребителско име и парола. Всъщност задаването на паролата на потребителя в командния ред е лоша практика. Нежелателността на подобни действия се дължи на факта, че в големите организации има няколко администратори, а понякога техните функции изобщо не включват контакт.с 1с. От своя страна, оставяйки паролите в потребителските настройки, ние предоставяме на такива администратори набор от акаунти, които обикновено не се нуждаят от гледна точка на техните задължения. Да, наясно съм, че ако администраторът иска, той ще знае всяка парола. Но имайте предвид, че едно е да положите усилия да получите пароли и съвсем друго да ги копирате от реда за стартиране на обвивката на потребител на терминал.

Изглежда, че това е дупка. Познайте себе си, стартирайте диспечера на задачите от всеки потребителски акаунт на терминалния сървър и запишете потребителските пароли на партиди. Но го нямаше. Факт е, че системата не дава параметрите на процесите на други хора на потребител с ограничени права. Всичко, което системата дава на потребителя, е името на процеса и неговия PID. Не се виждат допълнителни опции. Въпреки това има възможност потребителят да може да използва софтуер на трети страни, за да повиши правата си на администратор и да преглежда свойствата на процесите на други хора. Следователно: Използването на пароли за 1C в потребителските настройки на терминала е потенциална дупка в сигурността. Препоръчително е тази практика да бъде изоставена.

Ценна информация за влизане в базата данни може да се види и ако я стартирате в режим на конфигуратор, след което щракнете върху „отстраняване на грешки“ Поглеждаме в диспечера на задачите. По подразбиране платформата стартира сесия за отстраняване на грешки, като стартира своето копие с потребителското име и паролата, дадени й в командния ред. Това може да се избегне чрез премахване на превключвателя от опцията „Текущ потребител“ към която и да е друга опция в настройките на конфигуратора в раздела за стартиране на платформата, тогава платформата ще изисква потребителско име при влизане или ще използва удостоверяване на Windows.

Точно същият ефект се появява, ако при работа в корпоративния режим платформатаще попадне в необработено изключение, когато работи като потребител с администраторски права на база данни. В такива ситуации платформата подканва потребителя да премине в режим на конфигуратор и ако потребителят има достатъчно права да стартира базата данни в този режим на конфигуратор, ще видим същия ефект, както при стартиране на отстраняване на грешки - платформата ще стартира своето копие, като посочи потребителско име и парола през командния ред. Това води до абсолютно същия ефект, както при стартиране на отстраняване на грешки. Доколкото знам, невъзможно е да деактивирате това свойство (както в случая с отстраняване на грешки).

Подобно поведение на платформата може да бъде опасно само ако администраторът пренебрегне едно елементарно правило за сигурност: под администраторския акаунт не трябва да има непознати. Ако поставите определен потребител зад вашата машина под вашия акаунт и не контролирате какво прави, тогава ви уверявам, че кражбата на парола от 1C е може би далеч от най-лошото нещо, което може да се направи. За всеки потребител, както и за администратора, златното правило трябва да е тройно - само аз и никой друг не трябва да работи под моя акаунт. Трябва да блокирате работната станция дори когато се отдалечите от работното място на 5 стъпки, за да налеете кафе. Просто защото в следващия момент може да има „бързане“ и спешно ще трябва да избягате някъде, оставяйки работното място да не бъде блокирано за неопределено време, с произтичащата от това вероятност в най-добрия случай добрите колеги да ви поставят в статус на ас: „Аз съм Мечо Пух“ ...

С пускането на платформата 8.2 универсалният товарач 1cestart започна да се включва в пакета на платформата (намиращ се в директорията C:\Program Files\1cv82\common\1cestart.exe) - предоставя на хората бази данни, работещи под различни версии на платформата (8.0, 8.1, 8.2), за да изберат желаната база данниот едно меню. Товарачът, в зависимост от настройките, избира коя версия на платформата да стартира за избраната база данни.

В менюто за настройки на базата данни 1cestart можете да изберете версията на платформата и да зададете всички същите параметри за удостоверяване, които ще бъдат предадени през командния ред на версията на платформата, която се стартира. И отново, не е необходимо да се изненадвате, че паролата и потребителското име се появиха в свойството „команден ред“ на процеса.

  • Не задавайте потребителски пароли в свойствата на потребителската обвивка на терминала.
  • Не позволявайте на непознати да работят с платформата под вашия 1C акаунт.
  • Не позволявайте на външни лица да работят под вашия системен акаунт.
  • Откажете да съхранявате пароли в 1cestart.

Надявам се, че тази публикация напълно обясни феномена „парола в командния ред“ и най-важното показа, че това не е дупка за администратори, които са наясно как работи корпоративната платформа 1C: и какви са характеристиките на нейното поведение. Изхвърлете суеверието и невежеството. Съдбата на администраторите е да знаят, разбират, могат.