Решено: Помогите с Proftpd (anonymous) (постоянная ошибка 530 login incorrect)

Обсуждение настройки и работы сервисов, резервирования, сетевых настроек и вопросов безопасности ОС.

Модераторы: SLEDopit, Модераторы разделов

Аватара пользователя
Renai
Сообщения: 100
ОС: Arch/Debian

Решено: Помогите с Proftpd (anonymous)

Сообщение Renai »

Решил поднять фтп сервер на домашней тачке. Сначала пользовался pure-ftpd, решил теперь перейти на ProFTPd
и тут возникла проблема. Настраивал демон по докам с opennet.ru / unixdoc.ru
и все казалось бы работает. Но НИКАК не хочет пускать на фтп анонимуса (ну т.е. без логина и пароля как в Pure-ftp). При логине anonymous выскакивает ошибка 530 login incorrect
логи пишут

Код: Выделить всё

> Сен 16 17:13:31 noir proftpd[6204] localhost (<IP>): ftp: Directory /home/ftp/ is not accessible.
> Сен 16 17:13:31 noir proftpd[6204] localhost (<IP>): FTP session closed.


/home/ftp принадлежит юзеру ftp, права 755, делал 777 - не помогло
конфиг демона

Код:

ServerName "True Noir" ServerAdmin user@host.com ServerType standalone DefaultServer on ServerIdent on #"dalone" Port 21 Umask 022 MaxClients 10 "sorry, %m users - try again later" MaxClientsPerHost 3 "sorry, limit connections per host" MaxInstances 10 MaxLoginAttempts 10 User nobody Group nogroup DenyFilter \*.*/ SyslogLevel notice UseReverseDNS off IdentLookups off SystemLog /var/log/proftpd/proftpd.log TransferLog /var/log/proftpd/proftpd-tranfer.log ExtendedLog /var/log/proftpd/proftpd-extended.log read,write ExtendedLog /var/log/proftpd/proftpd-auth.log AUTH auth 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" TimeoutIdle 60 TimeoutLogin 60 TimeoutNoTransfer 60 TimeoutStalled 60 #DefaultTransferMode binary #AllowForeignAddress off DisplayConnect /etc/ftp_connect.msg #DisplayLogin /etc/ftp_login.msg AccessDenyMsg "incorrect login, all connections logged" AccessGrantMsg "Now upload/download files" DisplayGoAway "Go away" RequireValidShell off DefaultRoot / wheel DefaultRoot /home/ftp users <Directory /> AllowOverwrite on </Directory> <Anonymous /home/ftp/> User ftp Group ftp RequireValidShell no UserAlias anonymous ftp WtmpLog off <Directory /home/ftp/> <Limit WRITE> DenyAll </Limit> </Directory> </Anonymous>


помогите пожалуйста советом. Гугл не выручил..
-__-
Спасибо сказали:
Аватара пользователя
mczim
Сообщения: 665
ОС: Debian/Ubuntu

Re: Решено: Помогите с Proftpd (anonymous)

Сообщение mczim »

вот такими должны быть прова!

Код: Выделить всё

gateway:~# cd /home
gateway:/home# ls -l
итого 12
dr-xrwxr-- 5 ftp    mczim  4096 2007-08-31 00:16 ftp
drwxr-xr-x 5 mczim  mczim  4096 2007-08-30 01:11 mczim
drwxr-xr-x 3 upload upload 4096 2003-05-14 11:08 upload
gateway:/home#
gateway:/home# cd ftp
gateway:/home/ftp# ls -l
итого 16
drwxr--r--  6 ftp    mczim  8192 2007-08-28 23:58 foto
drwxrwxrwx  2 upload upload 4096 2007-08-31 00:15 test
drwxr--r-- 11 ftp    mczim  4096 2007-09-05 02:36 video
Я странный...
Спасибо сказали:
sdukshis
Сообщения: 83
ОС: Linux

Re: Решено: Помогите с Proftpd (anonymous)

Сообщение sdukshis »

