Pure-FTPd

From ICO wiki
Jump to navigationJump to search

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