четверг, 21 мая 2020 г.

перевод сайта с http на https

HTTPS (HyperText Transfer Protocol Secure) это - расширение для протокола HTTP, поддерживающее шифрование. Все передаваемые данные по HTTPS шифруются с помощью протокола SSL или TLS.
Перед началом работы, у вас должны быть сертификаты. Если вы их еще не получили - необходимо выбрать поставщика и купить сертификат. Есть масса поставщиков платных сертификатов: Thawte, Comodoro, GlobalSign и другие. Сейчас есть возможность получить бесплатно сертификат от WoSign.

Настройка для веб-сервера Apache 2.2

Все действия надо выполнять под учетной записью root или с помощью sudo.
Скопируйте следующие файлы в директорию /etc/ssl/:
  • site.ru.key - приватный ключ
  • site.ru.crt - ключ удостоверяющего центра
  • chain_root_bundle.crt - цепочка ключей
Основными являются приватный ключи и ключ центра, цепочки ключей может не быть, но чаще всего он идет в комплекте. Установите на приватный ключ права на чтение только для root
chmod 0600 /etc/ssl/site.ru.key
в конфигурационный файл для виртуального хоста в Apache (/etc/apache2/sites-enabled/site.ru.conf) добавить:
<VirtualHost 2.17.170.232:443>
        ServerName site.ru
        ServerAlias www.site.ru
        DocumentRoot /home/webmaster/domains/site.ru/public_html

        SSLEngine on
        SSLCertificateFile    /etc/ssl/site.ru.crt
        SSLCertificateKeyFile /etc/ssl/site.ru.key
        SSLCertificateChainFile /etc/ssl/chain_root_bundle.crt
        SSLCipherSuite          ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-DSS-AES128-GCM-SHA256:kEDH+AESGCM:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA:ECDHE-ECDSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-DSS-AES128-SHA256:DHE-RSA-AES256-SHA256:DHE-DSS-AES256-SHA:DHE-RSA-AES256-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA256:AES256-SHA256:AES128-SHA:AES256-SHA:AES:CAMELLIA:DES-CBC3-SHA:!aNULL:!eNULL:!EXPORT:!DES:!RC4:!MD5:!PSK:!aECDH:!EDH-DSS-DES-CBC3-SHA:!EDH-RSA-DES-CBC3-SHA:!KRB5-DES-CBC3-SHA
        SSLHonorCipherOrder     on
        SSLCompression off

        ErrorLog /var/log/apache/site.ru_error.log
        CustomLog /var/log/apache/site.ru_access.log combined
</VirtualHost>

Комментарии к конфигурации

Указываем ip-адрес сервера и порт
<VirtualHost 2.17.170.232:443>
Указываем, что протокол шифрования включен
SSLEngine on
Путь до ключа от удостоверяющего центра
SSLCertificateFile    /etc/ssl/site.ru.crt
Путь до приватного ключа
SSLCertificateKeyFile /etc/ssl/site.ru.key
Путь до файла с цепочкой ключей
SSLCertificateChainFile /etc/ssl/chain_root_bundle.crt
Определяем допустимые криптографические наборы (алгоритмы обмена ключами и аутентификации). Конкретный набор согласуется клиентом и сервером во время установления соединения
SSLCipherSuite          ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-DSS-AES128-GCM-SHA256:kEDH+AESGCM:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA:ECDHE-ECDSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-DSS-AES128-SHA256:DHE-RSA-AES256-SHA256:DHE-DSS-AES256-SHA:DHE-RSA-AES256-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA256:AES256-SHA256:AES128-SHA:AES256-SHA:AES:CAMELLIA:DES-CBC3-SHA:!aNULL:!eNULL:!EXPORT:!DES:!RC4:!MD5:!PSK:!aECDH:!EDH-DSS-DES-CBC3-SHA:!EDH-RSA-DES-CBC3-SHA:!KRB5-DES-CBC3-SHA
Указываем, что модуль mod_ssl для Apache должен использовать приоритеты наборов шифров, заданные сервером в директиве SSLCipherSuite (а не клиентом, то есть браузеру не удастся навязать свои предпочтения)
SSLHonorCipherOrder     on
Далее необходимо выключить поддержку небезопасных протоколов SSLv2, SSLv3 в файле /etc/apache2/mods-enabled/ssl.conf:
SSLProtocol all -SSLv2 -SSLv3
тестируем синтаксис конфигурационных файлов средствами Apache
apache2ctl configtest
если тест пройден, перезагружаем конфиги
/etc/init.d/apache2 reload
После всех манипуляций, сайт должен открываться по адресу https://site.ru и в начале адресной строки должен появится значок “висячий замок”. Выше описана конфигурация виртуального хоста для Apache 2.2. Если у вас отличается версия Apache или вы используете другой веб-сервер, то вам необходимо сгенерировать свою версию конфига. Для этого воспользуйтесь генератором от Mozilla: https://mozilla.github.io/server-side-tls/ssl-config-generator/

