Перевод сайта в Microsoft Azure на HTTPS

Сегодня перевел свой блог, который хостится в Microsoft Azure на https подключение. Да, знаю, в этом конечно мало пользы, так как у меня на сайте нет ничего ценного, но все же было интересно это сделать для получения нового опыта.

В самом WordPress ничего специально настраивать не нужно, чтобы сайт начал работать через https. Все работы делаются на web-сервере или через административную панель хостинг-провайдера. Заранее только нужно подготовить SSL-сертификат. В моем случае я сгенерировал сертификат бесплатный, на сайте STARTSSL. После этого заходим на портал Microsoft Azure в соответствующий раздел, где можно загрузить SSL-сертификат для сайта.

Не забудьте загруженный сертификат привязать к нужному домену в этом же разделе. После этого можно уже проверять, сайт должен быть доступен по https.Осталось сделать последнюю настройку, чтобы web-сервер автоматически переадресовывал все запросы по протоколу http на https. Для этого (если у вас сайт на IIS) нужно загрузить  из корня сайта файл web.config, а если его нет, то создать его. В нем должно быть такое содержимое:

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<system.webServer>
<directoryBrowse enabled="false" />
<rewrite>
<rules>
<rule name="Redirect to HTTPS" enabled="true" patternSyntax="ECMAScript">
<match url="(.*)" />
<conditions>
<add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" />
<add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" />
</conditions>
<action type="Rewrite" url="index.php" />
</rule>
</rules>
</rewrite>
</system.webServer>
</configuration>

Правило, относящееся к переадресации на https я выделил жирным шрифтом. Все остальное копировать не надо, если у вас файл web.config уже существует. После этого можно уже проверять, переадресация должна работать.

PHP 7 в Windows Azure

Еще 3 мая 2016 года появилась запись в блоге разработчиков Windows Azure о том, что PHP 7 стал доступен для опубликованных web-сайтов.

И вот наконец я перевел свой блог на эту новую платформу

 

Как мне кажется теперь все стало быстрее работать, но специальных измерений я проводить не стал.

Гаснет экран после загрузки заставки в Windows 10

Давно не возникало на моем компьютере проблем и вот сегодня беда пришла и ко мне.

На компьютере стоит Windows 10 x64, я лазил по сайтам через браузер и тут вдруг экран у меня погас, хотя система продолжала работать. Я не долго думая перезагружаю компьютер. Появляется стандартная заставка с Windows 10 в виде анимированного круга и после этого экран опять гаснет. Т.к. синего экрана с грустным смайликом я не наблюдал, то отсюда можно сделать вывод, что проблема с графическим адаптером или с драйвером на него. Чтобы решить эту проблему нужно:

  1. Загрузиться в безопасный режим. В Windows 10 это сделать не так просто, как хотелось бы. Нужен либо сам дистрибутив, либо загрузочная флешка с системой DaRT, но я обычно это делаю гораздо быстрее и проще: во время того, когда система отображает свою заставку при загрузке, нужно перезагрузить компьютер клавишей “Reset” и после этого компьютер предложит разные варианты загрузки, где нужно выбрать “Включить безопасный режим”. В этом же меню можно сначала попробовать загрузиться, использовав пункт меню “Включить видеорежим с низким разрешением”, возможно это также вам поможет, но мне – нет, поэтому продолжаем.
  2. После загрузки в безопасном режиме (а я уверен, что у вас это получится), нужно запустить утилиту msconfig (для этого нужно нажать Win + R  и набрать название этой утилиты) и в закладке “Загрузка” поставить галочку на против пункта “Базовое видео”После этого нажимаем “ОК” и соглашаемся с перезагрузкой системы.
  3. Система должна загрузиться в обычном режиме но со стандартным драйвером на монитор. Удалите драйвера, которые у вас установлены и установите заново в сайта производителя. В момент их установки система их обнаружит и сразу вы увидите родное разрешение экрана.
  4. После этого опять заходите в утилиту msconfig и снимайте галочку. которую установили до этого. В моем случае была проблема с драйверами NVIDIA.

Проблема с сетью на принтере Epson WF-8090

