24 июля 2015 г.

Девочка на поводке

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

А всего то: ребенок решил поиграть в собачку.
У меня дочке 6 лет, она регулярно играет в кошечек и собачек. Она начинает копировать их поведение. Например, на детской площадке лазит по горке как кошка, на четвереньках и мяукает. Может обвязать вокруг пояса ремень или веревку изображая поводок и попросить прогуляться с собачкой.
Да, мне взрослому становиться немного не по себе, но эту "собачку" проще поводить по комнате, чем отобрать у нее пояс. Детишки они такие, настойчивые. Очень трудно их в чем то переубедить.
И что? Теперь меня тоже надо привлекать?!

Такое ощущение, что у этих "икспердов" либо не было детей, либо они забыли как это бывает. И льется с экрана и со страниц газет и сайтов потоки дичайшего бреда.

И вы знаете? Я не удивлюсь,если эти перцы из прокуратуры возбудят уголовное дело супротив бабушки. А Астахов с умнейшим видом будет вещать про то как были нарушены права ребенка. Нарушены права на что? На игру? Имбицилы!

22 июля 2015 г.

Thunderbird, sendmail и dh key too small

Обновился Тандерберд до версии 31.8.0 и перестал работать SSL при отправке почты на моем сервере.
При проверке сертификата на сервере, получаю ошибку
openssl s_client -connect smtp.local.local:25 -starttls smtp
...
140195198617232:error:14082174:SSL routines:SSL3_CHECK_CERT_AND_ALGORITHM:dh key too small:s3_clnt.c:3339:
...

Да, я лопух, не позаботился о закрытии дырки в SSL. Впрочем, кому нужно ломать SSL при отправке почты через этот сервер, учитывая, что аутентификация клиентов идет не по сертификатам?
Ну да ладно.
В новой версии библиотеки nss, жестко ограничили длину:

  • The minimum modulus size for RSA keys is now 512 bits
  • The minimum modulus size for DSA keys is now 1023 bits
  • The minimum modulus size for Diffie-Hellman keys is now 1023 bits


Решение для sendmail.
Генерируем DH файл параметров.
openssl dhparam -out /etc/pki/tls/certs/dhparams.pem 2048

Важно! Длинна должна быть не меньше, чем 1024, но на всякий пожарный я выбрал 2048. А вдруг они потом изменят свое решение в сторону увеличения?

Поскольку для тонкой настройки SSL (выбора чиперов) нет макросов m4, в файле sendmail.mc, в самом конце добавляем секцию LOCAL_CONFIG и в ней пишем соответствующие параметры:

LOCAL_CONFIG
O CipherList=HIGH:!ADH
O DHParameters=/etc/pki/tls/certs/dhparams.pem

Собственно используем тока эти чиперы:
# openssl ciphers -v 'HIGH,!ADH'

18 марта 2015 г.

Каменный век (21-я налоговая Москва)

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

А тут дела завели в Московскую налоговою №21. И... это каменный век! Электронной очереди для физиков нет, ни одного консультанта на входе, который бы пояснил в какой кабинет мне обратиться. Чудом нашел кабинет, куда мне вроде бы надо попасть. В узеньком коридорчике вдоль стенок толпится человек 20 горемык, регулярно выясняющих кто за кем стоит. Посмотрел на это дело и ушел. Пусть сами меня теперь ищут.

20 февраля 2015 г.

sendmail + dovecot

Как говориться: "давно не брал я в руки шашку"

Намедни скрещивал sendmail c dovecot.
Раньше между MDA и dovecot была прослойка антиспама DSPAM. Но производитель перестал осуществлять поддержку и пришлось с этой прогой попрощаться. Причем у довекота свое хитрое хранилище почты, никоим образом не пересекающееся с домашними директориями пользователей. База пользователей хранится в LDAP, поиск пользователя по uid без домена.  Т.е. они там просто vasia, petia, а не vasia@domen.com и т.п.
По этой причине стандартные "быстрые" howto не подошли.
Пример из официального руководства http://wiki2.dovecot.org/LDA/Sendmail не работал. После преобразования имен sendmail упорно выдавал пользователя с доменом локальной машины. Т.е. на входе преобразования petia@virt.domain.com, на выходе petia@host.com
Проблема решается путем удаления флага h и замены правила EnvToSMTP на PseudoToReal.

