Windows 7 NTLM не проходит аутентификацию должным образом с Ubuntu 18.04
836
John Byrne
Я провел большую часть своего дня сегодня, пытаясь выяснить это ... Не совсем то, что я имел в виду на сегодня ... но я не мог с собой поделать ... Итак, вот проблема: мой компьютер с Windows 7 победил не проходите аутентификацию (для общего ресурса Samba) в моей системе Ubuntu 18.04. Я думаю, что это связано с самим протоколом, но я не совсем уверен, в чем настоящая проблема. Это может быть параметр, который мне не хватает где-то в Windows, хотя я довольно много играл с настройками проверки подлинности NTLM в локальной политике. Мой общий доступ к файлам Macintosh с Ubuntu работает нормально ..
Итак, вот что я нашел:
Windows сбрасывает соединение с сервера Ubuntu 18.04 и перезапускает процесс согласования с другим портом (где мой Mac просто подтверждает сообщение STATUS_LOGIN_FAILURE и продолжает работу).
Windows отправляет другого пользователя на сервер Ubuntu (например, systemname\rootв отличие от отправки моего Mac systemname\\root) (обратите внимание на 2 обратной косой черты вместо 1?)
Windows отправляет «Неизвестный тип сообщения» в Ubuntu, поскольку мой Mac вообще не отправляет ничего подобного.
Вот изображение сравнения между двумя протоколами.
Я превратил захваты пакетов с моего Mac и моей системы Windows 7 в файлы .csv и разместил их здесь для вашего удовольствия.
Да, я просмотрел журналы (и пытался подключиться через проводник файлов), и вот что было показано в журналах:
Через несколько секунд, когда время ожидания соединения никто (я думаю) просто смотрит на список компьютеров, я получаю это в auth.log
22 ноября 21:59:11 odroid2 smbd: pam_unix (samba: сессия): сессия закрыта для пользователя никто
Я также получаю:
22 ноября 20:08:42 odroid2 smbd: pam_unix (samba: сеанс): сеанс закрыт для пользователя root
Я аутентифицируюсь другими способами с помощью pam, включая sshd и smbd:
22 ноября 18:52:34 odroid2 smbd [9524]: pam_unix (samba: session): сессия открыта для пользователя root с помощью (uid = 0)
Эти сессии от моего Mac аутентификации. Когда Windows пытается аутентифицироваться, в auth.log ничего не отображается, кроме none, если я просматриваю компьютер (используя - net view). Теперь у меня отключено сетевое представление, потому что NetBIOS работал на порту 139, и я хотел, чтобы он был таким же, как мой Mac (на порту 445). Поэтому я отключил NetBIOS через TCP / IP.
22 ноября 16:13:56 odroid2 sshd [428]: pam_unix (sshd: сессия): сеанс открыт для пользователя root с помощью (uid = 0) 22 ноября 16:13:56 odroid2 systemd-logind [535]: новый сеанс 733 из пользователь root. 22 ноября 16:13:57 odroid2 sshd [428]: получено отключение от 2600: 1700: 7c20: 1fb0: 13f: 338a: e270: 917d порт 60469: 11: отключено пользователем 22 ноября 16:13:57 odroid2 sshd [428 ]: Отключено от пользователя root 2600: 1700: 7c20: 1fb0: 13f: 338a: e270: порт 917d 60469 22 ноября 16:13:57 odroid2 sshd [428]: pam_unix (sshd: сессия): сеанс закрыт для пользователя root
и мой системный журнал не говорит ничего интересного.
Внутри моего smb.conf у меня есть:
log level = 10 logging = 10
Я предположил, что 10 - это самый высокий уровень, а «все» - это значение по умолчанию, если ничего не указано. Я видел 10 в smb.conf в Интернете, поэтому я подумал, что это самый высокий уровень.
Если они вам действительно нужны ... вот реальные файлы pcap / pcapng ... Как только это будет решено ... Я забираю их, потому что в них есть личная информация, и любой, кто хочет просмотреть ответ, должен будет это сделать. так что без фактических данных pcap.
Я бы почти поспорил, что различия с обратной косой чертой являются артефактом экспорта CSV инструмента захвата, а не отправляются по проводам. Можете ли вы вместо этого прикрепить реальные файлы pcap? И вы уже пробовали проверить логи Samba на сервере? (Используйте `[global] log level = 1 passdb: 5 auth: 5 auth_audit: 5`.)
grawity 5 лет назад
0
Я просто положил фактические файлы pcap (сохраненные с помеченными SMB2 пакетами) вверх. Спасибо, что взглянули на это.
John Byrne 5 лет назад
0
1 ответ на вопрос
1
grawity
SMBv2 / v3 всегда работает в «сыром» режиме через TCP-порт 445, и NetBIOS не виден. (Более старый SMBv1 может быть запущен либо по TCP / 445, либо по TCP / 139.) Но на самом деле порт вообще не важен для аутентификации - он полностью выполняется на уровне SMB, а не на уровне NetBIOS (сеанс / транспорт).
Вы должны проверить, согласны ли обе стороны, какие протоколы аутентификации должны использоваться. В частности:
принимает ли Samba NTLMv1 или требует NTLMv2, согласно smb.conf:
(В предыдущих версиях yesNTLMv1 использовался для разрешения noNTLMv2.)
отправляет ли Windows NTLMv1 или v2, согласно secpol.msc:
Security Settings └─ Local Policies └─ Security Options └─ Network security: LAN Manager authentication level ( ) Send LM & NTLM ( ) Send NTLM response only (*) Send NTLMv2 response only
Вы не увидите PAM-сообщений «auth» в журналах сервера, потому что для PAM-аутентификации потребуется пароль в виде открытого текста, который клиент не раскрывает. Вместо этого Samba выполняет внутреннюю аутентификацию, и только при успешных вызовах PAM выполняет различные другие проверки.
Вместо этого ищите собственные журналы демона smbd. Вы можете включить logging = syslogили logging = systemdчтобы они всегда шли в стандартное место; но по умолчанию они хранятся в / var / log / samba.
Спасибо вам большое! Это работает сейчас. Я только что изменил согласование Windows NTLMv2. В конце концов, это была установка окон ... Я потратил около 8 часов на это, я был довольно озадачен. Я искал какую-то ошибку согласования, но на дисплее протокола Wireshark ее нет. В любом случае, я очень ценю вашу помощь!
John Byrne 5 лет назад
0
К сожалению, по крайней мере, насколько я знаю, две версии NTLM точно не согласованы как таковые - пакеты отличаются только тем, как генерируется запрос / ответ ... (Это старый и неуклюжий протокол, который начался в MS-DOS как «LM» и просто имеет толстый слой краски сверху.) Если вы можете, установите на всех хостах только NTLMv2 - это несколько более безопасно, и это уже по умолчанию в новых версиях ОС.
grawity 5 лет назад
0