15.5. Защита FTP

We use cookies. Read the Privacy and Cookie Policy

15.5. Защита FTP

Очень полезной, особенно, при организации виртуальных узлов, является конфигурационная директива DefaultRoot, позволяющая указать каталог, который представлялся бы пользователям как корневой. Например, значение DefaultRoot "~" настраивает сервер так, чтобы корневым каталогом каждого пользователя был его собственный домашний каталог.

А что делать, если нам нужно, чтобы пользователи видели все дерево файловой системы? Например, чтобы каждый мог посмотреть, в каком каталоге находится та или иная программа. В этом случае целесообразно ограничить действия над файлами в корневом каталоге (точнее, во всех каталогах, кроме домашнего каталога пользователя). Делается это так:

<Directory /*>

 <LIMIT WRITE READ STOR>

  DenyAll

 </LIMIT>

</Directory>

Пример файла конфигурации с использованием директивы DefaultRoot приведен ниже (листинг 15.13):

Листинг 15.13. Пример использования директивы Default Root (/etc/proftpd.conf)

ServerName "My ProFTPD server"

ServerType standalone

DefaultServer on

# Корневым для пользователя будет его домашний каталог

DefaultRoot "~"

# Используем стандартный порт

Port 21

Umask 022

MaxInstances 30

# Пользователь и группа, обслуживающие сервер

User nobody

Group nobody

# Параметры корневого каталога. Блочная директива Directory

<Directory /*>

 # Директива, определяющая параметр AllowOverwrite

 AllowOverwrite on

</Directory>

# Чтобы избежать атаки на отказ, нужно установить

# максимальное число клиентов, а также максимальное

# число неудачных попыток регистрации;

MaxClients 10

MaxLoginAttempts 2

# Иногда для взлома злоумышленник пытается использовать

# а качестве оболочки какую-нибудь программу, например,

# "оболочку" rm -R /.

# Обычно эта брешь в защите закрыта, но все же желательно

# требовать использования только законных оболочек:

RequireValidShell on

Данный текст является ознакомительным фрагментом.