Настройка аудита запуска/остановки службы в Windows

Столкнулся с такой задачей: требовалось знать кто остановил критически важную службу на Windows-сервере. Как оказалось аудит этого события настраивается немного по-другому, в отличии, например, от файлового сервера. Что для этого требуется:

1) для начала скажу, что нельзя настроить аудит сразу всех служб — нужно выбрать конкретные службы для их аудита. Узнаем короткое имя службы, например, через команду PS get-service и в столбце «Name» оно будет отображено

2) в cmd выполняем команду sc sdshow [короткое имя службы]. Выведется строка примерно такого вида D:(A;;CCLCSWRPWPDTLOCRRC;;;SY)(A;;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;BA)(A;;CCLCSWLOCRRC;;;IU)(A;;CCLCSWLOCRRC;;;SU). Скопируйте ее в блокнот и в конце добавьте строку S:(AU;SAFA;RPWPDT;;;WD). Буква «D» в начале строки означает начало списка доступа DACL, а буква «S» — список доступа SACL, который используется при логировании. Если выводимая строка в команде «sc sdshow» уже будет содержать SACL, то удаляем ее и добавляем ту, которая указана выше.

3) выполняем в cmd команду sc sdset [короткое имя службы][получившаяся новая строка]. После этого должна появиться строка [SC] SetServiceObjectSecurity: успех


4) командой auditpol /get /category:* проверяем какой аудит включен в системе. Нам необходимо, чтобы был включен аудит для подкатегорий «Другие события доступа к объекту» и «Работа с дескриптором». В английской Windows они соответственно называются «Other Object Access Events» и  «Handle Manipulation». Если аудит не настроен, то делаем это через групповые политики, если компьютер в домене или через команды auditpol /set /subcategory:"Другие события доступа к объекту" /success:enable /failure:disable и  auditpol /set /subcategory:"Работа с дескриптором" /success:enable /failure:disable, если компьютер не в домене.

5) фильтруем журнал безопасности Windows по коду события «4656» и можем видеть событие в журнале


Аудит настроен.

 

Изменения Storage Replica в Windows Server 2019

В Windows Server 2019 Build 17650 стали доступны улучшения в работе Storage Replica:
1) Storage Replica теперь доступна в редакции Standard, но с ограничениями:
— можно реплицировать только один том (в Datacenter редакции ограничений нет)
— том можно реплицировать только одному партнеру (в Datacenter можно создавать неограниченное число партнеров по репликации)
— том, который подвергается репликации, должен быть размером не более 2 Tb (в старшей редакции такого ограничения нет)
2) В Storage Replica теперь доступен режим «Test Failover». При его включении на партнере по репликации становится доступным на запись реплицированный том. В этот момент  репликация прекращается до момента, пока мы не выйдем из режима «Test-Failover». Все изменения на временно подключенном томе сохраняются, но как только прекращается «Test-Failover», изменения откатываются на время последнего снапшота на сервере-источнике.

Инструкция по копированию GAL в GAL другого домена на сервере Kerio Connect

Дано: имеется 2 домена на одном сервере Kerio Connect. Нужно, чтобы контакты были едины, при условии, что общедоступные папки для каждого из доменов свои.

  1. В каждом из доменов должен быть пользователь с правами на администрирование Общедоступных папок, пусть это будет пользователь admin.
  2. Заходим в почтовый ящик admin@<ваш_домен> в первом домене и очищаем папку «Мои контакты». Тоже самое делаем и у admin@<ваш_домен_2>
  3. Подключаемся по SSH к серверу Kerio Connect . Поднимаем права через su —
  4. Заходим в директорию /opt/Kerio/mailserver/store/mail/<ваш_домен>/#public/Contacts/#msgs — здесь находятся контакты домена <ваш_домен> (GAL). Копируем их в директорию /opt/Kerio/mailserver/store/mail/<ваш_домен_2>/admin/Contacts/#msgs – если предварительно мы очистили личные контакты, то она должна быть пустая.
  5. Через панель администрирования у почтового ящика admin@<ваш_домен_2> запускаем переиндексацию почтового ящика. Чтобы она быстрее закончилась, почтовый ящик должен содержать как можно меньше писем
  6. После окончания индексации, GAL домена <ваш_домен> будет отображаться как «Мои контакты» в почтовом ящике admin@<ваш_домен-2> Теперь их можно перенести в общедоступные папки в раздел «Контакты»
  7. Повторяем процедуру, но для GAL домена <ваш_домен-2> с копированием его в почтовый ящик admin@<ваш_домен>
  8. Повторяем эти процедуры при любых изменениях GAL