Тестирование работы HTTPS

По завершению необходимо выполнить тестирования работы HTTPS. Для этого воспользуйтесь сервисом: https://www.ssllabs.com/ssltest/analyze.html
Введите полный адрес, включая https и запустите проверку. В среднем проверка занимает от 3 до 6 минут. С такой конфигурацией для Apache 2.2 на одном из сайтов клиента удалось получить рейтинг A.
Помните, защита соедиения не менее важная задача, поэтому рекомендую раз в месяц выполнять проверку сайта в сервисе от SSLlabs для поддержания необходимого уровня защиты шифрования. Если рейтинг снижается, то по завершению проверки, выдаются рекомендации для улучшения.
P.S. И да прибудет с вами рейтинг A+

понедельник, 11 мая 2020 г.

pwd

госуслуги                            VD*****!
zoom                                    |  88 ББ
skype                                    |  U
https://auth2.bitrix24.net/     |  8877
vaplatakov@yandex.ru         |  U

postgres backup

настройка постгрес для 1с


REM ПРИМЕР СОЗДАНИЯ РЕЗЕРВНОЙ КОПИИ БАЗЫ ДАННЫХ POSTGRESQL
CLS
ECHO OFF
CHCP 1251


REM Перемещаем в папку old для локального хранения

move D:\BACKUP\mss\*.* D:\BACKUP\mss\old

REM Очищаем папку old от бекапов старше 7 дней

forfiles /p D:\BACKUP\mss\old\ /s /d -7 /c "cmd /c del @path /q"

REM !!!!!БАЗА МСС!!!!

REM Установка переменных окружения
SET PGBIN=C:\Program Files\PostgreSQL\9.6.7-1.1C\bin\
SET PGDATABASE=пишем имя базы(после равно слитно)
SET PGHOST=localhost
SET PGPORT=5432
SET PGUSER=postgres
SET PGPASSWORD=пишем пароль(после равно слитно)

REM Смена диска и переход в папку из которой запущен bat-файл
%~d0
CD %~dp0

REM Формирование имени файла резервной копии и файла-отчета
SET DATETIME=%DATE:~6,4%-%DATE:~3,2%-%DATE:~0,2% %TIME:~0,2%-%TIME:~3,2%-%TIME:~6,2%
SET DUMPFILE=%PGDATABASE% %DATETIME%.backup
SET LOGFILE=%PGDATABASE% %DATETIME%.log
SET DUMPPATH="D:\BACKUP\mss\%DUMPFILE%"
SET LOGPATH="D:\BACKUP\mss\%LOGFILE%"

REM Создание резервной копии
IF NOT EXIST Backup MD Backup
CALL "%PGBIN%\pg_dump.exe" --format=custom --verbose --file=%DUMPPATH% 2>%LOGPATH%

REM Анализ кода завершения
IF NOT %ERRORLEVEL%==0 GOTO Error
GOTO Successfull

REM В случае ошибки удаляется поврежденная резервная копия и делается соответствующая запись в журнале
:Error
DEL %DUMPPATH%
MSG * "Ошибка при создании резервной копии базы данных. Смотрите backup.log."
ECHO %DATETIME% Ошибки при создании резервной копии базы данных %DUMPFILE%. Смотрите отчет %LOGFILE%. >> backup.log
GOTO End

REM В случае удачного резервного копирования просто делается запись в журнал
:Successfull
ECHO %DATETIME% Успешное создание резервной копии %DUMPFILE% >> backup.log
GOTO End

:End


ping -n 20 localhost>Nul





***************************************************************

Восстанавливаем резервную копию скриптом или с помощью pgAdmin III в базу созданную на шаге 2.

Пример командного файла :

"C:\Program Files\PostgreSQL\9.4.2-1.1C\bin\pg_restore.exe" --host localhost --port 5432 --username "postgres" --dbname "1c_base_copy" --role "postgres"   --section pre-data --section data --section post-data --verbose "C:\ 1c_base.backup"

pause

где   "1c_base_copy"  - имя пустой базы, созданой в шаге 2 средствами PostgreSQL

       "c:\1c_base.backup"  - имя файла резервной копии

Как установить и настроить PHP на Windows Server

  В данной статье мы научимся устанавливать PHP на Windows Server. Существует несколько способов установки PHP, включая PHP Manager for IIS ...