Попробуй в блок Anonymous вставить следующую директиву
AnonRequirePassword off
Спасибо сказали:
Аватара пользователя
Renai
Сообщения: 100
ОС: Arch/Debian

Re: Решено: Помогите с Proftpd (anonymous)

Сообщение Renai »

права везде кроме аплоада 755.
Директиву добавил, все то же.
в лог пишет, что в каталог опять не зайти =(
-__-
Спасибо сказали:
Аватара пользователя
mczim
Сообщения: 665
ОС: Debian/Ubuntu

Re: Решено: Помогите с Proftpd (anonymous)

Сообщение mczim »

у вас должны быть права на папки

/home/ftp = 744
/home/ftp/foto = 744
/home/ftp/и так далее = 744

владелец папки ftp должен фигурировать или во владельце или в состоять в группе, у меня так:

/home/ftp = ftp:mczim
/home/ftp/foto = ftp:mczim
/home/ftp/и так далее = ftp:mczim

т.е. папки принадлежат группе ftp и пользователю mczim.
Я странный...
Спасибо сказали:
Аватара пользователя
Renai
Сообщения: 100
ОС: Arch/Debian

Re: Решено: Помогите с Proftpd (anonymous)

Сообщение Renai »

не помогло.

мнение о Pro-FTPd становится очень нецензурным =\
-__-
Спасибо сказали:
Аватара пользователя
mczim
Сообщения: 665
ОС: Debian/Ubuntu

Re: Решено: Помогите с Proftpd (anonymous)

Сообщение mczim »

у меня все прекрасно работает!

Код:

gateway:/etc/proftpd# cat proftpd.conf # # /etc/proftpd/proftpd.conf -- This is a basic ProFTPD configuration file. # To really apply changes reload proftpd after modifications. # # Includes DSO modules Include /etc/proftpd/modules.conf # Set off to disable IPv6 support which is annoying on IPv4 only boxes. UseIPv6 off ServerName "Debian" ServerType standalone DeferWelcome off MultilineRFC2228 on DefaultServer on ShowSymlinks on TimeoutNoTransfer 600 TimeoutStalled 600 TimeoutIdle 1200 DisplayLogin welcome.msg DisplayFirstChdir .message ListOptions "-l" DenyFilter \*.*/ # Port 21 is the standard FTP port. Port 21 #TransferRate RETR,STOR,APPE 4000 user ftp AllowStoreRestart on AllowRetrieveRestart on #DefaultAddress 89.179.245.70 # In some cases you have to specify passive ports range to by-pass # firewall limitations. Ephemeral ports can be used for that, but # feel free to use a more narrow range. # PassivePorts 49152 65534 # To prevent DoS attacks, set the maximum number of child processes # to 30. If you need to allow more than 30 concurrent connections # at once, simply increase this value. Note that this ONLY works # in standalone mode, in inetd mode you should use an inetd server # that allows you to limit maximum number of processes per service # (such as xinetd) MaxInstances 30 # Set the user and group that the server normally runs at. User proftpd Group nogroup # Umask 022 is a good standard umask to prevent new files and dirs # (second parm) from being group and world writable. Umask 022 022 # Normally, we want files to be overwriteable. AllowOverwrite on # Uncomment this if you are using NIS or LDAP to retrieve passwords: # PersistentPasswd off # Be warned: use of this directive impacts CPU average load! # # Uncomment this if you like to see progress and transfer rate with ftpwho # in downloads. That is not needed for uploads rates. # UseSendFile off TransferLog /var/log/proftpd/xferlog SystemLog /var/log/proftpd/proftpd.log <IfModule mod_tls.c> TLSEngine off </IfModule> <IfModule mod_quota.c> QuotaEngine on </IfModule> <IfModule mod_ratio.c> Ratios on </IfModule> # Delay engine reduces impact of the so-called Timing Attack described in # http://security.lss.hr/index.php?page=deta...=LSS-2004-10-02 # It is on by default. <IfModule mod_delay.c> DelayEngine on </IfModule> <IfModule mod_ctrls.c> ControlsEngine on ControlsMaxClients 2 ControlsLog /var/log/proftpd/controls.log ControlsInterval 5 ControlsSocket /var/run/proftpd/proftpd.sock </IfModule> <IfModule mod_ctrls_admin.c> AdminControlsEngine on </IfModule> # A basic anonymous configuration, no upload directories. DefaultRoot ~ !root <Anonymous ~ftp> User ftp Group nogroup # We want clients to be able to login with "anonymous" as well as "ftp" UserAlias anonymous ftp # Cosmetic changes, all files belongs to ftp user DirFakeUser on ftp DirFakeGroup on ftp RequireValidShell off # 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 DisplayFirstChdir .message # Limit WRITE everywhere in the anonymous chroot <Directory *> <Limit WRITE> DenyAll </Limit> </Directory> # Uncomment this if you're brave. # <Directory incoming> # # Umask 022 is a good standard umask to prevent new files and dirs # # (second parm) from being group and world writable. # Umask 022 022 # <Limit READ WRITE> # DenyAll # </Limit> # <Limit STOR> # AllowAll # </Limit> # </Directory> </Anonymous>
Я странный...
Спасибо сказали:
Аватара пользователя
Renai
Сообщения: 100
ОС: Arch/Debian

Re: Решено: Помогите с Proftpd (anonymous)

Сообщение Renai »

даже с вашим конфигом оно упорно требует пасс ))))
я в шоке.
-__-
Спасибо сказали:
Аватара пользователя
mczim
Сообщения: 665
ОС: Debian/Ubuntu