Изменения в настройке папки-свидетеля в Windows Server 2019

Начиная с Windows Server 2019 общую папку-свидетель (File Share Witness) для работы кластера больше нельзя создать на DFS ресурсе. При попытке создать такого свидетеля появится сообщение об ошибке:

То же самое будет, если создавать папку через Powershell:
Set-ClusterQuorum : There was an error configuring the file share witness ‘\\contoso.com\dfs-share’.
Unable to save property changes for ‘File Share Witness’.
The request is not supported

Эта конфигурация не поддерживалась и раньше, но мастер создания не выдавал какой-либо ошибки и многие делали неправильные конфигурации кластера.

Хорошая новость:  теперь папку-свидетель можно создать на компьютере, не включенном в домен. Теперь можно подключить папку-свидетель так:

Set-ClusterQuorum -FileShareWitness \\SERVER\SHARE -Credential $(Get-Credential)
и ввести после этого локальную учетную запись — это сработает!

Kerio Connect 9.2 Резервное копирование

В процессе эксплуатация почтового сервера Kerio выяснилось, что резервные копии, который он делает своими скриптами (настроенными из графического интерфейса), хранятся вечно и их нужно самим периодически очищать. То есть получается параметр «число сохраняемых резервных копий» не работает.

Я позвонил в службу поддержки и мне подтвердили, что этот функционал не работает как надо. Не стал уточнять на каких платформах не работает, у меня же почтовый сервер настроен на Debian 8.9 x64. Они посоветовали добавить в Cron скрипт по очистке дискового пространства от старых резервных копий. И вот что получилось:

В файле /etc/crontab добавляем строчку, где добавляется ежедневный запуск скрипта, который ищет в директории с резервными копиями файлы старше 40 дней и удаляет их.

Ошибка принтера Xerox: 07-500 Bypass Tray is empty.

Подключаю несколько принтеров Xerox к принт-серверу, у которых в статусе горят ошибки: «07-500 Bypass Tray is empty», пытался их устранить — обновлял прошивки, менял настройки, но ничего не помогало — состояние очереди к этому принтеру на сервере было «Отключен». Помогла информация из сети интернет — нужно зайти в свойства принтера во вкладку «Порты», выбрать настроенный порт и нажать «Настроить порт» и снять галочку с пункта «Состояние SNMP разрешено»

После этого состояние очереди принтера перешла в статус «Готов» и принтер запечатал.

Video Socket Error: Abnormal Termination

Такая ошибка у меня появилась при подключении к новому серверу через Java-апплет в iKVM ASMB8.

Решение этой проблемы оказывается простое, нужно в iKVM зайти в раздел Configuration — Remote Session. И выставить настройки в соответствии со скриншотом ниже:В моем случае нужно было выставить параметры «Media Encryption» и «KVM Encryption» в Enable.

Kerio Connect: «Не удалось получить личный контакт пользователя»

Если столкнулись с подобной ошибкой, то ничего страшного. Заходим на контроллер домена, где у вас установлена утилита «Active Directory Extension for Kerio Connect» и в оснастке «Пользователи и компьютеры домена» находим проблемного пользователя, кликаем по нему правой кнопкой мыши и выбираем «Kerio Connect Tasks». Выбираем задачу «Delete MailBox.» После этого таким же способом создаем новый почтовый ящик и после этого с большой вероятностью проблема исчезнет.

Настройка резервного копирования в Elastix 2.4

Пришел день столкнуться мне с данной АТС и задача была настроить резервное копирование. Заходим в web-интерфейс в System — Backup/Restore и видим скудные настройки.

