Родерик Смит - Сетевые средства Linux
• ServerType inetd|standalone. Если вы запускаете ProFTPd посредством суперсервера, вы должны задать значение inetd данной опции, если же для запуска используется сценарий SysV или локальный сценарий, надо установить значение standalone. С помощью данной опции ProFTPd получает сведения о том, запущен ли он от имени обычного пользователя и должен ли непосредственно обрабатывать запрос (inetd), или запуск осуществляется от имени пользователя root и для обработки запросов следует порождать новые процессы (standalone).
• SyslogLevel emerg|alert|crit|error|warn|notice|info|debug. Данная директива определяет, насколько подробные сведения должны записываться в файл протокола. Значения расположены по мере возрастания объема записываемой информации: emerg соответствует самым общим, a debug — наиболее подробным сведениям.
• TransferLog имя_файла|NONE. С помощью данной директивы вы можете указать файл протокола для помещения в него сведений о переданных файлах или запретить запись подобной информации (для этого надо задать значение NONE). Данная директива позволяет создавать различные файлы протоколов, предназначенные для разных целей. Она может независимо использоваться в блоках <Anonymous>, <VirtualHost> и <Global>, а также указываться за пределами всех блоков.
• Umask маска_файла [маска_каталога]. Данная директива позволяет задать маску umask, которая будет использоваться при создании новых файлов (и, возможно, новых каталогов). По умолчанию принимается значение 022, приемлемое для многих систем.
• UseFtpUsers on|off. Задавая значение off директивы UseFtpUsers, вы можете запретить использование файла /etc/ftpusers. По умолчанию для данной директивы устанавливается значение on.
• UserAlias псевдоним имя_пользователя. В обычных условиях ProFTPd использует для аутентификации пользовательское имя, указанное при регистрации. Посредством данной директивы вы можете задать псевдоним, который будет отображаться в имя конкретного пользователя. Например, если в конфигурационном файле указана опция UserAlias rjones ronald, то при указании имени rjones аутентификация будет производиться с помощью учетной записи ronald. (Такая конфигурация часто используется в анонимных FTP-серверах, где для аутентификации всех пользователей применяется учетная запись ftp).
Директивы, приведенные выше, а также другие директивы, не рассмотренные в данной главе, позволяют настроить ProFTP для выполнения самых разнообразных задач. Стандартная конфигурация позволят пользователям регистрироваться на сервере и работать с файлами, расположенными в их рабочих каталогах. В конфигурационном файле можно создать специальный блок <Anonymous> для поддержки анонимных обращений. Для того чтобы обеспечить доступ всех пользователей к серверу, надо внести в его конфигурацию дополнительные изменения. Кроме того, файлы, предназначенные для всеобщего доступа, необходимо разместить в специально предназначенных для этого каталогах.
Установка анонимного FTP-сервера
FTP-серверы очень часто используются для предоставления анонимного FTP-доступа. Как было сказано ранее в этой главе, вместо анонимного FTP-сервера может быть установлен Web-сервер, однако в ряде ситуаций FTP-сервер целесообразно использовать параллельно с Web-сервером и даже вместо него. Так, например, вам может потребоваться анонимный FTP-сервер для предоставления файлов всем желающим и обычный FTP-сервер, осуществляющий аутентификацию посредством анализа пользовательского имени и пароля. Установив серверы, поддерживающие протоколы HTTP и FTP, вы упростите работу пользователей, привыкших работать лишь с одной из служб.
Перед тем как устанавливать анонимный FTP-сервер, вам надо тщательно изучить вопросы обеспечения безопасности системы. Если вы решили настроить FTP-сервер для предоставления файлов всем желающим, вам надо изучить назначение соответствующих опций, находящихся в конфигурационных файлах. Кроме настройки сервера, вам также придется изменить конфигурацию системы, в частности, установить необходимые права доступа к каталогам.
Особенности работы анонимного FTP-сервера
Основное назначение анонимного FTP-сервера — обеспечивать передачу файлов с сервера на клиентский компьютер. На анонимном FTP-сервере можно разместить программы, документацию и другие сведения, которые вы собираетесь предоставить всем желающим. В состав HTML-документов можно включать ссылки на файлы, находящиеся на анонимном FTP-сервере; такие ссылки должны начинаться последовательностью символов ftp:// (например, ftp://ftp.threeroomco.com/pub/manual.pdf). Некоторые особенности работы подобных FTP-серверов требуют специального рассмотрения.
• Файлы, расположенные на анонимном FTP-сервере, копируются в одном направлении: с сервера на клиентский компьютер. Подобным образом настроено большинство Web-серверов. Существуют исключения из данного правила, но файлы, скопированные на анонимный FTP-сервер, обычно становятся недоступными остальным пользователям. К подобным мерам администраторы прибегают для того, чтобы их компьютеры не стали пунктом для обмена незаконной информацией. Если вы хотите получать файлы от удаленных пользователей, лучше всего настроить сервер так, чтобы перед передачей данных пользователь должен был зарегистрироваться на сервере. В качестве альтернативы FTP-серверу можно рассмотреть обмен документами по электронной почте.
• Файлы, расположенные на анонимном FTP-сервере, доступны всем желающим. Это означает, что на том компьютере, на котором размещен анонимный FTP-сервер, нельзя размещать важные данные. Для того чтобы организовать защиту системных файлов, пользователю, обратившемуся на анонимный FTP-сервер, предоставляется лишь ограниченное подмножество файловой системы. Вся информация, находящаяся за пределами выделенной области, скрыта от него. На большинстве FTP-серверов для обеспечения защиты создается поддерево chroot, которое будет рассматриваться в главе 23.
ВниманиеНесмотря на то что поддерево chroot повышает уровень защиты системы, оно не гарантирует ее безопасность. Лучше всего удалить всю секретную информацию с компьютера, на котором работает анонимный FTP-сервер. В результате, даже если взломщику удастся проникнуть в систему, он не сможет похитить важные данные.
Если FTP-сервер использует поддерево chroot, вам придется скопировать в соответствующие каталоги некоторые системные конфигурационные файлы. Во многих пакетах, реализующих FTP-серверы для системы Linux, такие копии файлов создаются по умолчанию. Некоторые серверы, в том числе ProFTPd, перед тем как ограничить сферу своего доступа поддеревом chroot, имеют возможность прочитать свои конфигурационные файлы, поэтому объем данных, которые необходимо скопировать в каталоги поддерева, остается минимальным.
Некоторые варианты конфигурации FTP-сервера (в особенности это касается ProFTPd) лучше работают при запуске сервера посредством сценария SysV. В других случаях нормальная работа обеспечивается и при использовании суперсервера (это справедливо для WU-FTPD). Одна из особенностей настройки FTP-сервера состоит в том, что системный вызов chroot() может использоваться только в том случае, если программа запускается от имени пользователя root. Если в конфигурационном файле суперсервера указан запуск FTP-сервера от имени другого пользователя, создать поддерево chroot невозможно. (Как было сказано ранее, вскоре после запуска FTP-сервер переходит к работе с ограниченными полномочиями, но происходит это после вызова системной функции chroot().)
Для работы анонимного FTP-сервера необходимо, чтобы некоторые файлы располагались в определенных каталогах. Этот вопрос будет подробнее рассмотрен далее в этой главе.
Обеспечение безопасности при работе анонимного FTP-сервера
Поскольку анонимный FTP-сервер доступен всем желающим, он может создавать серьезную угрозу для системы. Считается, что поддерживать на компьютере анонимный FTP-сервер не более опасно, чем Web-сервер или почтовый сервер. Однако, как показывает опыт многих администраторов, риск оказывается намного больше. Одна из причин состоит в том, что в защите многих программ, реализующих FTP-серверы (и особенно в WU-FTPD) были обнаружены многочисленные недостатки. Еще один источник опасности связан с тем, что FTP-сервер обеспечивает двунаправленную передачу данных, поэтому, если взломщику удастся воспользоваться недостатками защиты и выйти за пределы поддерева chroot, он сможет изменить конфигурацию системы в соответствии со своими потребностями. По сравнению с FTP-сервером почтовый сервер дает злоумышленнику гораздо меньше возможностей для воздействия на систему. Это связано с особенностями обработки почты.