У меня есть самба-сервер, на котором я отключил доступ к IPC$
share [1] по соображениям безопасности (перечисление пользователей и общих ресурсов, запрос информации о пользователе, ...).
Я могу получить доступ к общим данным на этом сервере без проблем с любого компьютера на базе Unix с mount.cifs
. Однако, когда я пытаюсь получить к ним доступ с компьютеров Windows (протестированных с Windows 7 и 10), я получаю В доступе отказано ошибка сразу после предоставления моих учетных данных.
После записи трафика SMB я заметил, что компьютеры с Windows всегда Tree connect request
на IPC$
поделиться, прежде чем пытаться получить доступ к предоставленному мной общему ресурсу (через карта сетевой диск или добавить сетевое местоположение). Мой сервер самбы возвращается В доступе отказано для IPC$
share, и Windows никогда не пытается получить доступ к тому, что я хочу.
Итак, мой вопрос в том, как я могу запретить Windows выполнять этот бесполезный запрос на IPC$
и просто получить доступ к предоставленной мной папке? Или, по крайней мере, как я могу заставить Windows получить доступ к реальному ресурсу после IPC$
один вернулся В доступе отказано?
Заранее благодарим за помощь и счастливых праздников!
Губка Боб
[1] https://www.samba.org/samba/docs/man/Samba-HOWTO-Collection/securing-samba.html#id2618877
Итак, мой вопрос: как я могу запретить 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
Разделы для просмотра:
"перечисление общих ресурсов на основе доступа"
"просматриваемый" - установка на "нет" для всех общих ресурсов (кроме IPC $) должна предотвратить их отображение, но окна все равно должны иметь доступ
"guest ok" - проверьте, не запрещает ли установка значения "нет" на общем ресурсе IPC $ доступ Windows к другим общим ресурсам
Если вы используете winbind, установите следующее, чтобы предотвратить их перечисление:
winbind enum groups = no
winbind enum users = no