Samba порты: Samba: настройка файлового обмена между Windows и Linux
Direct host SMB over TCP/IP — Windows Server
-
- Чтение занимает 2 мин
В этой статье
В этой статье описывается, как направлять блок сообщений сервера (SMB) по TCP/IP.
Исходная версия продукта: Windows Server 2012 R2
Исходный номер КБ: 204279
Аннотация
Windows поддерживает трафик общего доступа к файлам и принтерам с помощью протокола SMB, непосредственно на TCP. Это отличается от предыдущих операционных систем, в которых трафик SMB требует, чтобы протокол NetBIOS через TCP (NBT) работал на TCP/IP-транспорте. Удаление транспорта NetBIOS имеет ряд преимуществ, в том числе:
- Упрощение транспорта трафика SMB.
- Удаление вещания WINS и NetBIOS в качестве средства разрешения имен.
- Стандартизация разрешения имен в DNS для общего доступа к файлам и принтерам.
Если включены как прямой хост-интерфейс, так и интерфейсы NBT, оба метода пытаются одновременно, и используется первый ответ. Это позволяет Windows правильно работать с операционными системами, которые не поддерживают прямое размещение трафика SMB.
Дополнительные сведения
NetBIOS через TCP традиционно использует следующие порты:
- nbname: 137/UDP
- nbname: 137/TCP
- nbdatagram: 138/UDP
- nbsession: 139/TCP
Прямой трафик SMB без NetBIOS использует порт 445 (TCP и UDP). В этой ситуации четырехбайтный загон предшествует трафику SMB. Первыйбайт этого загона всегда составляет 0x00, а следующие 3 -х — это длина оставшихся данных.
Чтобы отключить NetBIOS через TCP/IP, с помощью следующих действий. Эта процедура заставляет весь трафик SMB быть прямым. При внедрении этого параметра необходимо действовать, так как компьютер с Windows не может взаимодействовать с более ранними операционными системами с помощью трафика SMB:
- Выберите «Начните», найдите пункт«Параметры», а затем щелкните «Сеть» и «Подключение для телефонного подключения».
- Щелкните правой кнопкой мыши Подключение по локальной сети и выберите Свойства.
- Щелкните протокол Интернета (TCP/IP) и выберите «Свойства».
- Нажмите кнопку Дополнительно.
- Перейдите на вкладку WINS и выберите «Отключить NetBIOS через TCP/IP».
Вы также можете отключить NetBIOS через TCP/IP с помощью DHCP-сервера с кодом 1 для поставщика Майкрософт (отключать NetBIOS через TCP/IP). Установка для этого параметра значения 2 отключает NBT. Дополнительные сведения об использовании этого метода см. в файле справки DHCP Server в Windows.
Чтобы определить, включена ли netBIOS через TCP/IP на компьютере под windows, выдайте команду или команду в net config redirector
net config server
командной области. В выходных данных показаны привязки для устройства NetbiosSmb (который является транспортировкой без NetBIOS) и для устройства NetBT_Tcpip (которое является NetBIOS через TCP-транспорт). Например, в следующем примере выходных данных показан прямой hosted и транспорт NBT, привязанный к адаптеру:
Workstation active on
NetbiosSmb (000000000000)
NetBT_Tcpip_{610E2A3A-16C7-4E66-A11D-A483A5468C10} (02004C4F4F50)
NetBT_Tcpip_{CAF8956D-99FB-46E3-B04B-D4BB1AE93982} (009027CED4C2)
NetBT_Tcpip привязаны к каждому адаптеру по отдельности; экземпляр NetBT_Tcpip для каждого сетевого адаптера, к который он привязан. NetbiosSmb — это глобальное устройство, которое не привязано к адаптеру. Это означает, что SMB с прямым доступом нельзя отключить в Windows без полного отключения общего доступа к файлам и принтерам для сетей Майкрософт.
Почему Linux не перенаправляет порт Samba на Alfresco JLAN?
Я пытаюсь SMB/Киф Java от реализации свежем воздухе, под открытым небом имени JLan.
Мой сервер правильно встал, но я использую непривилегированные порты для SMB (1445, 1139, 1138, 1137).
Я использовал этот код shell:
echo 1 > /proc/sys/net/ipv4/ip_forward
modprobe iptable_nat
iptables -F
iptables -t nat -F
iptables -P INPUT ACCEPT
iptables -P FORWARD ACCEPT
iptables -P OUTPUT ACCEPT
iptables -t nat -A PREROUTING -p tcp --dport 445 -j REDIRECT --to-ports 1445
iptables -t nat -A PREROUTING -p tcp --dport 139 -j REDIRECT --to-ports 1139
iptables -t nat -A PREROUTING -p udp --dport 137 -j REDIRECT --to-ports 1137
iptables -t nat -A PREROUTING -p udp --dport 138 -j REDIRECT --to-ports 1138
Если я попытаюсь:
telnet localhost 1445
все идет OK .
Но, когда я пытаюсь с:
telnet localhost 445
Я получаю:
Trying 127.0.0.1...
telnet: Unable to connect to remote host: Connection refused
Кто-нибудь знает, в чем дело? Я использую Ubuntu 12.04.
alfresco
samba
smb
cifs
Поделиться
Источник
Sergio Figueras
30 мая 2013 в 13:24
2 ответа
- samba путь не найден
Я пытаюсь установить сервер samba на моем сервере Linux redhat. Мой сервер находится на machinename.myschool.edu, я могу пинговать и ssh на него без проблем. Мой smb.conf выглядит так: [sharename] comment = my share path = /home/username writeable = yes browseable = yes valid users = username Я…
- Ошибка при установке Alfresco в ubuntu(Linux)
Я попытался установить сервер хранения документов Alfresco в моей системе Linux . Но есть одна проблема, которую я не могу решить. Я скачал alfresco-community-3.4.a-installer-linux-x32.bin и начал устанавливать его из кода командной строки terminal Настройка запущена и наконец появилась ошибка…
3
По какой-то причине localhost
нуждается в особом обращении. Добавь
iptables -t nat -A OUTPUT -p tcp -d 127.0.0.1 --dport 445 -j REDIRECT --to-port 1445
iptables -t nat -A OUTPUT -p tcp -d 127.0.0.1 --dport 139 -j REDIRECT --to-port 1139
iptables -t nat -A OUTPUT -p tcp -d 127.0.0.1 --dport 137 -j REDIRECT --to-port 1137
iptables -t nat -A OUTPUT -p tcp -d 127.0.0.1 --dport 138 -j REDIRECT --to-port 1138
и все должно быть хорошо.
Тем не менее, я лично переключился с iptables
на authbind
, чтобы избежать выполнения root. Его еще проще настроить.
Поделиться
Andreas Steffan
30 мая 2013 в 13:54
0
http://wiki. alfresco.com/wiki/Changing_Bind_Addresses_and_Ports_for_Samba_and_FTP
Слово от мудрого. Избегайте делать редиректы, как описано выше. Это рецепты кошачьих боев между Samba и Alfresco. Петля На самом деле 127.*. .*
под Linux. Таким образом, 127.0.0.2
можно было бы отдать на открытом воздухе, оставив 127.0.0.1
на samba. В файле хоста вы можете объявить имя, принадлежащее .localdomain
или тому, каким будет поиск по сети DNS.
Честно говоря, не устанавливая Alfresco и samba в собственные зоны, это прямой рецепт кошачьих боев между ними в какой-то момент.
Существует серьезная ошибка в документации alfresco, когда речь заходит о настройке samba.http ://lists.samba.org/archive/samba/1997-November/004810.html вообще не использовать адрес сокета. Используйте только интерфейсы в конфигурации samba
interfaces = 192.168.129.2/255.255.255.0 127.0.0.1
bind interfaces only = yes
Обратите внимание, что 192. 168.129.0
в Примере Alfresco теперь является 192.168.129.2
. Да, это правильный способ объявить адрес samba. Также обратите внимание, что они пропустили факт 127.0.0.1
, который требуется для работы инструментов samba.
В принципе, лучше сразу сказать двум программам, чтобы они встали в своих собственных областях.
Почему samba должен иметь 127.0.0.1
, даже если вы не используете samba. smbpasswd
и другие инструменты samba будут пытаться получить доступ к 127.0.0.1
. Да кошачьи бои. Некоторые инструменты sambas ожидают, что samba будет 127.0.0.1
они ломаются, если это не так. Да samba инструменты доступа на открытом воздухе может сломаться на свежем воздухе, а также. Это просто очень не очень хорошая идея перенаправлять 127.0.0.1, особенно когда у нас есть еще несколько петлевых адресов.
Да, и alfresco, и samba преследуют точно такие же интерфейсы. Альф-это инопланетянин. Alfresco не будет иметь PAM систему входа Linux, использующую его. Так что 127.0.0.1
следует держать подальше от рук на открытом воздухе.
Поделиться
oiaohm
19 ноября 2013 в 02:09
Похожие вопросы:
Самый быстрый способ определить несвежий Samba mount на Linux
Каков наилучший (самый быстрый) способ определить, мертва ли точка Samba mount на Linux? Мне нужно сделать это в C. Системные вызовы типа statfs(), statvfs() блокируются на 30-40 сек при вызове…
SMB сервер на Android (не ПОРТ По умолчанию)
Я работаю над проектом по разработке сервера SMB на Android,и для этого я использую бесплатную реализацию сервера Alfresco JLAN. Вопрос в том, что я не могу использовать порты по умолчанию (445,…
Создать символическую ссылку на samba экспортированный каталог linux из Windows
У меня есть следующая установка: Linux машина (fooserver) — > экспорт /data/directory в виде Samba доли Windows machine — > mounts /data/directory at j: (net use j: \\fooserver\directory) Вопрос в. ..
samba путь не найден
Я пытаюсь установить сервер samba на моем сервере Linux redhat. Мой сервер находится на machinename.myschool.edu, я могу пинговать и ssh на него без проблем. Мой smb.conf выглядит так: [sharename]…
Ошибка при установке Alfresco в ubuntu(Linux)
Я попытался установить сервер хранения документов Alfresco в моей системе Linux . Но есть одна проблема, которую я не могу решить. Я скачал alfresco-community-3.4.a-installer-linux-x32.bin и начал…
CVS выезд в Windows из Linux Samba CVSROOT
Мне нужно оформить заказ с базы CVS в Linux, на машине Windows со ссылкой каталога на папку samba на Linux. В Linux, мой папка cvsroot является mylogin$ cd /home/myuser/repositories/cvsroot mylogin$…
Как для установки на свежем воздухе jlan файл-сервер в виде пакета автономно java?
Я новичок в реализации файлового сервера. Alfresco jlan кажется хорошим началом, так как это чистая реализация Java большинства серверных протоколов — CIFS, NFS и FTP. Есть много тем, посвященных…
Alfresco callling неправильные порты после применения усилителей
Здравствуйте, у меня очень странная проблема, которая возникает, когда я применяю усилители в своей локальной установке на открытом воздухе. Процесс применения усилителей идет гладко, и alfresco…
Зачем пересылать порт 80 на 8080?
Как описано в моем вопросе, как развернуть сервер Node.js WebSocket на Amazon Elastic Beanstalk? , Используя веб-консоль Elastic Beanstalk, я запустил новую среду веб-сервера 1.0 с помощью:…
Обходной путь или альтернатива Samba на машине, не являющейся Linux
Эта территория для меня нова, я хочу реализовать Samba в машине, отличной от Linux. Из того, что я читал, я вижу, что Samba применяется только на машинах Linux. Есть ли какой-нибудь обходной путь,…
Хакеры открывают SMB-порты роутеров, чтобы использовать против них эксплоиты АНБ
Специалисты компании Akamai предупредили о новой вредоносной кампании EternalSilence, направленной на массовую компрометацию роутеров. Злоумышленники целенаправленно открывают SMB-порты роутеров, чтобы добраться до устройств, расположенных за ними.
Исследователи пишут, что преступники эксплуатируют технику UPnProxy, о которой впервые стало известно в апреле 2018 года. Данный метод подразумевает эксплуатацию уязвимых UPnP-сервисов и последующую модификацию таблиц NAT (Network Address Translation). Так атакующие создают кастомые правила, позволяющие, например, обращаться к публичному IP-адресу роутера по определенному порту, чтобы затем произошла автоматическая переадресация на другой IP-адрес и порт.
Но если в апреле UPnProxy применялась для проксирования трафика, то теперь эксперты Akamai обнаружили новый вариант применения этой техники. Теперь атакующие модифицируют таблицы NAT таким образом, чтобы иметь возможность извне подключиться к SMB портам (139, 445) и устройствам, расположенным за роутером.
По подсчетам исследователей, перед подобными атаками уязвимы порядка 277 000 роутеров, и 45 113 из них уже подверглись компрометации. Так, один атакующий или одна и та же хак-группа внесли в NAT пострадавших устройств запись «galleta silenciosa». Специалисты считают, что взлом такого количество роутеров привел к компрометации множества других устройств за ними, и оценивают число пострадавших девайсов примерно в 1,7 млн.
Что именно злоумышленники делают с пострадавшими устройствами далее, не совсем ясно, однако специалисты убеждены, что дальнейшая вредоносная активность связана с использованием знаменитого эксплоита EternalBlue. Напомню, что данный эксплоит был похищен у АНБ и после опубликован в свободном доступе, а его работа направлена на эксплуатацию уязвимости в протоколе SMB. В частности, он использовался для распространения шифровальщика WannaCry в мае 2017 года, а также в ходе атак малвари NotPetya.
Более того, аналитики Akamai считают, что в данной вредоносной кампании задействован также и эксплоит EternalRed – это вариация EternalBlue, предназначенная для заражения Linux-систем и работающая с Samba.
«Главной целью здесь являются не таргетированные атаки. Это попытка выгодно использовать уже проверенные и готовые к работе эксплоиты, закидывание большой сети в сравнительно маленький водоем, в надежде, что удастся собрать пул из ранее недоступных девайсов», — резюмируют исследователи.
Безопасность Samba посредством Iptables — Цифтех
В Samba имеется достаточно много возможностей для ограничения доступа к общим ресурсам, например, это разрешение доступа только для определенных пользователей, установка паролей, проверка членства в группах и фильтрация на сетевом уровне. Параметры последней группы, например, allow hosts и smb ports работают на уровне IP-адресов и портов UDP/TCP, позволяя указывать, каким компьютерам разрешено подключаться к серверу Samba.
Контроль на сетевом уровне осуществляется тогда, когда можно определить, какие устройства будут подключаться к серверу – например, устройства локальной сети или подсети или группы серверов. Это первая линия обороны: если злоумышленник не может подключиться к устройству, значит, оно уже как-то защищено.
Управление сетевым доступом через демон Samba может показаться идеальным решением, однако это не самый лучший способ. Чтобы определить, является ли удаленное подключение доверенным, Samba должна сначала разрешить его, поскольку невозможно получить никакой информации о подключении, которое еще не установлено. Если защита строится на том, чтобы запретить определенному кругу лиц подключаться к Samba, то было бы разумнее сделать так, чтобы Samba вообще не видела этих подключений. Любые настройки внутри Samba касаются только Samba, и при таком способе защиты необходимо искать решения для защиты других демонов, например, для Web- и файловых серверов.
Управление доступом на уровне хоста, а не на уровне приложения позволяет разделять проблемы и снижает количество ошибок, вызванных внесением изменений в файл smb.conf.
В Linux имеется надежный брандмауэр уровня хоста под названием iptables. Этот брандмауэр может проверять входящие, исходящие или промежуточные пакеты, передаваемые через Linux-устройство. Название iptables может означать встроенную в ядро Linux систему фильтрации пакетов либо имя команды, используемой для управления сетевыми фильтрами. Система фильтрации пакетов ядра развивалась на протяжении многих лет, превратившись из простого механизма сравнения пакетов в надежный брандмауэр с поддержкой динамической загрузки подключаемых модулей. Таким образом, настройка iptables может оказаться достаточно сложной задачей, если не ограничиваться использованием типовых конфигураций.
Первая важная идея iptables заключается в идее самих таблиц. Таблица – это независимый список правил и действий. Если ядро Linux должно отфильтровать пакет, то оно обращается к таблице filter. Если выполняется трансляция сетевых адресов (NAT), то используется таблица nat. В зависимости от того, какие сетевые функции были загружены в ядро, могут использоваться различные таблицы. Пакеты могут передаваться между несколькими таблицами, например, при выполнении фильтрации пакета до выполнения трансляции сетевого адреса.
Внутри каждой таблицы содержится набор цепочек. В каждой таблице есть несколько предопределенных цепочек, к которым можно добавлять собственные цепочки. Предопределенные цепочки используются на различных этапах жизненного цикла пакетов. Например, в таблице filter есть три предопределенные цепочки:
INPUT. Используется для определения того, что делать с пакетами, предназначенными для самого хоста.
OUTPUT. Применяется к пакетам, созданным хостом.
FORWARD. Работает только с пакетами, передающимися с одного сетевого интерфейса на другой, например, когда хост выступает в качестве маршрутизатора.
Цепочка содержит упорядоченный список правил (он может быть пустым), каждое из которых состоит из условия и выполняемого действия. Условие может быть практически любым, начиная от IP-адреса или порта и заканчивая операторами ограничения скорости, срабатывающими только при слишком частом повторении определенного события. Выполняемым действием может быть другая цепочка или операция, например, инструкция на принятие или сброс пакета. Как условия, так и выполняемые действия можно создавать с помощью модулей ядра, поэтому возможности безграничны.
Ядро выбирает цепочку на основе того, что должно быть сделано, и просматривает каждое правило по порядку. При первом совпадении ядро переходит к выполнению действия. В большинстве случаев обработка правил прекращается, хотя некоторые действия (например, журналирование) считаются незавершающими, и ядро переходит к обработке следующего правила. Если совпадений не находится, то выполняется действие цепочки по умолчанию.
Существует множество различных способов настройки политики брандмауэра для Samba, реализуемых в зависимости от топологии сети и от того, кто должен иметь доступ к серверу Samba. С самого начала нужно решить, будет обеспечен защитой весь хост целиком или же только Samba.
Если вы решили защищать весь хост, то не имеет значения, какие порты использует Samba. В следующем примере показана простая политика, позволяющая локальному серверу принимать трафик только от клиентов частной сети 192.168.5.0/24.
iptables -A INPUT -s 192.168.5.0/24 -j ACCEPT
iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -P INPUT DROP
Первая команда добавляет правило в цепочку INPUT путем его добавления в текущий список правил. Это правило говорит о том, что для любого трафика, приходящего из сети-источника (-s) 192.168.5.0/24, будет выполняться действие ACCEPT, разрешающее получение пакетов. Вторая команда разрешает получение пакетов, приходящих при уже установленном соединении – за это отвечает вызов matcher state (оператор проверки соответствия состояния -m state). Этот matcher state следит за тем, какие подключения покидают хост. Ответные исходящие пакеты считаются установленными или связанными (established или related), поэтому остальные правила пропускают эти пакеты.
Последняя команда определяют политику по умолчанию цепочки INPUT, сбрасывающую пакеты. Если пакет не пришел из сети 192.168.5.0/24 или не является пакетом установленного хостом соединения, то он сбрасывается.
Можно настроить более тонкую фильтрацию на уровне портов. В предыдущем примере пакеты фильтруются только на основе адреса сети-источника, поэтому несоответствующий трафик блокируется для всех служб. Если же, например, на вашем хосте запущен Web-сервер, который должен быть доступен всем пользователям Интернета, то в этом случае предыдущая политика уже не подходит.
Samba использует четыре различных порта:
137 UDP. Службы имен NetBIOS.
138 UDP. Службы датаграмм NetBIOS.
139 TCP. Службы сеансов NetBIOS.
445 TCP. Прямая передача (CIFS over TCP).
Политика, разрешающая подключения к Samba только из сети 192.168.5.0/24 и подключения к Web-серверу без каких-либо ограничений (на уровне портов)
iptables -A INPUT -p tcp -m state --state NEW --dport 80 -j ACCEPT
iptables -A INPUT -p tcp -m state --state NEW --dport 443 -j ACCEPT
iptables -A INPUT -p udp -s 192. 168.5.0/24 --dport 137 -j ACCEPT
iptables -A INPUT -p udp -s 192.168.5.0/24 --dport 138 -j ACCEPT
iptables -A INPUT -p tcp -m state --state NEW -s 192.168.5.0/24 --dport 139 -j ACCEPT
iptables -A INPUT -p tcp -m state --state NEW -s 192.168.5.0/24 --dport 445 -j ACCEPT
iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -P INPUT DROP
Политика на уровне портов сложнее политики, реализованной принимать трафик от клиентов определенной частной сети, указанной выше, поскольку в ней определяются несколько различных приложений, для каждого из которых применяются свои правила. Первые два правила соответствуют любым входящим TCP-пакетам (-p tcp), являющимся частью нового подключения (-m state —state NEW) и отправляемым на порты 80 или 443 (—dport 80, —dport 443). Никаких ограничений на адрес источника нет, поэтому принимаются любые пакеты.
Следующие две строки соответствуют UDP-пакетам (-p udp), приходящим из внутренней сети (-s 192. 168.5.0/24) на порты 137 и 138 (—dport 137, —dport 138). UDP является протоколом без запоминания состояния (stateless), поэтому нет необходимости выяснять, новое это подключение или уже установленное.
Строки 5 и 6 объединяют команду сопоставления состояния с фильтром адресов источников, разрешая только новые подключения к портам 139 и 445, если пакеты приходят из внутренней сети.
Наконец, последние две строки работают так же, как и в предыдущей политике. Если пакет относится к уже установленному соединению, то он принимается. Весь остальной трафик отбрасывается.
Для просмотра политики используется команда unexpected. Опция -L выводит содержимое политики, а опция -v позволяет выводить дополнительную информацию, например, счетчики пакетов.
# iptables -L -v
Chain INPUT (policy DROP 47 packets, 5125 bytes)
pkts bytes target prot opt in out source destination
0 0 ACCEPT tcp -- any any anywhere anywhere state NEW tcp dpt:http
0 0 ACCEPT tcp -- any any anywhere anywhere state NEW tcp dpt:https
0 0 ACCEPT udp -- any any 192. 168.5.0/24 anywhere udp dpt:netbios-ns
0 0 ACCEPT udp -- any any 192.168.5.0/24 anywhere udp dpt:netbios-dgm
0 0 ACCEPT tcp -- any any 192.168.5.0/24 anywhere state NEW tcp dpt:139
0 0 ACCEPT tcp -- any any 192.168.5.0/24 anywhere state NEW tcp dpt:445
214 15216 ACCEPT all -- any any anywhere anywhere state RELATED,ESTABLISHED
Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)
pkts bytes target prot opt in out source destination
Chain OUTPUT (policy ACCEPT 292 packets, 35009 bytes)
pkts bytes target prot opt in out source destination
В первом и втором столбцах подробного вывода отображается число пакетов и байтов, попавших под действия правил. Пакеты попадали под действие только последнего правила. Если внимательно посмотреть на первую строку вывода, то окажется, что выполняемое по умолчанию действие также содержит отличный от нуля счетчик пакетов. 47 пакетов было сброшено, поскольку они не удовлетворяли правилу, это означает, что либо кто-то пытался получить незаконный доступ к хосту, либо разрешенный трафик был заблокирован неверно настроенной политикой брандмауэра.
Просмотр политики брандмауэра нужен также для того, чтобы полностью выяснить, как работает правило. Поскольку обработка трафика останавливается после первого совпадения, следует начать с самой верхней строки политики и постепенно переходить к следующим правилам, чтобы определить, какое из них блокирует ваш трафик.
Одна из типичных ошибок – это ситуация, когда более общее правило предшествует более конкретному правилу. Во избежание проблем самые детализированные правила следует помещать в самое начало политики, чтобы исключения обрабатывались в первую очередь. Тем не менее, этот подход не всегда решает проблему, и вы можете обнаружить, что не все пользователи могут подключаться к вашему серверу.
Политика, содержащая перекрывающиеся правила:
# iptables -L -v
Chain INPUT (policy DROP 21 packets, 2967 bytes)
target prot opt in out source destination
ACCEPT tcp -- any any anywhere anywhere state NEW tcp dpt:http
ACCEPT tcp -- any any anywhere anywhere state NEW tcp dpt:https
DROP tcp -- any any 192. 168.5.0/24 anywhere
ACCEPT udp -- any any 192.168.1.0/24 anywhere udp dpt:netbios-ns
ACCEPT udp -- any any 192.168.1.0/24 anywhere udp dpt:netbios-dgm
ACCEPT tcp -- any any 192.168.1.0/24 anywhere state NEW tcp dpt:netbios-ssn
ACCEPT tcp -- any any 192.168.1.0/24 anywhere state NEW tcp dpt:microsoft-ds
ACCEPT all -- any any anywhere anywhere state RELATED,ESTABLISHED
Политика, содержащая перекрывающиеся правила
# iptables -L -v
Chain INPUT (policy DROP 21 packets, 2967 bytes)
target prot opt in out source destination
ACCEPT tcp -- any any anywhere anywhere state NEW tcp dpt:http
ACCEPT tcp -- any any anywhere anywhere state NEW tcp dpt:https
DROP tcp -- any any 192.168.5.0/24 anywhere
ACCEPT udp -- any any 192.168.1.0/24 anywhere udp dpt:netbios-ns
ACCEPT udp -- any any 192.168.1.0/24 anywhere udp dpt:netbios-dgm
ACCEPT tcp -- any any 192.168.1.0/24 anywhere state NEW tcp dpt:netbios-ssn
ACCEPT tcp -- any any 192.168.1.0/24 anywhere state NEW tcp dpt:microsoft-ds
ACCEPT all -- any any anywhere anywhere state RELATED,ESTABLISHED
Здесь видно, что сервер находится в другой сети с адресом 192. 168.1.0/24. Доступ для остальных пользователей компании, находящихся в сети 192.168.5.0/24, должен быть заблокирован. Поскольку сеть 192.168.1.0/24 является частью сети 192.168.5.0/24, а правило, полностью блокирующее всю сеть 192.168.5.0/24 указано перед правилами, относящимися к SMB, то для пользователей сети 192.168.1.0/24 будет срабатывать правило DROP, поскольку в iptables используется принцип первого совпадения, а не наилучшего.
Решением этой проблемы является перемещение правила блокирования второй сети вниз чтобы оно стояло после более конкретных правил. Тогда прием пакетов второй сети (192.168.1.0/24) сервером будет разрешен.
Не редки случаи, когда неправильно настроенный брандмауэр блокирует доступ к samba — серверу. Самый простой способ проверить это – отключить брандмауэр и посмотреть, установится ли соединение, или нет. Однако это не всегда возможно, поэтому если вы не можете отключить брандмауэр, то проверьте, приходят ли пакеты на сервер.
Сетевые пакеты, которые видит сервер (даже если брандмауэр блокирует их), может показать программа tcpdump. Если tcpdump показывает попытки установления соединения сервером, значит, пакеты доходят до него. Это означает, что пакеты блокируются брандмауэром (при условии, что служба запущена).
Трассировка пакетов заблокированного SMB-подключения
# tcpdump -i wlan0 tcp port 445
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on wlan0, link-type EN10MB (Ethernet), capture size 96 bytes
20:24:18.392106 IP CLIENT.search > SERVER.microsoft-ds: S ...
20:24:21.358458 IP CLIENT.search > SERVER.microsoft-ds: S ...
20:24:27.393604 IP CLIENT.search > SERVER.microsoft-ds: S ...
tcpdump была запущен со следующими опциями:
-i wlan0. Прослушивать сетевой интерфейс wlan0.
tcp port 445. Отслеживать пакеты на TCP-порту 445.
Здесь мы видим три пакета, пришедшие на сервер. Стрелка означает направление потока: эти три пакета пришли с клиента на порт сервера microsoft-ds (порт с номером 445). Символ S в конце строки означает попытку подключения, а отсутствие ответа означает, что сервер не отвечает.
Другим признаком ошибки соединения является увеличивающийся временной интервал между успешно принятыми пакетами. Метка времени слева показывает нам, что второй пакет был получен примерно через 3 секунды после получения первого пакета, а третий пакет – через 6 секунд после получения предыдущего. В большинстве сетевых протоколов реализована экспоненциальная задержка передачи, т. е. время между успешными попытками каждый раз удваивается.
Поделиться ссылкой:
Похожее
Установка Samba на CentOS 6 – RDB IT Support
Настройка SELinux:
В первую очередь необходимо настроить или отключить SELinux.
Проверить, включен ли в вашей системе SELinux можно, выполнив следующую команду:
# selinuxenabled && echo enabled || echo disabled
Как отключить SELinux:
Для отключения SELinux в CentOS 6 откройте файл /etc/selinux/config, например, редактором vi:
# vi /etc/selinux/config
И замените значение переменной SELINUX c enforcing на disabled:
# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
# enforcing — SELinux security policy is enforced.
# permissive — SELinux prints warnings instead of enforcing.
# disabled — No SELinux policy is loaded.
SELINUX=disabled
# SELINUXTYPE= can take one of these two values:
# targeted — Targeted processes are protected,
# mls — Multi Level Security protection.
SELINUXTYPE=targeted
После изменения настроек перезагрузите систему:
# reboot
Следует обратить внимание на то, при отключенной SELinux у пользователей есть возможность некорректно маркировать файлы, поэтому если вы позже решите перевести SElinux обратно в режим enforcing при перезагрузке файловая система будет автоматически перемаркирована, что может занять некоторое время.
Установка Samba:
# yum install samba samba-common cups-libs samba-client
Создание директории:
Создайте папку, к которой вы будете предоставлять общий доступ:
# mkdir -p /home/howtoit
Настройка прав доступа:
И настройте на нее права:
# chown -R root:users /home/howtoit
# chmod -R 775 /home/howtoit
Откройте файл для конфигурации:
# vi /etc/samba/smb. conf
Проверьте, что у вас существуют следующие строчки в секции [global]:
[global]
security = user
passdb backend = tdbsam
workgroup = MYGROUP
server string = Samba Server Version %v
И там же, в секции [global] добавьте еще одну строчку со следующим содержанием:
map to guest = Bad User
Данная настройка означает, что запросы с неправильным паролем будут отклонены, если такое имя пользователя существует.
Если не существует, то такие запросы будут считаться как попытки зайти гостем (guest account).
Затем перейдите к концу файла, где указаны описания общих ресурсов (share definitions).
В первую очередь, если вы не планируете предоставлять общий доступ к домашним каталогам пользователей закомментируйте секцию [homes]:
[homes]
; comment = Home Directories
; browseable = no
; writable = yes
; valid users = %S
; valid users = MYDOMAIN\%S
То же можно сделать и с секцией [printers], отвечающей за общий доступ к принтерам:
;[printers]
; comment = All Printers
; path = /var/spool/samba
; browseable = no
; guest ok = no
; writable = no
; printable = yes
Теперь добавьте свою секцию со следующей конфигурацией:
[howtoit]
comment = Everybody has access
path = /home/howtoit
force group = users
create mask = 0666
directory mask = 0777
writable = yes
guest ok = yes
browseable = yes
Сохраните файл конфигурации.
Автозапуск Samba:
Настройте автоматический запуск службы samba при загрузке CentOS и запустите саму службу:
# chkconfig —levels 235 smb on
# /etc/init.d/smb restart
Настройка Firewall:
Вам также может понадобится настроить межсетевой экран (Samba использует порты 137, 138, 139, 445)
В крайней мере его отключить (не рекомендуется) временно (до перезагрузки):
# /etc/init.d/iptables stop
Или постоянно:
# /etc/init.d/iptables stop
# chkconfig iptables off
Источник:
http://howtoit.ru/linux/centos/item/21-centos-6-i-samba-chast-1-nastroyka-dostupa-k-obschey-papke-bez-parolya.html
http://howtoit.ru/linux/centos/item/19-otklyuchenie-selinux-v-centos-6.html
Поддержка | Synology Inc.
Служба ремонта Synology
Synology предоставляет гарантийное обслуживание всех аппаратных продуктов. Восстановительный ремонт выполняется специалистами Synology, и мы тщательно отслеживаем все детали процесса, гарантируя, что компонент будет отремонтирован надлежащим образом. Для некоторых моделей профессионального уровня доступно продление срока ограниченной гарантии на оборудование.
Служба ремонта
Указанные компоненты будут отремонтированы или восстановлены в течение гарантийного срока в соответствии со стандартом Synology (с новыми или восстановленными компонентами), чтобы гарантировать правильную работу компонентов после ремонта.
Прочитайте это перед тем, как обращаться в службу ремонта.
- Прочитайте и примите Warranty agreement.
- Гарантия может отличаться для разных моделей, поэтому убедитесь, что гарантия распространяется на указанный компонент. Learn more
- Убедитесь, что вы выполнили checklist и определили, что причина неисправности в оборудовании.
Примечание.
В обычных условиях гарантия активируется с даты, указанной в счете, выставленном компанией Synology, ее уполномоченными дистрибьюторами или реселлерами.
Процедура ремонта
- Обратитесь в офис продаж, в котором вы приобретали продукт — сначала обратитесь в офис продаж, в котором вы приобрели продукт, или к местному представителю (реселлеры или дистрибьюторы) для получения услуг по ремонту.
- Свяжитесь с Synology — обратитесь в компанию Synology для получения дополнительной помощи, только если офис, в котором вы приобрели продукт, по какой-либо причине не может предоставить услуги ремонта.
Чтобы подать заявку на услуги ремонта от Synology, войдите в учетную запись Synology Account.
Примечание.
- Перед отправкой NAS в службу ремонта необходимо выполнить резервное копирование личных данных и конфигураций. Компания Synology и ее авторизованные партнеры не несут ответственности за сохранение вашей конфиденциальности.
- Устройство и система будут восстановлены до заводских настроек по умолчанию, и исходные данные нельзя будет восстановить. Компания Synology не несет ответственность за потерю данных во время ремонта.
- Гарантия распространяется только на продукты Synology. На жесткие диски и другие совместимые устройства гарантия не распространяется.
- Компания Synology сохраняет за собой все права на окончательное решение, и оно будет принято исключительно компанией Synology.
Настройка брандмауэра с помощью firewalld в CentOS 8
Введение
firewalld — программное обеспечение для управления брандмауэрами, поддерживаемое многими дистрибутивами Linux. Выступает в качестве клиентского интерфейса для встроенных в ядро Linux систем фильтрации пакетов nftables и iptables.
В этом обучающем руководстве мы покажем, как настраивать брандмауэр firewalld для сервера CentOS 8 и расскажем об основах управления брандмауэром с помощью административного инструмента firewall-cmd
.
Предварительные требования
Для прохождения этого обучающего руководства нам потребуется сервер под управлением CentOS 8. Мы будем считать, что вы выполнили вход на этот сервер в качестве пользователя non-root user с привилегиями sudo
. Чтобы выполнить настройку сервера, воспользуйтесь нашим руководством по начальной настройке сервера CentOS 8.
Основные концепции в firewalld
Прежде чем обсуждать фактическое использование утилиты firewall-cmd
для управления конфигурацией брандмауэра, мы должны познакомиться с несколькими концепциями, которые вводит этот инструмент.
Зоны
Демон firewalld
управляет группами правил, используя элементы, называемые зонами. Зоны представляют собой набор правил, который определяет разрешенный трафик в зависимости от уровня доверия в сети. Зоне назначаются сетевые интерфейсы, определяющие поведение, которое должен разрешать брандмауэр.
Такая гибкость позволяет легко изменять правила в зависимости от среды, особенно в случае с компьютерами, которые часто перемещаются между сетями (например, с ноутбуками). Вы можете использовать более строгие правила, например, запретить большую часть трафика в публичных сетях WiFi и ввести менее строгие ограничения для домашней сети. Для сервера эти зоны не так важны, поскольку его сетевая среда редко изменяется, если это вообще происходит.
Вне зависимости от того, насколько динамична ваша сетевая среда, вам будет полезно познакомиться с общей идеей, лежащей в основе заданных зон firewalld
. Заданные зоны в firewalld
упорядочены от наименее доверенных к наиболее доверенным:
- drop: самый низкий уровень доверия. Все входящие соединения отбрасываются без ответа и разрешаются только исходящие соединения.
- block: аналогично вышеописанному, но запросы входящих соединений не просто отбрасываются, а отклоняются с сообщением
icmp-host-prohibited
илиicmp6-adm-prohibited
. - public: публичные сети, к которым нет доверия. Вы не доверяете другим компьютерам, но можете разрешать отдельные входящие соединения на разовой основе.
- external: внешние сети, если вы используете брандмауэр в качестве шлюза. Эта зона настроена для маскировки NAT, чтобы ваша внутренняя сеть оставалась частной, но доступной.
- internal: другая сторона внешней зоны, используемая для внутренней части шлюза. Компьютеры в основном достойны доверия, доступны некоторые дополнительные службы.
- dmz: используется для компьютеров в ДМЗ (изолированные компьютеры, у которых нет доступа к остальной части вашей сети). Разрешены только некоторые входящие соединения.
- work: используется для рабочих компьютеров. Большинство компьютеров в сети являются доверенными. Могут быть разрешены некоторые дополнительные службы.
- home: домашняя среда. Обычно подразумевается, что вы доверяете большей части других компьютеров и что будут приниматься запросы еще нескольких служб.
- trusted: все компьютеры в сети являются доверенными. Наиболее открытый из доступных вариантов, который следует использовать с осторожностью.
Для использования брандмауэра можно создавать правила и изменять свойства зон, а также назначать сетевые интерфейсы в наиболее подходящие зоны.
Постоянство правил
В firewalld правила можно применять к текущему набору правил времени исполнения или использовать как постоянные. При добавлении или изменении правила по умолчанию изменяется только работающий брандмауэр. После перезагрузки системы или службы firewalld
сохраняются только постоянные правила.
Большинство операций firewall-cmd
могут принимать флаг --permanent
, указывающий на необходимость применения изменений к постоянной конфигурации. Кроме того, текущую конфигурацию брандмауэра можно сохранить в постоянной конфигурации с помощью команды firewall-cmd --runtime-to-permanent
.
Такое разделение конфигурации времени исполнения и постоянной конфигурации позволяет безопасно тестировать правила на активном брандмауэре и просто перезагружать его в случае возникновения проблем.
Установка и активация firewalld
Брандмауэр firewalld
установлен по умолчанию в некоторых дистрибутивах Linux, в том числе во многих образах CentOS 8. Однако вам может потребоваться установить firewalld самостоятельно:
- sudo dnf install firewalld
После установки firewalld
вы можете активировать службу и перезагрузить сервер. Помните, что в случае активации службы firewalld она будет запускаться при загрузке системы. Прежде чем настраивать такое поведение, лучше создать правила брандмауэра и воспользоваться возможностью протестировать их во избежание потенциальных проблем.
- sudo systemctl enable firewalld
- sudo systemctl start firewalld
После перезагрузки сервера брандмауэр запускается, сетевые интерфейсы помещаются в настроенные зоны (или возвращаются в заданные по умолчанию зоны), и все правила зон применяются к соответствующим интерфейсам.
Чтобы проверить работу и доступность службы, можно использовать следующую команду:
- sudo firewall-cmd --state
Output
running
Это показывает, что наш брандмауэр запущен и работает с конфигурацией по умолчанию.
Знакомство с текущими правилами брандмауэра
Прежде чем мы начнем вносить изменения, мы познакомимся со средой и правилами firewalld, используемыми по умолчанию.
Изучение параметров по умолчанию
Чтобы посмотреть, какая зона выбрана по умолчанию, можно использовать следующую команду:
- firewall-cmd --get-default-zone
Output
public
Поскольку мы не отправили firewalld никаких команд для отклонения от основной зоны и никакие наши интерфейсы не настроены на привязку к другой зоне, эта зона будет единственной активной зоной (зоной, контролирующей трафик для наших интерфейсов). Это можно проверить с помощью следующей команды:
- firewall-cmd --get-active-zones
Output
public
interfaces: eth0 eth2
Здесь мы видим, что на нашем сервере брандмауэр контролирует два сетевых интерфейса (eth0
и eth2
). Управление обоими интерфейсами осуществляется в соответствии с правилами, заданными для зоны public.
Как же узнать, какие правила заданы для зоны public? Конфигурацию зоны по умолчанию можно распечатать с помощью следующей команды:
- sudo firewall-cmd --list-all
Output
public (active)
target: default
icmp-block-inversion: no
interfaces: eth0 eth2
sources:
services: cockpit dhcpv6-client ssh
ports:
protocols:
masquerade: no
forward-ports:
source-ports:
icmp-blocks:
rich rules:
Из выводимых результатов мы видим, что эта зона активна и используется по умолчанию и что с ней связаны интерфейсы eth0
и eth2
(все это мы уже знали из предыдущих запросов). Также мы видим, что эта зона разрешает трафик клиента DHCP (для назначения IP-адресов), SSH (для удаленного администрирования) и Cockpit (веб-консоль).
Изучение альтернативных зон
Мы получили представление о конфигурации зоны по умолчанию и активной зоны. Также мы можем получить информацию о других зонах.
Чтобы получить список доступных зон, введите команду:
Output
block dmz drop external home internal public trusted work
Чтобы посмотреть конкретную конфигурацию, относящуюся к зоне, необходимо добавить параметр --zone=
к команде --list-all
:
- sudo firewall-cmd --zone=home --list-all
Output
home
target: default
icmp-block-inversion: no
interfaces:
sources:
services: cockpit dhcpv6-client mdns samba-client ssh
ports:
protocols:
masquerade: no
forward-ports:
source-ports:
icmp-blocks:
rich rules:
Вы можете вывести все определения зон, используя опцию --list-all-zones
. Возможно вы захотите вывести результаты на пейджер для удобства просмотра:
- sudo firewall-cmd --list-all-zones | less
Далее мы узнаем о назначении зон сетевым интерфейсам.
Выбор зон для интерфейсов
Если вы не настроили сетевые интерфейсы иным образом, каждый интерфейс будет помещен в зону по умолчанию при запуске брандмауэра.
Изменение зоны интерфейса
Для перемещения интерфейса между зонами во время сеанса следует использовать параметр --zone=
в сочетании с параметром --change-interface=
. Как и для всех остальных команд, изменяющих брандмауэр, вам потребуется использовать sudo
.
Например, интерфейс eth0
можно переместить в зону home с помощью следующей команды:
- sudo firewall-cmd --zone=home --change-interface=eth0
Output
success
Примечание. При перемещении интерфейса в новую зону следует помнить, что это может повлиять на работоспособность служб. Например, в данном случае мы перемещаемся в зону home, в которой поддерживается SSH. Это означает, что наше соединение не должно быть отброшено. В некоторых других зонах SSH по умолчанию не поддерживается, при переходе в такую зону ваше соединение будет разорвано, и вы не сможете снова войти на сервер.
Чтобы убедиться в успешности операции мы можем снова запросить активные зоны:
- firewall-cmd --get-active-zones
Output
home
interfaces: eth0
public
interfaces: eth2
Изменение зоны по умолчанию
Если все интерфейсы могут быть хорошо обработаны в одной зоне, проще всего определить наиболее подходящую зону как зону по умолчанию, а затем использовать эту зону для конфигурации.
Вы можете изменить зону по умолчанию с помощью параметра --set-default-zone=
. При этом немедленно изменятся все интерфейсы, использующие зону по умолчанию:
- sudo firewall-cmd --set-default-zone=home
Output
success
Установка правил для приложений
Рассмотрим базовый способ определения исключений брандмауэра для служб, которые вы хотите сделать доступными.
Добавление службы к зонам
Самый простой метод заключается в том, чтобы добавлять необходимые службы или порты в используемые зоны. Список доступных определений служб можно получить с помощью опции --get-services
:
- firewall-cmd --get-services
Output
RH-Satellite-6 amanda-client amanda-k5-client amqp amqps apcupsd audit bacula bacula-client bb bgp bitcoin bitcoin-rpc bitcoin-testnet bitcoin-testnet-rpc bittorrent-lsd ceph ceph-mon cfengine cockpit condor-collector ctdb dhcp dhcpv6 dhcpv6-client distcc dns dns-over-tls docker-registry docker-swarm dropbox-lansync elasticsearch etcd-client etcd-server finger freeipa-4 freeipa-ldap freeipa-ldaps freeipa-replication freeipa-trust ftp ganglia-client ganglia-master git grafana gre high-availability http https imap imaps ipp ipp-client ipsec irc ircs iscsi-target isns jenkins kadmin kdeconnect kerberos kibana klogin kpasswd kprop kshell ldap ldaps libvirt libvirt-tls lightning-network llmnr managesieve matrix mdns memcache minidlna mongodb mosh mountd mqtt mqtt-tls ms-wbt mssql murmur mysql nfs nfs3 nmea-0183 nrpe ntp nut openvpn ovirt-imageio ovirt-storageconsole ovirt-vmconsole plex pmcd pmproxy pmwebapi pmwebapis pop3 pop3s postgresql privoxy prometheus proxy-dhcp ptp pulseaudio puppetmaster quassel radius rdp redis redis-sentinel rpc-bind rsh rsyncd rtsp salt-master samba samba-client samba-dc sane sip sips slp smtp smtp-submission smtps snmp snmptrap spideroak-lansync spotify-sync squid ssdp ssh steam-streaming svdrp svn syncthing syncthing-gui synergy syslog syslog-tls telnet tentacle tftp tftp-client tile38 tinc tor-socks transmission-client upnp-client vdsm vnc-server wbem-http wbem-https wsman wsmans xdmcp xmpp-bosh xmpp-client xmpp-local xmpp-server zabbix-agent zabbix-server
Примечание. Вы можете получить более подробную информацию о каждой из этих служб, посмотрев соответствующий файл .xml
в директории /usr/lib/firewalld/services
. Например, служба SSH определяется следующим образом:
/usr/lib/firewalld/services/ssh.xml
<?xml version="1.0" encoding="utf-8"?>
<service>
<short>SSH</short>
<description>Secure Shell (SSH) is a protocol for logging into and executing commands on remote machines. It provides secure encrypted communications. If you plan on accessing your machine remotely via SSH over a firewalled interface, enable this option. You need the openssh-server package installed for this option to be useful.</description>
<port protocol="tcp" port="22"/>
</service>
Вы можете активировать службу для зоны с помощью параметра --add-service=
. Данная операция будет нацелена на зону по умолчанию или на другую зону, заданную параметром --zone=
. По умолчанию изменения применяются только к текущему сеансу брандмауэра. Для изменения постоянной конфигурации брандмауэра следует использовать флаг --permanent
.
Например, если у нас запущен веб-сервер, обслуживающий стандартный трафик HTTP, мы можем временно разрешить этот трафик для интерфейсов в зоне public с помощью следующей команды:
- sudo firewall-cmd --zone=public --add-service=http
Вы можете опустить флаг --zone=
, если хотите внести изменения в зону по умолчанию. Для проверки успешного выполнения операции можно использовать команду --list-all
или --list-services
:
- sudo firewall-cmd --zone=public --list-services
Output
cockpit dhcpv6-client http ssh
После подтверждения надлежащей работы всех систем вы можете изменить постоянные правила брандмауэра, чтобы служба была доступна после перезагрузки системы. Чтобы сделать предыдущие изменения постоянными, нужно ввести их повторно и добавить флаг --permanent
:
- sudo firewall-cmd --zone=public --add-service=http --permanent
Output
success
Также можно использовать флаг --runtime-to-permanent
для сохранения текущей конфигурации брандмауэра в постоянной конфигурации:
- sudo firewall-cmd --runtime-to-permanent
Будьте осторожны, поскольку при этом все изменения в текущей конфигурации брандмауэра сохраняются в постоянной конфигурации.
Если вы хотите убедиться. что изменения успешно сохранены в постоянной конфигурации, добавьте флаг --permanent
к команде --list-services
. Вам потребуются привилегии sudo
для выполнения любых операций с флагом --permanent
:
- sudo firewall-cmd --zone=public --list-services --permanent
Output
cockpit dhcpv6-client http ssh
Теперь в зоне public разрешен веб-трафик HTTP на порту 80. Если ваш веб-сервер настроен для использования SSL/TLS, вы также можете добавить службу https
. Мы можем добавить ее в текущий сеанс и постоянный набор правил с помощью следующей команды:
- sudo firewall-cmd --zone=public --add-service=https
- sudo firewall-cmd --zone=public --add-service=https --permanent
Что делать, если подходящая служба отсутствует?
В базовом комплекте firewalld представлены многие распространенные приложения, к которым вы можете захотеть предоставить доступ. Однако возможны ситуации, когда эти службы не будут соответствовать вашим требованиям.
В этой ситуации у вас будет два варианта.
Открытие порта для зон
Проще всего добавить поддержку определенного приложения можно посредством открытия используемых им портов в соответствующих зонах. Для этого нужно указать порт или диапазон портов, а также протокол (TCP или UDP), связанный с портами.
Например, если наше приложение работает на порту 5000 и использует TCP, мы можем временно добавить его в зону public с помощью параметра --add-port=
. Протоколы могут назначаться как tcp
или udp
:
- sudo firewall-cmd --zone=public --add-port=5000/tcp
Output
success
Мы можем проверить успешность назначения с помощью операции --list-ports
:
- sudo firewall-cmd --zone=public --list-ports
Output
5000/tcp
Также можно указать последовательный диапазон портов, разделив начальный и конечный порты диапазона дефисом. Например, если наше приложение используйте порты UDP с 4990 по 4999, мы можем открыть их на public с помощью следующей команды:
- sudo firewall-cmd --zone=public --add-port=4990-4999/udp
После тестирования мы вероятно захотим добавить это правило в брандмауэр на постоянной основе. Используйте для этого sudo firewall-cmd --runtime-to-permanent
или запустите команды снова с флагом --permanent
:
- sudo firewall-cmd --zone=public --permanent --add-port=5000/tcp
- sudo firewall-cmd --zone=public --permanent --add-port=4990-4999/udp
- sudo firewall-cmd --zone=public --permanent --list-ports
Output
success
success
5000/tcp 4990-4999/udp
Определение службы
Открыть порты для зон довольно просто, но также может быть сложно следить за тем, для чего предназначен каждый порт. Если вы будете выводить из эксплуатации службы на своем сервере, вы можете забыть, какие из открытых портов вам еще нужны. Чтобы избежать подобной ситуации, можно определить новую службу.
Службы представляют собой наборы портов с именем и описанием. Использование служб упрощает администрирование портов, но требует некоторой предварительной подготовки. Проще всего начать с копирования существующего скрипта (из директории /usr/lib/firewalld/services
) в директорию /etc/firewalld/services
, где брандмауэр ищет нестандартные определения.
Например, мы можем скопировать определение службы SSH и использовать его для определения службы example. Имя файла без суффикса .xml
определяет имя службы в списке служб брандмауэра:
- sudo cp /usr/lib/firewalld/services/ssh.xml /etc/firewalld/services/example.xml
Теперь можно изменить определение в скопированном вами файле. Вначале откройте его в предпочитаемом текстовом редакторе. Здесь мы используем vi
:
- sudo vi /etc/firewalld/services/example.xml
Вначале файл будет содержать только что скопированное вами определение SSH:
/etc/firewalld/services/example.xml
<?xml version="1.0" encoding="utf-8"?>
<service>
<short>SSH</short>
<description>Secure Shell (SSH) is a protocol for logging into and executing commands on remote machines. It provides secure encrypted communications. If you plan on accessing your machine remotely via SSH over a firewalled interface, enable this option. You need the openssh-server package installed for this option to be useful.</description>
<port protocol="tcp" port="22"/>
</service>
Основная часть этого определения представляет собой метаданные. Вы можете изменить короткое имя службы, заключенное в тегах <short>
. Это имя службы, предназначенное для чтения людьми. Также следует добавить описание на случай, если вам потребуется дополнительная информация при проведении аудита службы. Единственное изменение конфигурации, которое вам потребуется, и которое повлияет на функциональность службы, будет заключаться в определении портов, где вы идентифицируете номер порта и протокол, который хотите открыть. Можно указать несколько тегов <port/>
.
Представьте, что для нашей службы example нам необходимо открыть порт 7777 для TCP и 8888 для UDP. Мы можем изменить существующее определение примерно так:
/etc/firewalld/services/example.xml
<?xml version="1.0" encoding="utf-8"?>
<service>
<short>Example Service</short>
<description>This is just an example service. It probably shouldn't be used on a real system.</description>
<port protocol="tcp" port="7777"/>
<port protocol="udp" port="8888"/>
</service>
Сохраните и закройте файл.
Перезагрузите брандмауэр, чтобы получить доступ к новой службе:
- sudo firewall-cmd --reload
Теперь вы увидите ее в списке доступных служб:
- firewall-cmd --get-services
Output
RH-Satellite-6 amanda-client amanda-k5-client amqp amqps apcupsd audit bacula bacula-client bb bgp bitcoin bitcoin-rpc bitcoin-testnet bitcoin-testnet-rpc bittorrent-lsd ceph ceph-mon cfengine cockpit condor-collector ctdb dhcp dhcpv6 dhcpv6-client distcc dns dns-over-tls docker-registry docker-swarm dropbox-lansync elasticsearch etcd-client etcd-server example finger freeipa-4 freeipa-ldap freeipa-ldaps freeipa-replication freeipa-trust ftp ganglia-client ganglia-master git grafana gre high-availability http https imap imaps ipp ipp-client ipsec irc ircs iscsi-target isns jenkins kadmin kdeconnect kerberos kibana klogin kpasswd kprop kshell ldap ldaps libvirt libvirt-tls lightning-network llmnr managesieve matrix mdns memcache minidlna mongodb mosh mountd mqtt mqtt-tls ms-wbt mssql murmur mysql nfs nfs3 nmea-0183 nrpe ntp nut openvpn ovirt-imageio ovirt-storageconsole ovirt-vmconsole plex pmcd pmproxy pmwebapi pmwebapis pop3 pop3s postgresql privoxy prometheus proxy-dhcp ptp pulseaudio puppetmaster quassel radius rdp redis redis-sentinel rpc-bind rsh rsyncd rtsp salt-master samba samba-client samba-dc sane sip sips slp smtp smtp-submission smtps snmp snmptrap spideroak-lansync spotify-sync squid ssdp ssh steam-streaming svdrp svn syncthing syncthing-gui synergy syslog syslog-tls telnet tentacle tftp tftp-client tile38 tinc tor-socks transmission-client upnp-client vdsm vnc-server wbem-http wbem-https wsman wsmans xdmcp xmpp-bosh xmpp-client xmpp-local xmpp-server zabbix-agent zabbix-server
Теперь вы можете использовать эту службу в зонах, как и обычно.
Создание собственных зон
Хотя большинству пользователей будет достаточно заданных зон, иногда может быть полезно определить собственные зоны с названиями, соответствующими их функции.
Например, вы можете захотеть создать для своего веб-сервера зону с именем publicweb. При этом вы можете также захотеть использовать другую зону для службы DNS в вашей частной сети. Эту зону вы можете назвать privateDNS.
При добавлении зоны вы должны добавить ее в постоянную конфигурацию брандмауэра. Затем вы можете произвести перезагрузку для активации конфигурации для текущего сеанса. Например, мы можем создать две описанные выше зоны, введя следующие команды:
- sudo firewall-cmd --permanent --new-zone=publicweb
- sudo firewall-cmd --permanent --new-zone=privateDNS
Вы можете проверить их наличие в постоянной конфигурации с помощью следующей команды:
- sudo firewall-cmd --permanent --get-zones
Output
block dmz drop external home internal privateDNS public publicweb trusted work
Как указывалось ранее, пока они будут недоступны в работающем брандмауэре:
Output
block dmz drop external home internal public trusted work
Перезагрузите брандмауэр, чтобы добавить эти зоны в активную конфигурацию:
- sudo firewall-cmd --reload
- firewall-cmd --get-zones
Output
block dmz drop external home internal privateDNS public publicweb trusted work
Теперь вы можете назначать в зоны соответствующие службы и порты. Обычно лучше всего изменять активный брандмауэр и сохранять изменения в постоянной конфигурации только после тестирования. Например, для зоны publicweb вы можете захотеть добавить службы SSH, HTTP и HTTPS:
- sudo firewall-cmd --zone=publicweb --add-service=ssh
- sudo firewall-cmd --zone=publicweb --add-service=http
- sudo firewall-cmd --zone=publicweb --add-service=https
- sudo firewall-cmd --zone=publicweb --list-all
Output
publicweb
target: default
icmp-block-inversion: no
interfaces:
sources:
services: http https ssh
ports:
protocols:
masquerade: no
forward-ports:
source-ports:
icmp-blocks:
rich rules:
Для зоны privateDNS можно добавить службу DNS:
- sudo firewall-cmd --zone=privateDNS --add-service=dns
- sudo firewall-cmd --zone=privateDNS --list-all
Output
privateDNS
target: default
icmp-block-inversion: no
interfaces:
sources:
services: dns
ports:
protocols:
masquerade: no
forward-ports:
source-ports:
icmp-blocks:
rich rules:
Затем мы можем изменить интерфейсы на новые зоны, чтобы протестировать их:
- sudo firewall-cmd --zone=publicweb --change-interface=eth0
- sudo firewall-cmd --zone=privateDNS --change-interface=eth2
Сейчас вы можете протестировать свою конфигурацию. Если эти значения будут работать, эти правила можно будет добавить в постоянную конфигурацию. Для этого можно снова запустить все команды с флагом --permanent
, но в этом случае мы используем флаг --runtime-to-permanent
для полного сохранения активной конфигурации как постоянной:
- sudo firewall-cmd --runtime-to-permanent
Сохранив правила в постоянной конфигурации, перезагрузите брандмауэр, чтобы проверить сохранение изменений:
- sudo firewall-cmd --reload
Проверьте правильность назначения зон:
- firewall-cmd --get-active-zones
Output
privateDNS
interfaces: eth2
publicweb
interfaces: eth0
Убедитесь, что в обеих зонах доступны соответствующие службы:
- sudo firewall-cmd --zone=publicweb --list-services
Output
http https ssh
- sudo firewall-cmd --zone=privateDNS --list-services
Output
dns
Вы успешно настроили собственные зоны! Если вы захотите задать одну из этих зон по умолчанию для других интерфейсов, используйте для настройки параметр --set-default-zone=
:
- sudo firewall-cmd --set-default-zone=publicweb
Заключение
Теперь вы должны неплохо понимать принципы администрирования службы firewalld в системе CentOS на каждодневной основе.
Служба firewalld позволяет настраивать администрируемые правила и наборы правил, учитывающие условия вашей сетевой среды. Она позволяет легко переключаться между разными политиками брандмауэра посредством использования зон и дает администраторам возможность абстрагировать управление портами в более удобную систему определения служб. Умение работать с этой системой позволит вам воспользоваться преимуществами гибкости и функциональности данного инструмента.
Дополнительную информацию о firewalld можно найти в официальной документации по firewalld.
Что такое порт SMB + описание портов 445 и 139
Протокол блока сообщений сервера (протокол SMB) — это протокол связи клиент-сервер, используемый для совместного доступа к файлам, принтерам, последовательным портам и данным в сети. Он также может нести протоколы транзакций для аутентифицированного межпроцессного взаимодействия.
Короче говоря, протокол SMB — это способ общения компьютеров друг с другом.
Как работает протокол SMB?
SMB работает по принципу клиент-сервер, когда клиент делает определенные запросы, а сервер отвечает соответствующим образом. Это известно как протокол ответа-запроса.
После подключения он позволяет пользователям или приложениям делать запросы к файловому серверу и получать доступ к таким ресурсам, как общий доступ к принтеру, почтовые слоты и именованные каналы на удаленном сервере. Это означает, что пользователь приложения может открывать, читать, перемещать, создавать и обновлять файлы на удаленном сервере.
SMB был первоначально разработан Барри Фейгенбаумом в IBM в 1983 году с целью превратить доступ к локальным файлам DOS INT 21h в сетевую файловую систему и изначально был разработан для работы поверх NetBIOS через TCP / IP (NBT) с использованием IP-порта 139 и UDP-порты 137 и 138.Программные приложения, работающие в сети NetBIOS, находят и идентифицируют друг друга по своим именам NetBIOS.
Microsoft объединила протокол SMB со своим продуктом LAN Manager, который она начала разрабатывать в 1990 году, и продолжает добавлять функции к протоколу в Windows для рабочих групп.
В 1996 году Microsoft выступила с инициативой переименовать SMB в Common Internet File System (CIFS) и добавила дополнительные функции, включая поддержку символических ссылок, жестких ссылок, файлов большего размера и первоначальную попытку поддержки прямых подключений через TCP-порт 445. без использования NetBIOS в качестве транспорта (в значительной степени экспериментальная работа, потребовавшая дальнейшего уточнения).
В Microsoft Windows 2000 Microsoft изменила SMB для работы через порт 445. SMB по-прежнему использует порт 445.
Это оказалось проблематичным, поскольку CIFS был общеизвестным болтливым протоколом, который мог испортить производительность сети из-за задержек и многочисленных подтверждений. По оценкам Microsoft, SMB / CIFS скомпрометировал менее 10% сетевого трафика в средней корпоративной сети, но это по-прежнему значительный объем трафика.
Microsoft объяснила, что проблемы с производительностью в первую очередь связаны с SMB 1.0 — это протокол блочного уровня, а не потоковый, который был разработан для небольших локальных сетей.
Следующий диалект, SMB 2.0, повысил эффективность протокола, сократив количество сотен команд и подкоманд до 19.
Microsoft продолжает инвестировать в повышение производительности и безопасности SMB. SMB 3.0, представленный в Windows 8 и Windows Server 2012, привнес несколько значительных изменений, которые добавили функциональность и улучшили производительность SMB2, особенно в виртуализированных центрах обработки данных.
Кроме того, он представил несколько улучшений безопасности, таких как сквозное шифрование и новый алгоритм подписи на основе AES.
Что такое диалекты протокола SMB?
Протокол SMB был создан в 1980-х годах компанией IBM и породил множество диалектов, разработанных для удовлетворения меняющихся требований к сети. Например, упомянутая выше Common Internet File System (CIFS) представляет собой конкретную реализацию SMB, которая обеспечивает совместное использование файлов.
Важные реализации SMB включают:
- SMB 1.0 (1984): Создано IBM для обмена файлами в DOS. Он представил гибкую блокировку как механизм кэширования на стороне клиента, предназначенный для уменьшения сетевого трафика.
- Samba (1992): Samba — это реализация с открытым исходным кодом протокола SMB и Microsoft Active Directory для систем Unix и дистрибутивов Linux, которая поддерживает совместное использование файлов и службы печати, аутентификацию и авторизацию, разрешение имен и объявления служб между Linux. / Серверы Unix и клиенты Windows.
- CIFS (1996): Диалект SMB, разработанный корпорацией Майкрософт, который дебютировал в Windows 95 и добавил поддержку файлов большего размера, передачи напрямую через TCP / IP, символьных и жестких ссылок.
- NQ (1998): NQ — это семейство портативных реализаций SMB-клиента и сервера, разработанное Visuality Systems. NQ переносится на платформы, отличные от Windows, такие как Linux, iOS и Android, и поддерживает диалект SMB 3.1.1.
- Netsmb (2004): Netsmb — это семейство встроенных в ядро клиентских и серверных реализаций SMB в операционных системах BSD.
- SMB 2.0 (2006): Выпущенный с Windows Vista и Windows Server 2008, он уменьшил количество разговоров для повышения производительности, повышения масштабируемости и отказоустойчивости, а также добавил поддержку ускорения WAN.
- Tuxera SMB (2009): Tuxera также является частной реализацией SMB, которая работает либо в ядре, либо в пользовательском пространстве.
- Likewise (2009): Аналогичным образом разработал реализацию CIFS / SMB, которая предоставила многопротокольную платформу с поддержкой идентификации для сетевого доступа к файлам в OEM-продуктах хранения данных, созданных на платформах на базе Linux / Unix.
- SMB 2.1 (2010): Представлено в Windows Server 2008 R2 и Windows 7. Модель аренды клиентской оппортунистической блокировки заменила гибкую блокировку для улучшения кэширования и повышения производительности. Он также представил поддержку больших максимальных единиц передачи (MTU) и улучшенную энергоэффективность, позволяя клиентам открывать файлы с сервера SMB для перехода в спящий режим.
- SMB 3.0 (2012): Дебютировал в Windows 8 и Windows Server 2012. Он внес несколько значительных улучшений в доступность, производительность, резервное копирование, безопасность и управление.
- MoSMB (2012): MoSMB — это проприетарная реализация SMB для Linux и других Unix-подобных систем, разработанная Ryussi Technologies. Он поддерживает только SMB 2.x и SMB 3.x.
- SMB 3.02 (2014): Представлен в Windows 8.1 и Windows Server 2012 R2 и включает обновления производительности и возможность отключения поддержки CIFS / SMB 1.0, включая удаление связанных двоичных файлов.
- SMB 3.1.1 (2015): Выпущено с Windows 10 и Windows Server 2016 и добавлена поддержка расширенного шифрования, целостности предварительной проверки подлинности для предотвращения атак типа «злоумышленник в середине» и ограничения диалекта кластера.
Что такое порты 139 и 445?
SMB — это сетевой протокол обмена файлами, который требует открытого порта на компьютере или сервере для связи с другими системами. Порты SMB обычно имеют номера портов 139 и 445.
- Порт 139: Используется диалектами SMB, которые обмениваются данными через NetBIOS, протокол транспортного уровня, предназначенный для использования в операционных системах Windows по сети
- Порт 445: Используется более новые версии SMB (после Windows 2000) поверх стека TCP, позволяющие SMB обмениваться данными через Интернет. Это также означает, что вы можете использовать IP-адреса для использования SMB, например для обмена файлами.
Как обеспечить безопасность портов 139 и 445
Хотя порты 139 и 445 по своей сути не опасны, существуют известные проблемы с открытием этих портов для доступа в Интернет. Вы можете проверить, открыт ли порт, используя команду netstat.
Существует распространенное заблуждение, что открытый порт опасен. Это во многом обусловлено отсутствием понимания того, как работают открытые порты, почему они открыты, а какие не должны открываться.
Открытые порты необходимы для связи через Интернет. Однако открытый порт может стать опасным, если служба, прослушивающая порт, неправильно настроена, не исправлена, уязвима для эксплойтов или имеет плохие правила сетевой безопасности.
Самыми опасными открытыми портами являются порты, подверженные червю, например тот, который использует протокол SMB, который в некоторых операционных системах открыт по умолчанию.
Ранние версии протокола SMB использовались во время атаки вымогателя WannaCry с помощью эксплойта нулевого дня под названием EternalBlue.
WannaCry использовала устаревшие версии компьютеров Windows, которые использовали устаревшую версию протокола SMB. WannaCry — сетевой червь с транспортным механизмом, предназначенным для автоматического распространения. Транспортный код сканирует системы, уязвимые для эксплойта EternalBlue, а затем устанавливает DoublePulsar, инструмент бэкдора, и выполняет свою копию.
Зараженный компьютер будет искать в своей сети Windows устройства, принимающие трафик через TCP-порты 135–139 или 445, что указывает на то, что система настроена для работы с протоколом SMB.
Затем он инициирует соединение SMBv1 с устройством и использует переполнение буфера, чтобы взять под контроль систему и установить компонент атаки вымогателя.
Это означает, что WannaCry может распространяться автоматически без участия жертвы.
Хорошая новость заключается в том, что с тех пор Windows выпустила обновление безопасности для Windows XP, Windows Server 2003, Windows 8, Windows Vista, Windows 7, Windows 8. 1, Windows 10, Windows Server 2008, Windows Server 2008 R2, Windows Server 2012. и Windows Server 2016, чтобы предотвратить эту уязвимость.
Вот несколько других способов защиты портов 139 и 445.
- Избегайте раскрытия портов SMB: Порты 135–139 и 445 небезопасно раскрывать публично, и их не было уже десять лет.
- Исправить все: Держите свои системы в актуальном состоянии, чтобы избежать использования известных уязвимостей.
- Нет единой точки отказа: Будь то программа-вымогатель, вредоносное ПО, аппаратный сбой, ошибка базы данных или что-то еще. Если ваши данные важны, их следует создать резервную копию, по крайней мере, в одном другом безопасном месте.
- Используйте брандмауэр или защиту конечной точки: Большинство решений включают черный список IP-адресов известных злоумышленников.
- Использование виртуальной частной сети (VPN): VPN шифруют и защищают сетевой трафик.
- Реализация виртуальных локальных сетей (VLAN): VLAN могут использоваться для изоляции внутреннего сетевого трафика
- Использовать фильтрацию MAC-адресов: Это может предотвратить доступ неизвестных систем к вашей сети.
UpGuard может помочь вам управлять открытыми портами
В UpGuard мы можем защитить ваш бизнес от утечки данных, выявить все утечки данных и помочь вам постоянно контролировать состояние безопасности всех ваших поставщиков.
Наша платформа явно проверяет почти 200 служб, работающих через тысячи портов, и сообщает о любых службах, которые мы не можем идентифицировать, а также о любых открытых портах, в которых службы не обнаружены.
Щелкните здесь, чтобы получить бесплатную пробную версию платформы UpGuard.
Конфигурация SAMBA
Конфигурация SAMBA
… делиться или не делиться.
© 2010, 2011 Деннис Лиу dleeuw at made-it dot com
Большое СПАСИБО Эрику Тойркенсу за его помощь с разделом Windows.
Лицензия: GPLv2 или новее
Индекс
- CIFS — файловый сервер
- NetBIOS, SMB или CIFS
- Предварительные настройки SAMBA
- DNS
- Kerberos
- SELinux
- SAMBA smb.conf
- Тестирование
CIFS — файловый сервер
SAMBA в этой настройке не будет действовать как сервер входа в систему. Конфигурация, описанная в этом разделе, настроит SAMBA как сервер CIFS, и только это.Предполагается, что пользователи и клиенты входят в систему с использованием Kerberos и LDAP, как описано в предыдущих документах.
После того, как пользователи получили свой билет Kerberos, они могут начать использовать службы SAMBA. Это означает, что SAMBA должен выполнять соединения с действующим билетом. И запретить любой другой доступ.
NetBIOS, SMB или CIFS
Для настройки SAMBA вам потребуется немного знаний о сети Microsoft. В системах до Windows 2000 использовался NetBIOS через TCP / IP для обеспечения соединений SMB (Service Message Block). Системы Windows 2000 и более поздние оснащены протоколом SMB через TCP / IP. Как заявляет Microsoft в своем документе о прямом размещении SMB через TCP / IP, у этого есть несколько преимуществ:
- Упрощение транспортировки трафика SMB
- Удаление широковещательной передачи WINS и NetBIOS как средства разрешения имен
- Стандартизация разрешения имен в DNS для совместного использования файлов и принтеров
С NetBIOS через TCP / IP или NBT для краткости используются следующие порты:
Имя NetBIOS | UDP | 137 | |
Имя NetBIOS | TCP | 137 | |
дейтаграмма NetBIOS | UDP | 138 | |
Сеанс NetBIOS | TCP | 139 |
В САМБ smb.conf это можно контролировать:
отключить netbios = нет smb-порты = 139
NetBIOS в вашей локальной сети может раздражать из-за количества отправляемых широковещательных пакетов. Однако NetBIOS через Интернет представляет собой огромную угрозу безопасности. Протокол NetBIOS дает людям возможность получать любую информацию из ваших систем, например: ваш домен, имена рабочих групп и систем, а также информацию об учетной записи. Чтобы этого не произошло, убедитесь, что на ваших пограничных шлюзах вы отфильтровываете весь входящий и исходящий трафик для портов 137, 138 и 139.
SMB TCP / IP или CIFS (общая файловая система Интернета) использует:
CIFS | TCP | 445 | |
CIFS | UDP | 445 |
В SAMBA smb.conf это можно контролировать с помощью:
отключить netbios = да smb-порты = 445
Если вы хотите поддерживать оба варианта, используйте:
отключить netbios = нет smb-порты = 139 445
Главный вопрос: как клиент Microsoft со всем этим справляется? Системы Windows 2000 и более поздних версий одновременно устанавливают два подключения к серверу: одно через порт 445, а другое — через порт 139. Если он получит ответ от порта 445, он сбросит (RST) соединение с портом 139. Если он получает ответ только от порта 139, он используется. Если вы отключите NBT на своем клиенте, будет использоваться только порт 445.
Клиенты
Pre-Windows 2000 используют только порт 139.
Итак, если в вашей сети нет систем с более ранней версией Windows 2000, я бы посоветовал использовать опцию SMB over TCP / IP в вашем smb.conf.
Для тех, кто действительно хочет вникнуть в подробности NetBIOS, SMB и CIFS, я предлагаю прочитать: Внедрение CIFS
Предварительные настройки SAMBA
DNS
Добавить в DNS:
_ldap._tcp.dc._msdcs.EXAMPLE.COM SRV 0 0 389 ldap.example.com.
Эта запись необходима, когда мы указываем SAMBA действовать как членский сервер ADS. Он используется для поиска PDC (сервера LDAP).
Также добавьте запись DNS для вашего сервера самбы. Мы предполагаем:
fs01 CNAME larix Ларикс А 192.168.1.55
Kerberos
Настройте свой хост для использования сервера LDAP и Kerberos (в системах на базе Red Hat запустите authconfig-tui).
Создайте файл krb5.keytab.
SELinux
Иногда я слишком долго пытался понять, что меня укусил SELinux.Чтобы этого не произошло, убедитесь, что для SELinux на вашем сервере SAMBA установлено разрешение:
setenforce 0
Если позже вы получите сообщения от smbclient о NT_STATUS_BAD_NETWORK_NAME, это может быть SELinux, для которого не установлено разрешающее значение. Вы были предупреждены.
SAMBA smb.conf
Установите SAMBA и убедитесь, что вы также установили клиентские пакеты и winbind.
Создайте smb.conf следующим образом:
[Глобальный] # ----------------- # # Настройки именования # # ----------------- # рабочая группа = ПРИМЕР.COM строка сервера = сервер SMB имя netbios = FS01 os level = 44 # ------------ # # Сеть # # ------------ # интерфейсы = 127.0.0.0/8 eth0 привязать только интерфейсы = да порядок разрешения имен = хост отключить netbios = да smb-порты = 445 вход в домен = Да предпочтительный мастер = Да мастер домена = Да # ------------------- # # Настройки Kerberos # # ------------------- # security = ADS realm = EXAMPLE. COM # ------------------- # # Настройки безопасности # # ------------------- # шифровать пароли = да не спускайтесь = / proc, / dev, / etc, / lib, / lost + found, / initrd # --------- # # Логирование # # --------- # уровень журнала = 3 auth: 10 файл журнала = / var / log / samba /% m.бревно максимальный размер журнала = 10000 syslog = 0 [дома] comment = Домашние каталоги browseable = нет writeable = да принудительно создать режим = 0660 принудительный режим каталога = 0770
Создайте машинное доверие для нашего сервера CIFS. Запускаем на хосте kerberos:
kadmin.local addprinc cifs / fs01.example.com
Добавьте пароль, который вы добавили для cifs / fs01.example.com, в файл secrets.tdb (это пароль доверительной учетной записи компьютера):
net changesecretpw -f
Если позже вы получите сообщение об ошибке, например:
ads_secrets_verify_ticket: не удалось получить пароль компьютера
В файле журнала вашей машины это означает, что пароли в Kerberos и в секретах. tdb файл не синхронизирован. Также обратите внимание, что пароль хранится в виде обычного текста в файле secrets.tdb, поэтому убедитесь, что этот файл очень безопасен (chmod 600).
Создайте домашний каталог для нашего пользователя:
mkdir / home / testuser chown testuser: Домен \ Пользователи / home / testuser /
Проверьте параметры конфигурации в файле smb.conf:
testparm
и запустите сервисы самбы. Обратите внимание, что на машинах Red Hat nmbd запускается автоматически. Поэтому, если вы не хотите, чтобы nmbd (я сказал, что мы не будем) комментировать соответствующие строки в / etc / init.д / кого-л.
сервис smb start запуск службы winbind
Тестирование
Проверьте подключение к сети:
чистый поиск ldap
Это должно вернуть IP-адрес сервера LDAP и номер его порта.
Проверить SID домена. SAMBA должен был создать собственный SID домена компьютера и прочитать SID домена из LDAP:
имя сетевого поиска EXAMPLE. COM имя сетевого поиска LARIX
Это должно вернуть идентификаторы безопасности
Проверьте, есть ли там SID пользователя, и исправьте:
net usersidlist
Это должно вернуть testuser и никто.
Если все вышеперечисленное в порядке, мы сможем подключиться к нашему файловому серверу с помощью Kerberos:
kinit testuser smbclient -L fs01.example.com -N
Это проверка анонимного входа в систему. Просто чтобы посмотреть, сможем ли мы перечислить общие ресурсы, доступные на сервере.
Перечислите службы, доступные на нашем сервере в качестве пользователя testuser, используя наш билет Kerberos:
smbclient -U testuser -L fs01.example.com -k
Подключитесь к общему ресурсу, используя наш билет Kerberos:
smbclient -U testuser // fs01.example.com/testuser -k
С помощью ls вы сможете просматривать содержимое общей папки. С помощью put вы можете перенести файл из вашей локальной системы на удаленный. Samba действует как FTP-сервер, поэтому, если вы знакомы с FTP, сделайте все, что хотите, для проверки общей папки. ? даст вам обзор доступных команд. Выйти закрывает соединение.
Какие порты TCP / UDP на главном устройстве DC должны быть доступны для других систем UCS? — Поддерживается
Системы в домене UCS должны иметь возможность устанавливать TCP / UDP-соединения с главным контроллером DC для нескольких служб.
Если брандмауэр или другие устройства блокировки портов используются в конфигурации сайта, эта функциональность может быть нарушена, и порты должны быть открыты напрямую.
Вам необходимо разрешить ICMP для проверки связи.
Необходимы следующие порты:
Порт | Протокол | Сервис |
22 | TCP | SSH |
53 | TCP / UDP | Сервер имен |
67 | UDP | DHCP |
88 | TCP / UDP | Kerberos |
123 | TCP / UDP | NTP |
443 | TCP | HTTPS |
464 | TCP / UDP | Kerberos |
749 | TCP / UDP | Kerberos |
6669 | TCP | Уведомитель каталога Univention |
6670 | TCP | Консоль управления Univention |
7389 | TCP / UDP | LDAP |
7636 | TCP / UDP | LDAPS |
11212 | TCP | паразит |
Следующие порты используются, если используется Samba 4:
Порт | Протокол | Сервис |
135 | TCP / UDP | RPC |
389 | TCP / UDP | Samba4 LDAP |
445 | TCP / UDP | МСБ |
636 | TCP / UDP | Samba4 LDAPS |
873 | TCP | Rsync |
1024-1300 | TCP / UDP | Самба <= 4. 6 / динамических портов RPC |
49152-65535 | TCP / UDP | Samba> = 4.7 / динамические порты RPC |
TechNet: Защита трафика Windows RPC
3268 | TCP / UDP | Samba 4 / Глобальный каталог через LDAP |
3269 | TCP / UDP | Samba 4 / Глобальный каталог через LDAPS |
Следующие порты могут использоваться определенными службами, такими как UVMM:
Порт | Протокол | Сервис |
80 | TCP | HTTP-доступ к репозиторию |
5900-5999 | TCP / UDP | УВММ / ВНЦ |
16514 | TCP | UVMM / libvirtd |
49152-49215 | TCP / UDP | UVMM / миграция |
Процедуры после установки пакетов UCS, конечно же, создают исключения для Univention-Firewall — соответствующие исключения необходимы только в том случае, если используются внешние брандмауэры.
Ping также должен быть доступен
Дополнительная информация
BASE — конфигурация Linux Samba
На главную »Статьи» Linux »Вот
Эта статья представляет собой введение в конфигурацию Samba в Linux с конкретной ссылкой на информацию, необходимую для сертификационного экзамена RHCE EX300.
Помните, что экзамены проводятся на практике, поэтому не имеет значения, какой метод вы используете для достижения результата, если конечный результат правильный.
Статьи по теме.
Установка
Служба Samba устанавливается из репозитория Yum с помощью следующей команды.
# yum install samba
Включите сервер Samba и убедитесь, что он запускается автоматически при перезагрузке.
# service smb start # chkconfig smb на
Samba настраивается путем изменения содержимого файлов «/etc/samba/smb.conf» и «/ etc / samba / smbusers». Изменения конфигурации должны сопровождаться перезагрузкой или перезапуском службы smb.
# перезапуск службы smb # # или же # service smb reload # /etc/init.d/smb reload
Межсетевой экран
Если вы используете брандмауэр Linux, вам необходимо специально открыть порты 139 и 445. В документации Samba также предлагается открыть 3 дополнительных порта. Предполагая, что вы используете установочный файл брандмауэра, как описано здесь, вы можете включить следующие дополнения в цепочку INPUT.
# Открыть порты для SAMBA. iptables -A ВВОД -p tcp --dport 135 -j ПРИНЯТЬ iptables -A ВВОД -p tcp --dport 137 -j ПРИНЯТЬ iptables -A ВВОД -p tcp --dport 138 -j ПРИНЯТЬ iptables -A ВВОД -p tcp --dport 139 -j ПРИНЯТЬ iptables -A INPUT -p tcp --dport 445 -j ACCEPT
SELinux
Если вы используете SELinux, вам необходимо принять во внимание следующие моменты.
Логические значения SELinux, связанные со службой Samba, отображаются с помощью команды getsebool
.
# getsebool -a | grep samba samba_create_home_dirs -> выкл. samba_domain_controller -> выкл. samba_enable_home_dirs -> выкл. samba_export_all_ro -> выкл. samba_export_all_rw -> выкл. samba_run_unconfined -> выкл. samba_share_fusefs -> выкл. samba_share_nfs -> выкл. sanlock_use_samba -> выкл. use_samba_home_dirs -> выкл. virt_use_samba -> выкл. #
Команда setsebool
используется для установки определенного логического значения.
# setsebool use_samba_home_dirs на # setsebool use_samba_home_dirs off
Контекст samba_share_t
должен быть назначен всему контенту.
# semanage fcontext -a -t samba_share_t "/u01(/.*)?" # restorecon -F -R -v / u01
Вы можете проверить текущую настройку контекста для файлов и каталогов с помощью команды «ls -alZ».
Более подробную информацию о SELinux можно найти здесь.
Создание сетевых ресурсов
Общие ресурсы создаются путем редактирования файла «/ etc / samba / smb.conf «. В дистрибутивах RHEL5 и Fedora вы можете использовать инструмент с графическим интерфейсом под названием system-config-samba
, но он был удален из RHEL6.
Файл «/etc/samba/smb.conf» содержит пример определения общего ресурса в нижней части файла. Знак «;» символы являются комментариями.
# Общедоступный каталог, но только для чтения, кроме людей в # группа "персонал" ; [общедоступный] ; comment = Общедоступные материалы ; путь = / домой / самба ; общественность = да ; Writable = да ; printable = нет ; написать список = + персонал
Более подробная информация доступна на сайте « man smb.conf
«или» info smb.conf
«. В следующем примере определяется общий ресурс, доступный пользователю с именем» john_doe «и членам группы» developers «.
[u01] допустимые пользователи = john_doe @developers список записи = john_doe @developers путь = / u01 writeable = да создать маску = 0775
Не забудьте перезагрузить конфигурацию или перезапустить службу smb, чтобы изменения вступили в силу.
В следующем разделе показан рабочий пример, так что это должно немного прояснить ситуацию.
Создание общих сетевых ресурсов для совместной работы группы
В этом разделе описаны шаги, необходимые для создания общих ресурсов Samba, подходящих для групповой совместной работы.
Создайте группу, которая будет действовать как владелец общих файлов.
# groupadd developers
Создайте несколько пользователей, которые будут включены в группу «разработчики».
# useradd dev1 -G разработчики # passwd dev1 # пароль установлен на dev1 # id dev1 uid = 501 (dev1) gid = 504 (dev1) группы = 504 (dev1), 506 (разработчики) # # useradd dev2 -G разработчики # passwd dev2 # пароль установлен на dev2 # id dev2 uid = 502 (dev2) gid = 505 (dev2) groups = 505 (dev2), 506 (разработчики) #
Установите пароль Samba для пользователей.
# smbpasswd -a dev1 Новый пароль SMB: Введите новый пароль SMB еще раз: Добавлен пользователь dev1. # # smbpasswd -a dev2 Новый пароль SMB: Введите новый пароль SMB еще раз: Добавлен пользователь dev2. #
Создайте каталог для хранения общих файлов, убедившись, что его группа установлена правильно. Разрешения установлены на «g + rwx» (0770), поскольку группа является определяющим фактором при доступе к данным в этом каталоге.
# mkdir / developers_dir # chgrp developers / developers_dir # chmod g + s / developers_dir # chmod -R 770 / developers_dir
Добавьте следующий общий ресурс в «/ etc / samba / smb.conf «. Обратите внимание на разрешения 0770 еще раз, чтобы пользователи случайно не создали файлы, которые не могут быть изменены другими членами группы.
[devshare] browseable = да путь = / developers_dir force group = + разработчики действительные пользователи = @developers написать список = @developers создать маску = 0770 принудительно создать режим = 660
Перезагрузите конфигурацию Samba.
# service smb reload Повторная загрузка файла smb.conf: [OK] #
С другой машины смонтируйте общий ресурс как пользователь «dev1» и создайте файл.
# mkdir -p / u01 / dev1 # mount -t cifs -o rw, имя пользователя = dev1, пароль = dev1 //192.168.0.190/devshare / u01 / dev1 # echo "яблоки" >> /u01/dev1/test.txt
С другой машины смонтируйте общий ресурс как пользователь «dev2» и отредактируйте ранее созданный файл.
# mkdir -p / u01 / dev2 # mount -t cifs -o rw, имя пользователя = dev2, пароль = dev2 //192.168.0.190/devshare / u01 / dev2 # echo "апельсины" >> /u01/dev2/test.txt # cat / u01 / dev2 / test.текст яблоки апельсины #
Безопасность
Базовая модель безопасности пользователей Samba довольно проста. Как было показано ранее, существующих пользователей Linux можно превратить в пользователей Samba, введя команду « smbpasswd -a
». Это позволяет сделать общие ресурсы специфичными для пользователя путем добавления пользователей в записи « действительных пользователей
» и « список записи
» файла «/etc/samba/smb.conf».
Аналогичным образом разрешения могут быть на уровне группы, если указать группу с предшествующим символом «@».
Безопасность на уровне хоста
можно контролировать с помощью брандмауэра Linux или путем добавления параметров « хосты разрешают
» или « хостов запрещают
» в определения общих ресурсов в файле «/etc/samba/smb.conf». Если эти настройки помещены в раздел «[global]» файла, они влияют на все определения общих ресурсов.
Сопоставление имен пользователей
Файл «/ etc / samba / smbusers» используется для сопоставления имен пользователей Samba с именами пользователей Linux, что позволяет использовать разные стандарты именования между машинами, на которых работают разные операционные системы.Параметры по умолчанию в файле сопоставляют обычных пользователей Windows «admin» и «administrator» с пользователем Linux «root».
# Unix_name = SMB_name1 SMB_name2 ... root = администратор admin никто = гость pcguest smbguest
Установка общих ресурсов Samba
Следующие ссылки ведут на статьи на этом сайте о монтировании общих ресурсов Samba:
Для получения дополнительной информации см . :
Надеюсь, это поможет. С уважением, Тим …
Вернуться к началу.
межсетевых экранов
межсетевых экранов
В этом справочном документе описаны порты, которые использует CUPS, чтобы администраторы брандмауэра могли разрешить трафик, используемый для печати.
Порты, используемые для совместного использования принтера
В таблице 1 перечислены порты, которые используются для общего доступа к принтеру IPP через CUPS.
(Назначение) Порт | TCP / UDP | Направление | Описание |
---|---|---|---|
53 (DNS) | TCP / UDP | OUT | Поиск в системе доменных имен и регистрация служб. |
631 (IPP / IPPS) | TCP | IN | Запросы и ответы протокола Интернет-печати (задания на печать, мониторинг состояния и т. Д.) |
5353 (mDNS) | UDP | IN + OUT | Многоадресный поиск DNS и регистрация служб. |
В таблице 2 перечислены порты, которые используются для совместного использования принтера SMB (Windows), обычно через программное обеспечение Samba.
(Назначение) Порт (ы) | TCP / UDP | Направление | Описание |
---|---|---|---|
137 (WINS) | UDP | IN + OUT | Windows Internet Naming Service (поиск имени печать). |
139 (SMB) | TCP | IN | Печать Windows SMB. |
445 (SMBDS) | TCP | IN + OUT | Сервер домена Windows SMB (печать SMB с аутентификацией). |
Порты, используемые для сетевых принтеров
В таблице 3 перечислены порты для исходящего сетевого трафика, которые используются для сетевых принтеров.
Примечания:
- DNS и mDNS используются для всех протоколов печати, кроме SMB.
- SNMP используется для предоставления информации о состоянии и уровне поставки для принтеров AppSocket и LPD.
(Назначение) Порт (а) | TCP / UDP | Описание |
---|---|---|
53 (DNS) | TCP / UDP | Поиск в системе доменных имен. |
137 (WINS) | UDP | Служба имен в Интернете Windows (поиск имени для печати SMB). |
139 (SMB) | TCP | Печать Windows SMB. |
161 (SNMP) | UDP | Просмотр SNMP (широковещательный) и мониторинг состояния (направленный на IP-адрес принтера). |
443 (IPPS) | TCP | Запросы и ответы протокола Интернет-печати (задания печати, мониторинг состояния и т. Д.) |
445 (SMBDS) | TCP | Сервер домена SMB Windows (печать SMB с аутентификацией ). |
515 (LPD) | TCP | Line Printer Daemon (LPD / lpr) отправка задания на печать и мониторинг состояния. |
631 (IPP / IPPS) | TCP | Запросы и ответы протокола Интернет-печати (задания печати, мониторинг состояния и т. Д.) |
5353 (mDNS) | UDP | Многоадресный поиск DNS. |
9100-9102 | TCP | Поток необработанных данных печати (AppSocket / JetDirect). |
Изменение адресов привязки и портов для Samba и FT …
Устаревшие страницы {{Obsolete}}
Официальная документация находится по адресу: http://docs.alfresco.com
ConfigurationCIFSFTP
Это отчет о моих собственных экспериментах по устранению BindExceptions.
Установив Alfresco на свой Linux-сервер, я не очень удивился, получив несколько
java. net.BindException: адрес уже используется исключения
, поскольку и Alfresco, и мой smbd / nmbd и ftp-сервер пытались привязаться к одним и тем же портам. с подстановочным IP-адресом (0.0.0.0).
Чтобы разрешить сосуществование, я решил сначала отключить службу Alfresco netBIOSSMB в пользу Linux nmbd. Метод описан в других сообщениях форума, все, что требуется, — это отредактировать WEB-INF / classes / alfresco / file-servers.xml (внутри alfresco.war) и принудительно использовать tcpipSMB:
Найдите следующие строки:
< tcpipSMB platform = 'linux, solaris, macosx' />
и удалите linux из записи netBIOSSMB:
для конфликта CIFS / smbd, я решил создать дополнительный IP-адрес только для Alfresco и изменить IP-адрес привязки «подстановочного знака» на конкретный единый адрес.
Мой исходный сетевой интерфейс был настроен следующим образом:
# ifconfig eth0
eth0 Link encap: Ethernet HWaddr 00: 50: 8D: F3: B4: 71
inet addr: 192.168.129.2 Bcast: 192.168.129.255 Маска: 255.255.255. 255.0
UP BROADCAST RUNNING MULTICAST MTU: 1500 Метрика: 1
[snip]
Я добавил дополнительный IP-адрес, например:
# ifconfig eth0: 0 192.168.129.63
result:
# ifconfig eth0: 0 : 0 Link encap: Ethernet HWaddr 00: 50: 8D: F3: B4: 71
inet адрес: 192.168.129.63 Bcast: 192.168.129.255 Маска: 255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU: 1500 Метрика: 1
[snip]
Чтобы заставить демон smb прослушивать правильный адрес, а не использовать подстановочные знаки, я отредактировал / etc /samba/smb.conf, а в разделе «[global]» добавлено:
- Разрешить несколько серверов Samba в разных подсетях без конфликтов
адрес сокета = 192. 168.129.2
интерфейсов = 192.168.129.0/ 255.255.255.0
только интерфейсы привязки = да
в соответствии с моим исходным eth0 ifconfig.
Аналогичная задача для сервера Alfresco CIFS решается дополнительным редактированием файла
WEB-INF / classes / alfresco / file-servers.xml
Это просто случай добавления атрибутов ‘bindto’ в нужных местах и сужения широковещательный адрес (необходим?)
Для сервера CIFS я изменил широковещательный адрес на адрес своей локальной сети и добавил ниже атрибут bindto:
192.168.129.255
192.168.129.63
и добавлена простая строка для FTP-сервера Alfresco:
192.168.129.63
Последней задачей было добавить строку в файл / etc / hosts на этом и заинтересованных клиентских машинах, сопоставив имя сервера CIFS с его IP-адресом:
192. 168.129.63 brunel_a
После завершения работы и перезапуска smb / nmb / alfresco у меня не было исключений привязки, и мой вывод netstat выглядел так:
# netstat -lnp | egrep 'java | mb' | tr -s ''
prot s r localAddress remoteAddress state PID / Program
tcp 0 0192.168.129.2: 139 0.0.0.0:* СЛУШАТЬ 19409 / smbd
tcp 0 0 192.168.129.63:21 0.0.0.0:* СЛУШАТЬ 23187 / java
tcp 0 0 192.168.129.2:7001 0.0.0.0:* СЛУШАТЬ 23187 / java
tcp 0 0 127.0.0.1:7001 0.0.0.0:* СЛУШАТЬ 23187 / java
tcp 0 0 192.168.129.63:445 0.0.0.0:* СЛУШАТЬ 23187 / java
tcp 0 0 192.168.129.2:445 0.0.0.0:* СЛУШАТЬ 19409 / smbd
udp 0 0 192.168.129.2:137 0.0.0.0:* 19414 / nmbd
udp 0 0 192.168.129.2:137 0.0.0.0:* 19414 / nmbd
udp 0 0 192.168.129.2:138 0.0.0.0 : * 19414 / nmbd
UDP 0 0 0.0.0.0: 138 0.0.0.0:* 19414 / nmbd
7001 — это HTTP-порт моего сервера приложений. Ближайшей эквивалентной командой в MS Windows (или Unix) будет netstat -an.
Просмотр общих ресурсов теперь немного ненадежен, я не уверен, почему, но установка / отображение сетевых дисков как \\ brunel_a \ Alfresco и т. Д., Похоже, работает нормально.
HTH
С уважением
Эрик Ли
Привет! Мы использовали статью Эрика для привязки различных интерфейсов Ethernet к Alfresco CIFS и родной самбе Linux, и это не сработало!
Моя подруга (Татьяна К.) и я (Борис Б.) сделал все, как сказал Эрик (вызвал дополнительный интерфейс eth, привязал Alfresco CIFS к одному интерфейсу, привязал Linux SMB к другому интерфейсу), но это не сработало. Мы используем дистрибутив Linux: openSuse11.1 и Alfresco Community Release 3.2.
Проблема заключалась в том, что если вы сначала запускаете Linux SMB, он действительно привязывается к определенному интерфейсу, который мы назначаем в /etc/samba/smb.conf, но когда мы запускаем Alfresco, он не привязывает его к конкретному интерфейсу, а Alfresco CIFS не работай.
linux: / # netstat -lnp | egrep 'java | mb' | tr -s ''
tcp 0 0 10.0.14.216: 139 0.0.0.0:* СЛУШАТЬ 2936 / smbd
tcp 0 0 10.0.14.216:445 0.0.0.0:* СЛУШАТЬ 2936 / smbd
tcp 0 0 ::: 50753 ::: * СЛУШАТЬ 8655 / java
tcp 0 0 ::: 50500 ::: * СЛУШАТЬ 8655 / java
tcp 0 0 127.0.0.1:8005 ::: * СЛУШАТЬ 8655 / java
tcp 0 0 ::: 50501 ::: * СЛУШАТЬ 8655 / java
tcp 0 0 ::: 50502 ::: * СЛУШАТЬ 8655 / java
tcp 0 0 ::: 50503 ::: * СЛУШАТЬ 8655 / java
tcp 0 0 ::: 50504 ::: * СЛУШАТЬ 8655 / java
tcp 0 0: :: 50505 ::: * СЛУШАТЬ 8655 / java
tcp 0 0 ::: 50506 ::: * СЛУШАТЬ 8655 / java
tcp 0 0 ::: 50507 ::: * СЛУШАТЬ 8655 / java
tcp 0 0 ::: 33932 ::: * LISTEN 8655 / java
tcp 0 0 ::: 21 ::: * LISTEN 8655 / java
udp 0 0 ::: 48786 ::: * 8655 / java
В этом случае Linux SMB работает и Alfresco CIFS этого не делает.
Если вы сначала запустите Alfresco, а затем Linux SMB, то у вас будет такая ситуация
linux: / # netstat -lnp | egrep 'java | mb' | tr -s ''
tcp 0 0 ::: 50753 ::: * СЛУШАТЬ 8655 / java
tcp 0 0 ::: 50500 ::: * СЛУШАТЬ 8655 / java
tcp 0 0 127. 0.0.1:8005 ::: * СЛУШАТЬ 8655 / java
tcp 0 0 ::: 50501 ::: * СЛУШАТЬ 8655 / java
tcp 0 0 ::: 50502 ::: * СЛУШАТЬ 8655 / java
tcp 0 0 ::: 50503 ::: * СЛУШАТЬ 8655 / java
tcp 0 0 ::: 50504 ::: * СЛУШАТЬ 8655 / java
tcp 0 0 ::: 50505 ::: * СЛУШАТЬ 8655 / java
tcp 0 0 ::: 50506 ::: * СЛУШАТЬ 8655 / java
tcp 0 0 ::: 50507 ::: * СЛУШАТЬ 8655 / java
tcp 0 0 ::: 33932 ::: * СЛУШАТЬ 8655 / java
tcp 0 0 ::: 21 ::: * СЛУШАТЬ 8655 / java
tcp 0 0 ::: 445 ::: * LISTEN 8655 / java
udp 0 0 ::: 137 ::: * 8655 / java
udp 0 0 ::: 48786 ::: * 8655 / java
В этом случае Alfresco CIFS работает, а Linux SMB — нет.
Оказывается, вам не нужно изменять file-servers.properties в расположении / opt / Alfresco / tomcat / webapps / alfresco / WEB-INF / classes / alfresco.
Совет: в файле file-servers.properties вы можете изменять переменные, используемые в file-servers.xml. Намного удобнее изменять переменные в file-servers. properties, чем в file-servers.xml.
linux: / opt / Alfresco / tomcat / webapps / alfresco / WEB-INF / classes / alfresco # ls | grep file-serve
файловых серверов.properties
file-servers.xml
В расположении / opt / Alfresco / tomcat / webapps / alfresco / WEB-INF / classes / alfresco / subsystems / fileServers / default есть два файла
linux: / opt / Alfresco / tomcat / webapps / alfresco / WEB-INF / classes / alfresco / subsystems / fileServers / default # ls
file-servers-context.xml
file-servers.properties
и содержимое
/ opt / Alfresco / tomcat /webapps/alfresco//WEB-INF/classes/alfresco/file-servers.properties
соответствует содержимому
/ opt / Alfresco / tomcat / webapps / alfresco // WEB-INF / classes / alfresco / subsystems / fileServers / по умолчанию / файловые серверы.properties
и содержимое
/opt/Alfresco/tomcat/webapps/alfresco//WEB-INF/classes/alfresco/file-servers. xml
соответствует содержимому
/ optcat / tomcat Alfresco /webapps/alfresco//WEB-INF/classes/alfresco/subsystems/fileServers/default/file-servers-context.xml
В файле / opt / Alfresco / tomcat / webapps / alfresco // WEB-INF / classes / alfresco / subsystems / fileServers / default / file-servers.properties
мы изменили
cifs.binto =
до
cifs.binto = 10.0.14.227
и после перезапуска Alfresco и Linux SMB у нас есть этот вывод
linux: / # netstat -lnp | egrep 'java | mb' | tr -s ''
tcp 0 0 10.0.14.216:139 0.0.0.0:* СЛУШАТЬ 2936 / smbd
tcp 0 0 10.0.14.216:445 0.0.0.0:* СЛУШАТЬ 2936 / smbd
tcp 0 0 ::: 50753: :: * СЛУШАТЬ 8655 / java
tcp 0 0 ::: 50500 ::: * СЛУШАТЬ 8655 / java
tcp 0 0 127.0.0.1:8005 ::: * СЛУШАТЬ 8655 / java
tcp 0 0 ::: 50501 :: : * СЛУШАТЬ 8655 / java
tcp 0 0 ::: 50502 ::: * СЛУШАТЬ 8655 / java
tcp 0 0 ::: 50503 ::: * СЛУШАТЬ 8655 / java
tcp 0 0 ::: 50504 ::: * СЛУШАТЬ 8655 / java
tcp 0 0 ::: 50505 ::: * СЛУШАТЬ 8655 / java
tcp 0 0 ::: 50506 ::: * СЛУШАТЬ 8655 / java
tcp 0 0 ::: 50507 ::: * СЛУШАТЬ 8655 / java
tcp 0 0 10. 0.14.227: 139 ::: * СЛУШАТЬ 8655 / java
tcp 0 0 ::: 33932 ::: * СЛУШАТЬ 8655 / java
tcp 0 0 10.0.14.227:8080 ::: * СЛУШАТЬ 8655 / java
tcp 0 0 ::: 21 ::: * СЛУШАТЬ 8655 / java
tcp 0 0 10.0.14.227:445 ::: * СЛУШАТЬ 8655 / java
udp 0 0 10.0.14.227:137 ::: * 8655 / java
udp 0 0: :: 48786 ::: * 8655 / java
и, как вы можете видеть, привязка Alfresco 10.0.14.227:445 и 10.0.14.227:137 и привязка SMB Linux 10.0.14.216:139 и 10.0.14.216:445.
Теперь из проводника Windows мы можем получить доступ к \\ 10.Расположение 0.14.227 \ alfresco и \\ 10.0.14.216 \ samba на нашем сервере Linux.
Никаких других изменений кроме cifs.binto не производится.
Теперь все отлично работает !!!
Надеемся, что это вам поможет !!!
Еще раз хочу поблагодарить Татьяну К. за решение этой очень важной задачи !!!
С уважением
Борис Бардак
Разрешите Samba через ваш брандмауэр Linux с помощью ufw
Как многие из вас знают, Samba позволяет вашей машине Linux работать с машинами Windows (и наоборот). Без Samba Linux был бы заблокирован и не мог нормально работать в гетерогенных сетях. Поэтому большинство пользователей Linux устанавливают Samba, чтобы разрешить общий доступ к файлам / папкам и просмотр сети. Обычно Samba очень проста в установке и работе. Но когда возникают проблемы, Samba может стать кошмаром для устранения неполадок. Одним из первых шагов в устранении неполадок всегда должен быть брандмауэр, так как это очень часто является проблемой. Что делать, если ваш брандмауэр не пропускает Samba? Вы говорите своему брандмауэру разрешить Samba пройти.Посмотрим, как это делается.
Я хочу показать вам, как это делается двумя разными способами: с использованием типичного графического интерфейса межсетевого экрана и командной строки ufw. Для графического интерфейса я собираюсь проиллюстрировать это с помощью GUFW (интерфейс GNOME для UFW). Естественно, каждый инструмент брандмауэра с графическим интерфейсом будет обрабатывать этот процесс по-разному, но понимание основ того, что вы ищете, должно дать вам достаточно информации о том, как именно управлять задачей с помощью инструмента брандмауэра, который вы используете.
ufw
Рисунок 1
Начнем сначала с более сложной задачи.Я предполагаю, что вы знаете некоторые основы. Что мы будем делать, так это разрешить необходимые порты Samba с помощью командной строки UFW. Давайте сначала проверим, включен ли ваш брандмауэр. Для этого введите команду:
sudo iptables -L
Когда вы введете указанную выше команду, вы должны увидеть результат, аналогичный тому, что вы видите на рисунке 1. Если вы ничего не видите, это означает, что ваш брандмауэр не включен.
Теперь давайте добавим правила, разрешающие Samba проходить через ваш брандмауэр.Я собираюсь проиллюстрировать это, используя схему IP-адресов 192.168.1.0. Вы можете настроить это в соответствии со своими потребностями. Команды, которые вам нужно запустить, чтобы открыть необходимые порты:
sudo ufw allow proto udp to any port 137 from 192.168.1.0/24
sudo ufw allow proto udp to any port 138 from 192.168.1.0/24
sudo ufw allow proto tcp к любому порту 139 из 192. 168.1.0/24
sudo ufw allow proto tcp к любому порту 445 из 192.168.1.0/24
Вы будете вводить вышеуказанные команды по одной за раз.
GUFW
Рисунок 2
Теперь давайте посмотрим, как разрешить Samba через ваш брандмауэр с помощью интерфейса UFW, GUFW. Вы можете запустить инструмент GUFW, щелкнув Система> Администрирование> Конфигурация брандмауэра . Когда откроется окно GUFW (см. Рисунок 2). Если брандмауэр не включен, установите флажок Включено, чтобы запустить его. После запуска вы можете добавить правила в конфигурацию.
Рисунок 3
Когда вы нажмете кнопку «Добавить», появится новое окно (см. Рисунок 3).В этом окне выберите вкладку Preconfigured. В этом окне выберите следующее:
Когда вы выбрали вышеуказанное, нажмите «Добавить». Теперь вернитесь и добавьте еще одно правило, чтобы использовать ту же конфигурацию, что и выше, за исключением выбора Out вместо In. Как только вы это сделаете, закройте окно Добавить правило, а затем выйдите из окна GUFW.