CentOS: Как я могу увидеть журналы ответов сервера pure-ftpd?

Вопрос или проблема

Мой FTP пользователь сталкивается с ошибкой:

FTP 127 Ответ: 500 Я не открою соединение с xxx.xxx.xxx.xxx (только с yyy.yyy.yyy.yyy)

Это ответ моего сервера, захваченный с помощью Wireshark в FTP-клиенте для Windows.

Я включил VerboseLog в /etc/pure-ftpd.conf, и там есть строка, которая гласит:

# Если вы хотите записывать все команды клиентов, установите это на "yes".
# Эта директива может быть указана дважды, чтобы также записывать ответы сервера. 
#VerboseLog yes

Итак, я отредактировал свой конфигурационный файл и добавил VerboseLog yes дважды, чтобы записывать ответы сервера, что-то вроде этого:

# Если вы хотите записывать все команды клиентов, установите это на "yes".
# Эта директива может быть указана дважды, чтобы также записывать ответы сервера.

VerboseLog yes

VerboseLog yes

Тем не менее, я всё равно не могу найти логи в /var/log/message для этой ошибки нигде.
Может кто-то сказать, что не так?
P.S.: Я хочу иметь логи, поскольку хочу контролировать состояние сервера и проверить, возникнет ли проблема снова или нет. Я не ищу захвата или слежки за интерфейсами как временное решение/обходной путь.

Вот мой /etc/pure-ftpd.conf:

############################################################
#                                                          #
#             Конфигурационный файл для pure-ftpd         #
#                                                          #
############################################################

# Если вы хотите запустить Pure-FTPd с этой конфигурацией
# вместо параметров командной строки, пожалуйста, выполните
# следующую команду :
#
# /usr/sbin/pure-ftpd /etc/etc/pure-ftpd.conf
#
# Онлайн документация:
# https://www.pureftpd.org/project/pure-ftpd/doc

# Ограничить пользователей их домашним каталогом

ChrootEveryone yes

# Если предыдущий параметр установлен в "no", члены следующей группы
# не будут ограничены. Другие будут. Если вы не хотите, чтобы
# кто-то был chroot()'нут, просто закомментируйте ChrootEveryone и TrustedGID.

# TrustedGID                   100

# Включить совместимость с плохими клиентами

BrokenClientsCompatibility no

# Максимальное количество одновременных пользователей

MaxClientsNumber 250

# Работать как фоновой процесс

Daemonize No

# Максимальное количество одновременных клиентов с одинаковым IP-адресом

MaxClientsPerIP 20

# Если вы хотите записывать все команды клиентов, установите это на "yes".
# Эта директива может быть указана дважды, чтобы также записывать ответы сервера.

VerboseLog yes

VerboseLog yes

# Отображать точки-файлы, даже когда клиент не отправляет "-a".

DisplayDotFiles yes

# Запретить аутентифицированным пользователям - действовать только как открытый FTP-сервер.

AnonymousOnly no

# Запретить анонимные подключения. Принимать только аутентифицированных пользователей.

NoAnonymous yes

# Уровень Syslog (auth, authpriv, daemon, ftp, security, user, local*)
# По умолчанию используется "ftp". "none" отключает ведение журнала.

SyslogFacility ftp,auth,authpriv,daemon,security,user

# Отображать удачи

# FortunesFile                 /usr/share/fortune/zippy

# Не разрешать имена хостов в файлах журналов. Рекомендуется, если вы не доверяете
# обратным именам хостов и не заботитесь о возможной медленной DNS-резолюции.

DontResolve yes

# Максимальное время простоя в минутах (по умолчанию = 15 минут)

MaxIdleTime 15

# Файл конфигурации LDAP (см. README.LDAP)

# LDAPConfigFile               /etc/pureftpd-ldap.conf

# Файл конфигурации MySQL (см. README.MySQL)

# MySQLConfigFile              /etc/pureftpd-mysql.conf

# Файл конфигурации PostgreSQL (см. README.PGSQL)

# PGSQLConfigFile              /etc/pureftpd-pgsql.conf

