Информация
Услуги
  • Внедрение
  • Настройка
  • Поддержка
  • Ремонт
Контакты
Новинка
Распродажа
Новости
Доставка
Оплата
Загрузки
  • Прошивки
    • WinBox
    • RouterOS
    • Мобильные приложения MikroTik
    • Архив
  • RouterOS
  • Мобильные приложения MikroTik
  • Архив
Форум
Настройка
    info@mikrotik.moscow
    +7 495 320-55-52
    Заказать звонок
    Mikrotik.moscow
    Каталог
    • Акции
      Акции
    • Маршрутизаторы
      Маршрутизаторы
    • Коммутаторы
      Коммутаторы
    • Радиомосты и уличные точки доступа
      Радиомосты и уличные точки доступа
    • Wi-Fi для дома и офиса
      Wi-Fi для дома и офиса
    • LTE/5G
      LTE/5G
    • Powerline адаптеры
      Powerline адаптеры
    • IoT устройства
      IoT устройства
    • Оборудование 60 ГГц
      Оборудование 60 ГГц
    • Материнские платы RouterBOARD
      Материнские платы RouterBOARD
    • Корпуса
      Корпуса
    • Интерфейсы
      Интерфейсы
    • SFP/QSFP трансиверы
      SFP/QSFP трансиверы
    • Аксессуары
      Аксессуары
    • Антенны
      Антенны
    • Архив
      Архив
    Войти
    0 Сравнение
    0 Избранное
    0 Корзина
    Скачать WinBox Скачать Прошивки Форум > RouterOS Форум > SwOS Форум > Железо
    Mikrotik.moscow
    Каталог
    Войти
    0 Сравнение
    0 Избранное
    0 Корзина
    Mikrotik.moscow
    Телефоны
    +7 495 320-55-52
    Заказать звонок
    0
    0
    0
    Mikrotik.moscow
    • +7 495 320-55-52
      • Назад
      • Телефоны
      • +7 495 320-55-52
      • Заказать звонок
    • info@mikrotik.moscow
    • г. Москва, ул. Бакунинская, 84
    • Пн-Пт: 09-00 до 18-00
      Сб-Вс: выходной


    • Кабинет
    • 0 Сравнение
    • 0 Избранное
    • 0 Корзина
    Главная
    Форум
    Форум
    RouterOS
    6.43 изменение в процессе входа и библиотеках API?

    6.43 изменение в процессе входа и библиотеках API?

    Форумы: RouterOS, Аппаратное обеспечение, SwOS, Обратная связь, Объявления, Сторонние инструменты
    Поиск  Пользователи  Правила  Войти
    Страницы: 1
    RSS
    6.43 изменение в процессе входа и библиотеках API?, RouterOS
     
    upower3
    Guest
    #1
    0
    05.07.2018 09:16:00
    Как я вижу в списке изменений 6.43rc, будет очень странная (ну, неожиданная) новость:  
    !) api — изменён процесс аутентификации (> https://wiki.mikrotik.com/wiki/Manual:API#Initial_login >); на самом деле, процесс логина теперь должен отправлять данные иначе:  

    Раньше, до 6.43, логин выглядел так:  
    /login  
    !done  
    =ret=ebddd18303a54111e2dea05a92ab46b4  
    /login  
    =name=admin  
    =response=001ea726ed53ae38520c8334f82d44c9f2  
    !done  

    В 6.43 и выше процесс должен быть таким:  
    /login  
    =name=admin  
    =password=  
    !done  

    Хотя можно спорить, нужен ли вообще такой переход, я предполагаю, что все старые API-библиотеки (см. https://wiki.mikrotik.com/wiki/Manual:API#API_examples) станут устаревшими, не так ли?  

    Поэтому мой вопрос: будет ли возможность оставить процесс логина как раньше? И будут ли рекомендованные изменения для API-библиотек, чтобы они учитывали оба варианта входа и могли понимать, какой способ логина использовать?
     
     
     
    marting
    Guest
    #2
    0
    25.07.2019 15:51:00
    Извиняюсь, я упустил, что старый метод был убран в версии 6.45. Изменения (раньше были только на GitHub) теперь доступны и через CPAN: https://metacpan.org/pod/MikroTik::API (v1.1.0). Он отдаёт приоритет новому методу, но при необходимости переключается на старый. Пожалуйста, тщательно протестируйте перед использованием в продакшене — в этом релизе учтено много PullRequest'ов. Также изменили обработку ошибок (программа теперь не падает так резко, а использует коды ошибок). К тому же я не очень доволен методом аутентификации в открытом виде, введённым в 6.43 (зачем???). Поэтому выпуск откладывался довольно долго.
     
     
     
    SergeS
    Guest
    #3
    0
    25.07.2019 19:59:00
    «Если трафик может быть легко перехвачен третьими сторонами, вы всё равно должны устанавливать безопасное соединение». Хорошо, а теперь при незашифрованном соединении нам приходится передавать пароль в открытом виде, что ещё менее безопасно. Есть ли вообще какие-то плюсы у метода входа пост-6.43?
     
     
     
    upower3
    Guest
    #4
    0
    25.07.2019 21:01:00
    Так сказать, разрешать доступ только с проверенных сетей — всё ещё лучший вариант. API, конечно, получше, чем ssh, но из ненадёжных сетей можно использовать ssh. Да, в скрипты его встроить сложнее.
     
     
     
    marting
    Guest
    #5
    0
    25.07.2019 21:17:00
    На стороне клиента теперь на один вызов меньше требуется для входа. Единственное (крайне несущественное), что могу сказать. Я люблю продукты MT, но политика выпуска обновлений довольно глупая. При этом нет никаких объяснений таким решениям, например «отказ от MD5 экономит xx% ресурсов на роутере» или что-то в этом духе. В итоге большинство просто будут использовать ssl, ставить ssl_verify в none и думать, что они в безопасности. По моему мнению, абсолютно ненужное изменение.
     
     
     
    upower3
    Guest
    #6
    0
    25.07.2019 21:20:00
    Эй, так однажды мы скажем: «Пожалуйста, добавьте поддержку Let’s Encrypt». Грустная правда в том, что многие роутеры вообще далеки от интернета. Дурацкая политика, честно говоря. Ни малейших признаков того, что когда-нибудь станет лучше.
     
     
     
    mrz
    Guest
    #7
    0
    26.07.2019 08:24:00
    Причина в новом способе хранения паролей. Чтобы сохранить md5, нам пришлось бы хранить пароль в открытом виде на роутере, а этого мы не хотим. Ты используешь telnet через небезопасные сети? Думаю, нет, скорее всего, ты выберешь ssh. С API ситуация такая же: представь небезопасный API как telnet, а API по SSL — как ssh.
     
     
     
    leobg
    Guest
    #8
    0
    24.02.2020 19:44:00
    Меня тоже затронули эти изменения, похоже (использую PHP API из ссылки здесь: https://wiki.mikrotik.com/wiki/API_PHP_package). Аутентификация не проходит (при попытке входа пишет "неверный логин" после перехода с версии 6.43 на 6.45 (текущая LT)).
     
     
     
    upower3
    Guest
    #9
    0
    24.02.2020 19:58:00
    Большая проблема в том, что у MT нет официальных пакетов/библиотек для PHP (и других скриптовых языков), которые бы всегда актуально поддерживали изменения API. Да, это требует много работы, но люди продолжают полагаться на API, а библиотеки со временем устаревают, если за ними не следить. Удачи вам! Единственное, что мне удалось найти — это https://github.com/EvilFreelancer/routeros-api-php, в описании которого говорится: «Вы можете использовать эту библиотеку с версиями прошивки RouterOS до 6.43 и после 6.43, она будет автоматически определяться на этапе подключения.»
     
     
     
    highonsnow
    Guest
    #10
    0
    12.09.2018 13:28:00
    Мы только что проверили API с помощью класса PHP и всё ещё можем взаимодействовать и работать с Mikrotik версии 6.43. К счастью, никаких изменений не понадобилось.
     
     
     
    upower3
    Guest
    #11
    0
    12.09.2018 13:46:00
    Отличные новости! Приостановил апгрейд моих RB из-за настройки автоматизации через такую «старую» библиотеку, теперь буду тестировать!
     
     
     
    highonsnow
    Guest
    #12
    0
    12.09.2018 13:56:00
    Осторожно с блокировкой Winbox — люди жалуются на проблемы с входом после обновления http://forum.mikrotik.com/t/v6-43-current-is-released/123160/1
     
     
     
    lweidig
    Guest
    #13
    0
    25.10.2018 14:27:00
    Похоже, что это не принудительное изменение в работе процесса входа через API. Мы обновили внутреннее устройство до версии 6.43.4, чтобы начать тестирование, так как используем API для многих внутренних функций. Если мы всё ещё отправляем запрос /login отдельно, то получаем ответ =ret=… и вход продолжает работать без проблем. На самом деле код у нас не менялся, и мы нормально входим в систему. Так и должно быть? Планируется ли в ближайшем будущем отказ от этого метода? Спасибо!
     
     
     
    sff
    Guest
    #14
    0
    03.07.2019 18:03:00
    Есть ли исправление для этого в PERL? Только что обновил несколько устройств с 6.44.x до 6.45.1, и теперь API не может войти в систему. Я использую CPAN-версию, которая говорит, что это версия 1.0.5 и она актуальна. Я забыл про изменение процесса входа в API в прошлом году, но теперь, похоже, для 6.45 и выше нужно обязательно использовать новый метод. Есть ли какой-то патч для 1.0.5, который это поправит? Администрирую больше 300 Mikrotik из базы данных, и сломанный API меня реально тормозит. Конечно, могу исправить сам, если кто-то объяснит, в чём именно пока что изменился процесс. В мануале написано, что теперь сначала надо отправить =PASSWORD=, а затем в первом запросе — user и пароль в открытом виде. Значит, просто надо отправить =NAME=admin=PASSWORD=[пароль]???
     
     
     
    sff
    Guest
    #15
    0
    03.07.2019 18:49:00
    Ну, это было легко… разобрался и исправил установленную у себя версию кода API. Посмотрю, смогу ли я внести это изменение в версию CPAN 1.0.5. Но не сегодня — надо тесты на 6.45.1 проводить. Тем, кто в США, отличных вам праздников! Код ниже. Добавил шесть строк, обернув старый код логина в условие на неуспех нового метода: Отступы создают ощущение большого изменения.

    root@blinkBSD:/usr/local/lib/perl5/site_perl/MikroTik # diff API.pm API_1.0.5.pm  
    151a152  
    153,154d153  
    <     push( @command , ‘=name=’ . $self->get_username() );  
    <     push( @command , ‘=password=’ . $self->get_password() );

    155a155,167  
    if ( $retval > 1 ) {  
       die 'error during establishing login: ' . $results[0]{'message'};
    }  
    my $challenge = pack("H*",$results[0]{'ret'});
    my $md5 = Digest::MD5->new();  
    $md5->add( chr(0) );  
    $md5->add( $self->get_password() );  
    $md5->add( $challenge );

    @command = ('/login');  
    push( @command, '=name=' . $self->get_username() );  
    push( @command, '=response=00' . $md5->hexdigest() );  
    ( $retval, @results ) = $self->talk( \@command );

    158,176c170  
    < @command = (‘/login’);  
    <       ( $retval, @results ) = $self->talk( @command );  
    <       if ( $retval > 1 ) {  
    <           die ‘error during establishing login: ’ . $results[0]{‘message’};
    <       }  
    <       my $challenge = pack(“H*”,$results[0]{‘ret’});
    <       my $md5 = Digest::MD5->new();  
    <       $md5->add( chr(0) );  
    <       $md5->add( $self->get_password() );  
    <       $md5->add( $challenge );  
    <  
    < @command = (’/login’);  
    <       push( @command , ‘=name=’ . $self->get_username() );  
    <       push( @command , ‘=response=00’ . $md5->hexdigest() );  
    <       ( $retval, @results ) = $self->talk( @command );  
    <       die ‘disconnected while logging in’ if !defined $retval;  
    <       if ( $retval > 1 ) {  
    <           die $results[0]{‘message’};
    <       }  
    die $results[0]{'message'};

    179c173  
    <       print 'Logged in to ‘. $self->get_host() .’ as '. $self->get_username() .“\n”;  
    print 'Logged in to '. $self->get_host() .' as '. $self->get_username() ."\n";

    root@blinkBSD:/usr/local/lib/perl5/site_perl/MikroTik #
     
     
     
    FezzFest
    Guest
    #16
    0
    04.07.2019 20:24:00
    Это что, серьёзно? Вместо аутентификации с вызовом/ответом теперь имя пользователя и пароль отправляются открытым текстом?
     
     
     
    highonsnow
    Guest
    #17
    0
    04.07.2019 20:57:00
    «Прогресс»
     
     
     
    SergeS
    Guest
    #18
    0
    23.07.2019 22:31:00
    Mikrotik, есть какие-нибудь объяснения? «Вместо аутентификации по схеме challenge/response теперь логин и пароль передаются в открытом виде?»
     
     
     
    mrz
    Guest
    #19
    0
    24.07.2019 08:43:00
    Если трафик легко перехватывается третьими лицами, всё равно стоит устанавливать защищённое соединение.
     
     
     
    Страницы: 1
    Читают тему
    +7 495 320-55-52
    info@mikrotik.moscow
    Электрозаводская, Бауманская
    Москва, ул. Бакунинская, 84с21
    Конфиденциальность Оферта
    © 2026 «Mikrotik.Moscow»
    Главная Каталог 0 Корзина 0 Избранные Кабинет 0 Сравнение Акции Контакты Услуги Бренды Отзывы Компания Лицензии Документы Реквизиты Поиск Блог Обзоры