Вниманию пользователей 3X-UI

На гитхабе разработчиков Xcore, появилось предупреждение, об опасности и неиспользовании 3X-UI. Считается что они могли быть куплены Иранским файрволлом.

  • Web Panel - Warning: These panels are verified to support HTTPS or SSH port forwarding only. Please DO NOT use plain HTTP panels like 3X-UI, as they are believed to be bought by Iran GFW and your data security will be dangerous. If you are already using 3X-UI, please switch to the following panels.

Много вопросов…

При чём тут купленность иранским цензором и использование plain HTTP? При продажности HTTP вообще неважен, т.к. панель будет отсылать им инфу или иметь бэкдор независимо от того, на чём она работает, а использование plain HTTP само по себе не свидетельствует о чьей-либо продажности.

Я думаю, что китайцы как всегда иносказательно пытаются намекать, что plain HTTP по дефолту это просто плохо, и цензор может видеть, что вы там делаете, и лучше бы использовать шифрование для доступа к панели вроде SSL-сертификатов или SSH туннелей, с чем я полностью солидарен.

Судя по переписке, RPRX уже какое время говорит чтобы ребята убрали HTTP по умолчанию, и дали выбор местоположения при установке — например, Иран или прочие страны (Ирану судя по всему важно именно HTTP соединение для обхода GFW).
В итоге, RPRX сказал, что он не понимает почему разработчик не хочет это менять, если только, он не связан с Иранским GFW. И в конце концов, повесил плашку об опасности использования 3X-UI по умолчанию.

1)Знаете я пробовал hiddify и это просто какой-то собранный на коленке комбайн из кучи всего и у меня при попытке настроить его не возникло впечатления надежности и качественного кода. Постоянно какие-то баги выскакивали,криво работало все. + когда все бросают в кучу больше вероятности кривости

  1. marzban говорите…это не те самые ребята, котоыре на заре появления панели по умолчанию ставили НЕ 443 порт для xtls\reality? =))

  2. что касается https до панели… С 3x-ui я получаю доступ к панели без всякого https и домена . Она у меня висит на 127.0.0.1 и я туда захожу предварительно запустив ssh к серверу…

Мне hiddify тоже не зашёл.

Ну, так разве у Вас по умолчанию она слушала 127.0.0.1? Она слушает по всем адресам с 0.0.0.0. Речь про настройки по умолчанию, которые оставят в неизменном виде по какому-нибудь гайду в интернете.
Конечно, надёжнее всего слушать только 127.1 и заходить через проброс порта по ssh.

ну например когда вы ставите например wordpress+nginx у вас что по умолчанию сразу https активен? Вы это сами настраиваете… по крайней мере по классике). Мне кажется придирки в этом плане к разработчику панели несколько странными. Особенно когда в случае доступа через http там вверху постоянно висит плашка что это небезопасно и рекомендуется https настроить

Скажите, пж по 3x-ui:

  1. Если активировать в настройках “Заблокировать подключения к диапазонам IP-адресов России”, “Заблокировать подключения к доменам России” у вас ютуб работает? С доменами понятно, но вот с ip, по идее если сервак ютуб в рф, значит должен блокироваться.
  2. В настройках панели есть две строки (хотя может сейчас уже убрали) “IP-адрес панели” и “Домен прослушивания панели”, вы в обе строчке прописали 127.0.0.1?

Я бы не сказал, что Hiddify такой плохой. Он скорее сделан больше для “рядовых” пользователей. Большинство багов которые я видел не такие критичные. За исключением пожалуй одной мерзкой ошибки при которой после перезапуска компьютера интернет перестает работать без открытие Hiddify

Не могли бы Вы дать развернутую инструкцию - Как это правильно делать?
Я пытался, но что-то не догоняю. Пробовал пару раз; оба раза был вынужден выполнить переустановку т.к. полностью терял доступ к панели.

  1. Во время установки панели через скрипт задаем адрес панели через /. Пример: /helloworld
  2. Отключаемся от сервера (SSH)
  3. Подключаемся к панели через SSH туннель:
    ssh -L 45000:127.0.0.1:2053 имя_пользователя@ip_сервера [-p <ssh_port>] - вводим в командной строке Windows, не закрываем окно командной строки.
    -p <ssh_port> - вводим если только на сервере перевесили ssh порт на другой.
    45000 - это порт на компе, можно указать любой другой. Главное, чтобы повыше цифра т.к. с 1 по 1023 порты системные
    2053 - это порт панели, если при установке через скрипт, установили другой порт для панели, то тогда пишем этот другой порт.
    имя_пользователя - если на сервер доступ через учетку админа, то пишите root вместо имя_пользователя
  4. Заходим через браузер в панель по адреса 127.0.0.1:45000/helloworld
  5. Заходим в настройки панели в пунктах “IP-адрес панели” и “Домен прослушивания панели” прописываем “127.0.0.1”
    Сохраняем, перезапускаем панель, выходим из панели, отключаемся от сервера (SSH)
  6. Проверить доступ к панели через браузер: “ip_адрес_сервера:2053/helloworld” - не должен входить.
  7. Осталось проверить доступ к панели через ssh по адресу 127.0.0.1, то есть повторяем пункт 3 и пункт 4. Если заходит, значит все хорошо.

