What is smb?

Оглавление

Как пользователи могут обращаться с IP-портом 445?

Принимая во внимание вышеупомянутые опасности, лучше всего, чтобы пользователи не открывали порт 445 в Интернет. Тем не менее, порт 445 глубоко укоренился в Windows, как и порт 135

Таким образом, становится трудным закрыть его безопасно. Сказав это, вполне возможно, чтобы закрыть его; однако, различные другие зависимые инструменты или сервисы, такие как протокол динамической конфигурации хоста (DHCP), который часто используется для автоматического получения IP-адресов от серверов DHCP, который используется большинством интернет-провайдеров, и корпорации перестают работать.

Кстати, нажмите здесь для полной Прокси против Брандмауэра сравнение.

Доступ к SMB-ресурсам из Linux

Машины с Linux (UNIX) могут также просматривать и монтировать
SMB-ресурсы. Заметьте, что это может быть сделано когда сервером является
либо машина с Windows, либо с сервером Samba!

Программа клиента SMB для UNIX-машин включена в дистрибутив Samba. Она
обеспечивает ftp-подобный интерфейс командной строки. Вы можете
использовать эту утилиту для переноса файлов между ‘сервером’ под
управлением Windows и клиентом под Linux.

Большинство дистрибутивов Linux также включают полезный пакет smbfs,
который позволяет монтировать и размонтировать SMB-ресурсы. Больше
информации о smbfs можно получить дальше.

Для того, чтобы увидеть какие ресурсы доступны на данной машине, выполните
команду:

    /usr/bin/smbclient -L host

где ‘host’ это имя машины, которую вы хотите видеть. Эта команда вернет
список имен ‘сервисов’ — т.е. имен дисков или принтеров к которым может
быть получен доступ. До тех пор, пока SMB сервер не будет настроен без
управления доступом, он будет запрашивать у вас пароль. Введите в ответ на
запрос пароль для пользователя ‘гость (guest)’ или ваш персональный пароль
на этой машине.

Например:

    smbclient -L zimmerman

Вывод этой команды должен выглядеть примерно так:

Browse list показывает другие SMB сервера в сети с доступными ресурсами.

Для использования клиента, выполните следующую команду:

    /usr/bin/smbclient service <password>

где ‘service’ — имя машины и сервиса. Например, если вы пытаетесь
обратиться к директории, которая доступна под именем ‘public’ на
машине названной ‘zimmerman’, то имя сервиса должно звучать как
\\zimmerman\public. Однако в следствии ограничений
оболочки, вам необходимо спрятать обратный слэш, так что в итоге
это командная строка выглядеть следующим образом:

    /usr/bin/smbclient \\\\zimmerman\\public mypasswd

где ‘mypasswd’ — символьная строка вашего пароля.

Вы получите приглашение smbclient:

Напечатайте ‘h’ чтобы получить помощь об использовании smbclient:

Если вы умеете использовать ftp, то вам не будут нужны справочные страницы
о smbclient.

Хотя вы можете использовать smbclient для тестирования, вы скоро устанете
использовать его в работе. Для работы вам скорее всего понадобится пакет
smbfs. Smbfs поставляется с двумя простыми утилитами, smbmount и
smbumount. Они работают подобно mount и umount для SMB-ресурсов.

Одно важное замечание: Чтобы использовать эти утилиты, у вас должна быть
поддержка smbfs вкомпилированная в ядро!

Следующий пример показывает типичное использование smbmount для
монтирования SMB-ресурса, названного «customers» с машины с
именем «samba1»:

Запуск команды mount покажет вам, что ресурс смонтирован, точно также как и
через экспорт NFS:

Пожалуйста прочитайте справочные страницы smbmount и smbumount для
дополнительной информации о описанных выше операциях.

NextPrevious

Спонсоры:

Хостинг:

Maxim ChirkovДобавить, Поддержать, Вебмастеру

NAME MANGLING

Samba supports so that DOS and Windows clients can use files that don’t
conform to the 8.3 format. It can also be set to adjust the case of 8.3 format filenames.

There are several options that control the way mangling is performed, and they are grouped here rather
than listed separately. For the defaults look at the output of the testparm program.

These options can be set separately for each service.

The options are:

case sensitive = yes/no/auto

