Перейти к содержанию

Вопрос

Опубликовано

У меня настроен доступ к вебинтерфейсу роутера на своем домене через nginx (работает на отдельном хосте в домашней сети). После обновления на 4.3 Beta 2 войти в роутер с рабочим логином-паролем невозможно, получаю ошибку Неправильное имя пользователя или пароль   если открыть вебинтерфейс по ip адресу роутера, вход с тем-же логином-паролем без проблем. После отката на 4.2.6.1 через nginx работает без проблем как прежде.

Рекомендуемые сообщения

  • 0
Опубликовано (изменено)

Подтверждаю, так же столкнулся с этим еще на версии ниже 4.3б2.

не успел написать так как ожидалось исправление в4.3.б2 со схожей проблемой, когда не принимало пароль. Но на 4.3б2 доступ через внешнюю прокси так же не работает.

Изменено пользователем Leshiyart
  • 0
Опубликовано (изменено)

Вышла beta 3?

На форуме по beta 2 ещё молчок в Журнале изменений. Забыли что ли  сообщение открыть?

Изменено пользователем keenet07
  • 0
Опубликовано
В 01.03.2025 в 15:05, Lefey сказал:

У меня настроен доступ к вебинтерфейсу роутера на своем домене через nginx (работает на отдельном хосте в домашней сети). После обновления на 4.3 Beta 2 войти в роутер с рабочим логином-паролем невозможно, получаю ошибку Неправильное имя пользователя или пароль   если открыть вебинтерфейс по ip адресу роутера, вход с тем-же логином-паролем без проблем. После отката на 4.2.6.1 через nginx работает без проблем как прежде.

В 4.3 добавлена более строгая проверка origin и referer, посмотрите что там в заголовках приходит в proxy.

  • 0
Опубликовано
В 02.03.2025 в 19:38, Le ecureuil сказал:

В 4.3 добавлена более строгая проверка origin и referer, посмотрите что там в заголовках приходит в proxy.

А чего он ждет в них? Сейчас столкнулся с тем же на основной 4.3.2 версии. Заголовки заполнены норм, при этом ошибка логина/пароля есть. В логах роутера чисто. Куда копать?

proxy_pass
proxy_pass
proxy_pass
  • 0
Опубликовано
7 часов назад, taxall сказал:

А чего он ждет в них? Сейчас столкнулся с тем же на основной 4.3.2 версии. Заголовки заполнены норм, при этом ошибка логина/пароля есть. В логах роутера чисто. Куда копать?

Посмотрите, какие заголовки уходят в запросах к <адрес_роутера>/auth, когда вы авторизуетесь через веб-интерфейс.

  • 0
Опубликовано (изменено)

У меня вот такая же проблема.

Посмотрел заголовки при успешной активации:

 

#### POST

POST /auth HTTP/1.1
Accept: application/json, text/plain, */*
Accept-Encoding: gzip, deflate
Accept-Language: ru-RU,ru;q=0.9
Connection: keep-alive
Content-Length: 94
Content-Type: application/json
Cookie: HHFA*****=WETZR******
Host: 192.168.2.1 
Origin: http://192.168.2.1
Referer: http://192.168.2.1/login?backUrl=%2Fdashboard

 

#### GET

URL запроса
http://192.168.2.1/auth
Метод запроса
GET
Код статуса
200 OK
Удаленный адрес
192.168.2.1:80
Правило для URL перехода
strict-origin-when-cross-origin
cache-control
no-cache
cache-control
private
cache-control
must-revalidate
connection
keep-alive
content-security-policy
default-src 'self'; script-src 'self' 'unsafe-eval' 'unsafe-hashes' 'unsafe-inline'; script-src-attr 'self' 'unsafe-inline' 'unsafe-hashes'; connect-src 'self'; img-src 'self'; style-src 'self' 'unsafe-inline' 'unsafe-eval' 'unsafe-hashes'; style-src-elem 'self' 'unsafe-inline' 'unsafe-eval' 'unsafe-hashes'; base-uri 'self'; form-action 'self';
date
Sun, 01 Jun 2025 12:52:49 GMT
expires
Sun, 01 Jun 2025 12:52:48 GMT
referrer-policy
strict-origin-when-cross-origin
server
Web server
set-cookie
HHFA*****=WETZR******; Path=/; SameSite=Strict; Max-Age=300
transfer-encoding
chunked
x-frame-options
DENY
GET /auth HTTP/1.1
Accept: application/json, text/plain, */*
Accept-Encoding: gzip, deflate
Accept-Language: ru-RU,ru;q=0.9
Connection: keep-alive
Cookie: HHFA*****=WETZR******
Host: 192.168.2.1
Referer: http://192.168.2.1/login?backUrl=%2Fdashboard


Как я понимаю, мне нужно что-то на панели nginx proxy manager поменять с включенным SSL.
image.thumb.png.f7c6c1c8abeaccfcd444df09bedba7ac.png

