Pure-FTPd
Tutvustus
Käesolev artikkel Pure-FTPd serveri paigaldamisest on lühikokkuvõte, mis on loodud õppeaine Linuxi administreerimine raames.
Pure-FTPd võimaldab mugavat failivahetust nii anonymos kui ainult autoriseeritud kasutajate jaoks loodud serverina. Loojaks Frank Denis ning uusimaks versiooniks 1.0.36 (released on March 21, 2012).
Omades serveris kasutajat ja parooli on võimalik kliendil faile serveris nii üles- kui allalaadida. Pure-FTPd eeliseks on, et faile ei pea vahepeal teise serverisse üles panema. Sama lähtekoodi kompileerivad: Linux, OpenBSD, NetBSD, DragonflyBSD FreeBSD, Solaris, Tru64, Darwin, Irix, HPUX, AIX and iPhone. Binaarpakid on saadaval enamus vaba operatsioonisüsteemidele: Novell, Mandriva, Debian, Ubuntu, PLD Linux, Stampede Linux, Slackware Linux (Slimslack), Multilinux, Sorcerer Linux, Fli4L (the one-disk router),ROOT Linux, Gentoo Linux. PureFTPd on saadaval ka BSD süsteemidele: FreeBSD (/usr/ports/ftp/pure-ftpd/), OpenBSD (/usr/ports/net/pure-ftpd/), DragonflyBSD and NetBSD (/usr/pkgsrc/net/pureftpd/). http://www.pureftpd.org/project/pure-ftpd
Pure-FTPd paigaldamine on imelihtne isegi algajale kuna serveri paigaldamisel puudub vajadus töödelda pikki ja keerulisi konfiguratsioonifaile. Seadistamise hõlbustamiseks on serveri teated tõlgitud mitmesse erinevasse keelde. Võimalik on piirata samaaegsete kasutajate arvu ja ribalaiust ning kohaldatava üleslaadimispiirangu tõttu, ära hoida ketta täitumist.
Serveris on võimalik jälgida kõiki kasutajate seansse ja tegevusi. FTP kontod hoitakse nn kontode andmebaasis ning lubatud on luua rohkem kui 1,5 miljonit kontot samas serveris. Täielikult toetatud on LDAP autentimine ja olemas on Plaintext, Crypt, MD5, SMD5, SHA and SSHA crypto hash funktsioonid. Kasutajate jaoks on võimalik seadistada ajavahemik serveriga ühendumiseks (nt tööaeg). Pure-FTPd võimaldab syslogi abil töödelda nii logifaile kui koguda FTP statistika tarkvarade FTPStats ja ModLogAn abil kasutajate statistikat. Pure-FTPd toetab nii Ipv4 kui Ipv6 protokolle. Failide migratsioon teisest FTP serverist on lihtne ja läbipaistev mistõttu puudub oht failide kaoks või kahjustumiseks. http://www.pureftpd.org/project/pure-ftpd
Virtuaalmasina seadistus
Allolevas näites on serverina kasutusel Virtualboxi installeeritud:
Puppet server: Ubuntu Server 64bit versioon 12.04.3 LTS; 2 võrguadapterit: eth0 NAT, eth1 192.168.56.200; mälu 1024MB; dünaamiline kõvaketas;
Klient: Kliendina serveriga ühendumiseks oli kasutusel ncftp rakendus.
Tarkvara paigaldamine
NB! Kõik käsud on sisestaud sudo õigustes.
Enne installeerimist uuenda tarkvararepositooriumit.
apt-get update
Installeeri pure-ftpd pakk repositooriumist
apt-get install pure-ftpd
Allolev Pure-FTPd seadistus pärineb siit: https://help.ubuntu.com/community/PureFTP
Ava mõne tekstiredaktoriga fail /etc/inetd.confning kommenteeri (# märgiga) välja rida, milles sisaldub ‘ftp’
nano /etc/inetd.conf
Ava fail
nano /etc/default/pure-ftpd-common
ja tee sinna muudatused, asendades kirje STANDALONE_OR_INETD=inetd :
STANDALONE_OR_INETD=standalone
Seejärel teosta terminalis kasutaja ja grupi muudatused:
lisa grupp
groupadd ftpgroup
ja
useradd -g ftpgroup -d /dev/null -s /etc ftpuser
Järgmiseks loo kasutaja ftpuser kodukataloog
mkdir /home/ftpusers
Seejärel loo kodukataloog kasutajale John
mkdir /home/ftpusers/john
Ülal oleval viisil on võimalik luua igale ftp kasutajale oma kodukataloog.
Lisa kasutaja John
pure-pw useradd john -u ftpuser -d /home/ftpusers/john
Loo kasutaja andmebaas
pure-pw mkdb
Järgmisena loo symbolic link’i vastavatele failidele
ln -s /etc/pure-ftpd/pureftpd.passwd /etc/pureftpd.passwd ln -s /etc/pure-ftpd/pureftpd.pdb /etc/pureftpd.pdb ln -s /etc/pure-ftpd/conf/PureDB /etc/pure-ftpd/auth/PureDB
Kasutades tekstiredaktorit loo järgnev fail
nano /etc/pure-ftpd/conf/UnixAuthentication
mis sisaldaks ilma jutumärkideta stringi
no
Muuda /home/ftpusers directory ja kõikide alamkataloogide ligipääsuõigused nii, et omanik oleks ftpuser ja grupp oleks ftpgroup
chown ftpuser:ftpgroups /home/ftpusers -R
Tee PureFTPd-le muudatuste jõustumiseks restart.
/etc/init.d/pure-ftpd restart
Turvalisus
Arvestades, et tavalised FTP ühendused ei ole turvalised kuna kogu info, kaasa arvatud paroolid, liiguvad võrgus krüpteerimata kujul, oleks soovitav privaatserveri kasutajatel määrata piirangud, vähendamaks võimalikke, soovimatuid ligipääse ja ründeid. Selleks on soovitav kasutada ühte krüpteeritud protokollidest:
1) SSL/TLS protokolli https://wiki.itcollege.ee/index.php/ISPConf_3_Ubuntu_serverile_13.04#PureFTPd_ja_Quota
2) FTPS või FTPES laiendatud protokolle
Kõige turvalisem oleks aga FTP kasutamise korral lubada FTP kontole ligipääs ainult varem kindlaks määratud IP aadressidel. Samuti on võimalik määrata konkreetsed geograafilised piirkonnad, kus FTP ühenduse algatamine on lubatud. https://www.zone.ee/blogi/2009/11/25/turvalisem-ftp/
Kasutajad
Pure-FTPd serveris on kasutajad virtuaalkasutajad mis tähendab, et kasutajate andmeid hoitakse andmebaasis ning ei looda lokaalseid kasutajaid.
Kasutajaid on kahte tüüpi:
ftpuser ehk administraator, kes saab faile üles- ja alla laadida ning luua, kustutada ja muuta foldereid ja faile. ftpclient ehk klient, kes saab ainult alla laadida. http://download.pureftpd.org/pub/pure-ftpd/doc/README
Virtuaalseid kasutajaid hoitakse failis
/etc/pureftpd.passwd
ning infot kasutaja kohta saab vaadata
pure-pw show john
väljundiks saame
Login : john Password : $1$W9zDHub0$L9U07Oij8QTBOF8BIYLCt0 UID : 1002 (ftpuser) GID : 1002 (ftpgroup) Directory : /home/ftpusers/john/./ Full name : Download bandwidth : 0 Kb (unlimited) Upload bandwidth : 0 Kb (unlimited) Max files : 0 (unlimited) Max size : 0 Mb (unlimited) Ratio : 0:0 (unlimited:unlimited) Allowed local IPs : Denied local IPs : Allowed client IPs : Denied client IPs : Time restrictions : 0000-0000 (unlimited) Max sim sessions : 0 (unlimited)
http://download.pureftpd.org/pub/pure-ftpd/doc/README.Virtual-Users
Serveriga ühendumine
Serveriga ühendumine
ncftp -u john 192.168.56.200
Alljärgneva tulemuse saamisel tuleb sisestada password ning ühendus on loodud.
NcFTP 3.2.5 (Feb 02, 2011) by Mike Gleason (http://www.NcFTP.com/contact/). Connecting to 192.168.56.200... --------- Welcome to Pure-FTPd [privsep] [TLS] ---------- You are user number 1 of 50 allowed. Local time is now 17:59. Server port: 21. This is a private system - No anonymous login IPv6 connections are also welcome on this server. You will be disconnected after 15 minutes of inactivity. Logging in... Password requested by 192.168.56.200 for user "john". User john OK. Password required Password:
http://www.ncftp.com/ncftp/doc/ncftp.html
Failide allalaadimine
Prooviks on tekitatud serveris fail
touch testfail
Faili alla laadimiseks Johni kontol sisestati
put testfail
ning sellega oli fail allalaetud
Käesolevas töös on kasutatud failide üles- ja allalaadimisel testkliendina ncftp klienti. Kes soovib selles osas infot juurde lugeda, on võimalik teha seda siit: http://www.ncftp.com/ncftp/doc/ncftp.html
Kokkuvõte
Ülalolevaga konfigureerisime Pure-FTPd privaatse failiserverina, milles anonüümsed kasutajad ei oma ligipääsu. Allikana kasutatavate juhendite abil oli paigaldamine tõepoolest lihtne. Palju oli abiks PureFTPd dokumentatsioon, milles on põhjalikult lahti seletatud PureFTPd kasutamiseks vajalikud käsud, sealhulgas kasutajate ja failidega seonduv, samuti paigaldus. Kuigi puudub varasem kogemus PureFTP-ga, tekkis selle seadistamise järgi tõsine huvi see failide jagamiseks ka reaalselt kasutusele võtta.
Viited
http://www.pureftpd.org/project/pure-ftpd
https://help.ubuntu.com/community/PureFTP
http://www.ncftp.com/ncftp/doc/ncftp.html
http://download.pureftpd.org/pub/pure-ftpd/doc/README.Virtual-Users
http://download.pureftpd.org/pub/pure-ftpd/doc/README
Autor: Maris Kuusik AK31 07.01.2014