Привет! У меня в обслуживании имеется цветной A3 принтер Epson WF-8090. К сожалению, с ним часто бывают проблемы: сначала в нем так застряла бумага, что пришлось вести его в сервис, а сегодня (уже второй раз за несколько месяцев) подвисает сетевой интерфейс, в результате чего принтер недоступен по сети. Переподключение кабеля и перезагрузка принтера не помогают. Единственный способ, который оживает сетевой интерфейс, это сброс настроек принтера. Как это сделать:
Выбрать с помощью клавиш на дисплее надпись «Меню», потом «Администрир. системы» а затем «Восст. настр. по ум».
После этого сеть должна быть доступна!

Включение DKIM в Office 365

С недавних пор в Office 365 появилась возможность включения технологии DomainKeys Identified Mail (DKIM). Чтобы это сделать, необходимо сначала создать две CNAME на DNS сервере, отвечающем за вашу доменную зону.

selector1._domainkey CNAME selector1-murava-ru._domainkey.muravamoscow.onmicrosoft.com.

selector2._domainkey CNAME selector2-murava-ru._domainkey.muravamoscow.onmicrosoft.com.

Вместо выделенных частей у Вас должны быть свои наименования доменов. Чтобы посмотреть какие нужно прописывать Вам, необходимо зайти через Powershell в Exchange Online

1) Запустить PowerShell от имени Администратора.
2) Проверить политики командой "Get-Executionpolicy". Если установлено "Restricted", запустить команду “Set-Executionpolicy remotesigned” или „Set-Executionpolicy unrestricted“.
3) Запустить команду "$LiveCred = Get-Credential", в процессе выполнения которой Вам необходимо вписать юзернейм и пароль администратора.
4) Запустить команду "$Session = New-PSSession -ConfigurationName Microsoft.Exchange –ConnectionUri https://ps.outlook.com/powershell -Credential $LiveCred -Authentication Basic -AllowRedirection"
5) Запустить команду "Import-PSSession $Session".
6) Выполнить команду Get-DkimSigningConfig -Identity murava.ru| fl Domain, *CNAME (вместо murava.ru пропишите свой домен)

После этого нужно немного подождать, пока изменения в DNS вступят в силу (от нескольких минут до нескольких часов) и также через Powershell, подключенный к Exchange Online, выполнить команду:

Set-DkimSigningConfig murava.ru -Enabled $true

либо можно это проделать через графический интерфейс Office 365, зайдя в Панель администратора Exchange – Защита – DKIM и нажать на гиперссылку “Включить”.

Остается настроить DMARC для вашего домена. Для этого необходимо в записи DNS домена добавить правила в виде TXT-записей. Название созданной записи должно быть «_dmarc.murava.ru», где murava.ru замените вашим собственным доменом. В значении TXT-записи нужно прописывать правило, по которому будут обрабатываться входящие письма. Самой простой записью будет “v=DMARC1; p=reject” – отклонять все сообщения, не прошедшие проверку DMARC. Подробнее обо всех значениях в txt-записи DMARC можно узнать на официальной странице этой технологии.

Быстрая централизованная настройка Bitlocker + TPM модуль + PIN через групповые политики

В наличии:

  • домен (Active Directory 2008 и выше)
  • компьютеры с установленным TPM-модулем
  • 3 раздела на жестком диске компьютера (один из которых системный)
  • Windows 7 Enterprise (но подойдет Windows 8.1 и Windows 10)
  • желание защитить информацию от постороннего вмешательства

Цель:

  1. Добиться автоматического запуска шифрования данных на всех томах диска. Несистемные тома должны автоматически разблокироваться при входе пользователя в систему.
  2. Пользователь должен сам ввести ПИН-код и пароли для шифрования системного раздела и разделов с данными.

