Небольшой детектив на тему Windows Update (WU) и локальных обновлений.

 

В один казалось бы прекрасный день я решила как обычно пропатчить шиндовс. Синхронизация WSUS, выбор нужных апдейтов, поиск обновлений на клиентской машине. Всё как обычно. Если бы не одно но. При попытке скачать выбранные обновления ничего не происходило а через некоторое время обновление завершалось с ошибкой 80072EE2.

Что за черт? Подумала я и начала искать причину. Первым под подозрение попал фаервол, так как это был ближайший компонент который обновлялся и логически мог быть причиной. Но, ни копание в настройках, ни добавление IP сервера обновлений в белые списки не помогали. WU по прежнему видел новые апдейты но наотрез отказывался их качать. Наверное, самым логичным было бы сразу после этого заглянуть в лог WU, но разгребать 2 мегабайта текста мне не хотелось. Поэтому я продолжала поиск причины в фаерволе. Первая зацепка появилась тогда, когда после сброса настроек очередной запрос в фаерволе был в старую подсеть. Первый кусочек пазла был найден.

Проверив лог WU и отследив соединения через TCPView подозреваемый фаервол был отпущен как невиновный. Оказывается WU пытался качать обновления со старого IP в другой подсети. Окей, идем в настройки прокси и… там ничего. Ещё какое-то время с гуглом и оказывается что служба которая отвечает за выкачивание файлов (BITS) имеет свой собственный прокси с бэкджеком и шлюбками. АГА! Нахожу команду которая выставляет NO_PROXY для BITS, пытаюсь скачать обновления и…. НИ-ЧЕ-ГО! Клиент по-прежнему ломится на старый IP не обращая внимания на все мои призывы.

Финальным решением проблемы оказалась вот эта инструкция. Возможно что полностью она и не нужна, и хватит только части, но моих скромных познаний хватает только на общее понимание что оно делает. Итак:

1. Запускаем командную строку от администратора.
2. Вводим следующие команды. ( — комментарии )
net stop wuauserv — останавливаем WU
cd %systemroot% — идем в Windows
ren SoftwareDistribution SoftwareDistribution.old — ренеймаем директорию
net start wuauserv — запускаем WU
net stop bits — останавливаем BITS
net start bits — запускаем
net stop cryptsvc — останавливаем службу шифрования
cd %systemroot%\system32 — переходим в систем32
ren catroot2 catroot2.old — ренеймаем директорию
net start cryptsvc — запускаем службу
regsvr32 Softpub.dll /s — регистрируем dll
regsvr32 Wintrust.dll /s
regsvr32 Initpki.dll /s
regsvr32 Mssip32.dll /s
3. Перезагружаемся

После этого WU начинает стучаться на нужный нам IP указанный в настройках.

Совсем забыла в прошлый раз записать процесс переноса базы wsus’а на другой локальный диск. С того момента навыходила куча апдейтов и место снова кончилось. Что же, восполняю забытое и оставляю на будущее.

Читать далее move your wsus

Дабы не забыть, делаю для себя пометочку. Но возможно кто-то ещё попользуется.

Итак, прежде всего через regedit меняем значение ключа OEMBackground на 1

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Authentication\LogonUI\Background

Далее подготавливаем фон. Формат .jpg, размер не более 256кб, разрешение лучше по размеру экрана. Файл кладем в

C:\Windows\System32\oobe\info\backgrounds

Если папки backgrounds там нет, то создаем (путь идентичен для х32 и х64 систем). Ну и файл фона обзываем как backgroundDefault.jpg

Профит!

 

Чтобы фон не слетал при переключении либо изменении темы, запускаем gpedit.msc и идем в

Computer Configuration > Administrative Templates >System > Logon

Задаем параметру Always use custom logon background значение Enabled.

Объект: Windows Defender (защитник шиндовс)

По-умолчанию это недоразумение сливает инфу для МелкосаксСпайНет. Исправляем это недоразумение:

a. Выключаем нафиг Windows Defender

б. Control panel -> Windows Defender -> Programs -> MicrosoftSpyNet -> Не присоединяться к сообществу.

Ну и на всякий случай закрываем доступ в инет для C:\Program Files\Windows Defender\MPCMDRUN.exe

Удивительно простое решение гадкой проблемы с ошибкой -2147023143 при запуске Homegroup Listener (Прослушиватель домашней группы) сервиса — включить службу Windows Firewall (Брандмауэр Windows)