# База данных пользователей PureDB (см. README.Virtual-Users)

# PureDB                       /etc/pure-ftpd.pdb

# Путь к сокету pure-authd (см. README.Authentication-Modules)

ExtAuth /var/run/ftpd.sock

# Если вы хотите включить аутентификацию PAM, раскомментируйте следующую строку

# PAMAuthentication            yes

# Если вы хотите простую аутентификацию Unix (/etc/passwd), раскомментируйте это

# UnixAuthentication           yes

# Обратите внимание, что LDAPConfigFile, MySQLConfigFile, PAMAuthentication и
# UnixAuthentication могут быть указаны один раз, но можно комбинировать
# вместе. Например, если вы используете MySQLConfigFile, а затем UnixAuthentication,
# SQL-сервер будет использован первым. Если аутентификация SQL не удастся, потому что
# пользователь не найден, будет предпринята новая попытка с использованием системной аутентификации.
# Если аутентификация SQL не удалась, потому что пароль не совпадал, то
# цепочка аутентификации останавливается здесь. Методы аутентификации связываются в
# порядке их указания.

# Ограничения рекурсии 'ls'. Первый аргумент - максимальное количество
# файлов для отображения. Второй - максимальная глубина подкаталогов.

LimitRecursion 10000 8

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

AnonymousCanCreateDirs no

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

MaxLoad 4

# Диапазон портов для пассивных соединений - держите его максимально широким.

PassivePortRange 49152 65534

# Принудительно указывать IP-адрес в ответах PASV/EPSV/SPSV. - для NAT.
# Символические имена хостов также принимаются для шлюзов с динамическим IP-адресом.

# ForcePassiveIP 5.9.161.221

# Соотношение загрузки/выгрузки для анонимных пользователей.

# AnonymousRatio               1 10

# Соотношение загрузки/выгрузки для всех пользователей.
# Эта директива превосходит предыдущую.

# UserRatio                    1 10

# Запретить загрузку файлов, принадлежащих системному пользователю "ftp";
# файлы, которые были загружены, но не были подтверждены местным администратором.

AntiWarez yes

# IP-адрес/порт для прослушивания (по умолчанию все IP-адреса, порт 21).

Bind 21

# Максимальная пропускная способность для анонимных пользователей в КБ/с

# AnonymousBandwidth           8

# Максимальная пропускная способность для *всех* пользователей (включая анонимных) в КБ/с
# Используйте либо AnonymousBandwidth, либо UserBandwidth, но не оба.

# UserBandwidth                8

# Маска создания файла. <умаска для файлов>:<умаска для директорий> .
# 177:077, если вы чувствуете паранойю.

Umask 133:022

# Минимальный UID для аутентифицированного пользователя, чтобы войти в систему.
# Например, значение 100 предотвращает вход всех пользователей с идентификатором пользователя ниже
# 100. Если вы хотите, чтобы "root" мог войти, используйте 0.

MinUID 100

# Разрешить FXP-тTransfers для аутентифицированных пользователей.

AllowUserFXP no

# Разрешить анонимный FXP для анонимных и неанонимных пользователей.

AllowAnonymousFXP no

# Пользователи не могут удалять/записывать файлы, начинающиеся с точки ('.')
# даже если они являются их владельцами. Но если TrustedGID включен, эта группа
# будет иметь доступ к точечным файлам.

ProhibitDotFilesWrite no

# Запретить *чтение* файлов, начинающихся с точки (.history, .ssh...)

ProhibitDotFilesRead no

# Не перезаписывать файлы. Когда файл с уже существующим именем загружается,
# он автоматически переименовывается в file.1, file.2, file.3, ...

AutoRename no

# Запретить анонимным пользователям загружать новые файлы (no = загрузка разрешена)

AnonymousCantUpload yes

# Разрешены только соединения с этим конкретным IP-адресом для
# не анонимных пользователей. Вы можете использовать эту директиву, чтобы открыть несколько публичных IP-адресов для
# анонимного FTP и оставить частный фаерволл для удалённого администрирования.
# Вы также можете разрешить только непреводимые локальные IP (такие как 10.x.x.x) для
# аутентифицированных пользователей и запустить публичный сервер FTP только для анонимов на другом IP.

