Позднее Ctrl + ↑

Ремонт в туалете

С месяц назад примерно начал протекать бачок. Поплавок вовремя не останавливает воду, поэтому ее уровень начал доходить до перелива. И вода все время льется без остановки. Но если дернуть рычаг поплавка, то вода перекрывается. Поначалу грешил на то, что трубки покрылись какими-нибудь отложениями от воды, которые препятствуют нормальному ходу поплавка. Почистил, но дальнейшее использование показало, что это не так. Сантехника вызывать было лень, к тому же когда-то придется с этим разбираться. Что, я не мужик что ли? :-) Ремонт несколько осложнял тот факт, что самая большая в бачке является достаточно узкой, едва вмещает две моих руки. Все равно, что как в известном анекдоте, оклеивать квартиру через замочную скважину.
Сегодня обратил внимание на то, что раньше как-то укрывалось от моего внимания. Пластина, перекрывающая воду, крепится к трубке на защелках. Поначалу мне казалось, что она просто прикреплена через отверстия и снять ее нельзя. Снял ее и стал рассматривать. В середине платины со стороны наливающей трубы находится что-то черное, напоминает резинку. Выковырял — да, резинка. Причем с рабочей стороны находится углубление буквально в полмиллиметра. Хм... Перевернул резинку вверх ногами, вторая-то сторона нормальная, без углублений. С большой осторожностью собрал все это назад, потому что, если уроню пластину, достать ее будет весьма проблематично. А уронить ее очень просто.
Закрепил все, как было, включаю воду. Набирается полный бак, вода перекрывается поплавком. Конечно, надо будет посмотреть как все будет дальше, но, судя по всему, это крохотное углубление в резинке и было причиной того, что вода вовремя не перекрывалась. В крайнем случае, такую можно будет вырезать из подходящего кусочка резины и сделать, например, полмиллиметра или миллиметр длиннее.

Освещение в подъезде

Театр, как известно, начинается с вешалки

Лампа на площадке в подъезде сгорела давно, около полугода назад. Но, так как наступало лето, и, в основном, все время было светло, то я особо по этому поводу не заморачивался. Но всему хорошему приходит конец. С наступлением осени в то время, когда я порой возвращался домой, на площадке уже становилось настолько темно, что замочную скважину было видно только по светлому пятну из коридора. Делать нечего, пришлось купить лампу. Размеры старой я не помнил, поэтому взял метровую, благо что она крепилась на защелках. Есть, конечно, риск, что ее просто тупо сопрут, но стоит она не так уж и дорого, поэтому мне все равно.
И вот на этом моменте меня «закусило». Уже более полугода в закромах валяется специально купленное для этих целей реле с датчиком освещенности. Темно — включается лампа, светло — отключается. И все было бы отлично, но датчик, скотина, реагирует на любой свет, не только на солнечный. Думал решить этот вопрос «укутыванием» датчика в термоусадочную трубку. «Укутал». Но, на сегодняшний момент, меня берут сомнения и ситуация складывается так, что это было вовсе не нужно. Дело в том, что я взял обычный настенный светодиодный светильник. Который, судя по всему, не оказывает никакого воздействия на датчик освещенности. Последний я, впрочем, отпаял от платы и прикрепил на полтора метра дальше от лампы. В планах было вывести его на улицу через окно в подъезде, но сейчас я готов отказаться от этой идеи по вышеописанной причине. Сейчас весь вопрос остается только в том, чтобы подстроить датчик под нужный уровень освещенности. Включается он в нужный момент, нужно только проконтролировать чтобы он и отключался когда станет более-менее светло, а не в яркий солнечный день. Плата с реле вполне себе уместилась в стандартную распределительную коробку, которая, увы, пока что остается «на весу». Пробивать дыру под нее в стене мне просто лень :-) Плюс к этому в нынешнем положении она скрывает тот факт, что лампу легко можно отключить от питания и вытащить из защелок.

Установка ejabberd на ALT Linux

Заметка, по большей части, для себя.

Решил поделиться своим опытом установки и настройки ejabberd. В процессе встречал много ошибок, которые можно было бы избежать, будь у меня опыт по работе с этим сервером. Но опыт что называется «нулевой».
Первым делом, конечно, установка:

# apt-get install ejabberd

