sysmerge IT

12 июл. 2020 г.

Centos 8: Firewalld правила для сервера Wireguard

Большое количество мануалов по настройке Wireguard на Сentos 8 используют для настройки форвардинга и маскарадинга правила Iptables. Но с firewalld это сделать даже проще, выглядеть рабочий конфиг будет так:
# cat /etc/wireguard/wg0.conf
[Interface]
Address = 10.0.0.1/24
ListenPort = 51386
PrivateKey = ПРИВАТНЫЙ_КЛЮЧ
PostUp = firewall-cmd --zone=public --add-port=51820/udp; firewall-cmd --zone=public --add-masquerade
PostDown = firewall-cmd --zone=public --remove-port 51820/udp; firewall-cmd --zone=public --remove-masquerade

[Peer]
PublicKey = ПУБЛИЧНЫЙ_КЛЮЧ_КЛИЕНТА
AllowedIPs = 10.0.0.0/24

Аналогичные PostUp и PostDown для iptables выглядеть будут уже посложнее:
PostUp = iptables -A INPUT -p udp -m udp --dport 51820  -j ACCEPT; iptables -A FORWARD -i %i -j ACCEPT; iptables -A FORWARD -o %i -j ACCEPT; iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
PostDown = iptables -D INPUT -p udp -m udp --dport 51820  -j ACCEPT; iptables -D FORWARD -i %i -j ACCEPT; iptables -D FORWARD -o %i -j ACCEPT; iptables -t nat -D POSTROUTING -o eth0 -j MASQUERADE
 

22 июн. 2020 г.

Exim 4.94-1: Tainted filename for search: '/etc/exim/domains/DOMAIN/aliases' BOX@DOMAIN cannot be resolved at this time

После последнего обновления Exim до версии 4.94 на Centos 7 сломалась обратная совместимость и, что самое печальное, при работе с панелями VESTA / Directadmin / Ispmanager почта перестала работать. В логе exim можно видеть такие ошибки
Tainted filename for search: '/etc/exim/domains/DOMAIN/aliases'
BOX@DOMAIN cannot be resolved at this time: failed to expand "${extract{1}{:}{${lookup{$local_part@$domain}lsearch{/etc/exim/domains/$domain/aliases}}}}": NULL

Пока единственным решением является а) не обновляться, б) откатиться обратно.
Откатить версию exim до 4.93-3 можно такой командой:
# wget https://ca1.dynanode.net/exim-4.93-3.el7.x86_64.rpm 
# rpm -Uvh --oldpackage exim-4.93-3.el7.x86_64.rpm 
 
6 июн. 2020 г.

Exim: Failed to create spool file /var/spool/exim/input//1eFi0K-0008KX-WD-D: Permission denied ( Failed setting ownership on spool file )

При попытке отправить письмо получаем следующие ошибки в логе почтового сервера:
[Fri Nov 17 17:52:29.000002 2017] [cgi:error] [pid 30087] [client *:44626] AH01215: 2017-11-17 17:52:28 1eFi0K-0008KX-WD Failed to create spool file /var/spool/exim//input//1eFi0K-0008KX-WD-D: Permission denied
[Fri Nov 17 17:52:39.405894 2017] [cgi:error] [pid 30084] [client *:44628] AH01215: 2017-11-17 17:52:39 1eFi0V-0008Kw-D4 Failed setting ownership on spool file /var/spool/exim//input//1eFi0V-0008Kw-D4-D: Operation not permitted

Проблем с правами на /var/spool/exim нет, проверим флаги на самом бинарнике exim
 
# ls -la /usr/sbin/exim -rwxr-xr-x 1 root root 1233384 авг 18 18:21 /usr/sbin/exim

Выглядит довольно странно, так как отсутствует флаг s ( suid ). Отсюда и проблема с правами при попытке создать spool файл. Исправляем:
# chmod +s /usr/sbin/exim # ls -la /usr/sbin/exim -rwsr-sr-x 1 root root 1233384 авг 18 18:21 /usr/sbin/exim

Wordpress - /wp-admin/ циклический редирект https

Для исправления проблемы с циклическим редиректом в админку /wp-admin/ сайта на wordpress можно попробовать следующее решение. В конфиг файл wp-config.php добавляет следующие 2 строчки:

define('FORCE_SSL_ADMIN', true);
$_SERVER['HTTPS']='on';

21 мая 2020 г.

MacOS: нарезать flac на треки по CUE + кодировка в alac

Для начала установим нужные нам утилиты, я предпочитаю использовать для этого homebrew.
brew install cuetools flac ffmpeg shntool

Разбиваем на треки
shnsplit -o flac -f file.cue file.flac

Заполняем мета информацию 
cuetag file.cue split-track*.flac

Скрипт cuetag.sh можно взять отсюда https://github.com/gumayunov/split-cue/blob/master/cuetag

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

$ for i in *.flac; do ffmpeg -i "$i" -acodec alac "`basename "$i" .flac`.m4a"; done;
27 апр. 2020 г.

MacOS Catalina Chrome NET::ERR_CERT_INVALID

В недавних пор в MacOS Catalina для браузера Chrome в частности ошибка NET::ERR_CERT_INVALID не позволяет продолжить использования сайта, нет возможности принять риск и продолжить.

Но есть небольшой трюк - достаточно набрать на клавиатуре слово "thisisunsafe" и все заработает.

PS: используйте это только для ваших личных проектов с самоподписанными сертификатами, не стоит использовать такой метод для сайтов, которым вы не доверяете

rkhunter: Update failed

При обновлении базы rkhunter получаем ошибку   [ Update failed ] на ряд пунктов обновления, выглядит так:
# rkhunter --update
[ Rootkit Hunter version 1.4.2 ]

Checking rkhunter data files...
  Checking file mirrors.dat                                  [ Skipped ]
  Checking file programs_bad.dat                             [ Update failed ]
  Checking file backdoorports.dat                            [ Update failed ]
  Checking file suspscan.dat                                 [ Update failed ]
  Checking file i18n versions                                [ Update failed ]

Please check the log file (/var/log/rkhunter.log)
Чтобы обновить rkhunter делаем следующее:
В файле "/etc/rkhunter.conf" заменить:
UPDATE_MIRRORS=0
на
UPDATE_MIRRORS=1

MIRRORS_MODE=1
на
MIRRORS_MODE=0

WEB_CMD="/bin/false"
на
WEB_CMD=""

Сохраняем изменения и запускаем:
# rkhunter --update
[ Rootkit Hunter version 1.4.2 ]
Checking rkhunter data files...
  Checking file mirrors.dat                                  [ No update ]
  Checking file programs_bad.dat                             [ Updated ]
  Checking file backdoorports.dat                            [ No update ]
  Checking file suspscan.dat                                 [ No update ]
  Checking file i18n/cn                                      [ Skipped ]
  Checking file i18n/de                                      [ Skipped ]
  Checking file i18n/en                                      [ No update ]
  Checking file i18n/tr                                      [ Skipped ]
  Checking file i18n/tr.utf8                                 [ Skipped ]
  Checking file i18n/zh                                      [ Skipped ]
  Checking file i18n/zh.utf8                                 [ Skipped ]

Обновление прошло успешно.