Co zrobić by serwer FTP zadziałał na naszym LINUX np. Centos 6.0
(Zalecanym przez korporację RedHat serwerem FTP jest VSFTPD czyli Very Secure Ftp Daemon)
1. Instalujemy VSFTPD na naszym serwerze:
yum update
yum install vsftpd
2. Konfigurujemy nasz serwer
plik konfiguracyjny znajdziemy w /etc/:
najpierw robimy kopie:
cd /etc/vsftpd
cp vsftpd.conf vsftpd.conf.bac
teraz edytujemy:
vi /etc/vsftpd/vsftpd.conf
(a) wariant pierwszy (tylko lokalni użytkownicy)
( konfiguracja serwera FTP pozwoli na łączenie się użytkowników do swoich katalogów domowych. Będą mogli oni pobierać i wysyłać na swoje konta dane z prędkością do 20 KB/s w obie strony, czasami się przydaje by nie wysycili nam łącza. Po zalogowaniu się do swoich kont, serwer FTP zastosuje zasadę chroot i zamknie możliwość poruszania się tylko do katalogu domowego, a więc user nie będzie mógł go opuścić, jest to dobra i bezpieczna opcja. Istnieje oczywiście możliwość dodania użytkowników którzy będą mogli poruszać się poza swoim katalogiem domowym. Nie ma możliwości logowania się ANONYMOUS. )
nopriv_user=ftp
listen=YES # nasłuchuj w trybie standalone
listen_port=21 # nasłuchuj na porcie 21
anonymous_enable=NO # wyłącz logowania kont ANONYMOUS
local_enable=YES
write_enable=YES
local_umask=022
local_max_rate=20480
xferlog_enable=YES
xferlog_file=/var/log/vsftpd.log # zapisuj logi do
max_clients=100 # maksylmanie wszystkich połączeń
max_per_ip=4 # maksymalnie 4 połączenia na raz
banner_file=/etc/vsftpd/vsftpd.banner # pokaż tekst powitalny z pliku
chroot_local_user=YES # włącz tryb chroot chroot_list_enable=YES # włącz liste dla których userow
# stosować regule chroot
chroot_list_file=/etc/vsftpd/chroot.list # lista userów
(b) wariant drugi (tylko anonimowi goście, bez możliwości zapisu)
( przydatne gdy chcemy udostępnić dla ogółu jakieś pliki , logujemy się wówczas na login ftp i hasło puste lub można podać swój adres e-mail )
listen=YES
anonymous_enable=YES # włączamy możliwość logowania się gości
ftp_username=ftp # jako użytkownicy ftp
write_enable=NO # zabraniamy zapisu
anon_upload_enable=NO
anon_mkdir_write_enable=NO
anon_other_write_enable=NO
anon_world_readable_only=YES
idle_session_timeout=350
connect_from_port_20=YES
port_enable=YES
hide_ids=NO
log_ftp_protocol=NO
syslog_enable=YES
max_per_ip=4
local_root=/usr/share/empty
nopriv_user=nobody
ftpd_banner=(vsFTPd nazwa_naszego_serwera)
(c) wariant trzeci ( lokalni użytkownicy i goście - uprawnienia pełen zapis)
( zezwalamy na zapis zarówno lokalnym użytkownikom jak i anonimowym , wszyscy są zamknięci we własnych katalogach , w przypadku anonimowych jest to katalog
/var/chroot/vsftpd , dodatkowo wprowadzamy ograniczenia na możliwość UPLOAD'owanie plików, zabraniamy wysyłać pliki typu mp3 i avi , oraz ukrywamy pliki typu txt i vcs )
najpierw tworzymy niezbędny katalog
mkdir /var/chroot/vsftpd
nopriv_user=ftp
listen=YES
listen_port=21
anonymous_enable=YES
local_enable=YES
xferlog_enable=YES
xferlog_file=/var/log/xferlog.log
xferlog_std_format=YES
chroot_local_user=YES
secure_chroot_dir=
/var/chroot/vsftpd
no_anon_password=YES
write_enable=YES
anon_upload_enable=YES
anon_mkdir_write_enable=NO
hide_ids=YES
local_umask=022
anon_umask=022
deny_file={*.mp3,*.avi}
hide_file={*.txt,*.vcs}
Powyższe konfiguracje są poglądowe, warto wykorzystać je do pomieszania i stworzenia własnej unikatowej konfiguracji.
2. Uruchamianie serwera FTP
/etc/init.d/vsftpd start
Uruchamianie vsftpd dla vsftpd: [ OK ]
lub jeśli już jest proces uruchomiony (sprawdzamy)
ps ax | grep vsftpd
28018 ? Ss 0:00 /usr/sbin/vsftpd /etc/vsftpd/vsftpd.conf
( widać, że uruchomiony jako process 28018)
lub
/etc/init.d/vsftpd status
vsftpd (pid 30688) jest uruchomiony...
to wpisujemy
/etc/init.d/vsftpd restart
Wyłączanie vsftpd: [ OK ]
Uruchamianie vsftpd dla vsftpd: [ OK ]
3. Firewall - otwieranie usługi FTP na świat
niezapomnijmy o otwarciu jeszcze niezbędnych portów:
(musimy dopisać odpowiednie linijki do naszego firewalla)
#port 21 (TCP) - negocjacyjny
iptables -A INPUT -s 0/0 -p tcp --dport 21 -j ACCEPT
#port 20 (TCP) - transmisji danych (w trybie aktywnym)
iptables -A INPUT -s 0/0 -p tcp --dport 20 -j ACCEPT
#porty od 1024 do 65530 - transmisji danych (w trybie pasywnym)
iptables -A INPUT -s 0/0 -p tcp --dport 1024:65530 -j ACCEPT
4. Sprawdzamy naszego FTP
(najszybciej starym poczciwym telnet'em)
telnet localhost 21
Trying 127.0.0.1...
Connected to localhost (127.0.0.1).
Escape character is '^]'.
220 Witamy - tarnet.eu.org
aby wyjsć z telnetu naciskamy [CTRL} + ]
i wpisujemy quit
i mamy serwer gotowy :)
Tarnek oKRUTNIK
http://tarnet.eu.org
http://tarnet.eu.org/linux
Brak komentarzy:
Prześlij komentarz