Продление сертификата Let’s Encrypt

Для того чтобы обновить (продлить) сертификат Let’s Encrypt необходимо сделать следующие действия.

upd:19.08.2019

Читать далее Продление сертификата Let’s Encrypt

Установка vzdump для OPenVZ на базе ОС CentOS 7

Установка vzdump для OPenVZ на базе ОС CentOS 7 (и судя по всему для CentOS 6 тоже годится).

Читать далее Установка vzdump для OPenVZ на базе ОС CentOS 7

Копирования на ftp-сервер через bash

На просторах интернета найден мною и опробован скрипт, который закачивает файлы на ftp-сервер.

#!/bin/bash

HOST=ftp.server.com #This is the FTP servers host or IP address.
USER=ftpuser #This is the FTP user that has access to the server.
PASS=password #This is the password for the FTP user.

# Call 1. Uses the ftp command with the -inv switches. 
#-i turns off interactive prompting. 
#-n Restrains FTP from attempting the auto-login feature. 
#-v enables verbose and progress.

ftp -inv $HOST << EOF

# Call 2. Here the login credentials are supplied by calling the variables.

user $USER $PASS

# Call 3. Here you will change to the directory where you want to put or get
cd /path/to/file

# Call4. Here you will tell FTP to put or get the file.
put test.txt

# End FTP Connection
bye

EOF

Скрипт протестирован и полностью работоспособен.

На забывать дать скрипту разрешение на выполнение:

chmod +x ftpscript.sh

Источник — http://serverfault.com/questions/279176/ftp-uploading-in-bash-script

Отключение спам фильтра iRedMail

На моём почтовом сервере совсем мало ресурсов и я решил удалить условно лишнее. А именно избавился от антивируса, что потянуло за собой (видимо) удаление спам фильтра. И в один прекрасный момент почта перестала доставляться адресатам. Логи при этом в принципе говорили, что проблема есть.

Файл /var/log/syslog

Mar 16 09:41:50 vot-tak-vot postfix/smtp[26460]: connect to 127.0.0.1[127.0.0.1]:10026: Connection refused
Mar 16 09:41:50 vot-tak-vot postfix/smtp[26462]: connect to 127.0.0.1[127.0.0.1]:10024: Connection refused

Поиск не заставил долго искать аналогичные ситуация и я быстро понял, что postfix заворачивает всё на 127.0.0.1, т.к. фильтрует письма.

В файле /etc/postfix/main.cf делаются следующие изменения.

# contentfilter = amavis:[127.0.0.1]:10024
# receiveoverrideoptions = noaddress_mappings

Перезагрузка postfix.

/etc/init.d/postfix restart

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

/etc/init.d/clamav-daemon stop
/etc/init.d/clamav-freshclam stop
/etc/init.d/amavis stop

update-rc.d -f clamav-daemon remove 
update-rc.d -f clamav-freshclam remove
update-rc.d -f amavis remove

По идее эти действия должны были помочь (я пробовал по аналогии конкретного варианта решения данной проблемы), но не помогло. Postfix по прежнему заворачивал всё на 127.0.0.1.

Я редактировал ещё конфиг /etc/postfix/master.cf, искал конкретно, где упоминается заворот на 127.0.0.1. Нашёл ещё строчку, которую закомментировал.

 # -o content_filter=smtp-amavis:[127.0.0.1]:10026

В папке /etc/postfix ещё были файлы main.cf и master.cf с датами. Я убрал эти файлы из каталога (временно сохранил в другом каталоге). После чего перезагрузил ещё раз postfix. Теперь почта заработала как надо.

Добавление PTR записи

PTR запись — обратная DNS-запись, связывающая IP-адрес сервера с его каноническим именем (доменом).

Проверяется эта запись командой

#dig -x <ip>

Например

#dig -x 138.201.191.252

Делается эта запись хостером или в панели управления, если к ней имеется доступ. Я это делаю в своей панели управления у хостера Hetzner.

ptr_hetz

Обновление PTR записи произойдёт ни сразу. Когда именно она обновится скажет величина TTL, полученная после команды dig.

ptr_time_ttl

Если команду повторять с интервалом 5-10 секунд, то будет видно, как значение уменьшается. Это время в секундах до момента, когда обновится PTR-запись.

Удаление старых бэкапов

Скрипт оставляет определённое кол-во свежих файлов (каталогов, архивов), а остальное удаляет.

#!/bin/bash

#целевой каталог
target_dir=

#кол-во оставляемых файлов
limit=

n=1
for i in `ls $target_dir -t`
do
 if [ $n -gt $limit ]
 then
rm -Rvf $target_dir/$i

fi
 n=$(($n+1))
done

 

Percona XtraBackup. Установка и настройка на CentOS

В этой заметке я опишу свой процесс установки, настройки и использования утилиты для создания резервной копии баз  MySQL, которая называется Percona XtraBackup. Ниже описанные действия происходят в системе CentOS 7.

Читать далее Percona XtraBackup. Установка и настройка на CentOS

Reverse dns does not match smtp banner

При проверке почты получил сообщение

reverse dns does not match smtp banner 

Решение.

postconf -e myhostname=servername

Указкать servername — имя сервера, которое должно получаться при reverse DNS.

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

nc <ip> 25

Должно получится

220 mail.mymail.com ESMTP Postfix

Обновление iRedMail (на Debian)

Процесс достаточно простой, но я всё же решил его немного законспектировать, т.к. возникают нюансы, которые вызывают сомнения в  правильности действий.