controls whether filenames are case sensitive. If they aren’t, Samba must do a filename search and match on
passed names. The default setting of auto allows clients that support case sensitive filenames (Linux CIFSVFS
and smbclient 3.0.5 and above currently) to tell the Samba server on a per-packet basis that they wish to
access the file system in a case-sensitive manner (to support UNIX case sensitive semantics). No Windows or
DOS system supports case-sensitive filename so setting this option to auto is that same as setting it to no
for them. Default auto.

default case = upper/lower

controls what the default case is for new filenames (ie. files that don’t currently exist in the filesystem).
Default lower. IMPORTANT NOTE: As part of the optimizations for directories containing
large numbers of files, the following special case applies. If the options
, , and
are set, then the case of all
incoming client filenames, not just new filenames, will be modified. See additional notes below.

preserve case = yes/no

controls whether new files (ie. files that don’t currently exist in the filesystem) are created with the case
that the client passes, or if they are forced to be the case. Default
yes.

short preserve case = yes/no

controls if new files (ie. files that don’t currently exist in the filesystem) which conform to 8.3 syntax,
that is all in upper case and of suitable length, are created upper case, or if they are forced to be the
case. This option can be used with to permit
long filenames to retain their case, while short names are lowercased. Default yes.

VARIABLE SUBSTITUTIONS

Many of the strings that are settable in the config file can take substitutions. For example the option
“path = /tmp/%u” is interpreted as “path = /tmp/john” if the user connected with the
username john.

These substitutions are mostly noted in the descriptions below, but there are some general substitutions
which apply whenever they might be relevant. These are:

%U

session username (the username that the client wanted, not
necessarily the same as the one they got).

%G

primary group name of %U.

%h

the Internet hostname that Samba is running on.

%m

the NetBIOS name of the client machine (very useful).

This parameter is not available when Samba listens on port 445, as clients no longer
send this information. If you use this macro in an include statement on a domain that has
a Samba domain controller be sure to set in the section . This will cause Samba to not listen on port 445 and will permit include
functionality to function as it did with Samba 2.x.

%L

the NetBIOS name of the server. This allows you to change your config based on what
the client calls you. Your server can have a “dual personality”.

%M

the Internet name of the client machine.

%R

the selected protocol level after protocol negotiation. It can be one of
CORE, COREPLUS, LANMAN1, LANMAN2, NT1,
SMB2_02, SMB2_10, SMB3_00, SMB3_02, SMB3_11
or SMB2_FF.

%d

the process id of the current server
process.

%a

The architecture of the remote
machine. It currently recognizes Samba (),
the Linux CIFS file system (), OS/2, (),
Mac OS X (), Windows for Workgroups (), Windows 9x/ME
(), Windows NT (),
Windows 2000 (),
Windows XP (),
Windows XP 64-bit(),
Windows 2003 including
2003R2 (), and Windows
Vista (). Anything else will be known as
.

%I

the IP address of the client machine.

Before 4.0.0 it could contain IPv4 mapped IPv6 addresses,
now it only contains IPv4 or IPv6 addresses.

%J

the IP address of the client machine,
colons/dots replaced by underscores.

%i

the local IP address to which a client connected.

Before 4.0.0 it could contain IPv4 mapped IPv6 addresses,
now it only contains IPv4 or IPv6 addresses.

%j

the local IP address to which a client connected,
colons/dots replaced by underscores.

%T

the current date and time.

%t

the current date and time in a minimal format without colons (YYYYYmmdd_HHMMSS).

%D

name of the domain or workgroup of the current user.

%w

the winbind separator.

%$()

the value of the environment variable
.

The following substitutes apply only to some configuration options (only those that are
used when a connection has been established):

%S

the name of the current service, if any.

%P

the root directory of the current service, if any.

%u

username of the current service, if any.

%g

primary group name of %u.

%H

the home directory of the user given by %u.

%N

This value is the same as %L.

PARAMETERS

Parameters define the specific attributes of sections.

Some parameters are specific to the section (e.g., security). Some parameters
are usable in all sections (e.g., create mask). All others are permissible only in normal
sections. For the purposes of the following descriptions the and sections will be
considered normal. The letter G in parentheses indicates that a parameter is specific to
the section. The letter S indicates that a parameter can be specified in a
service specific section. All S parameters can also be specified in the section
— in which case they will define the default behavior for all services.