В результате получился вот такой m4

######################################################################
# to user = user@domain.com  use  F=DFMPhnu95l
# to user = user   use  F=DFMPnu95l
Mdovecot,   P=/usr/libexec/dovecot/dovecot-lda, 

            F=DFMPnu95l,
            S=EnvFromSMTP/HdrFromSMTP,

            R=PseudoToReal/HdrFromSMTP,
            T=DNS/RFC822/X-Unix,
            A=/usr/libexec/dovecot/dovecot-lda -d $u


sendmail.mc содержит:

define(`confLOCAL_MAILER',`dovecot')dnl
MAILER(dovecot)dnl

И самое смешное, после того как все это начало работать, я подумал: " а зачем так сложно?" и прикрутил sendmail к dovecot через LMTP :) Тем более что в howto было написано: Best solution is to use LMTP instead :) Но к сожалению эта фраза попалась мне только после окончания прикручивания своего мейлера :(

FEATURE(`local_lmtp',`[IPC]',`FILE /var/run/dovecot/lmtp')dnl
MAILER(local)dnl

Майлер local по автомату не подставляет имя хоста.

7 июля 2014 г.

fail2ban sendmail

Фильтр для sendmail

 [Definition]
failregex = \[<HOST>\] .*to MTA
            \[<HOST>\] .* Mailbox disabled for this recipient
            \[<HOST>\], reject.*\.\.\. Relaying denied
            (User unknown)\n* \[<HOST>\]
            badlogin: .* \[<HOST>\] plaintext .* SASL


Отличная штука этот fail2ban :)

18 июля 2013 г.

Полезное дело однако

Хорошие знакомые собирают деньги на выпуск документального исторического фильма. Рекомендую вместо покупки пары бутылок пива вложиться в полезное начинание :) http://start.planeta.ru/campaigns/1381

14 мая 2013 г.

Выключили свет, включили свет.

Вчера дома вырубили свет, потом включили. В результате я составил хейт рейтинг интернет провайдеров и не только. Оценки по старой доброй 5-ти бальной системе.
  1. МТС мобильный интернет - 0. Не работал.
  2. Искрателеком домашний интернет - 0. Не работал, служба поддержки после 3-х часов общения вызывает стойкий рвотный рефлекс. Сегодня пойду разрывать контракт и забирать свои деньги.
  3. Beeline мобильный интернет - 4. Тут правда билайн не виноват, но я понял почему Нокия в перде.
  4. Beeline домашний инет - 2. Служба поддержки работает как часы, но оплатить инет по кредитке не удалось. Совет дня: "найдите ближайший терминал оплаты и через него, через него..." это в пол двенадцатого ночи? Поэтому - 2.
  5. МГТС - 2. Телефон работает, но при попытке набора номера поддержки билайна 8 800ххххххх - отвечает, что такого номера в природе не существует. Олд скул, он всегда - олд скул.
