*NIX

Подписаться на эту рубрику по RSS

Как в macOS найти файлы, содержащие текст

Ноябрь, 07th 2017

MaxSite CMS не перестаёт удивлять своими, просто дикими, решениями. Вчера решил покончить с автоматическим формированием заголовков второго уровня в сайдбаре и столкнулся с очередным косяком системы - заголовки с уже прописанными стилями формировались на уровне ядра. Разработчик, почему-то решил, что его видение того, как и что должно выводиться в заголовках будет единственно верным.

Впоследствии, в процессе разборки, выяснилось что в специальном файле шаблона functions.php, с помощью функции mso_set_val(), всё-таки можно переопределять вывод заголовков. Спрашивается зачем было вообще городить этот огород? Причем, хоть как-то отобразить данный момент в документации, по всей видимости, религия не позволяла. Впрочем, отсутствие вменяемой документации, видимо особая "фишка" данной CMS.

Разобраться с этим, весьма не очевидным, формированием заголовков мне помогла замечательная команда grep, известная со времен работы под Linux и FreeBSD. Не секрет, что в macOS через консоль доступны все возможности Unix, ведь по сути, это тоже Unix система, но более дружественная обычному пользователю. Отсюда имеем и богатейший функционал при работе в терминале.

читать полностью →

Настройка антиспам-фильтра SpamAssassin в связке с Postfix на FreeBSD 11

Ноябрь, 02nd 2017

антиспам фильтра SpamAssassin

Сегодня речь пойдёт о настройке антиспам-фильтра SpamAssassin на FreeBSD. К сожалению, активное развитие русскоязычного сообщества по настройке unix серверов, в частности FreeBSD, закончилось где-то в начале 2000-ых и актуальной информации по данной теме сейчас крайне мало. Убедиться в этом не сложно, достаточно посмотреть на даты последних публикаций или ветки форумов. Чуть лучше дела у линуксоидов, но тоже не фонтан. По всей видимости, делиться знаниями и наработками безвозмездно, сейчас никто не желает или просто знаний нет... конечно, это всё печально.

Что такое SpamAssassin? По сути, это набор скриптов на языке Perl для выявления спама, работает в связке с любыми MTA (Postfix, Exim, Qmail или Sendmail). Сразу хочу обратить ваше внимание на один, весьма важный момент - SpamAssassin не умеет удалять, блокировать или, каким-то образом, перемещать нежелательные сообщения (к примеру в папку SPAM).

читать полностью →

Шифрование файлов с помощью OpenSSL

Сентябрь, 14th 2017

Шифрование файлов с помощью OpenSSL

Иногда бывает нужно зашифровать какой-то архив или отдельный файл, обезопасив таким образом доступ к нему посторонним. Несколько лет назад, я уже рассказывал о хранении шифрованных данных в облаке Яндекс.Диск, тогда рассматривалось создание шифрованного образа диска средствами Mac OS X.

Сегодня, будем шифровать данные с помощью библиотеки OpenSSL, входящей в состав любого *NIX дистрибутива. К сожалению, самый распространённый архиватор tar, не умеет самостоятельно шифровать данные, но мы ему в этом поможем.

читать полностью →

Отзыв пользовательских сертификатов OpenVPN на FreeBSD 10/11

Сентябрь, 13th 2017

Решил дополнить последний пост о настройке OpenVPN сервера на FreeBSD 10/11. В прошлый раз, оставил без внимания вопрос об отзыве пользовательских сертификатов, а ведь данная тема, рано или поздно, встаёт перед любым администратором.

Как вы, наверное, уже знаете, начиная с 10-ой версии FreeBSD изменился процесс создания и управления сертификатами. Ранее для отзыва сертификатов использовался специальный скрипт revoke-full. Отныне, за все действия с сертификатами, в том числе и за отзыв, отвечает один единственный shell-скрипт easyrsa.real, что согласитесь, гораздо удобнее. Пример отзыва сертификата пользователя user01:

переходим в каталог easy-rsa
# cd /usr/local/etc/openvpn/easy-rsa
удаляем сертификат пользователя user01 из базы
# ./easyrsa.real revoke user01
создаем файл с отозванными сертификатами
# ./easyrsa.real gen-crl

Осталось скопировать полученный файл crl.pem в каталог с остальными ключами (в моём случае это /usr/local/etc/openvpn/keys/). Также не забудьте в конфиге OpenVPN сервера (server.conf) раскомментировать соответствующую строку о проверке отозванных сертификатов:

crl-verify /usr/local/etc/openvpn/keys/crl.pem

Принудительная отправка deferred почты в Postfix

Август, 18th 2017

Решил написать данный пост больше для себя, чтобы не забыть, поскольку подобное вмешательство в работу почтового сервера требуется крайне редко. Когда почтовому серверу (в моем случае postfix) по каким-то причинам не удается отправить исходящую почту, он помещает её в очередь deferred (ожидание), откуда периодически будет пытаться её доставить снова.

Почему такое происходит? Живой пример из практики - косорукие админы (одного весьма крупного предприятия в нашем городе), по одной, ведомой только им причине, выборочно заблокировали часть внешки на файерволе. В итоге, мой сервер мог стучаться к их почтовику до посинения, пополняя свою deferred очередь новыми письмами, а админы не сном не духом. Спросите откуда такая уверенность что рубил не какой-то спам-фильтр? Да это легко проверить, подключившись telnet на 25 порт почтового сервера и не увидев даже приветствия.