По-умолчанию система может бекапить ежедневно, еженедельно и ежемесячно, но только в локальную папку «/var/www/backup» Из этой же папки, по-умолчанию, веб-интерфейс отображает список сделанных резервных копий. Можно подключить FTP-сервер, но на него резервные копии переносить надо вручную. Поэтому было решено настроить резервное копирование по NFS на другой сервер. Для этого необходимо:

  1. Настраиваем NFS-сервер. Я его поднимал на Windows. Для этого устанавливаем компонент «Сервер для NFS«, который является частью роли «Файловые службы и службы хранилища»
    После установки роли создаем папку, например, «NFS» и для нее задал права:
    Все сервера вписал по короткому и полным именами, с возможностью чтения и записи и разрешил доступ с правами root. Для всех остальных компьютеров настроен был запрет.
    Что касается настроек NFS для этой папки, то они выглядят так:
  2. Теперь переходим к серверу с Elastix. На нем уже есть NFS-клиент. В терминале выполняем
    mkdir /nfs/
    echo "10.150.1.15:/NFS /nfs/backup nfs defaults 0 0" >> /etc/fstab
    mount -a
    10.150.1.15:/NFS — это NFS-сервер и расшаренная по nfs папка «NFS»
    /nfs/backup — это папка, куда будет подключена по nfs расшаренная папка.
  3. В Elastix в System — Backup/Restore выбираем «Daily» и нажимаем «Set Automatic Backup». После этого в директории  /etc/cron.d/ создастся файл «automatic_backup.cron»

    В моем случае в этом файле изменено время запуска скрипта на 14:27, вы можете поставить свое. Это время ежедневного запуска скрипта.
  4. Переходим к файлу /var/www/backup/automatic_backup.php, в нем на 36 строке изменяем переменную $sBackupDir. Указываем в ней директорию, куда скрипт будет сохранять резервную копию, в нашем случае это /nfs/backup/
  5. В файле /usr/share/elastix/privileged/backupengine в строке 76 меняем директорию по-умолчанию для создания резервных копий.
  6. В терминале я выполнил chmod –R 777 /nfs/иначе без этого в браузере не будет отображаться список сделанных резервных копий.
  7. Теперь настроим, чтобы в административной панели Elastix скрипты искали резервные копии в нужной нам директории, для этого заходим в файл /var/www/html/modules/backup_restore/configs/default.conf.php и в строке 33 меняем директорию
  8. Если нужно, чтобы при запуске резервного копирования через web-интерфейс резервные копии складировались на NFS-шару, то тогда заходим в файл /var/www/html/modules/backup_restore/index.php и в строке 365 изменяем уже знакомую нам переменную на нужную директорию.
  9. Вообщем-то всё. Остался еще момент со временем на сервере. Elastix 2.4 работает на старом Centos 5.10 и в нём используются старые временные зоны для России. Чтобы исправить этот недочет необходимо:
    wget http://people.centos.org/hughesjr/tzdata-2014g-1.el5/i386/RPMS/tzdata-2014g-1.el5.i386.rpm --no-check-certificate
    rpm -Uvh tzdata-2014g-1.el5.i386.rpm
    После этого в файле /etc/php.ini после секции [PHP] прописываем нужную нам временную зону:
    date.timezone = Europe/Samara
    После этого перезапускаем сервис httpd
    service httpd restart
    Теперь в самом Elastix выставляем нужное время и часовой пояс. Заходим в System — Preferences — Date/Time
    На этом всё.

Настройка браузера по-умолчанию для образа Windows 10

Мне на работе недавно пришлось настраивать образ Windows 10, чтобы потом его можно было развернуть на компьютерах в автоматическом режиме. Поэтому поводу ранее была статья. В ней настройка производилась через Deployment Workbench. К сожалению эта программа не позволяет легко настроить образ Windows 10 так, чтобы браузером по умолчанию для всех пользователей был Internet Explorer или какой-либо другой на ваше усмотрение. В данный момент в Windows 10 Pro браузером по умолчанию является Microsoft Edge, что не всегда удобно для корпоративной среды. Что же нужно сделать, чтобы при развертывании образа, назначался автоматически другой браузер?

