Автоматизация рабочих процессов системного администратора
Похорукова Мария Юрьевна
кандидат технических наук, доцент кафедры «Математика и информатика», Технический институт (филиал) ФГАОУ ВО «Северо-Восточный федеральный университет имени М.К. Аммо-сова» в г. Нерюнгри, [email protected]
Самохина Виктория Михайловна
кандидат педагогических наук, заведующая кафедрой «Математика и информатика», Технический институт (филиал) ФГАОУ ВО «Северо-Восточный федеральный университет имени М.К. Аммосова» в г. Нерюнгри, [email protected]
В современном мире на каждом предприятии имеется большое количество компьютеров и компьютерного оборудования, обслуживанием которого занимается системный администратор. В статье обосновывается актуальность автоматизации работы системного администратора с целью сокращения временных затрат и человеческих ресурсов на выполнение рутинных операций. Приведены несколько примеров существующих приложений или скриптов, автоматизирующих работу его в целом или выполнение отдельных функций: учет трафика в сети, обеспечение информационной безопасности, отправка данных по FTP. Рассмотрены наиболее популярные инструменты создания скриптов: PowerShell, BAT-файлы, VBScript. Приведены примеры создания скриптов для отключения учетных записей пользователей, находящихся в отпуске, и отправки им уведомлений об окончании срока действия пароля по электронной почте. Использование указанных скриптов в работе системного администратора позволит организовать выполнение этих операций автоматическим образом.
Ключевые слова: системный администратор, автоматизация рутинных операций, скрипты, PowerShell, VBScript.
В большинстве крупных организаций имеется большое количество серверов, сетей, компьютеров и компьютерного оборудования, поэтому для эффективной работы необходим системный администратор, которому необходимо обеспечить безопасность и стабильность информационной среды.
Чаще всего на предприятии недостаточно системных администраторов, поэтому автоматизация - единственный способ справиться с широким спектром задач: от обслуживания принтеров и копировальных машин до выполнения задач, связанных с сетью (настройка маршрутизаторов и коммутаторов или настройка брандмауэр). Системный администратор также отвечает за обновление оборудования, проверку и анализ журналов, аудит безопасности, установку исправлений на сервере, устранение неполадок, анализ основных причин и т.д.
Для автоматизации поддержки распределенных компьютерных системы и IT-инфраструктур в компании может использоваться мультиагентная система Cirrocumulus [1], которая представляет собой набор агентов, запускаемых на отдельных узлах для сбора данных о работоспособности модуля. Получив более полное представление о происходящих событиях, программа может принимать решения о дальнейших действиях.
В статье [4] рассматривается создание приложения, автоматизирующего рабочие процессы системного администратора, которое предоставляет актуальную информацию о сотрудниках, принятых заявках, выполненных работах, об установленном программном обеспечении и т.д. Это позволит освободить оптимизировать работу за счет использования единой базы данных и снизить объёмы бумажной документации.
Также может быть автоматизирована задача обеспечения информационной безопасности в компьютерной сети компании. В работе [5] предлагается разработать программное обеспечение, которое позволит:
- просматривать доступных компьютеров-клиентов в сети и ресурсов (объектов) операционной системы;
- отображать сеть в виде дерева с возможность поиска по IP адресу или названию компьютера;
- публиковать все ресурсы клиента на контроллере домена создания групп безопасностей в контроллере доменов для каждого объекта операционной системы;
- создавать группы безопасности на контроллере доменов для существующих объектов клиента с занесением в DACL список.
Для автоматизированной отправки данных и получения обновлений по FTP может использовать соответствующее приложение [6]. Удобное графическое окно позволяет запускать задачи по одному щелчку мыши, и,
X X
о
го А с.
X
го m
о
ю 2
М О
о
CS
CS Ol
о ш m
X
<
m О X X
при необходимости, вносить коррективы в список операций. С помощью скриптов также решается задача учета трафика в сети: обработка входных данных, настройка параметров учета и т.д. [7].
Можно сказать, что основная задача системного администратора как раз и состоит в написании приложения или скриптов, автоматизирующих те или иные рутинные операции. Например, создание учетных записей пользователей и назначение разрешений - чрезвычайно утомительная задача, поскольку пользователи появляются и исчезают почти каждый день. Автоматизация высвобождает время для выполнения более важных задач инфраструктуры, таких как обновление коммутаторов и серверов и других проектов, которые влияют на прибыльность компании, в которой работает администратор. Рассмотрим наиболее популярные и простые инструменты создания скриптов: PowerShell, BAT-файлы, VBScript.
PowerShell предоставляет набор инструментов командной строки (называемых «командлетами»), которые можно использовать для интерактивного ввода текста в консоли. В PowerShell можно использовать одну команду, одно написание и один стиль для командной строки и сценариев. Скриптовый язык PowerShell позволяет управлять процессами, службами, файловыми хранилищами, аккаунтами и даже серверами [3].
Пакетный файл - текстовый файл в MS-DOS, OS/2 или Windows, содержащий последовательность предназначенных для выполнения команд, имеет расширение *.bat. Интерпретатор командной строки вызывается автоматически при запуске пакетных файлов (cmd.exe) и последовательно выполняет команды [2], например, копирование, перемещение, переименование, удаление файлов, работа с папками, архивирование и т. д.
VBScript (VBS, развернутый в Microsoft Visual Basic Script Edition, иногда Visual Basic Script) - это язык сценариев, созданный Microsoft на основе языка Visual Basic, который предназначен для использования в приложениях, использующих технологию активных сценариев.
В рамках данной статьи рассматривается задача автоматизации процессов отключения учетных записей пользователей, находящихся в отпуске, и отправки им уведомлений об окончании срока действия пароля по электронной почте.
Отключение учетных записей сотрудников, находящихся в отпуске является обязательной процедурой, данный процесс регламентирован и обязателен для исполнения. Несанкционированное использование учетных записей является серьезной угрозой для любой корпоративной сети и при построении системы защиты следует большее внимание их защите и контролю. Системный администратор еженедельно проверяет список сотрудников, ушедших в отпуск, для того, чтобы запретить им вход в систему предприятия. Поскольку этот список довольно большой, эта работа занимает много времени, тогда как выполнение рутинных операций вполне может быть автоматизировано с использованием соответствующего скрипта:
'Подключаемся в контроллеру домена и производим обработку
While f.AtEndOfStream <> True on error resume next str=f.ReadLine()
Set objUser = GetObject ("LDAP://CN=" & str & ",OU=Users,DC=domainName,DC=com")
intUAC = objUser.Get("userAccountControl") objUser.Put "userAccountControl", intUAC OR ADS UF ACCOUNTDISABLE
objUser.Setlnfo if err=0 then
logf.WriteUne("Пользователь;" & str & ";успешно отключен;") Else
logf.WriteLine("C пользователем;" & str & ";возникла ошибка;" & Err.description) end if
'msgbox "Пользователь;" & Str & ";отключен!" Wend
Результат исполнения данного скрипта выводится на экране соответствующим образом (рис. 1):
Рис. 1. Результат работ скрипта об отключении пользователей, находящихся в отпуске
Следующим заданием является автоматизация процедуры отправки пользователям сообщений об истечении срока действия пароля для входа в систему. Так как пароль действует 90 дней и, в случае истечения срока действия пароля, пользователь не может продолжить свою работу (рис. 2), возникла необходимость напоминания пользователям о необходимости поменять пароль. Это позволит пользователям заблаговременно изменить пароль и не обращаться в отдел поддержки пользователей.
Рис. 2. Сообщение о невозможности входа пользователя в систему
Для разработки скрипта была выбрана платформа PowerShell. На рис. 3 представлен фрагмент кода. На рис. 4 - сообщение, которое приходит пользователям на электронную почту.
# Пошхчш модуль Active Directory Inport-Hodule A«iv*D4reeCöiY
I Выполняя« оля nuasro г, о луч ян* о г о оФмкта цикл rorueh (Spuaer In tpu»:a| (
# Да» изменения пароля у кааего пользователя. Ctdate - (G«t-Dat*)-ТоГИяНкО
$EVdUftStc - EDtitllM] : :F:BBfiltTiM(SpwilUit3tt)
I Прибавляем к дате последней сиены пароля 90 шей, тек сшш получая дату истечения пароля, и конвертируем обратно для дальнейшей оСраСоткл 5pwdLa*c5*c - ipw3Lajt5«i-AcWD*y*(* ) ,ToFil«Ti«<)
# Если дата истечения пароля е=е не наступила, то есть она пользе сегоднянней латы lf (IpwlUscSit -gt Staate) (
# Конвертируем для отпрмюе даты истечения по дсчте $;vdUi;Stc - [DiitTUH] i :f:efflfU(Tuc(!pylUitSK) SpwdLeetSec - ipudLtitSet.TaLongDtccScring(t
# Отправляем уведомлении! по e-sall пользователям.
Рис. 3. Фрагмент кода скрипта для отправки сообщений пользователям
«™uct it KQlipi SOii Г' Jtn« скснм щрол! нс^ксцшз * "i- iiri ■ :— f 'm .i-i CWL+*LT+
Рис. 4. Сообщение пользователям о необходимости смены пароля
Автоматизация рабочих операций играет большую роль в работе системных администраторов и сильно экономит ресурсы и время.
Литература
1. Косякин А. Н. Cirrocumulus-система управления IT-инфраструктурой //Компьютерные инструменты в образовании. - 2012. - №. 1. - С. 4-13.
2. Кувшинов Д.Р. Интерфейс командной строки // URL: https://teccxx.neocities.org/mx1/cli.html (дата обращения: 10.12.2019)
3. Лавлинская О.Ю., Кузнецов В.И., Петрученко М.К. Скриптовый язык PowerShell как средство автоматизации работы с объектами службы active directory // Информационные технологии в строительных, социальных и экономических системах. - 2019. - № 1(15). - С. 55-58.
4. Рабданова В. В., Елтунова И. Б., Кокиева Г. Е. Автоматизация работы системного администратора // Наука и образование сегодня. - 2018. - №. 4 (27). - С. 20-24.
5. Сотников С. В., Мухаметханов Р. Р. Публикация разрешения на доступ к различным компонентам операционной системы на базе WINDOWS NT //Современные инновации. - 2017. - №. 5. - С. 11-12.
6. Супрунов С. Автоматизируем FTP с помощью Python //Системный администратор. - 2004. - №. 12. -С. 36-41.
7. Пеплин Д. Скрипты для подсчета трафика. Пример реализации в FreeBSD //Системный администратор. - 2003. - №. 6. - С. 36-42.
The automation of work processes of system administrator Pokhorukova M.Yu., Samokhina V.M.
North-Eastern Federal University named after M.K. Ammosova In the modern world, every enterprise has a large number of computers and computer equipment serviced by a system administrator. The article substantiates the relevance of automating the work of a system administrator in order to reduce time and human resources for routine operations. Several examples of existing applications or scripts that automate its operation as a whole or the performance of individual functions are given: accounting for network traffic, ensuring information security, sending data via FTP. The most popular scripting tools are considered: PowerShell, BAT-files, VBScript. Examples of creating scripts for disabling user accounts on vacation and sending them notifications about the expiration of a password by e-mail are given. Using these scripts in the work of the system administrator will allow to organize the execution of these operations in an automatic way. Keywords: system administrator, automation of routine operations,
scripts, PowerShell, VBScript. References
1. Kosyakin A. N. Cirrocumulus - IT infrastructure management system
// Computer tools in education. - 2012. - No. 1. - S. 4-13.
2. Kuvshinov D.R. Command Line Interface // URL: https://teccxx.neocities.org/mx1/cli.html (accessed: 12/10/2019)
3. Lavlinskaya O.Yu., Kuznetsov V.I., Petruchenko M.K. The scripting language PowerShell as a means of automating work with objects of the active directory service // Information technologies in construction, social and economic systems. -2019 .-- No. 1 (15). - S. 55-58.
4. Rabdanova V.V., Eltunova I. B., Kokieva G. E. Automation of the
system administrator // Science and Education Today. - 2018. -No. 4 (27). - S. 20-24.
5. Sotnikov S. V., Mukhametkhanov R. R. Publication of permission
to access various components of the operating system based on WINDOWS NT // Modern Innovations. - 2017. - No. 5. - S. 11-12.
6. Suprunov S. Automate FTP using Python // System Administrator. - 2004. - No. 12. - S. 36-41.
7. Peplin D. Scripts for traffic counting. An example implementation
in FreeBSD // System Administrator. - 2003. - No. 6. - S. 36-42.
X X О го А С.
X
го m
о
ю 2
М О