Максимально подробно написал, думаю не ошибетесь) Писал по старым заметкам поэтому может быть что-то изменилось в настройках панели в новых версиях. Сам сейчас не использую прокси.

Можно ещё добавить, что если доступ не по паролю — после указания порта, добавить в конец ключ -i “C:\full_path\blablabla” с путём до сертификата.

Еще один важный момент, который можно не заметить. Когда уже будете настраивать сам протокол - “Добавить подключение”, там есть строчка “порт ip”, надо ввести ip адрес сервера, иначе, когда будет генерироваться ссылка/qr код для подключения клиента, в ссылке/qr коде будет ip адрес 127.0.0.1 и соединение не установится.

Можно еще добавить:

# Устанавливаем фаервол
sudo apt install ufw -y

# Разрешаем SSH
sudo ufw allow 22/tcp

# Разрешаем панель 3x-ui
sudo ufw allow 2053/tcp

# Разрешаем порт для VLESS/XTLS Reality
sudo ufw allow 443/tcp

# Включаем UFW
sudo ufw enable

# Проверяем UFW
sudo ufw status

Соотвественно в ufw allow необходимо указать свои порты

Лучше перевесить как можно дальше

Давным давно упрятал и ssh и панель за dokodemodoor, с доводами против active probing согласен, но и просто принудительный https проблему не решает, а больше мешает, и к слову GitHub - alireza0/x-ui: xray panel supporting multi-protocol multi-user expire day & traffic (Vmess & Vless & Trojan & Shadowsocks) недавно принулительно включили рандомный path for web panel при обновлении, чем в теории могут лишить кого-нибудь доступа к серверу, если он как раз таки подключен во время обновления к ssh сквозь xray, пойди что не по плану, а кто не шарит, в свою очередь до обновления и не дотянутся, но да ладно.

НЕ пойму в чём продажность? Есть какие то доказательства или весь сыр бор от “не безопасно по умолчанию если настраивать без мануала и минимального понимания процесса” именно в контексте отсутствия https на панель? Опять же от active probing полезнее рандомный path for web panel. Или в Иранах dpi ищет тебя на стадии установки и настройки панели? Тогда сразу слушать только localhost
если настройки по-нубски пропущены, сильно огрызаться на 0.0.0.0, учить туннелям.

Или говорится о какой то особенности самого протокола, настройке ядра, исходящей от панели, которую можно сочти за бекдор, а не способе настройки панели?

P.S. Потихоньку читаю README.md: Only list secure web panels by RPRX · Pull Request #3884 · XTLS/Xray-core · GitHub через переводчик, возможно найду ответы на свои вопросы

где об этом можно поподробнее узнать? об Иранской специфике

Я это из этой ветки и вычитал/переводил. Конечно, утверждение о продажности голословное.

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

Я говорю вам технические истины, но вы не слушаете. Открытый HTTP напрямую передает закрытый ключ сервера, и даже TLS и REALITY могут быть атакованы и расшифрованы. Как насчет того, чтобы перелезть через стену и пойти прямо в бюро общественной безопасности? сдаться? Даже без сертификата так сложно открыть проброс портов по SSH? Или вы все были подкуплены GFW за разработку панели, позволяющей использовать HTTP в открытом виде в качестве приманки? Разве мне не интересно, не является ли запрет HTTP с открытым текстом чрезмерным запросом?

По Ирану там же предложили.
RPRX сразу после внесения коммита это обосновал так.

а если от хостинга предустановленный 3x-ui идет уже через HTTPS, это сильно хуже чем данный метод?

Спасибо, отличное руководство! И комменты… полностью раскрывают суть.
:handshake:
На Хабаре мне ещё попадалась рекомендация (правда этот кажется об Xray):

Сделайте проброс порта не только на 443/TCP-порт (его делает XTLS-Reality), а еще на 443/UDP и 80/TCP до сервера, под который вы маскируетесь. Например, если вы маскируетесь под www.microsoft.com, то отрезолвте его IP-адрес (с помощью nslookup, ping или какого-нибудь онлайн-сервиса), а потом добавьте правила iptables (можно засунуть в /etc/rc.local, если он у вас есть - см. инструкции для вашего Linux-дистрибутива):
iptables -t nat -A PREROUTING -i eth0 -p udp --dport 443 -j DNAT --to-destination fake_site_ip:443
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j DNAT --to-destination fake_site_ip:80
(вместо eth0 должен быть ваш сетевой интерфейс, иногда бывает ens3, например).

I am tired of asking you to support only HTTPS or SSH port forwarding. The latter is not difficult. I can’t think of any reasons for you. Anyway, I will be regarded as GFW. Write 3S-UI or what, do not contaminate the ecology of XRAY anyway.

Говорит: “Я устал повторять вам включить поддержку HTTPS или проброс порта по SSH. Последнее ну вообще не сложно. Я реально вас не пойму. Короче, буду думать, что вас взяли под козырёк. Пишите там 3S-UI или чё хотите (намёк на панель, основанную на ядре Sing-Box – прим.пер.) и не порочьте экологию и репутацию XRAY.”

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

1 Like