День добрый люди сведущие. Начал глубже знакомиться с Линухами. Дырки в знаниях постепенно заполняю, но тут как-то не знаю куда "грести".
Дано:
Демон - proftpd 1.3.6;
Ось - Альт сервер 10.0;
Ядро -5.10.82;
Пролог:
Сервант находится за криптошлюзом, на котором работает NAT. Он транслирует адреса и порт (пока он дефолтный -21). Пока TLS не включен, все работает отлично. Юзвери не могу покинуть /home и прочие прелести. Трудности начинаются, когда я подключаю TLS . WinSCP и Filezilla сообщают, что не способны прочесть домашний каталог пользователя или корневой "/". Не могу врубиться с чем это связано. Естественно знаком с двумя реализациями работы FTP сервера. Passive \ Active. В данном случае , с учетом реализации NAT , клиент будет работать в пассивном режиме. А следовательно в настройках демона и фаервола должен быть открыт диапазон адресов. Поэтому весь исходящий трафик от сервака разрешен на фаерволе.
Настраиваю работу демона через TLS/SSL.
ServerName "FTP"
ServerType standalone
DefaultServer on
# AuthPAMConfig proftpd
AuthOrder mod_auth_pam.c* mod_auth_unix.c
IdentLookups off
UseReverseDNS off
Port 21
UseIPv6 off
Umask 022
ListOptions "-a"
#MultilineRFC2228 off
RootLogin off
#LoginPasswordPrompt on
#MaxLoginAttempts 3
#MaxClientsPerHost none
#AllowForeignAddress off # For FXP
MaxInstances 30
User nobody
Group nobody
DefaultRoot ~
AllowOverwrite on
PassivePorts 49152 65534
<Limit SITE_CHMOD>
DenyAll
</Limit>
<IfModule mod_lang.c>
LangDefault ru_RU
#LangDefault en_US
LangEngine on
#UseEncoding local_charset client_charset
UseEncoding UTF8 CP1251
# or for 'opts utf8 on' support:
#UseEncoding on|off
</IfModule>
<IfModule mod_dso.c>
LoadModule mod_tls.c
</IfModule>
TLSEngine on
TLSRequired on
TLSRSACertificateFile /var/lib/ssl/certs/proftpd.cert
TLSRSACertificateKeyFile /var/lib/ssl/certs/proftpd.key
TLSCipherSuite ALL:!ADH:!DES
TLSOptions NoCertRequest NoSessionReuseRequired
TLSProtocol SSLv23
TLSVerifyClient off
TLSRenegotiate ctrl 3600 data 512000 required off timeout 300
TLSLog /var/log/proftpd/tls.log
AllowStoreRestart on
LogFormat default "%h %l %u %t \"%r\" %s %b"
LogFormat auth "%v [%P] %h %t \"%r\" %s"
LogFormat write "%h %l %u %t \"%r\" %s %b"
ExtendedLog /var/log/proftpd/access.log WRITE,READ default
ExtendedLog /var/log/proftpd/auth.log AUTH auth
<Anonymous ~ftp>
User ftp
Group ftp
RequireValidShell off
# We want clients to be able to login with "anonymous" as well as "ftp"
UserAlias anonymous ftp
# Limit the maximum number of anonymous logins
MaxClients 10
# We want 'welcome.msg' displayed at login, and '.message' displayed
# in each newly chdired directory.
DisplayLogin welcome.msg
DisplayChdir .message
# Limit WRITE everywhere in the anonymous chroot
<Limit WRITE>
DenyAll
</Limit>
# Limit LOGIN for anonymous login
<Limit LOGIN>
DenyAll
</Limit>
</Anonymous>
Попробовал все режимы работы TLSOptions, которые были описаны в документации к демону. Но как только включается TLS, клиент не способен прочесть домашний каталог пользователя. Клиент возвращает ошибки :
Статус: Соединяюсь с oct.oct.oct.60:21...
Статус: Соединение установлено, ожидание приглашения...
Статус: Инициализирую TLS...
Статус: TLS соединение установлено.
Статус: Принята неправильная последовательность символов, отключение UTF-8. Выберите UTF-8 в Менеджере Сайтов, чтобы включить UTF-8 принудительно.
Статус: Авторизовались
Статус: Получение списка каталогов...
Команда: PWD
Ответ: 257 "/" является текущей директорией
Команда: TYPE I
Ответ: 200 Тип установлен в I
Команда: PASV
Ответ: 227 Entering Passive Mode (172,16,25,10,207,216).
Команда: MLSD
Ошибка: Соединение прервано после 20 секунд неактивности
Ошибка: Не удалось получить список каталогов
Статус: Отключен от сервера
Статус: Соединяюсь с oct.oct.oct.60:21...
Статус: Соединение установлено, ожидание приглашения...
Статус: Инициализирую TLS...
Статус: TLS соединение установлено.
Статус: Принята неправильная последовательность символов, отключение UTF-8. Выберите UTF-8 в Менеджере Сайтов, чтобы включить UTF-8 принудительно.
Статус: Авторизовались
Статус: Получение списка каталогов...
к сожалению мои навыки чтения логов пока скромны. Поэтому прикладываю то , что нарыл. Может поможет.
access.log
10.33.80.144 UNKNOWN - [29/May/2023:08:29:19 +0000] "AUTH TLS" 500 -
oct.oct.oct.144 UNKNOWN - [29/May/2023:08:29:19 +0000] "AUTH SSL" 500 -
oct.oct.oct.144 UNKNOWN administratoros [29/May/2023:05:30:44 +0000] "RETR proftpd.conf" 226 5408
oct.oct.oct.144 UNKNOWN administratoros [29/May/2023:05:32:26 +0000] "RETR proftpd.conf" 550 -
oct.oct.oct.144 UNKNOWN administratoros [29/May/2023:05:33:07 +0000] "RETR proftpd.conf" 226 2094
auth.log
FTP [1549346] oct.oct.oct.144 [29/May/2023:07:50:33 +0000] "USER administratoros" 550
FTP [1549407] oct.oct.oct.144 [29/May/2023:07:50:42 +0000] "USER administratoros" 331
FTP [1549407] oct.oct.oct.144 [29/May/2023:04:50:42 +0000] "PASS (hidden)" 230
FTP [1549568] oct.oct.oct.144 [29/May/2023:07:51:07 +0000] "USER administratoros" 331
FTP [1549568] oct.oct.oct.144 [29/May/2023:04:51:08 +0000] "PASS (hidden)" 230
FTP [1549718] oct.oct.oct.144 [29/May/2023:07:51:32 +0000] "USER administratoros" 331
FTP [1549718] oct.oct.oct.144 [29/May/2023:04:51:32 +0000] "PASS (hidden)" 230
FTP [1563413] oct.oct.oct.144 [29/May/2023:08:29:19 +0000] "AUTH TLS" 500
FTP [1563413] oct.oct.oct.144 [29/May/2023:08:29:19 +0000] "AUTH SSL" 500
FTP [1563468] oct.oct.oct.144 [29/May/2023:08:29:27 +0000] "USER administratoros" 331
FTP [1563468] oct.oct.oct.144 [29/May/2023:05:29:27 +0000] "PASS (hidden)" 230
FTP [1564486] oct.oct.oct.144 [29/May/2023:08:32:12 +0000] "USER administratoros" 331
FTP [1564486] oct.oct.oct.144 [29/May/2023:05:32:12 +0000] "PASS (hidden)" 230
tls.log
2023-05-29 07:50:33,106 mod_tls/2.7[1549346]: SSL/TLS required but absent for authentication, denying USER command
2023-05-29 07:50:42,615 mod_tls/2.7[1549407]: TLS/TLS-C requested, starting TLS handshake
2023-05-29 07:50:42,635 mod_tls/2.7[1549407]: client supports secure renegotiations
2023-05-29 07:50:42,635 mod_tls/2.7[1549407]: TLSv1.3 connection accepted, using cipher TLS_AES_256_GCM_SHA384 (256 bits)
2023-05-29 04:50:42,741 mod_tls/2.7[1549407]: Protection set to Private
2023-05-29 07:51:07,951 mod_tls/2.7[1549568]: TLS/TLS-C requested, starting TLS handshake
2023-05-29 07:51:07,969 mod_tls/2.7[1549568]: client supports secure renegotiations
2023-05-29 07:51:07,969 mod_tls/2.7[1549568]: TLSv1.3 connection accepted, using cipher TLS_AES_256_GCM_SHA384 (256 bits)
2023-05-29 04:51:08,066 mod_tls/2.7[1549568]: Protection set to Private
2023-05-29 07:51:32,026 mod_tls/2.7[1549718]: TLS/TLS-C requested, starting TLS handshake
2023-05-29 07:51:32,044 mod_tls/2.7[1549718]: client supports secure renegotiations
2023-05-29 07:51:32,044 mod_tls/2.7[1549718]: TLSv1.3 connection accepted, using cipher TLS_AES_256_GCM_SHA384 (256 bits)
2023-05-29 04:51:32,136 mod_tls/2.7[1549718]: Protection set to Private