Метод деактивации протокола SMBv1

Если работа с файловыми приложениями, требующими поддержки SMBv1, не предусматривается, то необходимо его деактивировать. Отключение SMBv1 – это не очень сложный процесс. Отключить протокол SMBv1 в Windows 7 можно внесением изменений в реестр. При работе с реестром стоит быть очень внимательным, так как некорректные операции в его структуре могут стать причиной нарушения целостности системы, с последующим выходом её из строя или же существенным нарушением работоспособности. Чтобы отключить протокол SMBv1 потребуется пошагово выполнить следующие манипуляции:

  1. Для начала необходимо найти в «Редактор реестра», через меню «Пуск», или введением команды Regedit в поисковой строке.
  2. Запустить «Редактор реестра» от имени «Администратора», щёлкнув правой кнопкой мышки по его названию.
  3. В левой области открывшегося окна потребуется найти пункт с названием HKEY_LOCAL_MACHINE в папку SYSTEM, где перейти CurrentControlSet/Services/LanmanServer.
  4. Развернув папку LanmanServer, пользователь получит доступ к подразделу Parameters, в котором потребуется создать новый компонент. Для этого щелчком правой кнопки мышки по папке Parameters разворачивается выпадающий список, дальше выбрать команду «Создать», выбрать «Параметр DWORD (32 бит)».
  5. Созданному элементу необходимо присвоить имя SMB1. По умолчанию, компонент формируется с нулевым значением, что сбрасывает необходимость редактирования параметра: цифра «0» в этом случае интерпретируется как «отключение протокола».

Дальше перезагружаем ПК, посредством чего активируем выполненные изменения, и тем самым отключаем SMBv1 в Windows 7. В деактивированном режиме модуль больше не будет выступать уязвимым местом для вирусных атак, использующих для внедрения в систему первый протокол связи категории SMB.

Для Windows 8 и последующих версий регламент операции отключения поддержки SMBv1, выглядит следующим образом:

  1. Через «Панель управления» необходимо зайти в пункт «Программы», с последующим переходом в конфигурацию «Программы и компоненты», где выбрать задачу «Включение и отключение компонентов Windows».
  2. В открывшемся окне потребуется отыскать компонент под названием «SMB 1.0 GIFS…», удалить напротив него «галочку», и подтвердить изменение нажатием кнопки ОК внизу экрана.

После подтверждения изменений система «предложит» перезагрузить ПК, чтобы внесённые обновления активизировались.

Функции, добавленные в SMB 3.11 с Windows Server 2016 и Windows 10 версии 1607

Компонент или функция Новинка или обновление Сводка
Шифрование SMB Обновлено Шифрование SMB 3.1.1 в режиме AES-GCM выполняется быстрее, чем подписывание SMB или шифрование SMB предыдущей версии с использованием AES-CCM.
Кэширование каталогов Создать SMB 3.1.1 включает дополнительные возможности для кэширования каталогов. Клиенты Windows теперь могут кэшировать каталоги гораздо большего размера (приблизительно с 500 000 записей). Клиенты Windows могут выполнять запросы к каталогу, используя буферы размером в 1 МБ, чтобы сократить круговые пути и увеличить производительность.
Целостность предварительной проверки подлинности Создать В SMB 3.1.1 целостность предварительной проверки подлинности обеспечивает улучшенную защиту от атак типа «злоумышленник в середине», при которых несанкционировано изменяются подключения SMB и сообщения проверки подлинности. Дополнительные сведения см. в статье SMB 3.1.1 Pre-authentication integrity in Windows 10 (Целостность предварительной проверки подлинности с SMB 3.1.1 в Windows 10).
Улучшения в шифровании SMB Создать SMB 3.1.1 предоставляет механизм для согласования алгоритма шифрования при каждом соединении с вариантами для AES-128-CCM и AES-128-GCM. AES-128-GCM используется по умолчанию для новых версий Windows, в то время как для более старых версий продолжается использование AES-128-CCM.
Поддержка последовательного обновления кластера Создать Позволяет последовательно обновлять кластер, используя SMB для поддержки различных максимальных версий SMB для кластеров в процессе обновления. Дополнительные сведения об обмене данными SMB с помощью различных версий (диалектов) протокола см. в статье Controlling SMB Dialects (Управление диалектами SMB).
Поддержка клиентов SMB Direct в Windows 10 Создать Windows 10 Корпоративная, Windows 10 для образовательных учреждений и Windows 10 Pro для рабочих станций теперь предусматривают поддержку клиентов SMB Direct.
Встроенная поддержка вызовов API FileNormalizedNameInformation Создать Добавлена встроенная поддержка для запросов нормализованного имени файла. Дополнительные сведения см. в статье о FileNormalizedNameInformation.

