Книга: Linux глазами хакера
6.1.2. Безопасность
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
;
? username map = файл
— указание на файл, где хранится список пользователей Samba-сервера для Windows 9x-клиентов (о нем подробнее мы поговорим в разд. 6.3).
- Надежность и безопасность
- Интегрированная безопасность (NT Integrated Security)
- Безопасность временных таблиц
- Безопасность внешних таблиц. Параметр EXTERNAL FILE DIRECTORY
- Глава 10 Информационная безопасность бизнеса
- 11.4. Информационная безопасность и ее основные компоненты
- Безопасность
- 2.10.5. Безопасность против производительности
- 3.1.2. Безопасность файлов
- 3.5.3. Безопасность работ
- 5.4.2. Безопасность
- 7.7. Безопасность сценариев