Страница 1 из 1
Не проходит авторизация FTP
Добавлено: 2009-11-16 22:09:52
Dmitriy_K
Возникла такая проблема:
В хозяйстве есть FTP для нескольких пользователей (программеров). В принципе, всё работает, но когда я сам пытаюсь залогиниться с другого, чем у них IP, не проходит авторизация FTP. В клиентских программах выводятся ошибки:
Код: Выделить всё
Errorcode=10060 — попытка установить соединение была безуспешной, т.к. от другого компьютера за требуемое время не получен нужный отклик, или было разорвано уже установленное соединение из-за неверного отклика уже подключенного компьютера.
Код: Выделить всё
Статус: Соединяюсь с ********:21...
Статус: Соединение установлено, ожидание приглашения...
Ответ: 220 FTP server ready.
Команда: USER ****
Ответ: 331 User **** OK. Password required
Команда: PASS *************
Ответ: 530 Login authentication failed (Почему!? Ведь пароль-логин точно рабочие.)
Ошибка: Критическая ошибка
Ошибка: Невозможно подключиться к серверу
В логах сервера пишется:
Код: Выделить всё
auth.log
reverse mapping checking getaddrinfo for host-my_home_host_at_provaider [my_IP] failed - POSSIBLE BREAK-IN ATTEMPT!
Код: Выделить всё
messages
pure-ftpd: (?@my_IP) [WARNING] Authentication failed for user [****]
В /etc/resolv.conf
Код: Выделить всё
domain serverdomain
nameserver ns.serverdomain
nameserver ns.my_home_provider
Что означает запись: pure-ftpd: (?@my_IP) ?
Пробовал разрешение прямого и обратного имени, есть ошибка в обратном преобразовании (насколько понял):
Код: Выделить всё
#nslookup -q=ptr my_IP
Server: ns.serverdomen
Address: ns.serverdomen#53
Non-authoritative answer:
26.129.198.94.in-addr.arpa name = host-my_home_host_at_provaider.
Authoritative answers can be found from:
129.198.94.in-addr.arpa nameserver = ns2.my_home_provaider.
129.198.94.in-addr.arpa nameserver = ns.my_home_provaider.
ns.my_home_provaider internet address = 11.11.11.1
ns2.my_home_provaider internet address = 22.22.22.2
#nslookup -q=a host-my_home_host_at_provaider.
Server: ns.serverdomen
Address: ns.serverdomen#53
** server can't find host-my_home_host_at_provaider.: NXDOMAIN
#nslookup -q=a host-my_home_host_at_provaider. 11.11.11.1
;; connection timed out; no servers could be reached
#nslookup host-my_home_host_at_provaider
Server: ns.my_home_provaider
Address: ns.my_home_provaider#53
** server can't find host-my_home_host_at_provaider: NXDOMAIN
Как можно вычислить и решить проблему?
Re: Не проходит авторизация FTP
Добавлено: 2009-11-16 23:15:13
schizoid
отключите резолвинг в настройках фтп-сервера
Re: Не проходит авторизация FTP
Добавлено: 2009-11-17 12:23:14
Dmitriy_K
Отключил (думал, что раньше отключил, но ошибся), но опять:
Код: Выделить всё
Попытка установить соединение была безуспешной, т.к. от другого компьютера за требуемое время не получен нужный отклик, или было разорвано уже установленное соединение из-за неверного отклика уже подключенного компьютера. Connection failed.
В логах messages и xferlog стало:
Код: Выделить всё
pure-ftpd: (?@?) [WARNING] Unknown run-time option
Кстати, при старте pure-ftpd выдаётся ошибка:
Код: Выделить всё
Starting pureftpd.
Running: /usr/local/sbin/pure-ftpd -A -c50 -B -C8 -d -D -E -fftp -H -I15 -lmysql:/usr/local/etc/pureftpd-mysql.conf -L2000:8 -m4 -s -U133:022 -u100 -i -g/var/run/pure-ftpd.pid -k95 -0 -Y1 -4
pure-ftpd: invalid option -- Y
Может это имеет отношение к делу?
Конфиг pure-ftpd вполне обычный:
Код: Выделить всё
ChrootEveryone yes
BrokenClientsCompatibility no
MaxClientsNumber 50
Daemonize yes
MaxClientsPerIP 8
VerboseLog yes
DisplayDotFiles yes
AnonymousOnly no
NoAnonymous yes
SyslogFacility ftp
DontResolve yes
MaxIdleTime 15
MySQLConfigFile /usr/local/etc/pureftpd-mysql.conf
LimitRecursion 2000 8
AnonymousCanCreateDirs no
MaxLoad 4
AntiWarez yes
Umask 133:022
MinUID 100
AllowUserFXP no
AllowAnonymousFXP no
ProhibitDotFilesWrite no
ProhibitDotFilesRead no
AutoRename no
AnonymousCantUpload yes
CreateHomeDir no
PIDFile /var/run/pure-ftpd.pid
MaxDiskUsage 95
CustomerProof no
NoTruncate yes
TLS 1
IPV4Only yes
#AltLog clf:/var/log/pureftpd.log
Re: Не проходит авторизация FTP
Добавлено: 2009-11-17 12:56:23
schizoid
я не помню что это за флаг -Y
уберите его и попробуйте
Re: Не проходит авторизация FTP
Добавлено: 2009-11-17 13:07:35
Dmitriy_K
Это флаг, к сожалению, устанавливал не я. Он автоматически забивается в строку при команде:
Сейчас проверил, оказывается это ругань на опцию конфига:
Закомментировал - ругаться перестало, но не помогло.

