Configuring and Using an FTP Proxy
Now we return to ftp-proxy.conf (Listing 1) and one of ftp-proxy's most important features: ValidCommands. This is a comma-delimited list of FTP commands the proxy will allow. The list may span multiple lines if you end each line (except for the last) with a backslash (\). In the ValidCommands statement at the bottom of Listing 1, ftp-proxy has been configured to allow FTP directory navigation commands (PWD, CWD, CDUP) and FTP read commands (LIST, NLST, RETR), plus some additional administrative commands such as MODE, PORT and PASV.
Space does not permit me to explain all of these in depth, other than to say that these aren't end-user FTP client commands; they're FTP protocol commands as specified in RFC 959 (see ftp.isi.edu/in-notes/rfc959.txt). These are the commands that FTP client and server applications use with each other. See Table 1 for a summary.
One limitation of ftp-proxy is that it isn't possible to set different command restrictions for external users than for internal users. Be careful, therefore, with ValidCommands. If your internal users need to send files to FTP servers, you won't be able to restrict the STOR or STOU commands (i.e., you'll need to include them in ValidCommands), which means you'll need to make sure your read-only public FTP server is itself configured to disregard them.
That isn't such a bad thing. Regardless of how ftp-proxy is configured, you still need to configure your FTP servers to protect themselves as much as possible.
An FTP proxy adds an important layer of security between the bad guys and your public FTP servers. I've shown you the basics of setting up a transparent FTP proxy using SuSE's proxy-suite, but it supports many other worthwhile features we haven't covered here. See the Resources section for pointers to additional information. Good luck!
Mick Bauer (email@example.com) is a network security consultant for Upstream Solutions, Inc., based in Minneapolis, Minnesota. He is the author of the upcoming O'Reilly book Building Secure Servers with Linux, composer of the “Network Engineering Polka” and a proud parent (of children).
- Readers' Choice Awards 2013
- Mars Needs Women
- RSS Feeds
- Sublime Text: One Editor to Rule Them All?
- December 2013 Issue of Linux Journal: Readers' Choice
- New Products
- IBM Will Minimize Impact of Future Disasters
- Raspberry Pi: the Perfect Home Server
- Advanced Hard Drive Caching Techniques
- Tech Tip: Really Simple HTTP Server with Python
- why is GNOME 3 in the fifth position at 14.1 %?
2 hours 13 min ago
- Sublime Is Brilliant!
7 hours 16 min ago
7 hours 35 min ago
- Rapid[Disk,Cache] better than native ram caching?
8 hours 27 sec ago
- Nothing is perfect
8 hours 13 min ago
- Mixtapes Community
13 hours 52 min ago
- KDE is one true DE
14 hours 27 min ago
- Command Line Shells (Bash, Zsh, etc.) are 2nd place
14 hours 55 min ago
16 hours 50 min ago
- yes it's Jupiter Broadcasting
18 hours 9 min ago