Подключение OpenWRT роутера по sshfs

Когда речь идёт о том чтобы поковыряться в роутере с OpenWRT бывает удобно подключить его файловую систему напрямую к станции с которой происходит настройка. Для этого идеально подходит sshfs. Но чтобы это сработало на OpenWRT роутере необходимо установить пакет openssh-sftp-server. На клиенте должен быть в наличии fuse-sshfs.

opkg update && opkg install openssh-sftp-server

После установки, при условии что установлен sshd (dropbear) сервер, ничего не нужно настраивать и sftp готов к работе:

На компьютере где будет монтироваться OpenWRT примонтировать sshfs каталог можно из под обычного пользователя (не root):

$ sshfs root@openwrtrouter:/etc/ /home/user/mount/openwrt

Если пакет sshfs требуется один раз (до перезагрузки), то можно установить его прямо в RAM роутера командой:

opkg update && opkg -d /tmp/usr/libexec install openssh-sftp-server

то использовать его можно при помощи команды

$ sshfs root@openwrtrouter:/etc/ /home/user/mount/openwrt -o sftp_server=/tmp/usr/libexec/sftp-server

Уязвимость плагина Googlemaps в Joomla! к атаке DDoS

plugin_googlemap2_proxy.phpНевзирая на то что устаревшая Joomla! v1.5 считается уязвимой, она до сих пор находится у меня на попечении. Мне удалось не разбираясь с самой CMS защитить её от модификации кода простой установкой атрибута immutable. С тех пор много лет подряд сайт работает без каких либо патчей и изменений. Но вот вчера пришло оповещение от системы мониторинга которое вопило о проблемах с сервером где “крутится” эта CMS. Я обнаружил что один сайт порождает огромное количество процессов apache и сильно нагружает сервер. Довольно быстро этот сайт-виновник был обнаружен и отключён. Отключён потому что работал он на shared платформе и приносил проблемы доступности другим сайтам. Далее разбираясь с тем что происходит я обнаружил большое количество запросов из интернет вызывающее скрипт:

http://сайт-виновник/plugins/content/plugin_googlemap2_proxy.php

Continue reading Уязвимость плагина Googlemaps в Joomla! к атаке DDoS

Firefox включение SSLv3

После обнаружения уязвимости Poodle Attack Mozilla выпускает Firefox с заблокированным по умолчанию SSLv3. Это логично так как протокол уязвим и передаваемые внутри него данные могут быть легко перехвачены. Однако SSLv3 используется и в оборудовании, например на устаревших свитчах и роутерах Cisco или на которые не оплачивается техподдержка. Обновления не приходят, а значит и SSLv3 остаётся там основным протоколом. Безусловно глупо входить в такие устройства через публичную сеть. Но если свитч находится за VPN то можно. Так вот чтобы вернуть SSLv3 в новых браузерах Firefox нужно зайти на магическую страничку about:config и там найти параметр security.tls.version.min после чего установить его значение в 0

  • 0 = SSL 3.0
  • 1 = минимально TLS 1.0
  • 2 = минимально TLS 1.1

После этого можно входить на свитч, роутер или что там у вас. После манипуляций лучше параметр снова поднять до версии TLS 1.0.
Для информации: браузер имеет ещё один ключ security.tls.version.max который, как понятно из названия, ограничивает протокол сверху.

Проверка GnuPG подписи OpenVPN

Как скачивать OpenVPN чтобы минимизировать риски получить поддельный инсталяционный пакет.
Нужно выполнить несколько шагов.

Проверить что открывшийся URL зашифрован TLS1.1 и выше и подписан правильной подписью.

Для этого нужно посмотреть сертификат. На момент публикации статьи сертификат для домена *.openvpn.net подписан Go Daddy Secure Certificate Authority – G2 действительным до 03/05/2016. Отпечаток SHA1:BD:4B:30:9E:65:DC:3F:7B:59:52:46:4A:1C:19:D6:BE:E4:98:5B:5A

$ echo | openssl s_client -tls1_2 -showcerts -connect openvpn.net:443 2>/dev/null | openssl x509 -fingerprint | grep 'BD:4B:30:9E:65:DC:3F:7B:59:52:46:4A:1C:19:D6:BE:E4:98:5B:5A'

Continue reading Проверка GnuPG подписи OpenVPN

Thunderbird – Sending of message failed

thunderbird-error-01После очередного обновления Fedora некоторые пользователи Thunderbird наткнулись на сообщение:

Send Message Error
Sending of message failed.
The message could not be sent using SMTP server smtp.***.com for an unknown reason. Please verify that your SMTP server settings are correct and try again, or contact your network administrator.
Continue reading Thunderbird – Sending of message failed