Re: Не проходит авторизация FTP
Добавлено: 2009-11-17 13:09:22
schizoid
ну так в usr/local/etc/rc.d/pure-ftpd уберите...для проверки хотя бы
Re: Не проходит авторизация FTP
Добавлено: 2009-11-17 13:19:45
Dmitriy_K
Может, ещё как-то продиагностировать проблему можно?
Re: Не проходит авторизация FTP
Добавлено: 2009-11-17 13:27:02
schizoid
может фаервол еще режет?
Re: Не проходит авторизация FTP
Добавлено: 2009-11-17 16:13:23
Dmitriy_K
schizoid писал(а):может фаервол еще режет?
Нет, с этим всё точно нормально.
Есть идея послушать процесс соединения через tcpdump (на этом сервере неактивно с коннектами), но пока им не пользовался. Какие опции tcpdump можно было бы выставить?
Re: Не проходит авторизация FTP
Добавлено: 2009-11-17 17:37:06
Dmitriy_K
Прослушал по 21 порту, ничего не прояснилось:
Код: Выделить всё
tcpdump -nvA -c 200 -i em0 'host my_home_IP and ip proto \tcp and port 21' > tcpdump.log
17:21:28.467764 IP (tos 0x0, ttl 119, id 24657, offset 0, flags [DF], proto TCP (6), length 52) my_home_IP.62975 > my_server_IP.21: S, cksum 0x3767 (correct), 1995689893:1995689893(0) win 8192 <mss 1460,nop,wscale 2,nop,nop,sackOK>
E..4`Q@.w..q^...Z.......v......... .7g..............
17:21:31.458788 IP (tos 0x0, ttl 119, id 24658, offset 0, flags [DF], proto TCP (6), length 52) my_home_IP.62975 > my_server_IP.21: S, cksum 0x3767 (correct), 1995689893:1995689893(0) win 8192 <mss 1460,nop,wscale 2,nop,nop,sackOK>
E..4`R@.w..p^...Z.......v......... .7g..............
17:21:37.459077 IP (tos 0x0, ttl 119, id 24659, offset 0, flags [DF], proto TCP (6), length 48) my_home_IP.62975 > my_server_IP.21: S, cksum 0x4b70 (correct), 1995689893:1995689893(0) win 8192 <mss 1460,nop,nop,sackOK>
E..0`S@.w..s^...Z.......v.......p. .Kp..........
Re: Не проходит авторизация FTP
Добавлено: 2009-11-17 17:44:27
schizoid
активный/пасивный режим пробовали?
Re: Не проходит авторизация FTP
Добавлено: 2009-11-17 18:37:56
Dmitriy_K
schizoid писал(а):активный/пасивный режим пробовали?
Да, ничего не меняет.
Не могу понять как получить больше информации о причинах сбоя авторизации.
Re: Не проходит авторизация FTP
Добавлено: 2009-11-17 19:06:33
---nebo---
давайте тогда уже в студию
+структуру базы, из которой гребете пользователей, +ту запись в БД(того пользователя), от которого вы пытаетесь подключиться
Re: Не проходит авторизация FTP
Добавлено: 2009-11-17 20:10:01
---nebo---
Поставте в /etc/syslog.conf
подключайтесь в вашему фтп и смотрите логи
Re: Не проходит авторизация FTP
Добавлено: 2009-11-17 21:19:46
Dmitriy_K
Всё проделал, но логов не прибавилось.
В логах messages и xferlog:
Код: Выделить всё
pure-ftpd: (?@?) [WARNING] Authentication failed for user [*****]
Код: Выделить всё
pureftpd-mysql.conf
MYSQLSocket /tmp/mysql.sock
MYSQLUser pureftpd
MYSQLPassword *******
MYSQLDatabase pureftpd
MYSQLCrypt any
MYSQLGetPW SELECT Password FROM users WHERE User="\L"
MYSQLGetUID SELECT Uid FROM users WHERE User="\L"
MYSQLGetGID SELECT Gid FROM users WHERE User="\L"
MYSQLGetDir SELECT Dir FROM users WHERE User="\L"
Таблица в базе:
Код: Выделить всё
+-----------+---------------+----------------------------------+
| user | password | dir |
+-----------+---------------+----------------------------------+
| login | pass | /usr/home/ftp |
Пароль в текстовом виде.
Колонки Uid, Gid здесь просто обрезаны, поскольку не используются.
Re: Не проходит авторизация FTP
Добавлено: 2009-11-17 21:30:14
---nebo---
и это вся база? чёта стремная
или почитайте доку, или на худой конец посмотрите статью на сайте
Re: Не проходит авторизация FTP
Добавлено: 2009-11-17 21:35:24
Dmitriy_K
У других работает, а у меня нет. Не могу понять.
Ладно, буду заниматься этим понемногу дальше. Должно же когда-то наступить просветление.
Вопрос о дополнительной информации для диагностики остался актуальным.
Re: Не проходит авторизация FTP
Добавлено: 2009-11-18 13:34:40
Dmitriy_K
Разобрался, как обычно сам виноват.
Помог tcpdump:
Код: Выделить всё
tcpdump -nvA -c 50 -i 1 'host my_home_IP and ip proto \tcp and port 21' > tcpdump.log
11:00:50.826575 IP (tos 0x0, ttl 119, id 7642, offset 0, flags [DF], proto TCP (6), length 52) my_home_IP.49431 > server_IP.21: P, cksum 0x6271 (correct), 1:13(12) ack 75 win 4361
E..4..@.w.
.^...Z.......gu9WN% 8P.. bq..USER *****
11:00:50.826721 IP (tos 0x10, ttl 64, id 52784, offset 0, flags [DF], proto TCP (6), length 78) server_IP.21 > my_home_IP.49431: P, cksum 0xe7af (correct), 75:113(38) ack 13 win 8212
E..N.0@.@..hZ...^.......N% 8gu9cP. .....331 User ***** OK. Password required
11:00:50.834070 IP (tos 0x0, ttl 119, id 7643, offset 0, flags [DF], proto TCP (6), length 60) my_home_IP.49431 > server_IP.21: P, cksum 0x0b3c (correct), 13:33(20) ack 113 win 4352
E..<..@.w.
.^...Z.......gu9cN% ^P....<..PASS *****
11:00:50.933410 IP (tos 0x10, ttl 64, id 52785, offset 0, flags [DF], proto TCP (6), length 40) server_IP.21 > my_home_IP.49431: ., cksum 0xfb22 (correct), ack 33 win 8212
E..(.1@.@...Z...^.......N% ^gu9wP. .."..
11:00:55.357447 IP (tos 0x10, ttl 64, id 52878, offset 0, flags [DF], proto TCP (6), length 73) server_IP.21 > my_home_IP.49431: P, cksum 0x207c (correct), 113:146(33) ack 33 win 8212
E..I..@.@...Z...^.......N% ^gu9wP. . |..530 Login authentication failed
Увидел, что логин принимается, а пароль - нет. Призадумался насчёт пароля и обнаружил незаметную ошибку.
Зато сколько нового узнал.

Re: Не проходит авторизация FTP
Добавлено: 2009-11-18 15:06:06
---nebo---
Призадумался насчёт пароля и обнаружил незаметную ошибку.
ну как обычно
недавно у кореша были проблемы тоже с pure-ftp, не авторизировались пользователи. Пол дня сравнивали его ситуаху с моим рабочим вариантом, не работает и все, скидывал свой порт, конфиги, экспортировал базу,

... оказалось он в конфиге подключения к БД ошибся в одной букве
