Vsftp server
FTP serveri paigaldamine ja seadistamine (vsftpd)
Uuendame antud juhendit ja paigaldame Ubuntu serverile 12.04 vsftp serveri teenuse.
Seadistame vsftp serveri nii, et kõik ühenduse logid pannakse kirja /var/log/vsftpd.log faili. Sisse on lubatud logida ainult neil kasutajatel, kes omavad süsteemis kontot. Sisselogimisel suunatakse kõik kasutajad ühte kausta, kus neil on kirjutamise ja lugemise õigused. (Kasutajatel on väljapoole suunatud kasuta liikumine keelatud.) Teatud kasutajate sisselogimine ftpsse on keelatud, samas süsteemikontot lukku ei panda.
Kõiki toiminguid tehakse root kasutaja õigustes.
Root kasutaja õigused saame järgmiselt:
sudo -i
Mis on Vsftpd?
Vsftpd (ingl.k Very Secure FTP Daemon) ilmselt kõige turvalisem ja kiirem FTP server UNIXI laadsetes süsteemides.
Vsftpd toetab IPv6 ja SSL'i. Kõige uuem vsftpd versioon on v3.0.2. https://security.appspot.com/downloads/vsftpd-3.0.2.tar.gz
Näide firmadest, mis kasutavad Vsftpd: [1]
ftp.redhat.com
ftp.suse.com
ftp.debian.org
ftp.freebsd.org
ftp.gnu.org
ftp.gnome.org
ftp.kde.org
ftp.kernel.org
rpmfind.net
ftp.linux.org.uk
ftp.gimp.org
ftp-stud.fht-esslingen.de
gd.tuwien.ac.at
ftp.sunet.se
ftp.engardelinux.org
ftp.isc.org
Paigaldamine
Kõigepalt paigaldame vajalikud komponendid, milleks antud juhul on vsftp serveri tarkvara.[2]
apt-get install vsftpd
Seadistamine
Seadistame vsftp serveri.
Seadistuse muutmiseks kasutame programmi nano:
nano /etc/vsftpd.conf
Ligipääsu seadistamine
Tuleb otsustada, kas tahetakse keelata anonüümsetele kasutajatele ligipääs FTP'le või mitte.
Keelamine:
anonymous_enable=NO
Lubamine:
anonymous_enable=Yes
Lubame kontot omavatel isikutel ftp serverisse sisse logida:
local_enable=YES
Lubame kontot omavatel isikulte ftp serveris kirjutamise:
write_enable=YES
Näide kodukataloogi asukoha muutmise kohta:
sudo mkdir /srv/files/ftp
sudo usermod -d /srv/files/ftp ftp
Logide seadistamine
Hiljem on hea näha, mis on meie serveris toimunud.
Kontrollime ja muuudame ning lisame vajalikud kirjed
# logimine allala ja ülesselaadimitstele: xferlog_enable=YES # teekonna ja failinimi kuhu logi hakatakse salvestama: vsftpd_log_file=/var/log/vsftpd.log # lülitame välja ftp xferlog formaadi(kui see juba välja lülitatud ei ole): # xferlog_std_format=YES # kõik ftp päringud ja vastused pannakse logisse kirja: log_ftp_protocol=YES
FTP kasutajate ja kaustade seadistamine
Vsftpd kasutajad jagunevad kolme gruppi:
1)Lokaalsed kasutajad
2)Anonüümne kasutaja
3)Virtuaalsed kasutajad
Loome ftp kautajatele oma kausta ning seadistame vajalikud õigused.
Alustame vastava grupi loomisest:
addgroup ftpuser
Lisame kasutajad loodud gruppi:
usermod -a G ftpuser “kasutajanimi”
Loome ftp kasutajatele üldise kausta:
mkdir /var/lib/ftp
Anname kaustale grupi ja kasutalegrupile lugemise ja kirjutamise õiguse ning kõigile teistele jätame ainul lugemise õiguse.
chown ftpuser /var/lib/ftp chmod g+w /var/lib/ftp
Kõik lokaalse konto omajad suunatakse ftpsse logimisel samasse kausta (võimalik on ka igale kasutajale oma konfiguratsioon luua, aga seda me hetkel ei käsitle). Kui seda kirjet seadistuses ei määrata, siis suunatakse kasutajad oma kodukausta. ”/home/user/”
local_root=/var/lib/ftp/
Failis /etc/ftpusers on nimekiri kasutajatest kellel on keelatud meie serveri ftp kasutamine. Sinna kasutajanimesid lisades on võimalik kasutajate sisselogimist piirata.
nano /etc/ftpusers
==FTP turvaliseks muutmine== [3]
/etc/vsftpd.conf failist leiab valikuid, et muuta vsftpd rohkem kindlamaks. Näiteks saab lubada kasutatajel ligipääseda vaid oma kodukaustale, kasutades käsku:
chroot_local_user=YES
Samuti saab limiteerida kindlatele kasutajale vaid ligipääsu oma kodukaustale:
chroot_list_enable=YES chroot_list_file=/etc/vsftpd.chroot_list
Pärast käskude sisestamist konfiguratsioonifaili, tuleb teha fail /etc/vsftpd.chroot_list, mis sisaldaks nimekirja kasutajatest, üks kasutaja rea kohta. Seejärel teha restart vsftpd-le
restart vsftpd
Lisaks sellele, sisaldab /etc/ftpusers nimekirja kasutajatest, kellele on keelatud FTP ligipääs. "Default" kasutajtaeks on root, daemon, nobody, etc. Kui on soovi lisaks keelata mõnele kasutajale ligipääs FTP serverile, tuleks nad lihtsalt sinna nimekirja lisada.
FTP saab ka krütpeerida kasutades FTPS-i. FTPS konfigureerimsieks, tuleks muuta /etc/vsftpd.conf faili ja lisada lõppu järgnevad read:
ssl_enable=Yes
Samuti tuleks jälgida sertifikaadi ja "key related" sätteid.
rsa_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem rsa_private_key_file=/etc/ssl/private/ssl-cert-snakeoil.key
Tavaliselt on need sätted seatud ssl-cert package poolt, kuid "production" keskkonnas tuleks need asendada kindla "hosti" sertifikaadi ja võtmega.
Nüüd tuleks teha vsftpd restart ning kasutajad peavad kasutama FTPSi:
sudo restart vsftpd
Tagavarakoopia
Tagavara tegemiseks tuleb teha koopiad järgmistest failidest ja kasutadest:
/etc/vsftpd.conf - failist
/etc/ftpusers - failist
/var/lib/ftp - kasutast
Võimalikud varundamise vahendid on näiteks cp, tar.
Mõistik on teha ka koopia süsteemikasutaja kontodest.
Taastamisel tuleb failid/kaustad kopeerida samadesst kohtadesse tagasi, kus nad eelnevalt olid.
Viited
https://security.appspot.com/vsftpd.html
https://help.ubuntu.com/12.04/serverguide/ftp-server.html
Autor
Karel Niine V.1 Ubuntu server 10.04
Parandasid: Piia Ploovits, Kristian Kivimägi V.2 Ubuntu server 12.04 Kuupäev: 20.05.2013