Nie jesteś zalogowany.
Jeśli nie posiadasz konta, zarejestruj je już teraz! Pozwoli Ci ono w pełni korzystać z naszego serwisu. Spamerom dziękujemy!

Ogłoszenie

Prosimy o pomoc dla małej Julki — przekaż 1% podatku na Fundacji Dzieciom zdazyć z Pomocą.
Więcej informacji na dug.net.pl/pomagamy/.

#1  2014-10-13 23:29:29

  Grzeslaw - Użytkownik

Grzeslaw
Użytkownik
Zarejestrowany: 2008-02-12

Vsftpd + TLS i niedzialajacy chroot

Witam,

Od paru dni próbuje aktywować JAILA w vsftpd na najnowszym świeżym Debianie 7.6 wheezy.
Niestety za cholerę nie mogę uwięzić użytkowników..
Konfiguracja wygląda następująco:

Kod:

# MAIN
anonymous_enable=NO
check_shell=NO
chmod_enable=YES
connect_from_port_20=YES
dirmessage_enable=YES
idle_session_timeout=3600
listen_address=IP_ADDR
listen=YES
local_enable=YES
local_umask=027
user_sub_token=$USER
local_root=/var/www/$USER.pl/
file_open_mode=0640
write_enable=YES
pasv_enable=YES
pasv_min_port=50000
pasv_max_port=50200
pasv_address=IP_ADDR

# SECURITY:
chroot_local_user=YES
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd.chroot # tutaj lokalni userzy ktorzy nie moga sie logowac
passwd_chroot_enable=YES
secure_chroot_dir=/var/run/vsftpd
pam_service_name=vsftpd

# SSL
ssl_enable=YES
force_local_data_ssl=YES
force_local_logins_ssl=YES
ssl_tlsv1=YES
ssl_sslv2=NO
ssl_sslv3=NO
ssl_ciphers=HIGH
require_ssl_reuse=NO
rsa_cert_file=/etc/ssl/private/vsftpd.pem

# LOGING
log_ftp_protocol=NO
syslog_enable=NO
xferlog_enable=YES
xferlog_std_format=YES
dual_log_enable=YES
vsftpd_log_file=/var/log/vsftpd.log

No i wszystko fajnie, ftp działa, TLS tez, userzy tez.. Ale cały czas mogą wyjść ze swojego katalogu..
Dodam, ze selinux jest jeszcze nie zainstalowany. Apparmor również. Manuala już chyba na pamięć znam..

Będę bardzo zobowiązany za wypowiedzi i jakiekolwiek rozsądne :)

Offline

 

#2  2014-10-14 00:01:08

  enether - wiecznie niewyspany

enether
wiecznie niewyspany
Zarejestrowany: 2012-05-01

Re: Vsftpd + TLS i niedzialajacy chroot

za: man vsftpd.conf

chroot_list_enable
              If activated, you may provide a list of local users
              who  are  placed  in  a chroot() jail in their home
              directory upon login. [b]The meaning is slightly  dif_
              ferent  if chroot_local_user is set to YES. In this
              case, the list becomes a list of  users  which  are
              NOT  to  be placed in a chroot() jail.[/b]  By default,
              the    file     containing     this     list     is
              /etc/vsftpd.chroot_list,  but you may override this
              with the chroot_list_file setting.[/quote]
*wink wink*


BTW: Przed SELinuxem polecam wdrożenie grseca :)

Ostatnio edytowany przez enether (2014-10-14 00:10:58)

Offline

 

#3  2014-10-14 07:49:02

  Grzeslaw - Użytkownik

Grzeslaw
Użytkownik
Zarejestrowany: 2008-02-12

Re: Vsftpd + TLS i niedzialajacy chroot

Tak jak pisałem w komentarzu:

Kod:

chroot_local_user=YES  # chrootuj lokalnych userow
chroot_list_enable=YES # aktywuje liste lokalnych userow ktorzy nie moga sie logowac
chroot_list_file=/etc/vsftpd.chroot # tutaj lokalni userzy ktorzy nie moga sie logowac

Wiec wsio wyglada dobrze..

Offline

 

#4  2014-10-14 21:10:35

  enether - wiecznie niewyspany

enether
wiecznie niewyspany
Zarejestrowany: 2012-05-01

Re: Vsftpd + TLS i niedzialajacy chroot

[quote=Grzeslaw]Witam,

Od paru dni próbuje aktywować JAILA w vsftpd na najnowszym świeżym Debianie 7.6 wheezy.
Niestety za cholerę nie mogę uwięzić użytkowników..
[...]

Kod:

# SECURITY:
chroot_local_user=YES
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd.chroot # tutaj lokalni userzy ktorzy nie moga sie logowac