В итоге: Никогда не куплю нокию. Вчера телефон выжил тока потому, что я кинул его в диван, если бы попал в стенку...Буду брать только телефоны со стандартными симками, поскольку в единственный телефон с андроидом можно было вставить тока микросим, а оно у меня тока от МТС :(Дома надо иметь резервный канал, потому что... они все такие провайдеры шо пипец.

30 апреля 2013 г.

Как получить DN текущего пользователя на Windows компьютере.

Сижу на вин компе подключенном к домену. Доступа к контроллеру домена нет. Надо получить dn текущего пользователя.

Решение:
Пишем vbs файл

Set objSysInfo = CreateObject("ADSystemInfo")
Wscript.Echo objSysInfo.UserName

Запускаем, смотрим.
Возможно есть более простой способ, но по быстрому получилось вот так.

Да. Иногда приходится заниматься и вот такой вот фигней.

27 февраля 2013 г.

Mikrotik - Wi-Fi bridge Ethernet - 100% CPU load

Микротик в прошивке 5.24 починил баг, связанный со 100% загрузкой процессора при объединении мостом Wi-Fi и Ethernet чипа.
Так что обновляемся.

6 февраля 2013 г.

Мода движется по кругу.

Оконные менеджеры в UNIX ругали за минималистский интерфейс. Плоско, без бантиков.
Смотрю на интерфейс Windows 8 и новых программ от MS, что то это мне напоминает. Квадратиш, практиш гуд :) Плоское, квадратное, без рюшечек ...
Мне кажется пойдет новая волна критики интерфейсов в UNIX - мол у вас там все не квадратное, не плоское, полупрозрачное, с тенями, границы окон гнуться, фигня вобщем :)

4 декабря 2012 г.

nxserver, ubuntu, не отображается меню

Настраивал тут nxserver товарищу, нарвался на то, что при входе пользователя не рисуется рабочий стол. Как я и подозревал, во всем виноват compiz :) нечего 3D плюшки по сети гонять! Вот nx и не гоняет. В результате у пользователя нет рабочего стола.

Решение проблемы простое, запускать сессию пользователя в 2D режиме. Ищем файл node.cfg, изменяем параметр.

CommandStartGnome = "/usr/bin/gnome-session --session=ubuntu-2d"

Все довольны.

16 ноября 2012 г.

Предчувствие gentoo.

Предчувствую, что gentoo станет моим любимым дистрибутивом. Причина вот в этом: Команда Gentoo Linux планирует совершить форк проекта udev.

Прямо как в любимом фильме: "я такую неприязнь испытываю к systemd, что аж кушать не могу" :)

29 октября 2012 г.

Beeline vs Искрателеком.

Испытания показали, что "Билайн домашний интернет" в моем доме работает хуже чем "Искрателеком". Билайн, отключен. Искра продолжает получать свои/мои деньги.

23 октября 2012 г.

Стих... японский

Давно не держал в руках долляровые купюры. Все как то разноцветные фантики: рублики, еврики, иногда гривны. А вот сегодня в банке дали парочку дестибаксовых купюр. И я удивился. Их печатают на желтой бумаге. О как. По этому поводу родился стих в японских тонах:

Доллар как лист. Был зеленым.
Осенью желтым стал.
Скоро зима.


З.Ы. Вторая книга про самураев наверное оказалась лишней.

17 октября 2012 г.

Mikrotik и BeeLine

У моего старого домашнего провайдера начались проблемы. Причем эти проблемы приобрели регулярность. Решил попробовать домашний итернет от пчелайна.
Из-за особенностей организации сети пчелайна и фич микротика, подружить их между собой достаточно тяжело. Добрые люди написали толковый мануал, огромно спасибо им за это. Но, как обычно, в жизни не все так как в мануале :) Учитывая, что старый провайдер пока от микротика не отключается, провод пчелайна был засунут в отключенный от общего свича интерфейс (ether5), появились маленькие тонкости.

1. Сначала подключитесь виндовым клиентом напрямую к сети  пчелок и запишите ip адреса DNS и VPN серверов пчелайна.

2. Почему то пчелайн DHCP сервер не отдает микротиковскому клиенту маршрут по умолчанию. Виндовому клиенту дает, микротику не дает. Поэтому приходится прописывать маршруты к сетям где находятся DNS и VPN серверам руками. Да и вообще, какой то странный их DHCP, выдал кучу всяких маршрутов, кроме вышеуказанных! Ну и по поводу его странности, см. следующий пункт.

3. Пчелайн редкосные бяки, их DHCP сервер выдает вот такой вот маршрут:
#      DST-ADDRESS  PREF-SRC  GATEWAY    DISTANCE
1 ADS  10.0.0.0/8             10.89.48.1 1
У моего старого провайдера внутренняя сеть тоже 10, но с маской /16. Т.е. старый провайдер честно дает маршрут на часть сети. Благо там pppoe подключение и можно не получать IP на интерфейс. Но пчелайн своим чудо маршрутом, просто заставил меня отказаться от использования внутренней сети старого провайдера. А там есть разные вкусности.