Как раз в таких обстоятельствах и бывает нужно ускорить процесс не дожидаясь очередной попытки от сервера. Для немедленной отправки накопившейся почты в postfix имеется специальная команда:

postsuper -r ALL deferred

Мониторинг интернет канала на шлюзе FreeBSD

Август, 10th 2017

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

Команда systat

# systat -ifstat n

где n - время в секундах, через которое будут обновляться данные

Пример вывода команды systat, где наглядно представлены все имеющиеся у нас интерфейсы и текущая активность на них:

/0   /1   /2   /3   /4   /5   /6   /7   /8   /9   /10
     Load Average   |
      Interface           Traffic               Peak                Total
           tun0  in      1.119 KB/s         23.392 KB/s          189.698 GB
                 out     3.552 KB/s         20.196 KB/s           16.277 GB
        bridge0  in      0.979 KB/s          7.133 KB/s            1.069 GB
                 out     0.956 KB/s         24.555 KB/s          192.017 GB
           tap0  in      0.441 KB/s          0.523 KB/s          220.284 MB
                 out     0.156 KB/s          3.612 KB/s          628.921 MB
            lo0  in      0.000 KB/s          0.000 KB/s            9.878 MB
                 out     0.000 KB/s          0.000 KB/s            9.878 MB
            vr0  in      1.520 KB/s         24.760 KB/s          192.779 GB
                 out     3.974 KB/s         21.339 KB/s           17.617 GB
           alc0  in      0.749 KB/s         10.780 KB/s           16.431 GB
                 out     0.800 KB/s         24.182 KB/s          191.403 GB

читать полностью →

[Решено] Thunderbird. Не удалось подключиться к IMAP-серверу. Возможно вы превысили ограничение на максимальное число соединений к этому серверу.

Май, 16th 2017

Не удалось подключиться к IMAP-серверу. Возможно вы превысили ограничение на максимальное число соединений к этому серверу

Столкнулся сегодня с такой проблемой - в Mozilla Thunderbird при попытке открыть папку "Удаленные" или "Черновики" выходило следующее сообщение:

Не удалось подключиться к IMAP-серверу. Возможно вы превысили ограничение на максимальное число соединений к этому серверу. Если это так, откройте диалоговое окно "Дополнительные параметры IMAP-сервера" и уменьшите число кэшируемых соединений.

Давайте разберемся откуда у проблемы ноги растут и что с этим можно сделать. Подобная штука может возникать, когда несколько пользователей одновременно работают с одним аккаунтом по протоколу IMAP. Таким образом можно легко достичь ограничения на количество одновременных соединений (к примеру Gmail ограничивается 10-ю одновременными IMAP-соединениями).

читать полностью →

Как определить какой DNS сервер использует система?

Март, 04th 2017

В продолжение темы про DNS, сегодня хотелось бы рассказать как же проверить какой сервер в действительности отвечает на ваши запросы. Ситуации бывают разные, допустим внешние IP-адреса пингуются, а имена хостов не определяются, или у вас есть сомнения что перед вами действительно тот сайт, который должен быть (не редки случаи когда вирусы подменяют настройки DNS серверов вашего компьютера).

К примеру, при подключении по vpn каналу к одному из серверов, у меня в браузере на локальном компьютере переставали открываться странички. Как оказалось, подставлялся не верный DNS сервер.

читать полностью →

Настройка DNS сервера Unbound в FreeBSD 10

Февраль, 27th 2017

В 10-ой версии FreeBSD убрали классический DNS сервер BIND и на его замену предлагается лёгкий кеширующий DNS сервер Unbound в связке с библиотекой LDNS. В отличие от BIND, Unbound имеет маленький размер и высокую скорость работы, к тому же существенно проще в настройке (во всяком случае для роли кэширующего сервера делается вообще играючи).

Если всё-таки потребуется настроить классический BIND 9, его можно уставить из коллекции портов. А вот с 10 версией я так и не понял что произошло... вроде как сильно изменена архитектура и он был полностью переписан на питоне. В общем, кому интересно, полагаю без труда найдут эту информацию.

читать полностью →

Выделение статических ip адресов клиентам OpenVPN

Февраль, 02nd 2017

Я уже не раз рассказывал как сконфигурировать собственный OpenVPN сервер. Пользователи подключаются по сертификатам и им динамически выдаются свободные ip-адреса из заданного диапазона. Встала задача выдавать некоторым клиентам постоянные ip-адреса, чтобы была возможность подключаться к ним тоже.

Собственно, решается это довольно просто, если знать как. В файл конфигурации сервера OpenVPN нужно добавить буквально пару строк:

client-to-client
ifconfig-pool-persist ipp.txt
  • client-to-client - разрешаем клиентам видеть друг-друга в сети
  • ifconfig-pool-persist ipp.txt - наличие этой строки указывает, что перед тем как выдать клиенту свободный адрес из пула, сервер должен свериться с файлом ipp.txt, в котором прописывается привязка имени пользователя к ip-адресу.

Файл ipp.txt должен иметь следующий формат:

username1,ip-address
username2,ip-address
username3,ip-address

username1, username2 и username3 соотвествуют именам выданных сертификатов пользователей.