Изменено пользователем exeigor
update
  • 0
Опубликовано

Вот заголовки при неудачной авторизации через HTTPS

 

#### GET

:authority
kn1010.local
:method
GET
:path
/auth
:scheme
https
accept
application/json, text/plain, */*
accept-encoding
gzip, deflate, br, zstd
accept-language
ru-RU,ru;q=0.9
cookie
HHFA*****=WETZR******
priority
u=1, i
referer
https://kn1010.local/login?backUrl=%2Fdashboard
sec-ch-ua
"Not.A/Brand";v="99", "Chromium";v="136"
sec-ch-ua-mobile
?0
sec-ch-ua-platform
"Windows"
sec-fetch-dest
empty
sec-fetch-mode
cors
sec-fetch-site
same-origin


 

#### POST

:authority
kn1010.local
:method
POST
:path
/auth
:scheme
https
accept
application/json, text/plain, */*
accept-encoding
gzip, deflate, br, zstd
accept-language
ru-RU,ru;q=0.9
content-length
94
content-type
application/json
cookie
HHFA*****=WETZR******
origin
https://kn1010.local
priority
u=1, i
referer
https://kn1010.local/login?backUrl=%2Fdashboard
sec-ch-ua
"Not.A/Brand";v="99", "Chromium";v="136"
sec-ch-ua-mobile
?0
sec-ch-ua-platform
"Windows"
sec-fetch-dest
empty
sec-fetch-mode
cors
sec-fetch-site
same-origin

 

  • 0
Опубликовано

Ну так про него DNS сервер знает
 

nslookup kn1010.local
╤хЁтхЁ:  UnKnown
Address:  192.168.2.50

Не заслуживающий доверия ответ:
╚ь :     kn1010.local
Address:  192.168.2.1
>nslookup 192.168.2.1
╤хЁтхЁ:  UnKnown
Address:  192.168.2.50

*** UnKnown не удалось найти 192.168.2.1: Non-existent domain

Может из-за последнего? 

  • 0
Опубликовано
3 минуты назад, exeigor сказал:

Ну так про него DNS сервер знает
 

nslookup kn1010.local
╤хЁтхЁ:  UnKnown
Address:  192.168.2.50

Не заслуживающий доверия ответ:
╚ь :     kn1010.local
Address:  192.168.2.1
>nslookup 192.168.2.1
╤хЁтхЁ:  UnKnown
Address:  192.168.2.50

*** UnKnown не удалось найти 192.168.2.1: Non-existent domain

Может из-за последнего? 

Нет, это значит "не знает".

У вас как апстрим в прокси настроен? Покажите-ка поточнее.

  • 0
Опубликовано (изменено)
В 01.06.2025 в 16:13, exeigor сказал:

Вот заголовки при неудачной авторизации через HTTPS

 

#### GET

:authority
kn1010.local
:method
GET
:path
/auth
:scheme
https
accept
application/json, text/plain, */*
accept-encoding
gzip, deflate, br, zstd
accept-language
ru-RU,ru;q=0.9
cookie
HHFA*****=WETZR******
priority
u=1, i
referer
https://kn1010.local/login?backUrl=%2Fdashboard
sec-ch-ua
"Not.A/Brand";v="99", "Chromium";v="136"
sec-ch-ua-mobile
?0
sec-ch-ua-platform
"Windows"
sec-fetch-dest
empty
sec-fetch-mode
cors
sec-fetch-site
same-origin


 

#### POST

:authority
kn1010.local
:method
POST
:path
/auth
:scheme
https
accept
application/json, text/plain, */*
accept-encoding
gzip, deflate, br, zstd
accept-language
ru-RU,ru;q=0.9
content-length
94
content-type
application/json
cookie
HHFA*****=WETZR******
origin
https://kn1010.local
priority
u=1, i
referer
https://kn1010.local/login?backUrl=%2Fdashboard
sec-ch-ua
"Not.A/Brand";v="99", "Chromium";v="136"
sec-ch-ua-mobile
?0
sec-ch-ua-platform
"Windows"
sec-fetch-dest
empty
sec-fetch-mode
cors
sec-fetch-site
same-origin

 


вот так сделайте, только с вашим ip роутера

location / {
    proxy_pass http://192.168.100.1;
    proxy_set_header Origin "http://192.168.168.100.1";
    proxy_set_header Referer "http://192.168.168.100.1";
    proxy_set_header Host "192.168.168.100.1";
}
Изменено пользователем Denis P
  • 0
Опубликовано

Спасибо всем, указали в нужную сторону и помогли поправить настройки traefik.

Вот готовый конфиг, только поправить под свои значения.

http:

  middlewares:
    keenetic-headers:
      headers:
        customRequestHeaders:
          Origin: "http://192.168.1.1"
          Referer: "http://192.168.1.1"
          Host: "192.168.1.1"

    keenetic:
      entrypoints:
        - https
      service: keenetic
      rule: "Host(`keenetic.home.arpa`)"
      middlewares:
        - "keenetic-headers"
      tls: {}

  services:
    keenetic:
      loadBalancer:
        servers:
          - url: "http://192.168.1.1"

 

  • 0