No i wszystko fajnie, ftp działa, TLS tez, userzy tez.. Ale cały czas mogą wyjść ze swojego katalogu..[/quote]
Powiedz nam czy użytkownicy na których testujesz znajdują się w pliku vstfpd.chroot

W aktualnej konfiguracji wygląda to raczej tak, że logować się może każdy użytkownik i każdy z nich zostanie zchrootowany ZA WYJĄTKIEM tych wymienionych w vsftpd.chroot.

Ponieważ jak podaje wklejony przeze mnie fragment man'a w sytuacji w której aktywujesz chroot_list_enable ORAZ chroot_local_users plik vsftpd.chroot definiuje listę userów którzy restrykcjami chroota objęci nie będą.

Offline

 

#5  2014-10-14 23:46:40

  Jacekalex - Podobno człowiek...;)

Jacekalex
Podobno człowiek...;)
Skąd: /dev/urandom
Zarejestrowany: 2008-01-07

Re: Vsftpd + TLS i niedzialajacy chroot

Może być Pure-ftpd?

IMHO jest 57 razy łatwiejszy w konfiguracji.

http://www.howtoforge.com/pureftpd_mysql_virtual_hosting
http://www.howtoforge.com/virtual-hosting-with-pureftpd-mysql-on-ubuntu-8.10
Jak ostatnio robiłem taki na Debianie, to był gotowy w 3 minuty.

I oczywiście skanowanie lub inne akcje z pakowanymi na serwer plikami:
http://www.howtoforge.com/how-to-integrate-clamav-into-pureftpd-for-virus-scanning-on-debian-lenny

Ostatnio edytowany przez Jacekalex (2014-10-14 23:51:59)


W demokracji każdy naród ma taką władzę, na jaką zasługuje ;)
Si vis pacem  para bellum  ;)       |       Pozdrawiam :)

Offline

 

#6  2014-10-15 00:07:36

  enether - wiecznie niewyspany

enether
wiecznie niewyspany
Zarejestrowany: 2012-05-01

Re: Vsftpd + TLS i niedzialajacy chroot

[quote=Jacekalex]Może być Pure-ftpd?

IMHO jest 57 razy łatwiejszy w konfiguracji.[/quote]
Popieram ;) konfiguracja pure-ftpd to czysta przyjemność, do tego jest bardzo elastyczny.

Offline

 

#7  2014-10-15 00:23:17

  Jacekalex - Podobno człowiek...;)

Jacekalex
Podobno człowiek...;)
Skąd: /dev/urandom
Zarejestrowany: 2008-01-07

Re: Vsftpd + TLS i niedzialajacy chroot

I w przeciwieństwie do Proftpd i Vsftpd nie miał w ostatnich latach zaszytego backdoora:
http://www.exploit-db.com/exploits/17491/
http://www.aldeid.com/wiki/Exploits/proftpd-1.3.3c-backdoor

Dlatego też jest warty uwagi. :D

Ostatnio edytowany przez Jacekalex (2014-10-15 00:23:36)


W demokracji każdy naród ma taką władzę, na jaką zasługuje ;)
Si vis pacem  para bellum  ;)       |       Pozdrawiam :)

Offline

 

#8  2014-10-15 08:58:05

  Grzeslaw - Użytkownik

Grzeslaw
Użytkownik
Zarejestrowany: 2008-02-12

Re: Vsftpd + TLS i niedzialajacy chroot

[b]enether[/b]: Użytkownicy których testuje nie znajdują sie w pliku /etc/vsftpd.chroot.
[b]Jacekalex[/b]: Ok, być może jest lepszy, ale jak jest problem, to chce go rozwiązać, a nie znaleźć alternatywę ;)

Inna sprawa: Udało mi się schrotować użytkowników w /var/www/ poprzez ustawienie opcji: local_root=/var/www , jednakże problem jest taki, że każdy może czytać dane stron innych, co mija się z celem ;/ Każdy user jest w głównej grupie www-data, aby mógł pisać via ftp bezpośrednio kod stronki. Tak więc plik wrzucany na ftp jest ownowany przez usera, i grupa defaultowa to www-data, uprawienia są 660/770. Wczoraj spróbowałem ustawić /var/www/user_domain/ uprawnienia user:user, a pliki w środku user:www-data - i super! FTP działa pięknie w takiej konfiguracji, jednakże stronka nie działa i jest permission denied, bo główny katalog /var/www/user_domain/ nie jest w grupie www-data, a inni go czytać nie mogą ;/ Tak sobie kombinuje może jakoś od strony uprawnień do tego podejść...

Offline

 

