LinuxForum.Fans
Тема

Авторизация в proftpd после вывода ENCRYPT в новом MySQL 8

Автор: Counsellor 10 сообщений 870 просмотров
28.07.2023 13:56 #438977

Добрый день!
Ubuntu 22.04.2 LTS
mysql Ver 8.0.33-0ubuntu0.22.04.2 for Linux on x86_64 ((Ubuntu))
PHP Version 8.1.2-1ubuntu2.13
ProFTPD Version 1.3.7c
В связи с тем, что в MySQL 8 пропал метод шифрования ENCRYPT, для proftpd предлагается использование MD5, SHA1 и т.д.. Но в mod_sql они не поддерживаются, для этого надо подключить mod_sql_passwd, т.к. он вышел позднее чем mod_sql. В старых версиях proftpd настройки хранились в одном proftpd.conf и там же подключались модули. В новых, модули подключаются в файле modules.conf и для mod_sql используется свой конфигурационный файл. Я раскомментировал в modules.conf строку LoadModule mod_sql_passwd.c для подключения его при загрузке.
Написал файл конфигурации sql_passwd.conf

text
<IfModule mod_sql_passwd.c>
    SQLPasswordEngine on
    SQLPasswordMD5 on
    SQLPasswordSHA1 on
</IfModule>

В sql.conf исправил SQLAuthTypes с Crypt Plaintext на Crypt MD5 SHA1 Plaintext
Потом

text
systemctl restart proftpd

Далее в MySQL

text
UPDATE `ftpuser` SET `passwd` = SHA1('password') WHERE `ftpuser`.`id` = 5;

Пробую подключиться

text
331 Необходим пароль для пользователя pwd_chk
Password:
530 Некорректные данные аутентификации.
ftp: Login failed

При этом на существующего пользователя с не шифрованным паролем ответ:

text
331 Необходим пароль для пользователя TechData
Password:
230 Пользователь TechData подключён
Remote system type is UNIX.
Using binary mode to transfer files.

Может где то что-то еще надо включать?
В описании на mod_sql_passwd сказано, что необходимо включить поддержку OpenSSL.

NOTE: it is important that mod_sql_passwd appear after mod_sql in your --with-modules configure option:

text
$ ./configure --enable-openssl --with-modules=mod_sql:mod_sql_passwd ...

Then follow the usual steps:

text
 $ make
  $ make install

Но мне не понятно в какой директории производить сборку?
Или, при уже установленном и настроенном proftpd предлагается выполнить

text
$ prxs -c -i -d mod_sql_passwd.c

Но я не найду где находится mod_sql_passwd.c. Поиском находится только mod_sql_passwd.so в /usr/lib/proftpd

28.07.2023 14:24 #438978

Прошу прощения за офтоп, но нафига в наших реалиях еще использовать ftp? Да еще и с авторизацией и мускола?

28.07.2023 17:56 #438980
XliN написал:
Прошу прощения за офтоп, но нафига в наших реалиях еще использовать ftp? Да еще и с авторизацией и мускола?

А у Вас есть какие то более гениальные предложения? Поделитесь, пожалуйста?

28.07.2023 20:03 #438981
"Counsellor" написал:
А у Вас есть какие то более гениальные предложения? Поделитесь, пожалуйста?

Хотя бы sftp.

30.07.2023 16:03 #438983
"Rizado" написал:
Хотя бы sftp.

Просто гениально!

30.07.2023 18:30 #438984

Counsellor, зря вы так. Во-первых, в FTP до сих пор используется передача всего, в тмо числе и пароля, в открытом виде. И неважно, как он хранится на сервере, если до сервера не шифруется. SFTP работает поверх SSH, шифрование присутствует. Во-вторых, в SFTP вполне себе используются системные учётные записи, что достаточно удобно - можно создать пользователя без права входа по SSH, то есть, без консоли, но с возможностью обмена файлами.

31.07.2023 13:43 #438985
"Rizado" написал:
Counsellor, зря вы так. Во-первых, в FTP до сих пор используется передача всего, в тмо числе и пароля, в открытом виде. И неважно, как он хранится на сервере, если до сервера не шифруется. SFTP работает поверх SSH, шифрование присутствует. Во-вторых, в SFTP вполне себе используются системные учётные записи, что достаточно удобно - можно создать пользователя без права входа по SSH, то есть, без консоли, но с возможностью обмена файлами.

SFTP - шифрование при передаче. Это я так думаю не сложно настроить. Но вопрос заключался не в том, по какому протоколу передавать, а конкретно по настройке шифрования/дешифрования пароля при подключении, например MD5.
А переход на sftp это уже следующий шаг.

31.07.2023 19:02 #438986

Counsellor, а не проще всё вместе сделать? Получите и шифрование, и передачу файлов, и простоую авторизацию, без всяких БД.
Вот ещё об SCP вспомнил, можно его использовать. Достаточно просто.

01.08.2023 17:12 #438988
"Rizado" написал:
Counsellor, а не проще всё вместе сделать?

Не понимаю, что Вы имеете ввиду? Что значит всё вместе?
И при чем тут SCP применимо к моей задаче?

01.08.2023 19:21 #438989

Counsellor, при том, что есть решения проще, надёжнее и безопаснее. А вы пытаетесь скрестить ужа с ежом.

Войдите или зарегистрируйтесь, чтобы ответить.