Несмотря на то, что после установки появляется одноименная служба, воспользоваться ей мы пока не сможем. Угум-с... Поэтому начинаем с того, что создаем базу данных в MySQL и пользователя. SQL-скрипт находится по пути /usr/lib/erlang/lib/ejabberd-18.03/priv/sql/mysql.sql.
Теперь регистрируем пользователя:

# ejabberdctl start
WARNING: It is not recommended to run ejabberd as root
# ejabberdctl register admin example.com PaSsWoRd
# ejabberdctl stop

Ответы сервера будут немного отличаться, но основной вопрос возникает при виде строки «WARNING: It is not recommended to run ejabberd as root». Чтобы избавиться от этого предупреждения, нужно запускать ejabberd от имени другого пользователя. Это делает сервис, но он нам пока недоступен. Почти.
После запуска ejabberdctl в папке /var/lib/ejabberd создаются нужные подкаталоги и файлы баз Mnesia. Вот только права у них сейчас root, поэтому сервер не сможет с ними работать. Меняем владельца:

# chown -R ejabberd:ejabberd /var/lib/ejabberd

Не забываем про логи — там то же самое:

# chown -R ejabberd:ejabberd /var/log/ejabberd

Теперь нужно изменить файл конфигурации сервера под себя. Открываем /etc/ejabberd/ejabberd.yml и правим, как минимум, строчку hosts в начале файла. И учтите еще пару моментов.

  1. Если вы планируете дать возможность анонимным пользователям подключаться к вашему серверу в качестве клиентов, то лучше сразу настройте подраздел host_config в разделе AUTHENTICATION. Я лично потерял весь ростер, когда настроил его уже в процессе работы. Хрен знает почему так получилось, но повторов мне не хочется.
  2. Также лучше всего сразу настроить ejabberd на использованием базы MySQL и не использовать встроенную Mnesia. Связано это с ограничением Mnesia на размер БД. Если планируется использовать запись действий.

После всего этого можно пробовать запускать службу:

# systemctl start ejabberd

Итак, служба запустилась, сервер нас слушает.
Какие еще есть нюансы? Ну, например, использование сертификатов от Let’sEncrypt. Я перебрал множество вариантов их подключения, но сервер каждый раз продолжал ругаться или на их отсутствие, или на то, что они подписаны неизвестным CA, или что не может выстроить цепочку сертификатов, чтобы доверять им. Перед настройкой нам нужно провести небольшие подготовительные работы. А именно — экспортировать корневой сертификат DST Root CA X3 в pem-файл. После этого размещаем его, например, в папке сертификатов Let’sEncrypt /etc/letsencrypt и даем права на чтение всем. Подкаталогам live и archive даем права 0755. Самим сертификатам даем права 0644. Вроде бы ничего не забыл. Теперь приступаем к настройке ejabberd.
В разделе Certificates прописываем следующие параметры:

ca_file: "/etc/letsencrypt/DSTRootCAX3.pem"
certfiles:
  - "/etc/letsencrypt/live/kini24.ru/*.pem"

Первый указывает на корневой сертификат, второй — на папку с сертификатами на наш домен. Перезапускаем службу ejabberd и проверяем логи на ошибки. Если все нормально, то никаких сообщений по поводу сертификатов вы не увидите, кроме такой:

[error] <0.306.0>@ejabberd_pkix:validate:543 Failed to list directory /etc/ssl/certs: no such file or directory

Согласен с ejabberd, нет у меня такой папки. Ну и черт с ней! :-)
Все остальные параметры настраиваются достаточно просто, почитать можно здесь: https://docs.ejabberd.im/admin/configuration/. Вот тут всплыл другой нюанс, решение которого я искал достаточно долго. Дело в том, что в файле все регулируется отступами. Примерно так:

listen:
  -
    port: 5222
    ip: "::"
    module: ejabberd_c2s
    starttls: true
    starttls_required: true
    zlib: true

У первой строки отступа нет вообще, потому что она «главная». У второй (тире) в начале два пробела. У следующего параметра, port, уже 4 пробела. Иными словами, каждый параметр отделяется от своего «родителя» двумя пробелами.

Представлен способ извлечения RSA-ключей за 1 секунду

Любопытная новость пришла.

«Способ базируется на анализе электромагнитных волн, излучаемых устройством во время операции по шифрованию.

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

В рамках конференции Usenix, проходившей на прошлой неделе в Балтиморе (США), команда специалистов Государственного университета Джорджии продемонстрировала способ получения ключей шифрования с помощью электромагнитного излучения, исходящего от устройства во время выполнения операций по шифрованию и дешифрованию.

Сама по себе идея использовать электромагнитное излучение для извлечения ключей шифрования далеко не нова. Однако способы, представленные в 1990-х и 2000-х годах, практически невыполнимы из-за необходимости взламывать устройство. Представленные в 2010 годах методы также нецелесообразны — они занимают слишком много времени, так как прежде чем извлечь ключ, атакующий должен собрать большой объем данных.

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

По словам исследователей, с помощью нового метода они смогли извлечь RSA-ключи в 95,7-99,6% случаев. Атака заняла всего 1 секунду, и ученым удалось полностью восстановить ключ, используя собственный алгоритм. В качестве объектов для атак исследователи выбрали смартфоны Alcatel Ideal и Samsung Galaxy Centura, а также встраиваемое устройство под управлением дистрибутива Linux.

Минус нового метода заключается в том, что для извлечения ключа необходимо находиться вблизи атакуемого устройства. Однако данный недостаток несущественен, поскольку атакующий может спрятать прибор для извлечения ключей, к примеру, под зарядным устройством общественного пользования или под столом заведения с общественным Wi-Fi.»

Решение проблемы с зеркалом NOD32

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

Снова про «любимую» Windows 10

Эта версия известной операционной системы продолжает меня «радовать», каждый раз подкидывая очередной сюрприз, который ну никак не ждешь от нее. На этот раз им стало увеличение оперативной памяти.
Принесли посмотреть ноутбук с жалобой, что он «тормозит». В процессе осмотра оказывается, что в нем установлено всего 2 Гб памяти при установленной 64-битной системе. Это мало, очень мало. Поэтому первым делом закупаем планку памяти на 4 Гб, остальное будем смотреть позже. Устанавливаю память, включаю ноутбук, смотрю свойства системы и вижу, что памяти установлено так же 2 Гб. Хм, выключаю ноутбук, включаю и захожу в BIOS. Он показывает, что все нормально, установлено 6 Гб памяти. Закрадывается небольшое недоумение...
Поменял планки местами, снова загружаю Windows. Теперь она показывает что доступно 4 гигабайта. Да что за черт! Открываю интернет, запускаю поиск. Оказывается, что проблема известная и, как обычно, каждый «лечит» ее своим способом. Все перепробовал, ничего не помогает. Следующим шагом советуют сделать переустановку системы, но, при этом, нет никакой гарантии, что это поможет. Поэтому этот шаг пока пропустил.
Казалось бы, такая тривиальная задача как увеличение объема оперативной вкупе с «десяткой» превращается в целый квест, пройти который дано не каждому.

Прямой доступ к сети по IPv6

Два дня искал как получить прямой доступ к компьютерам в сети через IPv6. Ни один способ не подходил, сколько не пробовал в самых разных вариациях. Самое забавное, что месяц-два назад я как-то этот доступ настраивал. Потом роутер пришлось сбрасывать до заводских настроек, а в памяти этот момент не отложился.
В итоге, все оказалось очень просто (надеюсь, ничего не забыл)...
Открываем веб-морду OpenWrt, входим под своими логином и паролем. Затем идем на вкладку Network — Interfaces и в поле «IPv6 ULA-Prefix» вводим префикс подсети. Например, такой: 2002:1234:5678:1234::/64. Компьютеры в локалке, конечно же, должны иметь адреса из этого же диапазона. Следом стоит дать разрешение в брэндмауэре. Для этого открываем Firewall — General settings и для пунктов Input, Output и Forward в самом верху ставим «Ассept».
Применяем сделанные изменения, перезагрузка не требуется.

Дело движется

В продолжение предыдущей заметки

«Облако» было починено очень просто — изменением прав доступа к каталогу с файлами. Следом возникла другая ошибка — невозможность загрузить любой файл в него. Логи показали, что в этом повинен модуль защиты, который не пропускал файлы размером более 128 Кб. Исправил.
Зеркало баз NOD32, к сожалению, пока что починить не получилось. Но, похоже, что я наткнулся на возможную причину некорректной проверки ключей. Надо списаться с автором скрипта.
Еще один момент, который я поначалу упустил из вида: сервер с контактами и задачами. С ним пришлось повозиться. В итоге все дело оказалось в том, что php-fpm не передает заголовки авторизации и, соответственно, не отправляет данные (логин пользователя и пароль). Этот момент оказался описан в документации к baikal, поэтому на исправление ошибки ушло немного времени. Возможно, что примерно такая же ситуация обстоит и с проверкой ключей NOD32 на их серверах.
Должен отметить, что связка apache-mpm-worker + FastCGI меня очень радует скоростью работы. Если раньше при работе с клиентом Nextcloud на телефоне приходилось ждать пока обновится/загрузится содержимое каталога, то теперь это происходит едва не мгновенно. Видимо, сказывается «тлетворное» влияние HTTP/2 :-)

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

Итак, попало ко мне в руки хорошее «железо», что стало неплохим поводом обновить свой сервер. Так как конфигурация слишком сильно отличалась от прежней, то систему тоже пришлось ставить заново. Поначалу не могу понять почему установка проходит нормально, а сама система после этого не грузится. Потом припомнил, что Linux с картами Intel HD Graphics так и не научился нормально работать. Что поделать, пришлось отключать в BIOS встроенную видеокарту и ставить внешнюю. Плохо то, что эта внешняя видеокарта предназначалась для установки в компьютер жены. Старое «железо» из сервера тоже должно было пойти на апгрейд ее компьютера.
Увы, но на работе тоже было много работы, поэтому апгрейд двух систем несколько затянулся. Затем пришлось устранять ошибки в работе веб-сервера, ибо я заодно захотел поменять некоторые настройки. Сейчас его работоспособность почти полностью восстановлена за исключением двух субдоменов: «зеркала» обновлений NOD32 и облака. Последнее из них меня волнует меньше всего, доступ к нужным файлам я могу получить и другими способами. А вот «зеркало»... На него слишком много завязано. Работа над ним пока что ведется. Написал разработчику, описал проблему, пока что жду от него ответа.
Также выяснилось, что dovecot не совсем корректно работает с wildcard-сертификатами. Если быть точней, то мне удалось настроить почти все нужные почтовые клиенты (веб-интерфейс, Outlook на телефоне), кроме Thunderbird, установленного на домашнем компьютере. При попытке просмотреть почту с его помощью dovecot ругается на сертификат. Проблема, как оказалось, не новая, но рабочего решения её пока не нашел.
Установил пока что другую видеокарту в компьютер жены, но она оказалась с «битой» памятью, что приводило к периодическим перезагрузкам. Интересно, сможет сервер работать без видеокарты вообще? Пока что пара моих попыток заставить его работать в таком режиме не увенчались успехом — все время «ругался» спикером. Подозреваю, что придется покупать новую, хоть какую-нибудь. Главное, чтобы присутствовала в системе.

Настройка Kyocera M2235dn

Сканирование по сети

Убил сегодня с утра почти полтора часа, чтобы понять почему МФУ не может подключиться к сетевой папке на компьютере, чтобы складывать туда сканированные документы. Вроде бы и параметры забил по инструкции., включая варианты, найденные в интернете, но все равно «Ошибка подключения». Сходил к юристам, посмотрел настройки у них (до этого кабинет был закрыт). Вернулся, вбил такие же — результат нулевой, доступа нет.
В общем, не буду томить, проблема оказалась в имени компьютера. Оно было в кириллице. Это сделал кто-то из предыдущих администраторов, а я не трогал. «Работает — не трогай!» Как только имя было изменено на латинское, все сразу заработало. И к папке подключается, и складывает документы в нее. Кофе только не варит, паршивец :-)
Ну, а далее просто себе заметка на будущее.
Имя хоста — имя компьютера или его IP-адрес. Без предваряющих двух обратных слэшей. ТОЛЬКО имя или IP.
Порт — стандартный 445 порт.
Папка — имя сетевой папки, начиная с одного обратного слэша. Например: \Scanned. Конечно, должен быть доступ на запись в папку.
Имя пользователя и пароль — должны быть обязательно. Если даже они не нужны для записи в папку, придется их создать.

Ранее Ctrl + ↓