Для начала нам нужен дистрибутив Windows 10. Те, кто разворачивал образ через Deployment Workbench, скорее всего найдут его в папке С:\DeploymentShare\Operating Systems\. У меня, например, там есть папка «Windows 10 Pro x64». В папках системой заходим в «sources» и удостоверяемся что образ установки «install.wim» у нас на месте. Далее по шагам:

  1. открываем командную строку от имени Администратора и переходим в нужную нам директорию «sources»
    cd "D:\DeploymentShare\Operating Systems\Windows 10 Pro x64\sources"
  2. командой Dism /get-wiminfo /wimFile:install.wim узнаем индексы систем вложенных в дистрибутив. В моем случае мне нужно настроить Windows 10 Pro и мой индекс оказался равен 3.
  3. создаем директорию, куда будем монтировать wim-образ
    mkdir C:\WIM\
  4. командой Dism /Mount-Image /ImageFile:install.wim /index:3 /MountDir:C:\WIM\ производим монтирование образа, не забываем правильно указать индекс системы
  5. командой Dism /Image:C:\WIM\ /Export-DefaultAppAssociations:C:\AppAssociations.xml выполняем экспорт файловых ассоциаций
  6. открываем в текстовом редакторе файл AppAssociations.xml и меняем настройки по свои нужды, у меня он, например, выглядит так (взято из просторов сети):
    <?xml version=»1.0″ encoding=»UTF-8″?>
    <DefaultAssociations>
    <Association Identifier=».htm» ProgId=»IE.AssocFile.HTM» ApplicationName=»Internet Explorer» />
    <Association Identifier=».html» ProgId=»IE.AssocFile.HTM» ApplicationName=»Internet Explorer» />
    <Association Identifier=».mht» ProgId=»IE.AssocFile.MHT» ApplicationName=»Internet Explorer» />
    <Association Identifier=».mhtml» ProgId=»IE.AssocFile.MHT» ApplicationName=»Internet Explorer» />
    <Association Identifier=».partial» ProgId=»IE.AssocFile.PARTIAL» ApplicationName=»Internet Explorer» />
    <Association Identifier=».svg» ProgId=»IE.AssocFile.SVG» ApplicationName=»Internet Explorer» />
    <Association Identifier=».url» ProgId=»IE.AssocFile.URL» ApplicationName=»Internet Browser» />
    <Association Identifier=».website» ProgId=»IE.AssocFile.WEBSITE» ApplicationName=»Internet Explorer» />
    <Association Identifier=».xht» ProgId=»IE.AssocFile.XHT» ApplicationName=»Internet Explorer» />
    <Association Identifier=».xhtml» ProgId=»IE.AssocFile.XHT» ApplicationName=»Internet Explorer» />
    <Association Identifier=»ftp» ProgId=»IE.FTP» ApplicationName=»Internet Explorer» />
    <Association Identifier=»http» ProgId=»IE.HTTP» ApplicationName=»Internet Explorer» />
    <Association Identifier=»https» ProgId=»IE.HTTPS» ApplicationName=»Internet Explorer» />
    <Association Identifier=»mk» ProgId=»IE.HTTP» ApplicationName=»Internet Explorer» />
    <Association Identifier=»res» ProgId=»IE.HTTP» ApplicationName=»Internet Explorer» />
    </DefaultAssociations>
  7. делаем импорт ассоциаций в образ Dism /Image:C:\WIM\ /Import-DefaultAppAssociations:C:\AppAssociations.xml
  8. проверяем, что изменения сохранились Dism /Image:C:\WIM /Get-DefaultAppAssociations
  9. если всё правильно, то делаем коммит изменений командой Dism /Unmount-Image /MountDir:C:\WIM\ /Commit

На этом всё. Если нужно поменять другую программу по-умолчанию в образе, то делаем аналогичные действия. Если программа не входит в образ по- умолчанию, то не забываем ее в этот образ внедрить.