Шаги для достижения цели:

  1. Проверяем, что TPM-модуль включен на компьютерах. По умолчанию, он обычно отключен. Делаем это через BIOS (UEFI) или специальные утилиты, которые крупные вендоры делают, чтобы можно было изменять настройки BIOS централизованно (уточняйте у DELL/HP/IBM/Lenovo и т.д.)
  2. Создаем организационное подразделение (OU) в каталоге Active Directory, куда необходимо перенести все доменные компьютеры, которые будут подвержены шифрованию.
  3. Создаем новую групповую политику и в ней необходимо настроить политику из раздела «Конфигурация компьютера — Политики — Административные шаблоны — Компоненты Windows — Этот параметр политики позволяет выбрать шифрование дисков»:
    — в разделе «диски операционной системы» изменяем политики:
    а) «Этот параметр политики позволяет указать, требует ли BitLocker дополнительной проверки подлинности при каждом запуске»б) «Этот параметр политики позволяет указать, разрешено ли обычным пользователям изменять ПИН-коды или пароль»в) «Этот параметр политики позволяет настраивать использование улучшенных ПИН-кодов при запуске компьютера.»

    г) «Этот параметр политики позволяет установить минимальную длину ПИН-кода для запуска»

    д) «Этот параметр политики позволяет указать, как восстанавливать диски операционной системы, защищенные с помощью BitLocker» — очень важная настройка. Т.к. администратор в моем случае не знает о пин-кодах и паролях, которые придумают пользователи, то ему необходимо средство восстановления доступа к томам, в случае потери пароля или увольнения сотрудника. Для этого сохраняем ключи восстановления в Active Directory и не начинаем шифрование пока ключ не будет сохранен там.

    — в разделе «несъемные диски с данными» изменяем политики:

    а) «Этот параметр политики определяет, требуется ли пароль для разблокировки несъемных дисков с данными»

    б) «Этот параметр политики позволяет указать, как восстанавливать несъемные диски с данными, защищенными с помощью BitLocker» — настраиваем аналогично системному диску.

    На этом можно закончить с настройкой групповых политик, если у Вас Windows 7. Для Windows 8 и 10 интересных настроек есть чуть побольше, внимательно ознакомьтесь со всеми.

  4. Привязываем настроенную политику к подразделению, которому мы создали на втором шаге.
  5. Далее мы должны взять скрипт, который доступен по этому адресу. Скрипт изначально не работает на неанглоязычных локалях. Чтобы скрипт заработал на системе с русским интерфейсом, надо в самом скрипте подправить значения «True» на «Истина» и «False» на «Ложь», но только не везде, а в основном теле скрипта и в функции «OwnTPM». Так же под русскоговорящего пользователя можно изменить текст уведомлений на русский, это делается в функции «GetPIN».
  6. Создаем файл с расширением bat, в котором будем запускать vbs скрипт из предыдущего пункта, запускать шифрование на каждом из дисков и включать на этих дисках автоматическую разблокировку. Этот скрипт необходимо создавать в кириллической кодировке «OEM 866», т.к. именно в ней в командой строке по умолчанию отображается текст. Проще всего это сделать через Notepad++


    Не забываем прикрепить этот скрипт к групповым политикам и к тому же подразделению, что мы создали ране. Добавление скрипта делается в разделе «»Конфигурация компьютера — Политики — Конфигурации Windows — Сценарии — Автозагрузка».

    Само содержание скрипта у меня такое:

    TITLE Запуск системы шифрования дисков. Не закрывайте это окно!
    cls
    start "" /WAIT "C:\EnableBitLocker-ru.vbs" /on:tp /l:D:\bitlocker.log /em:256 /promptuser
    cls
    TIMEOUT /T 15 /NOBREAK
    cls
    start "Шифрование диска D:" /WAIT "%Systemroot%\system32\manage-bde.exe" -on -pw D: -rp
    cls
    start "Включение автоматической разблокировки диска D:" "%Systemroot%\system32\manage-bde.exe" -autounlock -enable D:
    cls
    start "Шифрование диска Z:" "%Systemroot%\system32\manage-bde.exe" -on -pw Z: -rp
    cls
    start "Включение автоматической разблокировки диска Z:" "%Systemroot%\system32\manage-bde.exe" -autounlock -enable Z:
    exit

    Скрипт будет работать при условии, что файл «EnableBitLocker-ru.vbs» лежит в корне диска C. Чтобы этот файл также централизованно переместить в это месторасположение, добавьте в bat-скрипт в начало строку xcopy -Y «расположение скрипта vbs в сетевой папке» «C:\» В самом скрипте сделана пауза в 15 секунд на всякий случай, т.к. мы настроили сохранение ключей шифрования в Active Directory и поэтому бывают небольшие задержки при включении шифрования на диске С, а без включения Bitlocker на системном томе, шифрование на других дисках не начнется (в Windows 10 такая пауза не нужна, т.к. правильно отрабатывает ключ /WAIT при запуске vbs скрипта).

Также хочу дополнить о строчке
start "" /WAIT "C:\EnableBitLocker-ru.vbs" /on:tp /l:D:\bitlocker.log /em:256 /promptuser