#9  2014-10-15 09:47:43

  Jacekalex - Podobno człowiek...;)

Jacekalex
Podobno człowiek...;)
Skąd: /dev/urandom
Zarejestrowany: 2008-01-07

Re: Vsftpd + TLS i niedzialajacy chroot

Przy kilku pacjentach stronki mają trzymać w [b]$HOME/public_html/[/b] każdy u siebie a nie w /var/www.

Widzę tu problem między krzesłem a klawiaturą ;)

Rzuć okiem na to:
http://lazowski.wordpress.com/2009/07/28/konfiguracja-vsftpd-very-secure-ftp-server/

Ostatnio edytowany przez Jacekalex (2014-10-15 09:50:36)


W demokracji każdy naród ma taką władzę, na jaką zasługuje ;)
Si vis pacem  para bellum  ;)       |       Pozdrawiam :)

Offline

 

#10  2014-10-16 09:42:20

  Grzeslaw - Użytkownik

Grzeslaw
Użytkownik
Zarejestrowany: 2008-02-12

Re: Vsftpd + TLS i niedzialajacy chroot

[b]Jacekalex[/b]: To jest produkcyjny serwer www, na którym FTP pełni bardzo ważną rolę, także jest tylu użytkowników, ile stron - czyli koło 5ciu. Wszystkie strony są w /var/www/*, także konfiguracja jak najbardziej poprawna.

Co do stronki, którą wysłałeś, to nic nowego. Naprawdę przerobiłem masę opcji już i przewertowałem ostro dokumentacje. Jeśli używam nawet przykładowych configów z tej stronki, to dostaje taki msg:

Kod:

Response:    500 OOPS: vsftpd: refusing to run with writable root inside chroot()
Error:            Critical error: Could not connect to server

Jest to issue typowy dla obecnego pakietu vsftpd w Debianie, w wersji debiana latest - stable. Tutaj jest to całkiem nieźle opisane:
https://www.benscobie.com/fixing-500-oops-vsftpd-refusing-to-run-with-writable-root-inside-chroot/
Sugestie są trzy, co zrobić:

Kod:

 Dmitriy   January 13, 2012 at 12:51 pm
you can choose one of 3 ways:
1. Define option local_root= in configuration file. must by /home or other path to directory with users folders.
In this way vsftpd chrooting to /home directory.
2. Define option passwd_chroot_enable=yes in configuration file and change in /etc/passwd file user home directory from «/home/user» to «/home/./user» (w/o quotes).
In this way vsftpd chrooting to /home directory.
3. Download sources of vsftpd-ext, compile and overwrite exist vsftpd binaries or take it from repositories and add to configuration file option allow_writeable_root=yes.

1. local_root - dziala calkiem fajnie, jednakze w moim przypadku uzytkownicy moga wchodzic do swoich katalogow, poniewaz kazdy jest w grupie www-data a foldery w /var/www maja prawa 0700 username:www-data.
2. Opcja druga niestety nie dziala mi nie wiem czemu, probowalem kilka razy
3. vsftpd-ext - odpada, jako ze nowa paczka vsftpd jest jeszcze w testowym debianie, wiec nie zamierzam wprowadzać testowych pakietów na produkcji.

Swoja droga taki sam watek zalorzylem na innym forum, i wciaz nie ma koncepcji:
http://www.linuxquestions.org/questions/linux-server-73/vsftpd-chroot-issue-4175521842/

Offline

 

#11  2014-10-16 09:49:10

  Jacekalex - Podobno człowiek...;)

Jacekalex
Podobno człowiek...;)
Skąd: /dev/urandom
Zarejestrowany: 2008-01-07

Re: Vsftpd + TLS i niedzialajacy chroot

Na produkcji taka papranina?

Na każdym serwerze produkcyjnym bezpieczniej dać równocześnie dwa działające serwery, z których jeden włączasz, a drugi, skonfigurowany czeka w rezerwie, jakby tamten pierwszy się zjebał.
I oba pakujesz do jednakowego systemu autoryzacji, żeby nie było problemu z przełączaniem między serwerami.

Ja bym wziął Proftpd i Pure-ftpd równocześnie w takim zastosowaniu.
W każdym razie postawienie obu z autoryzacją PAM-*SQL, to jest roboty na 15 minut, licząc dwie butelki piwa w komplecie.

Pozdro
;-)

Ostatnio edytowany przez Jacekalex (2014-10-16 17:15:07)


W demokracji każdy naród ma taką władzę, na jaką zasługuje ;)
Si vis pacem  para bellum  ;)       |       Pozdrawiam :)

Offline

 

#12  2014-10-16 17:08:50

  ethanak - Użytkownik

ethanak
Użytkownik
Skąd: Ungwenor
Zarejestrowany: 2010-07-19
Serwis

Re: Vsftpd + TLS i niedzialajacy chroot

[quote=Grzeslaw]To jest produkcyjny serwer www, (...)Wszystkie strony są w /var/www/*, także konfiguracja jak najbardziej poprawna.[/quote]
Ośmielam się być innego zdania.

Ja tam bym zaczął od prawidłowej konfiguracji Apacza, a potem (jak już się nauczę jednego) brał się za FTP (z Pure-ftpd na czele). Ale wiesz, ja to się nie znam na tych nowomodnych wynalazkach...


Nim mechaniczne larum zagrasz mi, kanalio,
głosząc nadejście Javy - śmiertelnego wroga!
[i]Zespół Adwokacki Dyskrecja[/i]

Offline

 

#13  2014-10-16 21:46:10

  Grzeslaw - Użytkownik

Grzeslaw
Użytkownik
Zarejestrowany: 2008-02-12

Re: Vsftpd + TLS i niedzialajacy chroot

Jacekalex: Na "przyszłej produkcji" - buduje jeden serwerek, i ot taki issue.. A to chyba troszkę perwersja z tymi dwoma FTP ;) Nigdy nie miałem problemów a nim coś zupdatuje, zmienie na produkcji, robie to w Dev. Anyway, wciąż nie ma żadnych konkretnych pomysłów co z tym zrobić..  (oprócz najprostszego - nie działa jedno, weź drugie) :)


BTW:(Off Topic) ethanak:
1. to gdzie wrzucę stronki to chyba moja sprawa co?
Ale z chęcią wysłucham Twojej wypowiedzi na temat, tego:
- "dlaczego" jak to mówisz "nie umiem" konfigurować apache? Wydedukowałeś to na podstawie tego gdzie wrzucam stronki, czy może tez uprawnień jakie daje?
-  Co jest złego w trzymaniu stron w /var/www/ (dodam, iz jest to osobna partycja) ?
Ale aby nie robie OT, napisz mi to na priv, z chęcią przedyskutuje i wysłucham Twoich argumentów i poddam sie dyskusji :)

Offline

 

Stopka forum

Powered by PunBB
© Copyright 2002–2005 Rickard Andersson
To nie jest tylko forum, to nasza mała ojczyzna ;-)

[ Generated in 0.009 seconds, 11 queries executed ]

Informacje debugowania

Time (s) Query
0.00009 SET CHARSET latin2
0.00006 SET NAMES latin2
0.00102 SELECT u.*, g.*, o.logged FROM punbb_users AS u INNER JOIN punbb_groups AS g ON u.group_id=g.g_id LEFT JOIN punbb_online AS o ON o.ident='18.117.103.185' WHERE u.id=1
0.00068 REPLACE INTO punbb_online (user_id, ident, logged) VALUES(1, '18.117.103.185', 1732219924)
0.00045 SELECT * FROM punbb_online WHERE logged<1732219624
0.00052 SELECT topic_id FROM punbb_posts WHERE id=277674
0.00005 SELECT id FROM punbb_posts WHERE topic_id=26548 ORDER BY posted
0.00059 SELECT t.subject, t.closed, t.num_replies, t.sticky, f.id AS forum_id, f.forum_name, f.moderators, fp.post_replies, 0 FROM punbb_topics AS t INNER JOIN punbb_forums AS f ON f.id=t.forum_id LEFT JOIN punbb_forum_perms AS fp ON (fp.forum_id=f.id AND fp.group_id=3) WHERE (fp.read_forum IS NULL OR fp.read_forum=1) AND t.id=26548 AND t.moved_to IS NULL
0.00006 SELECT search_for, replace_with FROM punbb_censoring
0.00269 SELECT u.email, u.title, u.url, u.location, u.use_avatar, u.signature, u.email_setting, u.num_posts, u.registered, u.admin_note, p.id, p.poster AS username, p.poster_id, p.poster_ip, p.poster_email, p.message, p.hide_smilies, p.posted, p.edited, p.edited_by, g.g_id, g.g_user_title, o.user_id AS is_online FROM punbb_posts AS p INNER JOIN punbb_users AS u ON u.id=p.poster_id INNER JOIN punbb_groups AS g ON g.g_id=u.group_id LEFT JOIN punbb_online AS o ON (o.user_id=u.id AND o.user_id!=1 AND o.idle=0) WHERE p.topic_id=26548 ORDER BY p.id LIMIT 0,25
0.00084 UPDATE punbb_topics SET num_views=num_views+1 WHERE id=26548
Total query time: 0.00705 s