Опубликовано

Как оказалось достаточно поменять header с Origin: "https://keenetic.home.arpa" на Origin: "http://keenetic.home.arpa"

Господа разработчики, если вдруг прочтёте и поймёте мой поток мыслей, просветите пжст, почему подмена Origin с https на http даёт положительный результат.

har.zip

  • 0
Опубликовано
16 часов назад, _villi_ сказал:

Как оказалось достаточно поменять header с Origin: "https://keenetic.home.arpa" на Origin: "http://keenetic.home.arpa"

Господа разработчики, если вдруг прочтёте и поймёте мой поток мыслей, просветите пжст, почему подмена Origin с https на http даёт положительный результат.

har.zip 698.19 kB · 0 загрузок

Потому что у вас в заголовке Host стоит http, а в origin - https. Это неверно, протоколы обязаны совпадать. Мы стали жестче это проверять, чтобы предотвратить разные возможные атаки по угону сессии.

  • 0
Опубликовано

Дык заголовок Host это только имя хоста типа keenetic.home.arpa, без указания протокола аля http или https.

Или я не прав? 

  • 0
Опубликовано
15 часов назад, _villi_ сказал:

Дык заголовок Host это только имя хоста типа keenetic.home.arpa, без указания протокола аля http или https.

Или я не прав? 

Ну вы же приходите в nginx на keenetic по plaintext-порту 80? А при этом в origin стоит https, что вызывает конфуз.

  • 0
Опубликовано

Теперь понятно, спасибо. И если не затруднит, ещё вопрос - роутер не отвечает на 443 порту из локальной сети - так и задумано ?

  • 0
Опубликовано
3 часа назад, _villi_ сказал:

Теперь понятно, спасибо. И если не затруднит, ещё вопрос - роутер не отвечает на 443 порту из локальной сети - так и задумано ?

Если обращаться по айпи, то да, ответа не будет. По домену должен.

  • 0
Опубликовано (изменено)
В 03.06.2025 в 19:37, _villi_ сказал:

Как оказалось достаточно поменять header с Origin: "https://keenetic.home.arpa" на Origin: "http://keenetic.home.arpa"

А не могли бы вы подсказать, какие настройки надо изменить на обратном прокси Synology NAS?  У меня подобная проблема, тоже не пускает в веб-морду на новых версиях Кинетик ОС, если заходишь через обратный прокси. Там нет таких подробных настроек, как, например, на Nginx Proxy manager. Вот как выглядят настройки обратного прокси на Синолоджи.

Screenshot 2025-06-30 at 17-04-14 HOMEarchive.png

Screenshot 2025-06-30 at 17-05-45 HOMEarchive.png

Screenshot 2025-06-30 at 17-05-55 HOMEarchive.png

В 05.06.2025 в 19:35, Leshiyart сказал:

Если обращаться по айпи, то да, ответа не будет. По домену должен.

А теперь понятно, почему, когда я пытаясь справиться с этим глюком пробовал указать в настройках прокси адрес роутера как https://192.168.0.1:443. У меня вообще ничего не работало, веб-морда просто не открывалась.

Изменено пользователем NSGrid
  • 0
Опубликовано (изменено)

На другом форуме уже помогли. На всякий случай оставлю здесь настройку для обратного прокси Synology NAS.

В разделе "пользовательский заголовок" надо просто прописать

Имя заголовка Origin

Значение http://роутер.вашдомен.ру (адрес по которому вы подключаетесь к роутеру, но вместо https указать http). И все работает, пароль принимает.

 

Screenshot 2025-06-30 at 18-15-30 HOMEarchive.png

Изменено пользователем NSGrid
  • 0
Опубликовано

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

Все конфиги на прокси уже прописаны:

  location / {
    proxy_set_header Origin "http://192.168.1.1/";
    proxy_set_header Referer "http://192.168.1.1/";
    proxy_set_header Host "192.168.1.1";

    proxy_set_header X-Forwarded-Scheme $scheme;
    proxy_set_header X-Forwarded-Proto  $scheme;
    proxy_set_header X-Forwarded-For    $remote_addr;
    proxy_set_header X-Real-IP          $remote_addr;

    proxy_pass       http://192.168.1.1:80;

    # Block Exploits
    include conf.d/include/block-exploits.conf;

    # Force SSL
    include conf.d/include/force-ssl.conf;

    proxy_set_header Upgrade $http_upgrade;
    proxy_set_header Connection $http_connection;
    proxy_http_version 1.1;

  }

 

Присоединяйтесь к обсуждению

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

Гость
Ответить на вопрос...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу
×
×
  • Создать...

Важная информация

На этом сайте используются файлы cookie. Нажимая "Я принимаю" или продолжая просмотр сайта, вы разрешаете их использование: Политика конфиденциальности.