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
●
NetBSD
●
DragonflyBSD, FreeBSD
●
Solaris
●
Tru64
●
Darwin
●
Irix
●
HPUX.
●
Novell, Mandriva, Debian, Ubuntu, PLD Linux, Stampede Linux, Slackware Linux (Slimslack), Multilinux, Sorcerer Linux, Fli4L (the one-disk router), ROOT Linux, Gentoo Linux más szabad rendsz.
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 ●
Üres könyvtár:
fájl
/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