FTP
FTP
Introdution to FTP
File Transfer Protocol
Used to transfer data from one computer to another over the internet
Client-Server Architecture
Separated control/data connections
- Control connection:
- Created when an FTP session is established
- Only for Control info
- Data connection:
- Each time that data is sent, a distinct TCP data connect is established
- Control connection:
Security concern & Solutions
- Need encryption for both Control and Data connection
- S1:FTP over SSH
- A normal FTP session tunneled through a SSH channel
- S2:SSH File Transfer Protocol (SFTP)
- Both commands and data are encrypted while transmitting
- One Connection and poor performance
- S3:FTP over TLS (ftps, ftpes)
- Only commands are encrypted while transmitting
- Better performance
Pure-FTBd
Introduction
- A small, easy to set up, fast and secure FTP server
- Support chroot
- FTP over TLS
- Virtual Users, and Unix authentication
- Restrictions on clients, and system-wide
Installation
- Use port or pkg install in Freebsd
Startup
- Add
pureftpd_enable="YES"
in /etc/rc.conf
Configurations
- File:
/usr/local/etc/pure-ftpd.conf
Tools and Commands
pure-*
pure-ftpwho
- List info of users who are currently connecting to the FTP server.
pure-pw
- Manage Virtual Users in PureDB format
Real Implimented Products
- FileZilla
- A graphical cross-platform FTP client
- Support TLS
- Pure-FTPd WebUI
- PHP based web interface for Pure-FTPd