В очередной раз убеждаюсь что некоторые апдейты приносят слишком много головной боли.

Если вас тоже заипало сообщение от апдейта KB2750841

Additional log on information may be required. Click to open your browser

Открываем regedit и переходим в

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\NlaSvc\Parameters\Internet

Обновляем параметр EnableActiveProbing на 0, проклинаем Гейтса и Балмера. Готово. ^^

DKIM-filter — данный пакет служит для подписывания писем и работает в связке с postfix. Данный пост основан на статье с хабра, но дополнен информацией специально для centos.

Установка:

Прежде всего, хоть он и называется dkim-filter, в centos данный пакет назван dkim-milter и устанавливать надо именно его. Репозиторий epel вам в помощь, ну или любой другой где вы найдете данный пакет (:

yum install dkim-milter

 

Настройка:

Тут опять нас ждет сюрприз, потому как файла /etc/dkim-filter.conf после установки нет. Вся конфигурация находится в /etc/mail/dkim-milter/ ^_~

В файле /etc/mail/dkim-milter/dkim-filter.conf изменяем следующие параметры

BodyLengths    Yes
Canonicalization    relaxed/relaxed
Domain    mail.example.com
KeyList    /etc/mail/dkim-milter/keys/keylist
Selector        default
Socket    inet:8891@localhost
Syslog    Yes
SyslogSuccess    Yes
X-Header    Yes

Далее генерируем ключи для вашего домена

dkim-genkey -d example.com -s mail -r

Сейчас в mail.txt у нас лежит TXT запись, которую нужно добавить, а в mail.private лежит приватный ключ, который и будет использоваться для подписи писем. Запись, которую нужно добавить в DNS, будет вида:

mail._domainkey IN TXT «v=DKIM1; g=*; k=rsa; p=…»

Теперь обязательно нужно удалить расширение у файла с ключом, потому что в описываемой схеме dkim-filter берёт имя сервера из имени файла с ключом:

mv mail.private mail

В файл /etc/mail/dkim-milter/keys/keylist записываем какие домены каким ключом нужно подписывать:

*@example.com:example.com:/etc/mail/dkim-milter/keys/mail
*:example.com:/etc/mail/dkim-milter/keys/mail

Аналогично можно добавить свои отдельные ключи для других доменов или даже для отдельных адресов. Если не нужно, чтобы dkim-filter подписывал письма для всех других доменов, не указанных явно, последнюю строчку можно удалить.

Наконец, добавим в конец /etc/postfix/main.cf следующие строки:

milter_default_action = accept
milter_protocol = 2
smtpd_milters = inet:localhost:8891
non_smtpd_milters = inet:localhost:8891

Не забываем добавить DNS TXT запись и проверить, что она на месте:

dig txt mail._domainkey.example.com

Если проверка прошла успешно то стоит формально запретить другим серверам принимать письма с вашим доменом, но без подписи, добавив ADSP запись:

_adsp._domainkey IN TXT «dkim=all»

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

chkconfig —levels 345 dkim-milter on

Ня.

На будущее: если отваливается Windows Update с ошибкой 0xc80003f3
Пуск -> cmd (от админа):

regsvr32 MSXML3.dll /s
net stop wuauserv
cd /d %windir%\SoftwareDistribution
rd /s /q DataStore
net start wuauserv
regsvr32 softpub.dll
regsvr32 mssip32.dll

Не секрет что в Windows 7 RC была свистоперделка отправляющие данные мелкосаксам для «улучшения качества ПО». Но после релиза она всё ещё может быть включена, поэтому исправляем это недоразумение:

Пуск -> набираем в строке поиска: customer (или ‘улучше’ для русскоязычной седьмой) в найденном окне отказываемся от участия в этой фигне.

Так же, для полноты эффекта отключаем\удаляем задания свистоперделки:

Control panel -> Administrative tools -> Task Scheduler -> \Microsoft\Windows\Customer Experience Improvement Program ПКМ и Disable либо Delete.

Profit!

Порой даже элементарная задача приносит кучу новых знаний и требует индивидуального подхода.

На просторах интернетов есть очень много гайдов на тему установки и настройки mod_fastcgi, всё сводится к паре команд и добавлению стандартного конфига. Но не всегда всё обстоит так просто.

Итак, мы имеем связку Apache 2 (бэкенд), nginx (фронтенд), и PHP 5.3.x в режиме mod_php.

Задача: перевести PHP в режим FastCGI

Читать далее Apache2 + PHP + FastCGI — горячее блюдо