Рейтинговые книги
Читем онлайн Linux глазами хакера - Михаил Флёнов

Шрифт:

-
+

Интервал:

-
+

Закладка:

Сделать
1 ... 54 55 56 57 58 59 60 61 62 ... 120

# Основные директивы

 workgroup = MYGROUP

 server string = Samba Server

; hosts allow = 192.168.1. 192.163.2. 127.

 load printers = yes

 printing = lprng

; guest account = pcguest

# Директивы журнала

 log file = /var/log/samba/%m.log

 max log size = 0

# Директивы безопасности

 security = user

; password server = <NT-Server-Name>

; password level = 8

; username level = 8

 encrypt passwords = yes

 smb passwd file = /etc/samba/smbpasswd

 unix password sync = Yes

 passwd program = /usr/bin/passwd %u

 passwd chat = *New*password* %nn *Retype*new*password* %.

 *passwd:*all*authentication*tokens*updated*successfully*

 pam password change = yes

; username map = /etc/samba/smbusers

; include = /etc/samba/smb.conf.%m

 obey pam restrictions = yes

# Настройка сокета

 socket options = TCP_NODELAY SO_RCVBUF=8192 SO_sndbuf=819

; interfaces = 192.168.12.2/24 192.168.13.2/24

# Настройка просмотра

; remote browse sync = 192.168.3.25 192.168.5.255

; remote announce = 192.168.1.255 192.168.2.44

; local master = no

; os level = 33

; domain master = yes

; preferred master = yes

# Работа с сервером

; domain logons = yes

; logon script = %m.bat

; logon script = %U.bat

; logon path = \%LProfiles%U

; wins support = yes

# WINS-сервер

; wins server = w.x.y.z

; wins proxy = yes

 dns proxy = no

# Отображение файлов

; preserve case = no

; short preserve case = no

; default case = lower

; case sensitive = no

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

В большинстве конфигурационных файлов Linux и его программах для описания директив используется формат:

ИмяДирективы Значение

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

В Samba-сервере используется несколько иной формат:

ИмяДирективы=Значение

Значение директивы ставится после знака равенства. Таким образом, имя директивы может состоять из нескольких слов, содержать пробелы и различные символы (кроме знака равенства).

6.1.1. Основные настройки

Конфигурационный файл разбит на секции. Самой первой идет [global], в которой описываются глобальные настройки сервера. В ней можно увидеть следующие директивы:

□ workgroup = имя — содержит имя группы, в которую входит сервер. Когда в Windows вы входите в сетевое окружение, то можно увидеть все доступные ресурсы, разбитые на категории. В каждой группе могут быть свои компьютеры или серверы;

□ netbios name = имя — определяет имя, которое пользователи будут видеть в сетевом окружении для данного сервера, оно не должно совпадать с именем рабочей группы;

□ server string = описание — это свободный текст, который можно будет увидеть в поле Description (Комментарий) свойств сервера или окне сетевого окружения в режиме Details (Таблица). В этом поле вы можете поместить комментарий, описывающий содержимое сервера, например, "Файловый архив Сергея";

□ hosts allow = адреса — перечисление через пробел IP-адресов или сетей, которым разрешен доступ к Samba-серверу. Например, чтобы открыть доступ всем компьютерам сети 192.168.1.x и одному компьютеру из другой сети 192.168.2.1, надо написать следующую команду:

hosts allow = 192.168.1. 192.168.2.2

□ printcap name = файл — указывает файл описания принтеров, подключенных к системе. По умолчанию это /etc/printcap;

□ load printers = yes — задает (yes) автоматическое включение принтеров в список открытых ресурсов. Если в этом нет надобности, то укажите no;

□ printing = система — определяет тип системы печати. Здесь можно использовать одно из следующих значений: bsd, sysv, plp, lprng, aix, hpux или qnx.

6.1.2. Безопасность

В этом разделе мы рассмотрим директивы, которые напрямую или косвенно влияют на безопасность:

□ guest account = имя — указывается учетная запись, с правами которой пользователь сможет входить в систему. Если ваш сервер не содержит секретной информации и используется для открытого обмена файлами, то можно завести гостевую учетную запись, иначе такой вход не безопасен;

□ log file = файл — название файла-журнала, например, можно написать /var/log/samba/%m.log. Обратите внимание, что в имени присутствует символ процента, вместо которого во время работы будет подставляться имя пользователя, активность которого сохраняется. Так, например, для пользователя robert будет создан журнал /var/log/samba/robert.log;

□ max log size = n — определяет максимальный размер журнала в килобайтах. Укажите значение 0, если ограничения не должно быть;

□ security = уровень — определяет степень доступа, параметр может принимать одно из следующих значений:

 • user — на уровне пользователя;

 • share — аутентификация на основе имени и пароля;

 • server — задаст имя сервера, на котором хранятся пароли (с помощью директивы password server = ИмяСервера), т.к. пароли держатся на другом smb-сервере;

 • security = domain — включает сервер в домен Windows NT, пароль для доступа указывается в файле, определенном с помощью директивы smb passwd file = ИмяФайла;

□ encrypt passwords = yes — позволяет шифровать пароли, передаваемые по сети. Данная опция требует пояснении, потому что могут возникнуть проблемы при авторизации с компьютеров с Windows-системой.

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

Чтобы пользователи Windows смогли авторизоваться на Samba-сервере, необходимо передавать пароль в незашифрованном виде. Для этого значение encrypt passwords должно быть равно no. При этом в Windows-системе необходимо в реестре изменить параметр EnablePlainTextPassword, установив в нем значение 1. В Windows 9х этот параметр находится в реестре по адресу:

HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesVxDVNETSUP

Для Windows NT это:

HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesRdrParametrs

В Windows 2000:

HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesLanmanWorkStationParameters

Если соответствующего параметра не существует, то его следует создать. Он должен иметь тип dword.

Если возникли проблемы с входом в систему, то переключите систему в режим работы с незашифрованными паролями. В этом случае Samba использует для авторизации файлы /etc/passwd и /etc/shadow. Полученный открытый пароль шифруется по алгоритму MD5 и сравнивается со значениями из этого файла.

Если вы используете шифрованный пароль, то при авторизации будет использоваться файл /etc/samba/smbpasswd (можно изменить с помощью директивы smb passwd file). Он необходим из-за отличий в шифровании Windows и Linux.

Не применяйте открытые пароли без особой надобности. Не забывайте о существовании программ-снифферов, которые анализируют сетевой трафик и позволяют найти пароли, передаваемые по сети. Если они не зашифрованы, то злоумышленник сможет проникнуть в вашу систему;

□ smb passwd file = файл — указывает на расположения файла с паролями. По умолчанию это та же директория, где расположены конфигурационные файлы Samba;

□ ssl CA certFile = файл — указывает на файл сертификата, необходимый для работы протокола SSL, гарантирующего безопасность передачи данных;

□ unix password sync = yes — разрешает пользователям Windows менять пароль Samba, одновременно обновляя системные пароли в Linux. Если нет такой необходимости, то установите значение параметра no. Для работы этой директивы нужно указать программы, которые будут изменять пароли (команда passwd program) и сообщения, появляющиеся перед пользователем (команда passwd chat). Приведу пример использования:

unix password sync = Yes

passwd program = /usr/bin/passwd %u

passwd chat = *New*password* %nn *Retype*new*password* %nn

*passwd:*all*authentication*tokens*updated*successfully*

Помимо этого, необходимо использовать директивы encrypt passwords и smb passwd file;

1 ... 54 55 56 57 58 59 60 61 62 ... 120
На этой странице вы можете бесплатно читать книгу Linux глазами хакера - Михаил Флёнов бесплатно.
Похожие на Linux глазами хакера - Михаил Флёнов книги

Оставить комментарий