# TrustedIP                    10.1.1.1

# Чтобы добавить PID к записям журнала, раскомментируйте следующую строку.

# LogPID                       yes

# Создать дополнительный файл журнала с передачами, записанными в формате, подобном Apache:
# fw.c9x.org - jedi [13/Apr/2017:19:36:39] "GET /ftp/linux.tar.bz2" 200 21809338
# Этот файл журнала затем можно обрабатывать с помощью общих анализаторов HTTP-трафика.

AltLog xferlog:/etc/apache2/logs/domlogs/ftpxferlog

# Создать дополнительный файл журнала с передачами, записанными в формате, оптимизированном
# для статистических отчетов.

AltLog                       stats:/var/log/pureftpd.log

# Создать дополнительный файл журнала с передачами, записанными в стандартном формате W3C
# (совместимом со многими анализаторами логов HTTP)

# AltLog                       w3c:/var/log/pureftpd.log

# Запретить команду CHMOD. Пользователи не могут изменять разрешения своих собственных файлов.

# NoChmod                      yes

# Разрешить пользователям возобновлять/загружать файлы, но *НЕ* удалять их.

# KeepAllFiles                 yes

# Автоматически создавать домашние каталоги, если они отсутствуют

# CreateHomeDir                yes

# Включить виртуальные квоты. Первое значение - максимальное количество файлов.
# Второе значение - максимальный размер в мегабайтах.
# Таким образом, 1000:10 ограничивает каждого пользователя до 1000 файлов и 10 МБ.

# Quota                        1000:10

# Если ваш pure-ftpd был скомпилирован с поддержкой автономного режима, вы можете изменить
# местоположение файла pid. По умолчанию это /var/run/pure-ftpd.pid

# PIDFile                      /var/run/pure-ftpd.pid

# Если ваш pure-ftpd был скомпилирован с поддержкой pure-uploadscript,
# это приведет к тому, что pure-ftpd будет записывать информацию о новых загрузках в
# /var/run/pure-ftpd.upload.pipe, чтобы pure-uploadscript мог читать её и
# запускать сценарий для обработки загрузки.
# Не включайте эту опцию, если вы фактически не используете pure-uploadscript.

# CallUploadScript             yes

# Эта опция полезна на серверах, где разрешена анонимная загрузка.
# Когда раздел заполнен более чем на процентное соотношение,
# новые загрузки запрещены.

MaxDiskUsage 99

# Установите в 'yes', чтобы предотвратить переименование файлов.

# NoRename                     yes

# Будьте 'защитой клиента': запрещены распространенные ошибки клиентов, такие как
# 'chmod 0 public_html', которые являются допустимыми, но могут вызвать непреднамеренные проблемы.

CustomerProof yes

# Ограничения по одновременности для каждого пользователя. Будет работать только если FTP-сервер
# был скомпилирован с флагом --with-peruserlimits.
# Формат: <максимальное количество сеансов на пользователя>:<максимальное количество анонимных сеансов>
# Например, 3:20 означает, что аутентифицированный пользователь может иметь до 3 активных
# сеансов, и что разрешено до 20 анонимных сеансов.

# PerUserLimits                3:20

# Когда файл загружается, а предыдущая версия файла
# с таким же именем уже существует, старый файл не будет ни удален, ни обрезан.
# Файл будет сохранен под временным именем, и после завершения загрузки
# он будет атомарно переименован. Например, когда загружается большой PHP-
# сценарий, веб-сервер будет продолжать использовать старую версию и
# позже переключится на новую, как только весь файл будет
# передан. Эта опция несовместима с виртуальными квотами.

# NoTruncate                   yes

# Эта опция принимает три значения:
# 0: отключить уровень шифрования SSL/TLS (по умолчанию).
# 1: принимать как открытые, так и зашифрованные сеансы.
# 2: отказать в соединениях, которые не используют механизм безопасности TLS,
#    включая анонимные сеансы.
# Не раскомментируйте это слепо. Дважды проверьте, что:
# 1) Сервер был скомпилирован с поддержкой TLS (--with-tls),
# 2) Действительный сертификат установлен,
# 3) Только совместимые клиенты смогут войти.

TLS 1

# Набор шифров для TLS-сеансов.
# Обычный набор шифров безопасен, и установка этого свойства обычно
# требуется только для *понижения* безопасности, чтобы соответствовать устаревшим клиентам.
# Префикс с -C: для требования действительных клиентских сертификатов.
# Если используется -C:, убедитесь, что открытые ключи клиентов присутствуют на
# сервере.

TLSCipherSuite HIGH

# Файл сертификата для TLS

# CertFile                     /etc/ssl/private/pure-ftpd.pem

# Слушать только IPv4 адреса в автономном режиме (т.е. отключить IPv6)
# По умолчанию включены как IPv4, так и IPv6.

# IPV4Only                     yes

# Слушать только IPv6 адреса в автономном режиме (т.е. отключить IPv4)
# По умолчанию включены как IPv4, так и IPv6.

# IPV6Only                     yes

# Поддержка UTF-8 для имён файлов (RFC 2640)
# Установите кодировку файловой системы сервера и, при необходимости, кодировку по умолчанию
# для удалённых клиентов, которые не используют UTF-8.
# Работает только, если pure-ftpd был скомпилирован с флагом --with-rfc2640

# FileSystemCharset                big5
# ClientCharset                    big5

Создайте файл /etc/pure-ftpd/conf/AltLog, содержащий только stats:/var/log/pureftpd.log – это должно решить проблему отсутствия логов (когда pure-ftpd.conf находится в /etc/pure-ftpd/).

Ответ или решение

Для того, чтобы видеть логи ответов сервера Pure-FTPd на CentOS, вам нужно убедиться, что вы правильно настроили файл конфигурации /etc/pure-ftpd.conf. Вы уже сделали некоторые изменения, активировав директиву VerboseLog. Однако следует учесть несколько моментов, которые могут помочь вашему случае.

  1. Проверка конфигурации: Убедитесь, что у вас действительно в конфигурации присутствуют две строки VerboseLog yes, как вы указали. Эти строки позволяют записывать как команды клиента, так и ответы сервера.

  2. Проверка папки для логов: По умолчанию Pure-FTPd отправляет логи в системный журнал (например, /var/log/messages). Однако, чтобы получить более детализированные логи в виде отдельного файла, вы можете использовать опцию AltLog. Для этого создайте файл /etc/pure-ftpd/conf/AltLog (если он еще не существует) и поместите в него строку:

    stats:/var/log/pureftpd.log

    Этот файл будет содержать логи в формате статистики.

  3. Помощь с SyslogFacility: Проверьте параметр SyslogFacility в конфигурации. Убедитесь, что он настроен на значение, которое соответствует вашим нуждам. Например, вы можете оставить его как:

    SyslogFacility ftp
  4. Перезапуск службы: После внесения изменений в конфигурационный файл не забудьте перезапустить службу Pure-FTPd, чтобы изменения вступили в силу. Это можно сделать командой:

    systemctl restart pure-ftpd
  5. Проверка логов: Логи теперь должны писаться в /var/log/pureftpd.log (если вы добавили директиву AltLog). Вы можете просматривать этот файл с помощью команды:

    tail -f /var/log/pureftpd.log

    Это позволит вам в реальном времени видеть записи, связанных с FTP-сессиями.

  6. Убедитесь в наличии разрешений: Убедитесь, что служба Pure-FTPd имеет необходимые разрешения на запись в указанный лог-файл и директорию.

Следуя этим шагам, вы сможете увидеть более подробные ответные логи сервера Pure-FTPd, которые помогут вам мониторить статус сервера и выявлять проблемы, такие как ошибка 500 I won't open a connection to xxx.xxx.xxx.xxx (only to yyy.yyy.yyy.yyy).

Оцените материал
Добавить комментарий

Капча загружается...