Как получить wildcard ssl сертификат от letsencrypt

Совсем недавно letsencrypt добавил возможность получения ssl-сертификатов wildcard типа для доменов. До этого, все сертификаты от letsencrypt выдавались только для доменов и поддоменов, что могло быть довольно хлопотно несмотря на удобство работы с certbot по обновлению и поддержке всего этого хозяйства. А поскольку получить сертификат от letsencrypt можно совершенно бесплатно, без регистраций и смс, то это поднимает важность этого момента на небывалый уровень.

Итак, Как получить wildcard ssl сертификат от letsencrypt?

Во первых стандартный certbot, выписывал все сертификаты до этого не умеет пока выписывать wildcard сертификаты, так что нужно качать новый.

wget https://dl.eff.org/certbot-auto
chmod 0755 certbot-auto

Теперь можно запускать самого бота

./certbot-auto certonly --server https://acme-v02.api.letsencrypt.org/directory --manual --preferred-challenges dns -d *.domain.com

Бот начнет задавать вопросы. Поскольку выбрана опция preferred-challenges dns он попросит создать для домена соответствующую TXT запись в DNS


Please deploy a DNS TXT record under the name
_acme-challenge.domain.com with the following value:

99EjBy71F_RWab8pepBc499GCHPAx1EVCd6pqLDlI3s

Before continuing, verify the record is deployed.
——————————————————————————-
Press Enter to Continue

Это средство для валидации того, что вы действительно являетесь владельцем указанного вами домена. Прописываем нужную запись в ДНС. Проверяем, что с сервера она видна по запросу

dig _acme-challenge.domain.com IN TXT

Если все нормально то жмем enter и едем дальше. Бот убеждается, что нужные записи в ДНС появились и выписывает вам сертификат. Вот так все очень просто.
Посмотреть список сертификатов можно следующей коммандой


./certbot-auto certificates
Saving debug log to /var/log/letsencrypt/letsencrypt.log

——————————————————————————-
Found the following certs:
Certificate Name: domain.com-0001
Domains: *.domain.com domain.com
Expiry Date: 2018-06-16 17:01:40+00:00 (VALID: 71 days)
Certificate Path: /etc/letsencrypt/live/domain.com-0001/fullchain.pem
Private Key Path: /etc/letsencrypt/live/domain.com-0001/privkey.pem
——————————————————————————-

Особенностью беплатных сертификатов от letsencrypt является, то что они выдаются на 3 месяца, так что надо почаще следить за актуальностью установленных сертификатов.
По необходимости можно поставить бота в крон чтобы он обновлял сертификаты автоматом. Бот также умеет прописывать ныжные блоки в конфиги для распространенных веб-серверов, apache и nginx. В общем очень удобная и полезная в наше время штука. Желаю вам освоить ее и пользоваться с удовольствием.

Как сделать шифрованный раздел на файле

Итак, на одном сервере мне понадобилось побыстрому сделать отдельный шифрованный раздел, возникла вдруг такая потребность. Переразбивать диски и как-то править разделы совсем не хотелось, поэтому решил сделать шифрованный раздел на файле.

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

Итак как сделать шифрованный раздел на файле?

Все процедуры я описываю для системы Ubuntu Server LTS 16.04.

Для этой операции нам понадобиться установить несколько пакетов

apt update && apt install cryptsetup

Смотрим на каком разделе есть достаточно места под наши цели и создаем там файл нужного размера

cd /home && fallocate -l 8G data.img

Форматируем его как шифрованный раздел, при этом программа предупредит о том что все данные будут утеряны и попросит ввести ‘YES’. А также попросит ввести вас пароль. Вводим пароль 2 раза и сохраняем его в какое-нибудь безопасное место, например в keepass.

cryptsetup -y luksFormat /home/data.img

Теперь выделенный файл отформатирован под шифрованный раздел, но в системе еще не виден. Для этого его надо промапить как устройство. При этом будет запрошен пароль, который использовался шагом выше.

cryptsetup luksOpen /home/data.img data_decrypt

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

mkfs.ext4 -j /dev/mapper/data_decrypt

Файловая система есть теперь диск можно подмонтировать

mkdir /data && mount /dev/mapper/data_decrypt /data

 

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

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

Вот в общем и все что я хотел рассказать по данному вопросу.

 

Хорошие источники про ansible

Ansible – незаменимый помошник для DevOps. Для изучения ansible использовал несколько хороших книжек, где хорошо разбирается как это все работает под капотом и описаны разные best practice. Помогли систематизаровать знания и не наделать лишних ошибок при освоении этого замечательного инструмента. А также придти к собственному пониманию как удобно и комфортно использовать ansible для разных задач. Довольно занимательно просматривать книги и знакомиться с мнениями других людей на счет использования ansible после того как сам набираешься опыта и понимания как тебе самому приятнее и удобнее ео использовать.

Тем, кто осваевает этот инструмент, однозначно нужно хотя бы бегло прочитать эти хорошие источники про ansible, чтобы понять большую часть возможностей которые предлагает ansible для управления инфраструктурой. Конечно не стоит забывать про документацию но там, как и в любой документации, можно найти не все, здесь же представлен живой опыт.

learning ansible ebook
ansible-for-devops
ansible configuration management 2nd edition
ansible playbook essentials
ansible-_up_and_running