Дополнительные сведения см. в статье What’s new in SMB 3.1.1 in the Windows Server 2016 Technical Preview 2 (Новые возможности SMB 3.1.1 в Windows Server 2016 (техническая версия 2)).

Practical applications

This section discusses some new practical ways to use the new SMB 3.0 protocol.

  • File storage for virtualization (Hyper-V over SMB). Hyper-V can store virtual machine files, such as configuration, Virtual hard disk (VHD) files, and snapshots, in file shares over the SMB 3.0 protocol. This can be used for both stand-alone file servers and clustered file servers that use Hyper-V together with shared file storage for the cluster.
  • Microsoft SQL Server over SMB. SQL Server can store user database files on SMB file shares. Currently, this is supported with SQL Server 2008 R2 for stand-alone SQL servers. Upcoming versions of SQL Server will add support for clustered SQL servers and system databases.
  • Traditional storage for end-user data. The SMB 3.0 protocol provides enhancements to the Information Worker (or client) workloads. These enhancements include reducing the application latencies experienced by branch office users when accessing data over wide area networks (WAN) and protecting data from eavesdropping attacks.

Note

If you need to conserve storage space on an SMB file share, consider using Azure File Sync with cloud tiering enabled. This allows you to cache your most frequently accessed files locally and tier your least frequently accessed files to the cloud, saving local storage space while maintaining performance. For details, see Planning for an Azure File Sync deployment.

Sample iptables Rules for CentOS/RHEL 5.x and older

To open Samba communication between 192.168.1.0/24 subnet representing the machines on your network which should operate as clients of the Samba server. Edit /etc/sysconfig/iptables under RHEL/CentOS server. Add the following lines, before the final LOG and ROP lines for the RH-Firewall-1-INPUT chain:

-A RH-Firewall-1-INPUT -s 192.168.1.0/24 -m state --state NEW -p tcp --dport 137 -j ACCEPT
-A RH-Firewall-1-INPUT -s 192.168.1.0/24 -m state --state NEW -p tcp --dport 138 -j ACCEPT
-A RH-Firewall-1-INPUT -s 192.168.1.0/24 -m state --state NEW -p tcp --dport 139 -j ACCEPT
-A RH-Firewall-1-INPUT -s 192.168.1.0/24 -m state --state NEW -p tcp --dport 445 -j ACCEPT

Feel free to change rules as per your setup. Save and close the file. Restart firewall service, enter:

REGISTRY-BASED CONFIGURATION

Starting with Samba version 3.2.0, the capability to
store Samba configuration in the registry is available.
The configuration is stored in the registry key
.
There are two levels of registry configuration:

  1. Share definitions stored in registry are used.
    This is triggered by setting the global
    parameter
    to “yes” in smb.conf.

    The registry shares are loaded not at startup but
    on demand at runtime by smbd.
    Shares defined in smb.conf take
    priority over shares of the same name defined in
    registry.

  2. Global smb.conf
    options stored in registry are used. This can be activated
    in two different ways:

    Firstly, a registry only configuration is triggered
    by setting

    in the section of smb.conf.
    This resets everything that has been read from config files
    to this point and reads the content of the global configuration
    section from the registry.
    This is the recommended method of using registry based
    configuration.

    Secondly, a mixed configuration can be activated
    by a special new meaning of the parameter

    in the section of smb.conf.
    This reads the global options from registry with the same
    priorities as for an include of a text file.
    This may be especially useful in cases where an initial
    configuration is needed to access the registry.

    Activation of global registry options automatically
    activates registry shares. So in the registry only case,
    shares are loaded on demand only.

Note: To make registry-based configurations foolproof
at least to a certain extent, the use
of
and

inside the registry configuration has been disabled:
Especially by changing the
inside the registry
configuration, one would create a broken setup where the daemons
do not see the configuration they loaded once it is active.

