Pure-FTPd: Difference between revisions

From ICO wiki
Jump to navigationJump to search
 
(45 intermediate revisions by the same user not shown)
Line 4: Line 4:




Pure-FTPd töötab kui privaatne failiserver, mis võimaldab mugavat failivahetust üle võrgu, samal ajal keelustades anonüümsed ligipääsud. Loojaks Frank Denis ning uusimaks versiooniks 1.0.36 (released on March 21, 2012).
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 serveri 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/).
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.
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 LDAB 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.


= Seadistused virtuaalmasinates =
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


Allolevas näites on serverina kasutusel Virtualboxi installeeritud Ubuntu server 64bit 13.04; mälu 1024 MB; dünaamiline kõvaketas; 2 võrguadapterit: NAT ja  host-only adapter. Kliendina on kasutusel Ubuntu Desktop 64bit versioon 13.04
= Virtuaalmasina seadistus =


Puppet server: Ubuntu Server 64bit versioon 12.04.3 LTS;  eth0 NAT eth1 192.168.56.200
Allolevas näites on serverina kasutusel Virtualboxi installeeritud:  
Klient: Ubuntu Desktop 64bit versioon 13.04;  eth0 NAT eth1 192.168.56.101


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 =
= Tarkvara paigaldamine =
Line 28: Line 28:
Installeeri '''pure-ftpd pakk''' repositooriumist
Installeeri '''pure-ftpd pakk''' repositooriumist
  apt-get install pure-ftpd
  apt-get install pure-ftpd
Ava enda lemmik tekstiredaktoriga fail ning kommenteeri (#märgiga) välja rida, milles sisaldub '''‘ftp’'''
 
Allolev Pure-FTPd seadistus pärineb siit: https://help.ubuntu.com/community/PureFTP
 
Ava mõne tekstiredaktoriga fail '''/etc/inetd.conf'''ning kommenteeri (# märgiga) välja rida, milles sisaldub '''‘ftp’'''


  nano  /etc/inetd.conf  
  nano  /etc/inetd.conf  
Line 35: Line 38:
ja tee sinna muudatused, asendades kirje '''STANDALONE_OR_INETD=inetd ''':  
ja tee sinna muudatused, asendades kirje '''STANDALONE_OR_INETD=inetd ''':  
   STANDALONE_OR_INETD=standalone  
   STANDALONE_OR_INETD=standalone  
Seejärel terminalis tee kasutaja ja grupi muudatused:
Seejärel teosta terminalis kasutaja ja grupi muudatused:


lisa grupp
lisa grupp
Line 41: Line 44:
ja
ja
  useradd -g ftpgroup -d /dev/null -s /etc ftpuser
  useradd -g ftpgroup -d /dev/null -s /etc ftpuser
Järgmiseks  loo ftpuser kodukataloog
Järgmiseks  loo kasutaja ftpuser kodukataloog
  mkdir /home/ftpusers
  mkdir /home/ftpusers
Seejärel loo kodukataloog  kasutajale John
Seejärel loo kodukataloog  kasutajale John
Line 56: Line 59:
  ln -s /etc/pure-ftpd/pureftpd.pdb /etc/pureftpd.pdb
  ln -s /etc/pure-ftpd/pureftpd.pdb /etc/pureftpd.pdb
  ln -s /etc/pure-ftpd/conf/PureDB /etc/pure-ftpd/auth/PureDB
  ln -s /etc/pure-ftpd/conf/PureDB /etc/pure-ftpd/auth/PureDB
Kasutades tekstiredaktorit loo fail  
Kasutades tekstiredaktorit loo järgnev fail  
  nano  /etc/pure-ftpd/conf/UnixAuthentication
  nano  /etc/pure-ftpd/conf/UnixAuthentication
mis sisaldaks ilma jutumärkideta stringi
mis sisaldaks ilma jutumärkideta stringi
Line 66: Line 69:
ja grupp oleks
ja grupp oleks
'''ftpgroup'''  
'''ftpgroup'''  
 
chown  ftpuser:ftpgroups /home/ftpusers -R


Tee PureFTPd-le muudatuste jõustumiseks restart.
Tee PureFTPd-le muudatuste jõustumiseks restart.
  /etc/init.d/pure-ftpd restart
  /etc/init.d/pure-ftpd restart


NB! Kasutaja John loomine on toodud vaid näitena, mille eeskujul on võimalik luua vajalik arv kasutajaid.
= 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:


= Kasutaja loomine ning serveriga ühendumine =
1) SSL/TLS protokolli
https://wiki.itcollege.ee/index.php/ISPConf_3_Ubuntu_serverile_13.04#PureFTPd_ja_Quota


= Veel näiteid =
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 =
= Viited =
Line 86: Line 166:
https://help.ubuntu.com/community/PureFTP
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





Latest revision as of 22:01, 8 February 2014

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