SQL Сервер, позволяющий указать неверное имя домена для аутентификации NTLM - PullRequest
1 голос
/ 03 марта 2020

Сводка

Используя утомительный драйвер nodejs , я могу указать любое имя домена для подключения к моему экземпляру SQL Сервер через проверку подлинности NTLM, а затем я могу запрашивать базу данных с этим соединением.

Справочная информация

Утомительный драйвер используется в качестве соединителя БД для все популярные узлы SQL Серверные модули ( node-ms sql, typeorm ), и неудивительно, что я сталкиваюсь с этой проблемой при тестировании со всеми тремя модулями.

Исторически я считаю, что это не было проблемой, поэтому я начинаю задаваться вопросом, может ли это быть связано с конфигурацией Windows коробки, которую я использую (Win Server 2016). К сожалению, мои знания администрации Windows отсутствуют.

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

Вещи, которые я пробовал

  • ВМ, которые подключены к Windows домену
  • ВМ, которые не подключены к Windows домен
  • Соединение с пользователем, который не является администратором по умолчанию
  • Проверка журналов средства просмотра событий после успешной попытки входа
    • показывает SecurityID, имя учетной записи и Домен учетной записи как все правильные значения (вместо неправильных , указанных в конфигурации соединения)

Воспроизведение

npm установить утомительно

let config = {
  server: '<server ip>',
  port: 1433,
  authentication: {
    type: 'ntlm',
    options: {
        domain: 'WRONGDOMAIN',
        userName: 'Administrator', // update me
        password: 'password' // update me
    }
  },
  options: {
    database: '<database name>'
  }
}

Затем я могу подключиться к базе данных независимо от значения домена, если у пользователя есть требуемые разрешения.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...