Регистрация компьютера в Active Directory домене

Убедитесь что Samba не запущена. Если запущена, ее нужно остановить:

service smb stop; service winbind stop

Чтобы включить компьютер в домен, выполните команду:

net ads join -U administrator

где administrator — имя пользователя домена, имеющего право создавать новые учетные записи.

Если не было выдано сообщение об ошибке, то машина успешно зарегистрирована в домене — иначе проверьте правильность задания параметров в /etc/samba/smb.conf и /etc/krb5.conf. Убедитесь, что пользователь, указанный после -U в net ads join, имеет необходимые права на создание новых учетных записей.

Теперь можно запустить необходимые службы:

# service smb start; service winbind start

Решение проблем

Проблемы подключения к Windows 7 — mount error(12): cannot allocate memory

Известная ошибка Windows 7 «mount error(12): cannot allocate memory» может быть исправлена установкой пары ключей в реестре системы Windows:

  • (установить значение )
  • (установить значение )

В качестве альтернативы можно запустить командную строку от имени Администратора и выполнить следующее:

reg add "HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management" /v "LargeSystemCache" /t REG_DWORD /d 1 /f
reg add "HKLM\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters" /v "Size" /t REG_DWORD /d 3 /f

Выполните одно из следующих действий, чтобы изменения вступили в силу:

  • Перезагрузите Windows
  • Перезапустите службу на сервере через services.msc
  • Выполните в командной строке и ; после остановки служба может перезапуститься автоматически

Примечание: Поиск решения в интернете подскажет другое решение, рекомендующее пользователям добавить ключ, изменяющий размер «IRPStackSize». Это неправильное решение для устранения проблемы в Windows 7. Не применяйте его

Проблемы получения доступа к ресурсам, защищенным паролем, из Windows

Обратите внимание, что это должно быть добавлено в локальный файл smb.conf, а не в файл сервера

# lanman fix
client lanman auth = yes
client ntlmv2 auth = no

Диалоговое окно появляется с большой задержкой

У меня была проблема, связанная с тем, что диалоговое окно для ввода пароля появлялось с задержкой около 30 секунд, когда я пытался установить соединение из Windows XP/Windows 7. Когда я посмотрел файл error.log на сервере, я увидел:

[2009/11/11 06:20:12,  0] printing/print_cups.c:cups_connect(103)
Unable to connect to CUPS server localhost:631 - Interrupted system call

Эта опция предотвращает поиск cups и файла /etc/printcap:

printing = bsd
printcap name = /dev/null

Ошибка: Failed to retrieve printer list: NT_STATUS_UNSUCCESSFUL

Если вы являетесь домашним пользователем, используете samba исключительно для организации общего доступа к файлам с сервера или NAS и не заинтересованы в организации общего доступа к принтерам, вы можете исправить эту ошибку, добавив следующие строки в файл /etc/samba/smb.conf:

load printers = No
printing = bsd
printcap name = /dev/null
disable spoolss = Yes

Перезапустите samba:

systemctl restart smbd

…проверьте ваши логи:

cat /var/log/samba/smbd.log

и больше ошибка не должна появляться.

Не удается предоставить общий доступ к папке

Проблема проявляется в том, что, когда вы пытаетесь предоставить общий доступ к папке через Dolphin (файловый менеджер), и вначале, вроде бы, все работает нормально, после перезапуска Dolphin иконка ресурса исчезла из папки, а в терминале (Konsole) вы видите следующий вывод:

‘net usershare’ returned error 255: net usershare: usershares are currently disabled

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

И вы используете firewall (iptables), поскольку не доверяете вашей локальной (школа, университет, отель) сети. Это может происходить по следующей причине: когда smbclient просматривает локальную сеть, он посылает широковещательный запрос на udp-порт 137. Затем серверы сети отвечают вашему клиенту, но, поскольку исходный адрес ответа отличается от адреса назначения, который видел iptables при отправке запроса, iptables не признает ответ как «установленное соединение» или «относящийся к запросу», и, следовательно, пакет отбрасывается. Возможное решение — добавление:

iptables -t raw -A OUTPUT -p udp -m udp --dport 137 -j CT --helper netbios-ns

в вашу конфигурацию iptables.

Подключение к серверу завершилось неудачей: (Error NT_STATUS_UNSUCCESSFUL)

Вероятно, вы указываете неправильное имя сервера. Чтобы узнать его, запустите на сервере команду и найдите строку «Transient hostname».

Рабочая группа

Рабочая группа должна быть одинаковой на всех устройствах. Как правило, так и есть. Но желательно проверить. Для этого откройте свойства компьютера «Система» и перейдите в «Дополнительные параметры системы».

Там будет указана «Рабочая группа». Чтобы изменить ее, нужно нажать на кнопку «Изменить».

Еще раз: имя рабочей группы должно быть одинаковым на всех компьютерах.

Если у вас проблема с доступом к сетевому накопителю (к флешке через маршрутизатор), то в настройках общего доступа на том же роутере ASUS так же указана рабочая группа. Можете посмотреть на скриншоте выше в статье. Она должна быть такой же, как на компьютере.

Different Ways to Keep SMB ports Secure

Keeping network SMB ports open for enabling applications to operate comes with a security risk. So, users might be thinking about how they can keep their networks protected and maintain application operation. Here, we have come up with some options that will help you in securing the two most important and popular SMB ports firewall.

  1. Download a VPN for protecting and encrypting network traffic.
  2. Allow endpoint protection or SMB ports firewall for protecting the ports from cybercriminals. Many solutions comprise of a blacklist for preventing the connection from familiar IP addresses attackers.
  3. Implement a VLAN for isolating inner network traffic.
  4. Employ MAC address filters for keeping unknown systems to access the network. However, it requires substantial management for keeping the list always maintained.

Apart from these particular network protections stated above, users can also implement a data-centric security strategy for protecting their most significant resource, which is the data stores on the SMB file shares.

It is a pretty monumental task to understand who all can access the sensitive data over the SMB shares. Varonis tracks the data and access rights. It even discovers the sensitive data present on the SMB shares. It is essential to monitor the data for detecting progressive attacks. Plus, it is important to protect the data against breaches.

Varonis shows you where the data is insecure on the SMB ports. It even monitors those SMB shares for irregular access and impending cyberattacks. Before you go for SMB ports firewall, it is best to check out a demo for seeing how Varonis tracks CIFS on EMC, NetApp, Samba shares, and Windows for keeping the data safe.

Новый алгоритм подписывания

SMB 3.0 и 3.02 используют более новый алгоритм шифрования для подписывания: AES — код проверки подлинности сообщений на основе шифров (CMAC). В SMB 2.0 использовался старый алгоритм шифрования HMAC-SHA256. AES-CMAC и AES-CCM могут значительно ускорить шифрование данных на самых современных процессорах с поддержкой инструкций AES.

В Windows Server 2022 и Windows 11 применяется AES-128-GMAC для подписывания SMB 3.1.1. Windows будет автоматически согласовывать этот более качественный метод шифрования при подключении к другому компьютеру, который его поддерживает. Windows по-прежнему поддерживает AES-128-CMAC. Дополнительные сведения см. в статье Надежная настройка подписывания SMB.

Настройка samba в CentOS 8

Сперва перед началом настройки переименуйте конфигурационный файл Samba для сохранения его резервной копии. Выполняется это действие следующей командой:

1. Общий  ресурс с анонимным доступом

Теперь создайте на сервере общий ресурс в котором будут хранится файлы и папки с предоставленным к ним анонимным доступом. Для этого вам необходимо создать папку к которой будет предоставлен анонимный доступ:

Затем настройте права и разрешения selinux на доступ к этой папке при помощи следующих команд:

Теперь создадим новый файл конфигурации Samba следующей командой:

Добавьте в созданный файл следующие строки:

Проверьте настройки Samba запустив следующую команду:

Теперь вам необходимо добавить службу Samba в брандмауэр и запустить её. Для этого выполните следующие команды:

Запустите и добавьте в автозагрузку сервис Samba:

Теперь на вашей windows машине откройте строку Выполнить находящуюся в меню Пуск или при помощи сочетания клавиш Win+R. В открывшейся строке наберите следующую команду и нажмите ОК либо Enter:

У вас откроется сетевая папка расположенная на вашем CentOS 8 сервере настроенная для анонимного доступа.

Теперь вы можете добавлять требуемые файлы и папки в эту папку предоставляя другим пользователям доступ к ним.