Обновить iRedMail можно двумя способами: платно и бесплатно. В первом случае всё сделают создатели самого пакета. Во втором надо поработать самостоятельно руками.

Информация о релизах — http://www.iredmail.org/docs/iredmail.releases.html

На момент написания статьи мой вариант обновления будет:

Перед началом работ не помешает обезопасить себя, сделать точку возврата. Я делаю снапшот инструментами хостера. Для этой процедуры сервер обязательно останавливается.

hetzner snapshot

Далее выполняю все правки по инструкции — http://www.iredmail.org/docs/upgrade.iredmail.0.9.5.1-0.9.6.html.

Выставляю версию iRedMail, до которой обновляюсь. Правлю файл /etc/iredmail-release, вписываю версию 9.6.

Upgrade iRedAPD

Скачиваю последнюю версию (по ссылке http://www.iredmail.org/yum/misc/)

# sudo wget http://www.iredmail.org/yum/misc/iRedAPD-2.0.tar.bz2

И выполняю действия по инструкции.

# cd /root
# tar xjf iRedAPD-1.7.0.tar.bz2
# cd iRedAPD-1.7.0/tools/
# bash upgrade_iredapd.sh

Обновление прошло гладко.

iredapd_upd_ok

Можно переходить к следующему этапу по порядку в инструкции. Принцип тот же. Скачивается последняя версия, распаковывается и делается обновление.

Upgrade iRedAdmin

# wget http://www.iredmail.org/yum/misc/iRedAdmin-0.7.tar.bz2
# cd /root/
# tar xjf iRedAdmin-x.y.z.tar.bz2
# cd iRedAdmin-x.y.z/tools/
# bash upgrade_iredadmin.sh

Если всё пройдёт успешно, то по окончанию будет написано Upgrading completed.

Upgrade Roundcube

Делается резервная копия roundcube.

# sudo tar -czf roundcubemail.bkp.tar.gz roundcubemail

Сделать резервную копию баз (perform a database dump (schema and data) ) (это я не делал).

# sudo wget https://github.com/roundcube/roundcubemail/releases/download/1.2.3/roundcubemail-1.2.3-complete.tar.gz
# sudo tar xf roundcubemail-1.2.3-complete.tar.gz
# sudo bin/installto.sh /opt/www/roundcubemail

После выполнения последней команды, обновление roundcube будет закончено.

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

Fixed: HTTProxy vulnerability in Apache and Nginx

fixed_httpr_an

Эта правка подразумевает редактирование как конфигов Apache, так и Nginx. Но у меня Apache вообще не используется, он не запущен. Т.е. инструкция по обновлению имеет какой-то общий характер.

По файлам Nginx отмечу, что некоторые параметры, которые нужны было дополнять, закомментированы. Соответственно не ясно, надо ли вносить изменения на будущее, если вдруг эти параметры придётся раскомментировать. Во всяком случае, если отредактировать всё по инструкции, то ничего не поменяется на данном этапе работы почтовика.

Fixed: not allow access to ‘/.well-known/’ in Nginx

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

Fixed: Postfix allows email sent through port 587 without smtp authentication from trusted clients

Необходимо найти строчку

-o smtpd_client_restrictions=permit_mynetworks,permit_sasl_authenticated,reject

и убрать из неё permit_mynetworks.

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

Fixed: SOGo-3.1.3 (and later releases) changed argument used by sogo-tool command

Эта программа у меня не установлена. Соответственно обновления не требует. Но в инструкции между строк говорится «догадайся об этом сам».

Fixed: Awstats is world-accessible with Apache

Нужно отредактировать конфиг /etc/apache2/conf-available/awstats.conf. Он у меня отсутствует.


Я описал не все процедуры данного конкретного обновления. Были ещё обновления, касающиеся LDAP, я их не делал, т.к. он у меня не используется.

Часть обновлений не затронутых в описании выполнялась без вопросов и эти моменты я не описывал.

Добавление DKIM записи для iRedMail

На почтовом сервере выполняется команда:

#sudo amavisd-new showkeys

Выдаётся результат вида:

# amavisd showkeys
dkim._domainkey.mydomain.com. 3600 TXT (
"v=DKIM1; p="
"MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDYArsr2BKbdhv9efugByf7LhaK"
"txFUt0ec5+1dWmcDv0WH0qZLFK711sibNN5LutvnaiuH+w3Kr8Ylbw8gq2j0UBok"
"FcMycUvOBd7nsYn/TUrOua3Nns+qKSJBy88IWSh2zHaGbjRYujyWSTjlPELJ0H+5"
"EV711qseo/omquskkwIDAQAB")

Чтобы сделать DKIM запись, понадобится только строчка вида:

v=DKIM1; p=MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDYArsr2BKbdhv9efugBy...

У меня эта запись в панели управления выглядела вот так:

DKIM_260117

Строчка без кавычек, но обязательно с «;».

После этого можно протестировать, была ли успешно добавлена запись.

@unix-garage:/$ sudo amavisd-new testkeys

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

TESTING#1 mail.unix-garage.tk: dkim._domainkey.mail.unix-garage.tk => pass

Если что-то пошло не так, то будет сообщение:

TESTING#1 mail.unix-garage.tk: dkim._domainkey.mail.unix-garage.tk => invalid (public key: not available)

Стоит помнить, что для обновления добавленной запись DKIM может потребоваться какое-то ощутимое время (зависит от DNS сервера).


Использовалась официальная инструкция от iRedMail — http://www.iredmail.org/docs/setup.dns.html