В ней обязательно нужно в ключе /l указывать файл лога не на системном томе, иначе скрипт не будет запускаться. Скрипт так же не будет работать, если запускать его через удаленный рабочий стол (ключ /promptuser в таком случае не получает информацию о текущем консольном сеансе пользователя)

Вот как все выглядит глазами пользователя:

 

 

P.S. Чтобы посмотреть ключи восстановления в Active Directory, необходимо на контроллере домена установить специальную компоненту:

 

После этого в оснастке «Active Directory пользователи и компьютеры» в свойствах компьютера будет отображаться вкладка Bitlocker:

 

Откат прошивки на WD My Cloud

По каким-либо причинам может понадобится не обновить прошивку, а откатить ее на предыдущую версию. На устройстве WD My Cloud это сделать не так просто. Небольшая инструкция для этого.

  1. Подключаемся к устройству по SSH. Переходим в общедоступную директорию:
    cd /DataVolume/shares/Public/
  2. Скачиваем предыдущую прошивку: wget http://download.wdc.com/nas/sq-040401-112-20151013.deb.zip
  3. Распаковываем её: unzip sq-040401-112-20151013.deb.zip
  4. Нам нужно отредактировать файл, чтобы можно было откатиться на старую версию прошивки:
    nano /usr/local/sbin/updateFirmwareFromFile.sh
  5. Комментируем строки 256-259 (Добавляем в начале #, либо стираем вообще)
    if [ -z “${update_container}” ] && [ “${vnew}” -lt “${vnow}” ]; then
    error=”failed 200 \”invalid firmware package\””
    pre-update_error $error
    fi
  6. Запускаем обновление: /usr/local/sbin/updateFirmwareFromFile.sh /DataVolume/shares/Public/sq-040401-112-20151013.deb
  7. Не отключайтесь по SSH, чтобы видеть как происходит процесс обновления. По времени это занимает около 10 минут. После перезагрузки  WD My Cloud будет доступна старая версия прошивки.

Ошибка “DB query error” при открытии сайта на Bitrix

Если вы видите такую ошибку при заходе на сайт, значит какая-то беда случилась с CMS Bitrix.

  1. В первую очередь надо включить полное отображение текста ошибки. Для этого заходим на сервер и находим файл dbconn.php. Он находится в папке bitrix/php_interface/
  2. В этом файле изменяем значение параметра DBDebug с false на true.
  3. Пытаемся снова зайти на сайт. Теперь мы получим полный текст ошибки. В моем случае ошибка была такой:
    File: /home/…/bitrix/modules/statistic/classes/mysql/guest.php Line: 23
    MySQL Query Error: SELECT G.ID, G.FAVORITES, U.ID as LAST_USER_ID, A.ID as LAST_ADV_ID, if(to_days(curdate())=to_days(G.LAST_DATE), ‘Y’, ‘N’) LAST FROM b_stat_guest G LEFT JOIN b_stat_adv A ON A.ID = G.LAST_ADV_ID LEFT JOIN b_user U ON U.ID = G.LAST_USER_ID WHERE G.ID=’1865004′
  4.  В первую очередь пытаемся восстановить таблицу со статистикой: заходим на сервер или в phpmyadmin и выполняем команду: REPAIR TABLE b_stat_guest;
  5. В моем случае эта команда не помогла, писалось сообщение:
    Table b_stat_guest is marked as crashed and last (automatic?) repair failed и поэтому ничего не оставалось делать как отключить этот модуль статистики, для этого опять открываем файл dbconn.php и прописываем в нем команду define(‘NO_KEEP_STATISTIC’,true); и после этого мы можем наблюдать как сайт снова оживает.
  6. Если у вас свой, виртуальный, выделенный сервер или он находится в colocation, то тогда вы можете попробовать восстановить поврежденную таблицу, не прибегая к отключению модуля. Для этого есть хорошая инструкция в одном из других блогов.Надеюсь, моя инструкция вам помогла!

Ошибка “kex protocol error: type 30 seq 1 [preauth]”

При подключении к новым версиям OpenSSH-сервера может возникнуть ошибка “kex protocol error: type 30 seq 1 [preauth]” , которую можно прочитать в логе /var/log/auth.log. Для ее исправления скачайте последнюю версию вашего SSH-клиента. В моем случае это была kitty 0.66.6.2p