Re: Решено: Помогите с Proftpd (anonymous)

Сообщение mczim »

Renai писал(а):
17.09.2007 17:24
даже с вашим конфигом оно упорно требует пасс ))))
я в шоке.


а как вы логинитесь? И что даже когда с браузера лезешь тоже пасс требует?
Я странный...
Спасибо сказали:
Аватара пользователя
Renai
Сообщения: 100
ОС: Arch/Debian

Re: Решено: Помогите с Proftpd (anonymous)

Сообщение Renai »

логинюсь с помощью ftp, krusader, фаерфокса, файрфтп - упорно говорит что ошибка 530.
-__-
Спасибо сказали:
Аватара пользователя
Uncle_Theodore
Сообщения: 3339
ОС: Slackware 12.2, ArchLinux 64

Re: Решено: Помогите с Proftpd (anonymous)

Сообщение Uncle_Theodore »

<Шопотом> А Вы сервер перезапускаете, после смены конфига?
Спасибо сказали:
Аватара пользователя
Renai
Сообщения: 100
ОС: Arch/Debian

Re: Решено: Помогите с Proftpd (anonymous)

Сообщение Renai »

Код: Выделить всё

/etc/init.d/pure-ftpd stop
/etc/init.d/proftpd start


это мне уже скоро сниться будет (=

в принципе и остался бы на pure-ftp, но там логи какие то... ммм...индусские. даже айпишник не записывает...
-__-
Спасибо сказали:
Аватара пользователя
Renai
Сообщения: 100
ОС: Arch/Debian

Re: Решено: Помогите с Proftpd (anonymous)

Сообщение Renai »

выяснил в чем проблема
она заключалась в профтпд из портежа... там он странный.

поставил из исходников, да заодно пропатчил на ср1251... все работает.
-__-
Спасибо сказали:
xilix
Сообщения: 16
ОС: FreeBSD

Re: Решено: Помогите с Proftpd (anonymous)

Сообщение xilix »

Поставил proftpd из портов под фрю, все заработало. Но потом для удобства решил подключиться к базе MySQL и использовать Proftpd Admin
Все работает, юзеры добавляются, логи просматриваются, но анонимных юзеров хоть убей не пускает.

Код: Выделить всё

 <- 220 Servers identifying string
 -> USER anonymous
 <- 331 Anonymous login ok, send your complete email address as your
 -> PASS *hidden*
 <- 530 Login incorrect.
 -> QUIT
 <- 221 Goodbye.


Я так понимаю, это из-за того, что логины хранятся в базе. Покопался на http://www.proftpd.org/docs/, поправил конфиг

Код: Выделить всё

<Anonymous ~ftp>

AnonRequirePassword off
SQLEngine off

   User                         ftp
   Group                        ftp

  ### 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                   20

  ### We want 'welcome.msg' displayed at login, and '.message' displayed
  ### in each newly chdired directory.
   DisplayLogin                 welcome.msg
#   DisplayFirstChdir           .message

  ### Limit WRITE everywhere in the anonymous chroot
<Limit READ>
AllowAll
</Limit>

<Limit WRITE>
DenyAll
</Limit>
</Anonymous>


пробовал создавать юзера anonymous с пустым паролем, тоже не помогает. пришлось создать простые лог и пасс, чтобы люди могли качать файло, но как-то не солидно это :(
нужен мудрый совет. может кто ставил такую конфигурацию?
Спасибо сказали:
Аватара пользователя
Seclorum
Сообщения: 45
ОС: Gentoo Linux (No Windows)

Re: Решено: Помогите с Proftpd (anonymous)

Сообщение Seclorum »

Если сборка proftpd с поддержкой acl, то надобно включить acl в fstab для раздела, где расположена home-директория anonymous`a

Для примера:

Код: Выделить всё

/dev/sda12    /home            reiserfs        defaults,acl        0    1
Спасибо сказали:
xilix
Сообщения: 16
ОС: FreeBSD

Re: Решено: Помогите с Proftpd (anonymous)

Сообщение xilix »

Seclorum писал(а):
04.11.2009 04:50
Если сборка proftpd с поддержкой acl, то надобно включить acl в fstab для раздела, где расположена home-директория anonymous`a

Для примера:

Код: Выделить всё

/dev/sda12    /home            reiserfs        defaults,acl        0    1


Код: Выделить всё

                     Options for proftpd 1.3.2b                      │
│ ┌────────────────────────────────────────────────────────────────┐ │
│ │[X] BAN              Include mod_ban (Requires CTRLS)           │ │
│ │[X] CLAMAV           Include mod_clamav                         │ │
│ │[X] CTRLS            Include controls                           │ │
│ │[ ] DIGEST           Include mod_digest                         │ │
│ │[X] IFSESSION        Include mod_ifsession                      │ │
│ │[ ] IPV6             Use IPv6                                   │ │
│ │[ ] LDAP             Use LDAP                                   │ │
│ │[ ] LDAP_TLS         Use LDAP TLS (Requires LDAP, OPENSSL)      │ │
│ │[X] NLS              Use nls (builds mod_lang)                  │ │
│ │[X] OPENSSL          Include mod_tls                            │ │
│ │[ ] PGSQL            Postgres auth (Can be combined with MYSQL) │ │
│ │[X] QUOTA            Include mod_quota                          │ │
│ │[ ] QUOTATAB_RADIUS  include mod_quotatab_radius                │ │
│ │[ ] RADIUS           Include mod_radius                         │ │
│ │[X] RATIO            Include mod_ratio                          │ │
│ │[X] README           Include mod_readme                         │ │
│ │[X] REWRITE          Include mod_rewrite                        │ │
│ │[ ] TDS              FreeTDS - Sybase & MS-SQL auth (Exclusive) │ │
│ │[X] WRAP             Include mod_wrap2                          │ │
│ │[X] WRAP_FILE        Include mod_wrap2_file                     │ │
│ │[X] WRAP_SQL         Include mod_wrap2_sql                      │ │
│ │[X] MYSQL            MySQL auth (Can be combined with PGSQL)    │ │
├─└────────────────────────────────────────────────────────────────┘─┤
│                       [  OK  ]       Cancel                        │


Нету вроде ACL, да и сцыкотно на колокейшне фстаб менять :)
Спасибо сказали:
Аватара пользователя
KiWi
Бывший модератор
Сообщения: 2521
Статус: статус, статус, статус

Re: Решено: Помогите с Proftpd (anonymous)

Сообщение KiWi »

Покажите ПОЛНЫЙ конфиг proftpd.

P.S.: acl больше относится к началу тему и proftpd из portage.
Спасибо сказали:
xilix
Сообщения: 16
ОС: FreeBSD

Re: Решено: Помогите с Proftpd (anonymous)

Сообщение xilix »

KiWi писал(а):
04.11.2009 18:53
Покажите ПОЛНЫЙ конфиг proftpd.

P.S.: acl больше относится к началу тему и proftpd из portage.


Код: Выделить всё

ServerName            "XXXXXXXXXXXXXXXXXXXXX"
ServerType            standalone
ServerIdent            on        "Servers identifying string"
DeferWelcome            on
DefaultServer            on

DisplayLogin            .welcome    # Textfile to display on login
DisplayConnect            .connect    # Textfile to display on connection
#DisplayFirstChdir               .firstchdir    # Textfile to display on first changedir

UseReverseDNS               off
IdentLookups                off

Port                21
Umask                022
MaxInstances                    15
MaxClientsPerHost               3         "Only %m connections per host allowed"
MaxClients                      10         "Only %m total simultanious logins allowed"
MaxHostsPerUser                 20

User                ftp
Group                ftp

ScoreboardFile             /var/run/proftpd/proftpd.scoreboard

# Some logging formats
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"


# Define log-files to use
TransferLog                  /var/log/proftpd.xferlog
ExtendedLog                 /var/log/proftpd.access_log    WRITE,READ write
ExtendedLog                  /var/log/proftpd.auth_log      AUTH auth
ExtendedLog                  /var/log/proftpd.paranoid_log  ALL default
SQLLogFile            /var/log/proftpd.mysql

# Set up authentication via SQL
# ===========
AuthOrder                       mod_sql.c
SQLAuthTypes            Backend
SQLConnectInfo               proftpd_admin@localhost xxxxxxxxx xxxxxxxxxxx
SQLUserInfo               usertable userid passwd uid gid homedir shell
SQLGroupInfo               grouptable groupname gid members
SQLUserWhereClause            "disabled=0 and (NOW()<=expiration or expiration=-1 or expiration=0)"

<IfModule mod_clamav.c> # чЛМАЮБЕН РТПЧЕТЛХ
    ClamAV on
</IfModule>

# Log the user logging in
SQLLog PASS counter
SQLNamedQuery counter UPDATE "lastlogin=now(), count=count+1 WHERE userid='%u'" usertable

# logout log
SQLLog EXIT time_logout
SQLNamedQuery time_logout UPDATE "lastlogout=now() WHERE userid='%u'" usertable

# display last login time when PASS command is given
SQLNamedQuery login_time SELECT "lastlogin from usertable where userid='%u'"
SQLShowInfo PASS "230" "Last login was: %{login_time}"

# xfer Log in mysql
SQLLog RETR,STOR transfer1
SQLNamedQuery  transfer1 INSERT "'%u', '%f', '%b', '%h', '%a', '%m', '%T', now(), 'c', NULL" xfer_stat
SQLLOG ERR_RETR,ERR_STOR transfer2
SQLNamedQuery  transfer2 INSERT "'%u', '%f', '%b', '%h', '%a', '%m', '%T', now(), 'i', NULL" xfer_stat

# <Anonymous ~ftp>
# User ftp
# Group nogroup
# # We want clients to be able to login with "anonymous" as well as "ftp"
# UserAlias anonymous ftp
# SQLEngine off
# AnonRequirePassword off
# # Cosmetic changes, all files belongs to ftp user
# DirFakeUser on ftp
# DirFakeGroup on ftp

# RequireValidShell off
#
# # Limit the maximum number of anonymous logins
# MaxClients 30
#
# # We want 'welcome.msg' displayed at login, and '.message' displayed
# # in each newly chdired directory.
# DisplayLogin welcome.msg
## DisplayFirstChdir .message
#
## Limit WRITE everywhere in the anonymous chroot
#<Directory *>
#<Limit WRITE>
#DenyAll
#</Limit>
#</Directory>
#
## Uncomment this if you're brave.
## <Directory incoming>
## # Umask 022 is a good standard umask to prevent new files and dirs
## # (second parm) from being group and world writable.
## Umask 022 022
## <Limit READ WRITE>
## DenyAll
## </Limit>
## <Limit STOR>
## AllowAll
## </Limit>
## </Directory>
#
#</Anonymous>

<Anonymous ~ftp>

AnonRequirePassword off
SQLEngine off

   User                         ftp
   Group                        ftp

  ### 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                   20

  ### We want 'welcome.msg' displayed at login, and '.message' displayed
  ### in each newly chdired directory.
   DisplayLogin                 welcome.msg
#   DisplayFirstChdir           .message

  ### Limit WRITE everywhere in the anonymous chroot
<Limit READ>
    AllowAll
</Limit>

<Limit WRITE>
    DenyAll
</Limit>
</Anonymous>


AllowStoreRestart         on
AllowRetrieveRestart        on
RequireValidShell               off
PathDenyFilter                  "\\.ftp)|\\.ht)[a-z]+$"
DefaultRoot             ~
#DefaultRoot             /mnt/ftp    !snark
DenyFilter             \*.*/

<Directory /mnt/ftp/*>
    AllowOverwrite        off
     HideNoAccess        off
    <Limit READ>
        AllowAll
        </Limit>

    <Limit WRITE>
        DenyGroup    !admins
     </Limit>
</Directory>

<Directory /mnt/ftp/pub/upload/*>
    AllowOverwrite        on
    HideNoAccess        on

    <Limit READ>
        AllowAll
    </Limit>

    <Limit WRITE>
        AllowAll
    </Limit>

        <Limit STOR MKD>
        AllowAll
        </Limit>
</Directory>


Клам, кстати, тоже не работает.
Спасибо сказали:
Аватара пользователя
KiWi
Бывший модератор
Сообщения: 2521
Статус: статус, статус, статус

Re: Решено: Помогите с Proftpd (anonymous)

Сообщение KiWi »

http://www.proftpd.org/docs/directives/lin..._AuthOrder.html -- можете читать до просветления
Спасибо сказали:
xilix
Сообщения: 16
ОС: FreeBSD

Re: Решено: Помогите с Proftpd (anonymous)

Сообщение xilix »

А можно меня немного подтолкнуть к просветлению?
Спасибо сказали:
Аватара пользователя
KiWi
Бывший модератор
Сообщения: 2521
Статус: статус, статус, статус

Re: Решено: Помогите с Proftpd (anonymous)

Сообщение KiWi »

xilix писал(а):
05.11.2009 11:24
А можно меня немного подтолкнуть к просветлению?

При авторизации используются только те способы, которые указаны в AuthOrder. В AuthOrder стоит только mod_sql, соответственно, вся авторизация идёт через mod_sql БЕЗ попыток авторизации в системном /etc/passwd.
Спасибо сказали:
xilix
Сообщения: 16
ОС: FreeBSD

Re: Решено: Помогите с Proftpd (anonymous)

Сообщение xilix »

Поставил

AuthOrder mod_auth_pam.c* mod_auth_unix.c mod_sql.c

пока не помогает
Спасибо сказали:
xilix
Сообщения: 16
ОС: FreeBSD

Re: Решено: Помогите с Proftpd (anonymous)

Сообщение xilix »

KiWi писал(а):
05.11.2009 11:33
xilix писал(а):
05.11.2009 11:24
А можно меня немного подтолкнуть к просветлению?

При авторизации используются только те способы, которые указаны в AuthOrder. В AuthOrder стоит только mod_sql, соответственно, вся авторизация идёт через mod_sql БЕЗ попыток авторизации в системном /etc/passwd.


а мне не нужна авторизация через /etc/passwd. я хочу как-то прикрутить анонимного пользователя, который прописан в конфиге. какая из авторизаций AuthOrder отвечает за конфиг?
Спасибо сказали:
xilix
Сообщения: 16
ОС: FreeBSD

Re: Решено: Помогите с Proftpd (anonymous)

Сообщение xilix »

вопрос до сих пор не решен :(
Спасибо сказали: