Добрый день.
Вобщем ,после очередного анализа логов ,было решено ограничить доступ к фтп пределами городской сети. Недолго думая я добавил в конфиг следующие строки :<Limit LOGIN>
Order Allow,Deny
Allow first.ip.net.0/len
Allow second.ip.net.0/len
Allow third.ip.net.0/len
Deny from all
</Limit>Думая что я прав и всё вроде верно , перезапустив proftpd ,я к своему
удивлению обнаружил что это не работает т.е. логиниться могут все.
.....тут я начал играться с дебагом и прочими штуками и нигде не обнаружил что какое то сравнение производится (как выяснилось позже,в случае с cidr масками оно просто выполняется молча)
...
Вобшем заработали только правила вида
Allow first.ip.net.* ну и в таком духе.[4:30][/usr/local/etc]#uname -sr
FreeBSD 5.2-RELEASE
[4:31][/usr/local/etc]#proftpd -v
- ProFTPD Version 1.2.9
Боюсь ошибиться нл неужели CIDR сравнение производится неверно !?
Укажите пож-ста на ошибку.
щас эта задумка работает через mod_wrap.
Кто-то скажет : "Работает да и ладно"
Но интересно в чём запарка !? Неужели нельзя обойтись без mod_wrap
>
>щас эта задумка работает через mod_wrap.
>Кто-то скажет : "Работает да и ладно"
>Но интересно в чём запарка !? Неужели нельзя обойтись без mod_wrap# Limit WRITE everywhere in the anonymous chroot
<Limit LOGIN>
Order allow,deny
Allow from z.x.0.0/20,192.168.100.64/27
Deny from all
</Limit>Ну и добью
proftpd -l
Compiled-in modules:
mod_core.c
mod_xfer.c
mod_auth_unix.c
mod_auth_file.c
mod_auth.c
mod_ls.c
mod_log.c
mod_site.c
mod_auth_pam.c
mod_ratio.c
mod_sql.c
mod_sql_mysql.c
Удивительно! Мои мысли работают в том же направлении но смотрите :кусок из proftpd -n -d 6 -c /config
my.ftp.somewhere.ru (lenin.avtf.net[82.117.64.173]) - ANON anonymous: Login successful.Это при следующем конфиге :
ServerName ".name."
ServerType standalone
ServerIdent Off
DefaultServer OnPort 21000
Umask 022
User nobody
Group nogroup
ServerLog /var/log/proftpd/ftpd/proftpd-server.log
SystemLog /var/log/proftpd/ftpd/proftpd-system.log
TransferLog /var/log/proftpd/ftpd/proftpd-transfer.log
AuthPAM off
AuthPAMAuthoritative off
ScoreboardFile /var/run/ftpd.scoreboard
PidFile /var/run/ftpd.pid
MaxInstances 30
DefaultRoot ~<Limit LOGIN >
Order Allow,Deny
Allow from 217.29.80.0/20
Deny from all
</Limit>
<Anonymous /mnt/incoming>
User ftpanonim
Group nogroup
UserAlias anonymous ftpanonim
RequireValidShell Off
</Anonymous>Складывается ощущение что эта часть конфига вообше не работает.
Добиваю :[DING!][/usr/local/etc]#proftpd -l
Compiled-in modules:
mod_core.c
mod_xfer.c
mod_auth_unix.c
mod_auth_file.c
mod_auth.c
mod_ls.c
mod_log.c
mod_site.c
mod_auth_pam.c
mod_ratio.c
mod_readme.c
mod_wrap.c
mod_sql.c
mod_sql_mysql.c
///Skiped
<Anonymous /mnt/incoming> #описание анонимного входа
User ftpanonim
Group nogroup
UserAlias anonymous ftpanonim
RequireValidShell Off<Limit LOGIN > #ограничение для анонимного входа
Order Allow,Deny
Allow from 217.29.80.0/20
Deny from all
</Limit>
</Anonymous> #закрыли описание анонимного входа
Вот так будет работать как надо
Дополнение:
В вашем конфиге вы ограничиваете вход пользователей с нормальными логинам с перечисленных адресов.
Меня это уже самого забавляет. пробую :<Anonymous /mnt/wd_disk/FTP_SERVER/public/incoming>
.... bla-bla-bla<Limit LOGIN >
Order Allow,Deny
Allow from 217.29.80.0/20
Deny from all
</Limit></Anonymous>
my.ftp.foo.ru (lenin.avtf.net[82.117.64.173]) - ANON anonymous: Login successful.
><Limit LOGIN >
> Order Allow,Deny
> Allow from 217.29.80.0/20
> Deny from all
></Limit>
Работать не будет, надо :Order Deny,Allow