4. Вводить руками скрипт из мануала, занятие не для слабонервных. Поэтому, для тех кто пользуется winbox, привожу скрипты в нормальном виде.

corbina-l2tp_refresh
:local interface "BeeLine-l2tp"
:local vpnserver "tp.internet.beeline.ru"
:log debug message="Hard resolv script run"
/ip dns cache flush
:local "current-ip" [:resolve $vpnserver]
:local "old-ip" [/interface l2tp-client get [/interface l2tp-client find name="$interface"] connect-to]
:if ($"current-ip" != $"old-ip") do= {
:log info "VPN Server changed IP address from $"old-ip" to $"current-ip""
/interface l2tp-client set [/interface l2tp-client find name="$interface"] connect-to=$"current-ip"
}


corbina-l2tp_soft_refresh
:local interface "BeeLine-l2tp"
:local vpnserver "tp.internet.beeline.ru"
#:log debug message="Soft resolv script run"
:if ([/interface l2tp-client get $interface running] = false) do={
 :log info message="VPN down. Refreshing"
 /ip dns cache flush
 :local "current-ip" [:resolve $vpnserver]
 :local "old-ip" [/interface l2tp-client get [/interface l2tp-client find name="$interface"] connect-to]
 :if ($"current-ip" != $"old-ip") do= {
 :log info "VPN Server changed IP address from $"old-ip" to $"current-ip""
 /interface l2tp-client set [/interface l2tp-client find name="$interface"] connect-to=$"current-ip"
 }
}

Разумеется вместо BeeLine-l2tp вы подставите свое имя l2tp интерфейса.

З.Ы. Очень понравились возможности микротика в части управления чипа свича! Для начала сформировал два интерфейса в отдельный свитч (смотрите параметр Master Port на интерфейсе). В один воткнул шнур от пчелок, в другой шнур идущий на кухню. Таким образом смог подключить ноут на прямую в сеть пчелок. Записал все необходимые параметры, вернул интерфейс в старый свич. Если бы этой возможности не было, пришлось бы на табуретке сидеть в коридоре :)

10 октября 2012 г.

Ай да mikrotik, а да сукин сын.

Ну ребята, таки mikrotik меня удивил. Нда, я давно так не удивлялся. Такое ощущение, как будто съел кучу васаби и тебе сразу прочистило все дыхательные пути.

Итак: есть как бы роутер на микротик, у него два интерфейса:
  1. eth1 192.168.0.100
  2. eth2 192.168.1.100
Маршрут по умолчанию через eth1 на другой роутер.
И микротик и роутер двумя интерфейсами подключены к обеим сетям: 192.168.0.0/24 и 192.168.1.0/24
Причем у микротика eth2 - это было временное подключение, только на стадии первичной конфигурации, так как рабочая станция с которой он первоначально конфигурился была в сети 1.0.

А теперь вопрос: если на микротике из интерфейса eth2 вытащить шнурок, сможете ли вы с машины, находящейся в сети 192.168.1.0/24 попасть на 192.168.0.100?
Или немного другой вариант вопроса: можете ли вы, находясь на микротике попасть в сетку 192.168.1.0/24 согласно его маршрута по умолчанию?

Ответ простой - нет!

Как оказалось, у RouterOS есть забавная фишка. У нее маршруты к сетям, подключенным к интерфейсу, при отключении линка из таблицы маршрутизации автоматически не удаляются! О как! В Linux удаляются (кстати все маршруты проходящие через этот интерфейс), в Windows удаляются, а в RouterOS нет!

И вот, три дня я нем мог понять, почему с упорством маньяка RouterOS пытается отсылать пакеты в интерфейс, на котором нет линка?

Слава богу служба поддержки Микротика работает отлично и они меня просветлили (именно просветлили, прямо таки карму почистили).

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

