Руководство администратора Linux по безопасности

       

Samba


SMB (server message block) текущий протокол совместного использования файлов в windows. Samba делает невероятную работу для обеспечения всех услуг, требуемых, чтобы правильно совместно использовать файлы windows (например, поддерживает сервисы Primary и Backup Domain Controller). Вы также можете предоставить windows-доступ к принтерам через Samba и обращать через smbclient к Windows-принтерам.


SAMBA позволяет совместно использовать файлы и принтеры между Windows и *NIX. SAMBA не всегда правильно работает с windows-клиентами (часто поврежденными), но причина здесь в хитростях реализпции протокола в windows, а не в самом пакете SAMBA, который имеет очень много поправок для налаживания работы с такими ненормальными клиентами. Увы, получается не всегда. SAMBA просто дает доступ к файловой системе через протокол SMB (Server Message Block), протоко используемый Windows, чтобы совместно использовать файлы и принтеры. Он проверяет username и пароль (если требуется) и затем дает доступ к файлам согласно разрешениям файла. Я собираюсь описывать только Samba 2.x, Samba 1.x довольно стар.

Samba 2.x управляется через smb.conf, обычно в /etc (man smb.conf). В /etc/smb.conf есть 4 основных области переключателей конфигурации: [globals], [printers], [homes] и каждый разделяемый ресурс имеет свою зону [sharename]. Имеется сотня или около того переключателей, они подробно рассмотрены на man-странице smb.conf. Некоторые из них (важные для защиты):

security = xxxx где xxxx имеет значение server или domain. Предназначено для ресурсов, закрытых паролем. При значении server сервер samba непосредственно опознает пользователей через /etc/password или smbpasswd. Если Вы устанавливаете значение domain, samba опознает пользователя через контроллер домена NT, таким образом интегрируясь в существующую NT-сеть.

guest account = xxxx где xxxx задает username, отведенный для гостевого входа. Если разделяемый ресурс задан как public, все запросы к нему пойдут от имени данного пользователя.

hosts allow = xxxx где xxxx представляет собой разделенный пробелами список хостов/IP, которым дозволено соединяться с сервером.

hosts deny = xxxx где xxxx представляет собой разделенный пробелами список хостов/IP, которым НЕ дозволено соединяться с сервером.

interfaces = xxxx где xxxx представляет собой разделенный пробелами список хостов/IP, которые адресует samba

SMB использует разные порты, обычно 137, 138 и 139, протоколы udp и tcp для всех за исключением 139.




Samba полезен для деления www-каталогов Windows-клиентами, Вы можете хранить usernames и пароли, отдельно от системы (использование smbpasswd, лучше системной passwd) и шифрование входов в систему не проблема. Просто создайте non-browseable разделяемый ресурс и используйте директиву ? valid users?, чтобы ограничить, какие пользователи могут рассматривать общие данные. Например:

[www-example] path = /www/www.example.org valid users = someuser read only = No browseable = No

Будет установлен довольно безопасный общий ресурс для каталога ?/www/www.example.org?, к которому только пользователь ?example? сможет обращаться.



Содержание раздела