Защита сайта сертификатом p12

Задача: обеспечить вход на сайт только при наличии действующего сертификата формата p12.

Решение:

Инструкция создана на основе нескольких источников, в т.ч. этого и этого, но с внесением поправок что год уже конец 2022, и появились некоторые нюансы, что старые инструкции не работают по умолчанию для новых дистрибутивов.

Сначала создадим корневой сертификат сервера и необходимые для дальнейшей работы файлы и папки. Для этого создадим в любой папке файл root_cer.sh с содержимым вида:

, где:

rsa:2048- длина ключа, -days — сколько дней действителен сертификат, -x509 — создаём самоподписаный сертификат, /C — страна, /ST — область, /L — город, /O — организация, /OU — отдел,

Результатом работы будут два файла в папке certs: servert.crt (сертификат) и serverk.key (закрытый ключ). Данные закрытого ключа можно посмотреть при помощи:

В файле db/serial записывается текущий серийный номер
подписываемого сертификата в шестнадцатиричном формате.

В файл db/index.txt сохраняются данные о подписываемых сертификатах.

Далее необходимо создать файл с настройками для генерации пользовательских сертификатов ca.config:

Для автоматизации генерации клиентских сертификатов можно собрать небольшой bash скрипт:

На входе скрипта необходимо задать email, имя пользователя без пробелов и пароль на установку сертификата. На выходе будет запись в БД сертификатов и непосредственно сам контейнер p12 в папке p12 для передачи клиенту.

И ещё один полезный скрипт, для автоматизации отзыва сертификатов revote.sh:

Посмотреть список отозваных сертификатов можно при помощи команды:

Осталось только настроить apache для того что бы он пускал на сайт, только при наличии сертификата, добавив:

1С: Генерация документа DOCX на сервере без установки WORD

Задача: создать по шаблону файл формата Word на сервере 1С предприятие. Кросплатформенно (т.е. никаких COMОбъект).

Первоначально было сделано на основе сохранения табличного документа генерируемого из Макета. Однако в нём сложно получить вычурную разметку, которая необходима в моем случае.

Решение: используем функционал БСП УправлениеПечатью, а именно функцию ИнициализироватьМакетОфисногоДокумента.

1.Создаем документа в формате OpenXML. Любым редактором. Хоть Word хоть LibreOffice. Без разницы. Разметку в нём делаем в соответствии с разделителями вида:

Подробнее о разметке тут

2. Создаем в конфигураторе 1С документ и макет с бинарными данными и загружаем в него этот файл.

3. В Менеджере документа размещаем:

4. В Форме документа размещаем:

В приведенном примере, файл формируется на сервере и открывается для наглядности в Word уже «готовым» на клиенте. В принципе ничего не мешает эту фазу исключить и сразу сохранять полученный с сервера файл куда угодно.




Иногда при попытке установить (apt-get update) какой то пакет в Ubuntu можно увидеть ошибки вида:

Скорее всего это лишь означает, что версия Ubuntu устарела, и обновления и пакеты далее доступны по другому адресу:

http://old-releases.ubuntu.com/ubuntu/pool/main/

Что делать: открываем файл источников ПО, и заменяем ссылки вида http://security.ubuntu.com на http://old-releases.ubuntu.com/




Включаем поддержку SSL в Postfix, FreeBSD 10.x

Предыдущий пост (включение подписи DKIM) не помог избавиться от попадания в папку СПАМ на ящиках gmail, поэтому следующим этапом попробуем включение принудительного шифрования писем SSL на домене.

Сначала сделаем самоподписный сертификат:

Добавляем в Postfix поддержку SSL:

В файле /usr/local/etc/postfix/master.cf нужно добавить:

и перестартовать postfix




Делаем «Правильный» бекап жесткого диска в Linux

Традиционно, всегда во всех инструкциях используют команду dd. Да, она работает, но она устарела. В настоящее время образы дисков лучше делать командой ddrescue, которая в отличии от dd, более грамотно работает с диском в случае наличия на оном ошибок чтения.

Применять примерно так:

Обратное восстановление:




1 2 3 4 10