[admin@MikroTik] > /routing filter print
Flags: X - disabled
 0   chain=connected-in prefix=192.168.1.0/24 scope=200 invert-match=no
     action=reject set-bgp-prepend-path=""

Принцип работы этого фильтра: если есть лик, значение scope=10, если линк down - то scope=200.

Немного поработав с mikrotik девайсами я догадываюсь почему у них так устроено :) но все равно - это было очень неожиданно.

Небольшой апдейт. Достаточно удалить ip адрес из списка и маршрут будет удален. Но если его не удалить руками, то да - пишем фильтр.

5 октября 2012 г.

Mikrotik 1100AHx2

Однако он меня напрягает. Отказывается нормально поднимать bonding :( Хотя то же RouterOS на Х86 девайсе с bonding работает нормально.
Залили на него 6.0rc1, так в режиме бондинга вобще все сетевые интерфейсы отрубаются. Вернуть девайс в рабочий режим можно только путем разборки корпуса и и замыкания жесточайшего reset на плате :(
Оставили девайс в покое до среды. То ли мы че то не так, то ли они как то не очень.

Mikrotik + IPTV + IGMP + WiFi

Ух, ну и задачка была. Вроде ничего сложного, пропустить IPTV через mikrotik по wifi на комп. Перевернул кучу мануалов, не помогает. Но все равно добил вопрос до конца. Ладно, давайте по порядку.

Ставим пакет multicast.

По умолчанию он у меня не стоял.

Включаем igmp-proxy.

/routing igmp-proxy print              
              quick-leave: yes
           query-interval: 1m
  query-response-interval: 10s
/routing igmp-proxy interface print detail
Flags: X - disabled, I - inactive, D - dynamic, U - upstream
0 U interface=ether1-gateway threshold=1 alternative-subnets=0.0.0.0/0 upstream=yes
1 interface=bridge-local threshold=1 alternative-subnets="" upstream=no
На что следует обратить внимание?
  1. На alternative-subnets=0.0.0.0/0. Эта фишка позволяет ловить трафик с сетей к которым у вас нет обратного роутинга.
  2. interface=ether1-gateway - это тот интерфейс на который к вам будет приходить мультикаст трафик. Например у моего провайдера (Искрателеком) он приходит на локальный ethernet интерфейс, а не на pppoe интерфейс.
  3. quick-leave=yes. Позволяет быстро переключаться между каналами.

Разрешаем в фаерволе igmp и udp

Это нужно делать на цепочке input того интерфейса, который подключен к провайдеру и являющемся upstream.

И самое главное

Во всех мануалах на этом заканчивается настройка и все вроде должно работать. Но! если у вас Wi-Fi то по нему приходит маленький пушной зверек. Мультикаст пакеты начинаю тупо валить ваш беспроводной интерфейс! Упс.
В Инете рекомендуют дропать мультикаст трафик на Wi-Fi (при этом никакого ТВ там не будет) или выкинуть микротик и купить супер дупер девайсы :)
На самом деле проблема решается просто, очень просто.

Тадаааамммм!!!! Фанфары!!!

Включаем multicast-helper=full
Этот маленький пунктик заставляет ваш микротик отправлять мультикаст пакеты по индивидуальным MAC-ам тех девайсов, которые зарегистрированы  на Wi-Fi.

Все, вы можете смотреть ТВ на девайсе, подключенном к микротику по Wi-Fi.

З.Ы. Проверено на Искрателеком.

Апдейт раз. Пункт multicast-helper доступен в окне настройки wifi интерфейса после нажатия кнопки advanced. Ну или явно в командной строке после set.

Апдейт два. Не рекомендуется быстро переключать каналы. Особенность igmp proxy заключается в том, что при переключении на новый канал, старый трафик некоторое время продолжает транслироваться. Переключив быстро 4-5 каналов, вы превысите пропускную способность wifi канала и начнутся дикие тормоза. Конечно через минуту трансляция ненужных каналов отвалится и все станет нормально. Но все же...