FTP szerver Linuxon Készítette: Sallai András Terjesztés csak engedéllyel sallaia_kukac_freemail_pont_hu
Tartalom FTP protokoll Pure-FTPd Telepítés Debian GNU/Linux Sarge rendszeren Virtuális felhasználók beállítása Csomagszűrő tűzfal beállítása SSL/TLS használatának beállítása Anonymous FTP beállítása
FTP protokoll File Transfer Protocol Fájl Átviteli Protokoll RFC 959 http://www.faqs.org/rfcs/rfc959.html TCP/IP hálózat alkalmazói protokollja 21 port
FTP módok Aktív Két TCP kapcsolat nyit 21 és 20 port Passzív Egy TCP kapcsolatot nyit 21 port
Linuxos FTP szerverek Pure-FTPd Pro-FTPd TwoFTPd Wu-FTPd VS-FTPd Wzd-FTPd FTPd
Pure-FTPd http://www.pureftpd.org Szabad (BSD licenc) Biztonságos biztonságos átvitelt lehetővé teszi szeparált jogokkal, paranoid módban futtatható, chroot, virtuális felhasználók Színvonalas, könnyen kezelhető
Támogatott rendszerek Linux OpenBSD Novell, Mandriva, Debian, Ubuntu, PLD NetBSD Linux, Stampede Linux, DragonflyBSD, FreeBSD Slackware Linux Solaris Tru64 (Slimslack), Multilinux, Sorcerer Linux, Fli4L (the one-disk router), ROOT Darwin Linux, Gentoo Linux Irix más szabad rendsz. HPUX.
Támogatott nyelvek English, German, Romanian, French, Polish, Spanish, Danish, Dutch, Italian, Brazilian Portuguese, Slovak, Korean, Swedish, Norwegian, Russian, Traditional Chinese, Simplified Chinese, Czech, Turkish, Magyar és Catalan 23 nyelv UTF-8 támogatás
További jellemzők Rugalmas Linux felhasználók, PAM támogatás Indexelt adatbázis -> gyors név-jelszó ell. Teljes LDAP azonosítás: Plaintext, Crypt, MD5, SMD5, SHA és SSHA Felhasználók MySQL-ben tárolása Több azonosítási mód egyidejű támogatása Külső azonosítómodul támogatása Virtuális kvóta
További jellemzők 2 Teljes kompatibilitás más szerverekkel és a kliensekkel IPv6 támogatás EPSV/EPRT IPv6 protokoll kiterjesztések támogatása Passzív mód
Debian GNU/Linux apt-get install pure-ftpd Felkerül még a pure-ftpd-common dpkg-reconfigure pure-ftpd-common inetd standalone Újra beállíthatjuk milyen módon fusson a szerverünk (démon vagy szuperdémon)
Telepítés után: Pure-FTPd konfig /etc/pure-ftpd/ auth/ conf/ db/ Ezek könyvtárak Minden könyvtár egy vagy több egysoros fájlt tartalmaz
A conf könyvtár tartalma ls /etc/pure-ftpd/conf AltLog MinUID NoAnonymous PAMAuthentication PureDB
Egy soros fájlok cat AltLog clf:/var/log/pure-ftpd/transfer.log cat MinUID 1000 cat NoAnonymous yes cat PAMAuthentication yes cat PureDB /etc/pure-ftpd/pureftpd.pdb
Az auth könyvtár tartalma Szimbolikus linkek a conf könyvtárba A 65unix nem mutat sehova 65unix 70Pam
Egyéb telepítés utáni könyvtár és fájl Üres könyvtár: /etc/pure-ftpd/db Pl. MySQL azonosításnál használjuk /etc/pure-ftpd/pureftpd-dir-aliases Ha könyvtár álneveket szeretnénk
Alapbeállítás - PAM cat /etc/pure-ftpd/conf/pamauthentication yes ls /etc/pure-ftpd/auth/70pam
Azonosítás beállítása - Virtuális felhasználók echo /etc/pure-ftpd/pureftpd.pdb > /etc/pure-ftpd/conf/puredb ln -s /etc/pure-ftpd/conf/puredb /etc/pure-ftpd/auth/60puredb /etc/init.d/pure-ftpd restart
Azonosítás sorrendje Vegyük észre: /etc/pure-ftpd/auth @60PureDB @70PAM A számok meghatározzák az azonosítás melyik adatbázisból milyen sorrendbe történjen
Ftp felhasználó, csoport groupadd ftpgroup useradd ftpuser -g ftpgroup -d /dev/null A virtuális felhasználók ftpuser és ftgroup jogaival fognak hozzáférni az adott könyvtárhoz
Virtuális felhasználó Felhasználó felvétele pure-pw useradd jozsi -u ftpuser -g ftpgroup -d /home/virtual-ftp/jozsi -m Az -m kapcsoló létrehozza/frissíti a virtuális felhasználók adatbázisát
Virtuális felhasználók adatbázisa /etc/pure-ftpd/pureftpd.passwd Olvasható formában, de nem ezt használja az ftp szerver /etc/pure-ftpd/pureftpd.pdb A valódi adatbázis Ide csak a -m kapcsolóval kerül a felhasználó vagy a köv. paranccsal: pure-pw mkdb
Felhasználó könyvtára mkdir -p /home/virtual-ftp/jozsi chown ftpuser.ftpgroup jozsi A jozsi nevű felhasználóval teszteljük a hozzáférést: ftp localhost
Felhasználó kezelés röviden pure-pw userdel jozsi -m felhasználó törlése pure-pw passwd jozsi -m jelszó változtatása pure-pw usermod jozsi -m felhasználó jellemzőinek változtatása, milyen könyvtárhoz fér hozzá, stb.
iptables modprobe ip_conntrack_ftp! Nem töltödik be magától! /etc/modules-be vegyük fel!
Aktív mód iptables -A INPUT -p TCP sport 20 -m state --state ESTABLISHED, RELATED -j ACCEPT iptables -A OUTPUT -p tcp dport 20 -m state --state ESTABLISHED -j ACCEPT
Passzív mód iptables -A INPUT -p TCP sport 1024: --dport 1024: -m state --state ESTABLISHED -j ACCEPT iptables -A INPUT -p TCP sport 1024: --dport 1024: -m state --state ESTABLISHED,RELATED -j ACCEPT
SSL/TLS beállítása Tanusítvány létrehozása SSL/TLS engedélyezése Milyen kliens képes kapcsolódni
SSL tanusítvány 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
SSL/TLS engedélyezése echo 1 > /etc/pure-ftpd/conf/tls SSL/TLS és normál azonosítás engedélyezése echo 2 > /etc/pure-ftpd/conf/tls csak SSL/TLS engedélyezése echo 0 > /etc/pure-ftpd/conf/tls SSL/TLS tiltása
Használható kliensek /usr/share/doc/pure-ftpd/readme.tls.gz FileZilla Verzió: >= v2.2.19a http://filezilla.sf.net Beállítás: "FTP over TLS (explicit encryption)" LFTP apt-get install lftp (Etchben működik csak az ssl)
Anonymous FTP groupadd ftp useradd -s /bin/false -d /home/ftp -m -c "anonymous ftp" -g ftp ftp mcedit /etc/pure-ftpd/conf/noanonymous no /etc/init.d/pure-ftpd restart
Anonymous FTP 2 mkdir -p /home/ftp/incoming chown ftp.nogroup /home/ftp/incoming chmod 311 /home/ftp/incoming chmod 555 /home/ftp
Ami kimaradt MySQL-ben tárolt felhasználók Telepítés forrásból
Irodalom http://www.faqs.org/rfcs/rfc959.html http://www.pureftpd.org man pure-pw http://www.kalamazoolinux.org/presentations/20 010417/conntrack.html http://www.howtoforge.com/pureftpd_mysql_virt ual_hosting_p3