HTTPS в каждый web! Быстро и бесплатно.

letsencrypt-01

В ноябре 2014 года Mozilla, Akamai, Cisco, EFF (Electronic Frontier Foundation), Identrust и исследователи из Мичиганского университета начали совместную работу над созданием центра сертификации (Certificate Authority) который призван снять оставшиеся ограничения на пути полного перехода сайтов на протокол HTTPS.

С запуском запланированого на лето 2015 года, Let’s Encrypt CA будет автоматически выдавать и управлять бесплатными сертификатами для любого веб-сайта, который в них нуждается. Переключение вебсервера с HTTP на HTTPS с этим CA будет таким же простым, как запуск одной команды или нажатие одной кнопки.

Continue reading HTTPS в каждый web! Быстро и бесплатно.

Как запретить автообновление Adobe Reader и удалить его сервис

При инсталяции Adobe Acrobat Reader в системные сервисы, в святая святых, втихаря устанавливается AdobeARMservice. Неприятно, что компания Adobe не оставляет пользователям права выбора поставить сервис автообновления или нет. А ведь такая программа получает самые высокие привилегии работы в системе и несёт в себе две реальные угрозы.

  • когда Man in the Middle взломает протокол канала обновления то он сможет установить на компьютер изменённый Adobe Acrobat Reader и захватить управление компьютером.
  • если Adobe выпустит кривое (либо несовместимое с каким-то ПО на вашем компьютере) обновление это может привести систему в нерабочее состояние, и вы понятия не будете иметь кто виноват.

Обратите внимание на то, что я использовал выражение “когда Man in the Middle взломает протокол”. Учитывая количество установленных программ Acrobat Reader в мире и то что автообновлялка имеет права системного сервиса формулировка “если” не подходит — поздно или рано протокол вскроют.

Continue reading Как запретить автообновление Adobe Reader и удалить его сервис

Изменение размера шифрованного LUKS раздела на LVM

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

Схема такова:

  • отмонтировать зашифрованный раздел;
  • закрыть шифрующее LUKS устройство;
  • растянуть раздел;
  • открыть шифрующее LUKS устройство;
  • растянуть шифрующее LUKS устройство;
  • проверить файловую систему
  • примонтировать зашифрованный раздел обратно

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

Continue reading Изменение размера шифрованного LUKS раздела на LVM

Настройка OpenVPN на Windows

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

Загрузка и установка OpenVPN

Загрузите инсталятор с сайта openvpn.net (выбирайте свежую версию, сейчас это OpenVPN 2.3.5 — выпущенная 2014.10.28) и запустите его на компьютере который будет выступать сервером и произведите установку. Более ранние версии ставить не рекомендуется по причине наличия серьёзной уязвимости в пакете OpenSSL.
Произведите такю же установку на всех комьпютерах которые будут выступать в роли клиентов.

Continue reading Настройка OpenVPN на Windows

OpenVPN TLS key negotiation failed to occur within 60 seconds. TLS handshake failed

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

В журнале сервера с данного IP были такие ошибки:

Tue Nov 11 09:58:49 2014 xxx.xxx.xxx.xxx:49611 TLS: Initial packet from 176.108.233.33:49611, sid=aea2a5e5 bc9d76f6
Tue Nov 11 09:59:49 2014 xxx.xxx.xxx.xxx:49611 TLS Error: TLS key negotiation failed to occur within 60 seconds (check your network connectivity)
Tue Nov 11 09:59:49 2014 xxx.xxx.xxx.xxx:49611 TLS Error: TLS handshake failed

Документация по OpenVPN указывает на проблему соединения.

Это казалось абсурдным так как эта запись была в журнале сервера. И конечно пинги на сервер проходили. В журнале статуса openvpn-status.log (у вас может быть другой, смотрите конфиг опцию status) была запись в состоянии UNDEF

UNDEF,xxx.xxx.xxx.xxx:49611,84,108,Tue Nov 11 09:26:20 2014

После попытки перейти с UDP на TCP стало ясно, что проблема не в протоколе. Включение более детальных логов опцией verb 6 также не раскрыло глаза. И тут в tcpdump бросилось в глаза то что от клиента приходит всего один пакет, а сервер в ответ отвечает от 5-ю до 20-ю, а может и более пакетами. Чтобы проверить проходимость больших пакетов с клиента ping-анули сервер пакетами размером 16 килобайт. В ответ небыло получено ни одного ответа. Проблема была явно в связи о чём и говорила запись в логе. Клиенту осталось разобраться с провайдером.