Windows пытается получить доступ к общему ресурсу IPC$ перед предоставленным
У меня есть сервер Samba, где я отключил доступ к IPC$
поделиться [1] по соображениям безопасности (перечисление пользователей и общих ресурсов, запрос информации о пользователе, ...).
Я могу получить доступ к общим ресурсам данных на этом сервере без проблем с любого компьютера на базе Unix с mount.cifs
, Однако, когда я пытаюсь получить к ним доступ с компьютеров Windows (протестировано с Windows 7 и 10), я получаю ошибку " Отказано в доступе" сразу после предоставления учетных данных.
После записи трафика SMB я заметил, что компьютеры Windows всегда делают Tree connect request
на IPC$
поделиться, прежде чем пытаться получить доступ к предоставленному мной общему ресурсу (через сетевой диск карты или добавить сетевое местоположение) Мой сервер Samba возвращает доступ запрещен для IPC$
поделиться, и Windows никогда не пытается получить доступ к нужному ресурсу.
Поэтому мой вопрос заключается в том, как я могу запретить Windows делать этот бесполезный запрос на IPC$
и просто получить доступ к той папке, которую я предоставил? Или, по крайней мере, как заставить Windows получить доступ к реальной папке после IPC$
один вернулся Доступ запрещен?
Заранее благодарю за помощь и веселых праздников!
Губка Боб
[1] https://www.samba.org/samba/docs/man/Samba-HOWTO-Collection/securing-samba.html
1 ответ
Итак, мой вопрос: как я могу запретить Windows делать этот бесполезный запрос...? Или, по крайней мере, как я могу заставить Windows получить доступ к реальной папке после...?
Ответ в том, что вы не можете! Извините, но это так. Однако, хотя это верный ответ на ваш вопрос - я не хочу показаться бесполезным. Я действительно хочу помочь, так что надеюсь, что последующее - лучший совет, который я могу дать, который окажется полезным для вас в вашей ситуации.
Я являюсь профессиональным тестером на проникновение и часто использую анонимный общий доступ (например, IPC$) для получения информации и проникновения в системы в целях законного тестирования. Ключевым моментом является предотвращение перечисления пользователей и общих ресурсов анонимным пользователем (человеком без действительных учетных данных). Как только действительные учетные данные получены, обычно есть другие способы перечисления пользователей (например, cat /etc/passwd), и это все равно становится менее приоритетным для злоумышленника.
Статья, на которую вы ссылаетесь, содержит следующее:
Если вы используете этот метод, то клиентам будет дан ответ "отказано в доступе" при попытке доступа к общему ресурсу IPC $. Эти клиенты не смогут просматривать общие ресурсы, а также могут не иметь доступа к другим ресурсам. Это не рекомендуется, если по какой-то причине вы не можете использовать один из только что обсужденных методов.
Причина, по которой это не рекомендуется, заключается в том, что "эти клиенты... могут также не иметь доступа к некоторым другим ресурсам". Windows не может получить доступ к каким-либо общим ресурсам на машине, тому пример. К сожалению, Windows требуется доступ к IPC $ для просмотра других общих ресурсов. Если он не видит IPC $, он просто предполагает, что другие акции недоступны, и сдается.
Реализация Samba в Linux-клиенте работает немного по-другому и поэтому не сталкивается с той же проблемой. Так как нет другого пути, я бы просто позаботился о том, чтобы общий ресурс IPC $ не передавал информацию анонимным пользователям.
Использование разделов " Защита на основе хоста" и "Защита на основе пользователя" в отправленной вами статье является хорошим способом предотвращения нежелательного доступа ко всей Samba, включая общий ресурс IPC $ из ненадежных источников, и может дать вам все, что вам нужно.
Тем не менее, дополнительные советы доступны в указанных разделах этой страницы: https://www.samba.org/samba/docs/man/manpages-3/smb.conf.5.html
Разделы для просмотра:
"enum на основе доступа"
"browseable" - установка "no" на всех общих ресурсах (кроме IPC$) должна препятствовать их обнаружению, но окна по-прежнему должны иметь доступ
"guest ok" - проверьте, запрещает ли установка значения "no" на общем ресурсе IPC $ доступ Windows к другим общим ресурсам.
Если вы используете winbind, установите следующее, чтобы предотвратить их перечисление:
winbind enum groups = no
winbind enum users = no