User Tools

Site Tools


virtualni_ftp_korisnici_ssl

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

virtualni_ftp_korisnici_ssl [2017/04/28 10:25] (current)
Line 1: Line 1:
 +\\
 +====== Opste Informacije ======
  
 +Koriscenje FTP servera je veoma popularno za razmenu fajlove putem Interneta. Ali, FTP protokol nije toliko bezbedan koliko to neki misle. Podrazumevano,​ svaki FTP korisnik ima sistemski shell nalog i kada se povezuje na FTP server, sva korisnicka imena i lozinke se salju u formi nezasticenog teksta. To znaci da neko ko prisluskuje vase pakete moze dobiti pristup ka vasem FTP nalogu. Ovo uputstvo je namenjeno da pruzi resenje za oba problema. Pure-ftpd sa puredb vam omogucava da imate kontrolisane FTP-only naloge i mogucnost da koristite SSL. 
 +
 +====== Potrebno ======
 +
 +  -Lokalni root pristup kompjuteru ili mogucnost koriscenja su komande da se postane root.
 +  -SSH klijent koji podrzava ANSI colors kao npr. puTTy ili SecureCRT (ako se povezujete udaljeno).
 +  -Vas omiljeni uredjivac teksta (ja koristim nano).
 +  -OpenSSL
 +
 +====== Instalacija ======
 +
 +Da bi ste imali virtuelne korisnicke naloge, potrebna nam je nekakva baza. Mozete kompajlirati pure-ftpd da radi sa MySQL, ali mi cemo koristiti puredb zato sto je specificno napisan da se koristi sa pure-ftpd.
 +
 +  # cd /​usr/​ports/​databases/​puredb
 +  # make install distclean
 +  # cd /​usr/​ports/​ftp/​pure-ftpd
 +  # make install distclean ​
 +
 +====== Konfiguracija ======
 +
 +Prvo, trebamo da promenimo ime konfiguracionog fajla i napravimo unos u rc.conf da bi pokrenuli daemon.
 +
 +  # cd /​usr/​local/​etc
 +  # mv pure-ftpd.conf.sample pure-ftpd.conf
 +  # echo '​pureftpd_enable="​YES"'​ >> /​etc/​rc.conf
 +
 +Zbog toga sto autorizujemo virtualne korisnike, trebamo promeniti samo par linija u konfiguracionom fajlu. Naravno, konfiguracioni fajl daje dosta opcija koje mozete prilagoditi vasem sistemu. Ispod se nalazi nekoliko neophodnih stvari i predloga za koriscenje sa ovim uputstvom. Postarajte se da imate sledece linije:
 +
 +  # nano -w pure-ftpd.conf
 +  ​
 +  ChrootEveryone ​             yes
 +  ​
 +  PureDB ​                     /​usr/​local/​etc/​pureftpd.pdb
 +  ​
 +  Umask                       ​177:​077
 +  ​
 +  AllowUserFXP ​               no
 +  ​
 +  CreateHomeDir ​              yes
 +  ​
 +  TLS                         ​1 ​
 +
 +Sada je vreme da se generise samo-potpisani SSL Sertifikat za koriscenej sa pure-ftpd. Mozete koristiti i potpisani ako zelite, ali njegovo ime treba da bude pure-ftpd.pem
 +
 +  # mkdir -p /​etc/​ssl/​private
 +  # openssl req -x509 -nodes -newkey rsa:1024 -keyout /​etc/​ssl/​private/​pure-ftpd.pem \
 +  # -out /​etc/​ssl/​private/​pure-ftpd.pem
 +  # chmod 600 /​etc/​ssl/​private/​*.pem
 +
 +Pure-ftpd ce se startovati sa podizanjem sistema, ali uvek mozete izdati komandu:
 +
 +  # /​usr/​local/​etc/​rc.d/​pure-ftpd.sh start
 +
 +====== Upravljanje Korisnicima ======
 +
 +Sada kada je pure-ftpd podignut i radi, vreme je da kreiramo i podesimo nase korisnike. Informacije o virtualnim korisnicima se kreiraju i modifikuju sa pure-pw i informacije se autorizuju sa **/​usr/​local/​etc/​pureftpd.passwd** i puredb u **/​usr/​local/​etc/​pureftpd.pdb**. Posto virtualni korisnici zapravo i ne postoje, moramo da kreiramo pravog korisnika i grupu za read/write pristup fajlsistemu. Mozete cak koristiti i postojeceg korisnika/​grupu,​ ali da bi kompletno izolovali ftp korisnike, kreiracemo nove.
 +
 +  # pw groupadd ftpgroup
 +  # pw useradd ftpusers -c "​Virtual FTP Users" -g ftpgroup -d /dev/null -s /​sbin/​nologin
 +  # mkdir /​usr/​home/​ftpusers
 +
 +Ako planirate da podignete anonymous ftp, onda morate da kreirate sistemski ftp nalog i njegov home direktorijum kao u nastavku i svi recursive direktorijumi trebaju biti u vlasnistvu ftp, a ne ftpusers. Ovo znaci da se anonymous ftp nemoze uredjivati kao virtualni nalog.
 +
 +  # pw useradd ftp -c "​Anonymous FTP" -d /​usr/​home/​ftpusers/​ftp -s /​sbin/​nologin
 +  # mkdir /​usr/​home/​ftpusers/​ftp
 +  # mkdir /​usr/​home/​ftpusers/​ftp/​incoming
 +  # mkdir /​usr/​home/​ftpusers/​ftp/​pub
 +  # chown ftpusers:​ftpgroup /​usr/​home/​ftpusers/​ftp
 +  # chown ftp:​ftpgroup /​usr/​home/​ftpusers/​ftp/​*
 +  # chmod 0755 /​usr/​home/​ftpusers/​ftp/​incoming
 +  # chmod 0555 /​usr/​home/​ftpusers/​ftp/​pub
 +
 +Primetite da imamo sistemskog korisnika/​grupu,​ mozemo dodati nase virtualne korisnike da budu u istu korisnicku grupu. Ovo postaje bezbednosni problem samo ako ne chroot-ujete svakog da ostanu u njihovim home direktorijumima. Da jednostavno kreirate korisnika koji ima podrazumevani throttling:
 +
 +  # pure-pw useradd bob -u ftpusers -d /​usr/​home/​ftpusers/​bob -m
 +  Password:
 +  Enter it again: ​
 +
 +Korisnik, **bob**, je kreiran sa UID-om **ftpusers** i home direktorijumom **/​usr/​home/​ftpusers/​bob** i ova informacija je preneta do **/​usr/​local/​etc/​pureftpd.pdb** sa **-m** opcijom. Ako zelite da bob ima pristup celom sistemskom direktorijumu,​ koristite **-D** opciju umesto **-d**. Ako ikada dobijete gresku u kojoj se kaze da korisnik nije pronadjen, to mozete ispraviti tako sto cete kreirati bazu podataka sa
 +
 +  # pure-pw mkdb
 +
 +A sta ako imate sistemskog korisnika kojem se treba omoguciti pristup FTP? Postoje dva nacina da se ovo uradi. Mozete urediti **/​usr/​local/​etc/​pure-ftpd.conf** da sadrzi **UnixAuthentication**,​ ali preporucen nacin je da dodate vas postojeci sistemske korisnicke naloge u pureftpd.passwd. Ovo se preporucuje zbog toga sto se njihov ftp pristup tada moze kontrolisati ili upravljati.
 +
 +  # pure-pwconvert >> /​usr/​local/​etc/​pureftpd.passwd
 +
 +Modifikovanje korisnickih informacija koristi iste opcije za dodavanje korisnika, ali cete umesto toga koristiti usermod. Promenimo sada bob-ove parametre tako da moze da sacuva samo 10 fajlova i da upload-uje na 20kbps.
 +
 +  # pure-pw usermod bob -n 10 -T 20 -m
 +
 +Da vidite podesene parametre za bob, mozemo izdati:
 +
 +  # pure-pw show bob
 +  ​
 +  Login              : bob
 +  Password ​          : $2a$07$2GsgzvrRTdAT9ld3bi.rPuIT1bfnfzJx1tqAn49uwHRPn3vfOEhUW
 +  UID                : 1003 (ftpusers)
 +  GID                : 1003 (ftpgroup)
 +  Directory ​         : /​home/​ftpusers/​bob/​./​
 +  Full name          : 
 +  Download bandwidth : 0 Kb (unlimited)
 +  Upload ​  ​bandwidth : 20 Kb (enabled)
 +  Max files          : 10 (enabled)
 +  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) ​
 +
 +Brisanje korisnika je isto tako jednostavno.
 +
 +  # pure-pw userdel bob -m
 +
 +Nakon modifikovanja parametara korisnika, ponovno startovanje pure-ftpd nije neophodno. Samo napravite promene i one ce se odmah primeniti. Za vise informacija,​ pogledajte man stranice ili pronadjite kako se koristi tako sto necete odrediti nikakve parametre:
 +
 +  # pure-pw
 +
 +Sada ste spremni. Isprobajte ovo koristeci regularni FTP i nakon toga FTP preko SSL.
 +
 +\\
 +
 +Izvor: http://​www.bsdguides.org/​guides/​freebsd/​networking/​pure-ftpd_virtual_users.php ​
virtualni_ftp_korisnici_ssl.txt ยท Last modified: 2017/04/28 10:25 (external edit)