FileZilla FTP Server
FileZilla Server is a simple and efficient file transfer protocol (FTP) server program for use in most versions of Windows (NT and above). It also supports compression, encryption, restricted user settings, and speed limits. Hardware requirements are very low, requiring only a Pentium-level machine, and taking up only 3.4 megs of system memory (the interface requires 6 megs).
Why use an FTP server?
FTP Servers allow for remote file management, resumed downloads, and often higher speeds than other protocols. Improving over regular Windows sharing, large numbers of files transferring do not cease when only one file will not copy (good for data backups). FTP servers are enormously flexible and can be configured for remote file access, workgroups, and anonymous file distribution.
Accessing almost any FTP server is extremely easy, as almost every computer built after around 1995 has an FTP client that can connect to it.
Why use FileZilla's Server?
FileZilla Server improves over other file servers in its security features and low ($0) price tag. Donations are welcome but not required. Also, the software's internals are available to anyone and are licensed with the same open source license used by Linux (GPL).
Features
- Easy to use - similar to bulletproof FTP
- Speed limits - prevents saturation of bandwidth
- Compression - increase the speed of transfers via MODE Z on-the-fly compression
- Encryption - keep important data confidential using the same technologies your web browser uses. This is known as FTP over SSL/TLS or FTPS.
Recommendations
Note of Caution: Running a remote access server can invite outside interference. It is recommended that users research this operation and understand the problems that can occur when you run any computer server that is accessible from the Internet. Users not familiar with this process should restrict the server to only local connections.
Restricting your server to only local access
- From the menu, select "Server" -- "settings".
- Under "General settings", select "IP filter"
- In the first box, type an asterisk "*" (no quotes)
- In the second box, type your local address. This should be "192.168.1.*" (no quotes) but different routers will use different numbers, usually "192.168.0.*" or "192.168.2.*".
Making your server remote-accessible
To connect to your home computer, you must enable an intermediary service. Most DSL or cable customers are protected from the outside world by various barriers. Talk to your provider about a static IP or look into services such as http://www.dyndns.org and http://www.no-ip.com (or other providers). Use a guide like this to help with setting up your DSL/Cable router.
Restricting Administrative Access
Under the "Edit menu" select "Settings" -- "admin interface settings," and look at the box labeled "select IP addresses which are allowed to interface."
Here, enter your local IP address, which will probably be "192.168.1.*" (do not include the quotes). Some routers use "192.168.0.*" or "192.168.2.*". Check your router documentation or open a Command Prompt window and type "IPCONFIG." The asterisk is a wildcard that means only local addresses can connect.
Alternately (or additionally for increased security), you may also add a password. In the same window, check the "Change admin password" box and enter and read type your password. For security, it should be as long as possible, but is required to be above 6 characters.
Speed limits
Download and upload speed limits are important to prevent your server from overloading your Internet or network connection. Under the options menu, under speed limits, enter a constant speed limit that is below your maximum speed. Individual users may be set to bypass the setting, which is useful for local connections on the same router, described below. Additionally, under file transfer compression, check the exclude private IP address ranges box, and enter the same 192.168.1.* in the box below it.
Setting up encryption
Under SSL/TLS settings, check "Enable SSL/TSS support" box and click the "Generate new certificate" box at the bottom of the page. The computer will ask where to place a certificate, and then generate one. It is recommended to click the box next to "allow explicit SSL/TLS on normal connections." This will allow the flexibility to have some users use encryption for secure transfers, while others may avoid using the extra processor speed and lower transfer rates.
Setting up users
User settings are fairly intuitive but here are some loose suggestions:
Local Use - in order to keep connection speed between your server and local computers, it is important to turn off all compression, encryption, and speed limits.
Remote Use - to best protect your data, encryption and compression should be used together. To increase transfer speed, simply use compression.
Untrusted Users - you may restrict access to specific folders, write permissions, the capability to delete data, and much more. You may also require users to use encryption to prevent eavesdropping.
Groups of users - if you are enabling your server for a large number of people, it helps to create a user group of default settings. Usually, you should include a restriction on the total number of users, and on the speed limit of individual connections to prevent bottlenecking.