Настройка Samba CentOS 8 для анонимного доступа к данным завершена.

2. Общий ресурс с приватным доступом

Для предоставления доступа к файлам и папкам определенным пользователям создайте защищенную папку Samba. Сперва создайте защищенную группу с пользователями. Для этого выполните следующую команду:

Теперь добавьте пользователя в группу securedgroup от имени которого будет осуществляться вход в защищенную папку:

Теперь создайте защищенную общую папку Samba и добавьте к ней необходимые разрешения выполнив следующие команды:

Теперь добавьте пользователя в базу данных и установите для него пароль:

Добавьте в файл конфигурации Samba следующие строки:

Затем перезапустите Samba следующей командой:

Теперь для того, чтобы получить доступ к защищенной папке вашего CentOS 8 сервера из вашей windows машины откройте строку Выполнить из пункта меню Пуск или при помощи комбинации клавиш Win+R и наберите:


Затем нажмите ОК или клавишу Enter.

При попытке входа в защищенную папку у вас появится окно с требованием ввести имя пользователя и пароль для получения доступа к файлам находящимся в защищенной папке.

После ввода имени пользователя и пароля вы сможете получить доступ к защищенной папке. Теперь вы можете добавлять в нее файлы и папки для того, чтобы поделиться ими только с определенными пользователями.

What is an SMB Port

While Port 139 is known technically as ‘NBT over IP’, Port 445 is ‘SMB over IP’. SMB stands for ‘Server Message Blocks’. Server Message Block in modern language is also known as Common Internet File System. The system operates as an application-layer network protocol primarily used for offering shared access to files, printers, serial ports, and other sorts of communications between nodes on a network.

Most usage of SMB involves computers running Microsoft Windows, where it was known as ‘Microsoft Windows Network’ before the subsequent introduction of Active Directory. It can run on top of the Session (and lower) network layers in multiple ways.

For instance, on Windows, SMB can run directly over TCP/IP without the need for NetBIOS over TCP/IP. This will use, as you point out, port 445. On other systems, you’ll find services and applications using port 139. This means that SMB is running with NetBIOS over TCP/IP.

Malicious hackers admit, that Port 445 is vulnerable and has many insecurities. One chilling example of Port 445 misuse is the relatively silent appearance of NetBIOS worms. These worms slowly but in a well-defined manner scan the Internet for instances of port 445, use tools like PsExec to transfer themselves into the new victim computer, then redouble their scanning efforts. It is through this not much-known method, that massive “Bot Armies“, containing tens of thousands of NetBIOS worm compromised machines, are assembled and now inhabit the Internet.

Read: How to forward Ports?

How to check if SMB port is open in Windows 10

You need to use this PowerShell command. If you’re going to enable the SMBv2 file transfer protocol on your computer, you first need to check whether your system can install it or not. Once you know the status you can opt to enable or disable SMBv2.

Is SMB port 445 secure?

Considering the above perils, it is in our interest to not expose Port 445 to the Internet but like Windows Port 135, Port 445 is deeply embedded in Windows and is hard to close safely. That said, its closure is possible, however, other dependent services such as DHCP (Dynamic Host Configuration Protocol) which is frequently used for automatically obtaining an IP address from the DHCP servers used by many corporations and ISPs, will stop functioning. These posts show you how to disable SMBv1 and SMBv2.

Considering all the security reasons described above, many ISPs feel it necessary to block this Port on behalf of their users. This happens only when port 445 is not found to be protected by NAT router or personal firewall. In such a situation, your ISP may probably prevent port 445 traffic from reaching you.

Настройка доступа в Samba

С помощью самой же Samba так же можно ограничить доступ. Но это скорее как вспомогательная опция к брэндмауэру.

interfaces -это глобальная опция в файле конфигурации smb.conf, которая может ограничить возможность установления соединений с Samba на одном или нескольких сетевых интерфейсах. В системах с одним сетевым интерфейсом эта опция может быть полезна только для того, чтобы Samba могла работать с интерфейсом loopback или создаваться программным обеспечением вроде VMware. Вот типичный пример использования этой опции:

Теперь порты слушаются только на loopback интерфейсе и интерфейсе с адресом 192.168.100.1

И еще два параметра hosts deny и hosts allow. С их помощью запрещаем или разрешаем доступ от источника:

Вот так.