good ftp server?

joecool

Platinum Member
Apr 2, 2001
2,936
2
81
i'm running win2k pro and want to setup an ftp server. i'm trying the built-in windows version (they call it iis) and it seems ok but i'm worried about security. anybody know of any security issues with this package, & if so, how to fix them? or is there a better package out there that is easy to use & secure (preferably free-ware :D)? note that my lan is behind a hardware firewall (in my smc router). one more thing, any server i use needs to have a configurable outbound port so that i can have it ask the client to connect to my external ip address rather than the internal ip address of the host on my lan (if anybody knows how to do this with iis let me know, haven't tried it yet but i assume it's in there somewhere!).

thanks, joe
 

RobCrusoe

Junior Member
May 5, 2002
9
0
0
I have to agree with Haden. WartFTP is probably the best freeware server for windows, I've used it for a few years with no problems.
If you want something simpler, give Serv-U a try.
 

joecool

Platinum Member
Apr 2, 2001
2,936
2
81
thanks for all the replies ...

fyi, looks like warftp is the good one, at least if your machine is behind a router that is doing NAT for you. in case you want to learn what i just learned, here's the deal:

when a client makes an ftp connection to a host, it is connecting to some specific address:port. the host then responds by telling the client to open a second connection on a second address:port pair. the problem with being behind a router is that the host is not at the same address as the router. you can usually configure the router to redirect the external address:port to an internal address:port, but when the host provides the second address:port pair, it is going to use it's INTERNAL address, not the external address of the router! warftp seems to be the only app that provides a way of configuring the address the host will tell the client to use for the second connection. without this there is no way i can get ftp to work!

joe
 

joecool

Platinum Member
Apr 2, 2001
2,936
2
81


<< damn auto-smileys. :confused: >>



oh, my god, i had no idea it would do that. i just about peed my pants laughing when i saw my post! how do you turn the damn things off?
 

joecool

Platinum Member
Apr 2, 2001
2,936
2
81
ARG!!!

can't get ftp to work. i can get as far as having the client logged in but when it tries to do a list it just bombs - in passive or port mode. any ideas? same problem using warftp or bulletproof. this is making me crazy!

thanks,
joe
 

Workin'

Diamond Member
Jan 10, 2000
5,309
0
0
Here's a little snippet about how the ftp connection works:

All modern FTP clients send a PORT or PASV command before every file transfer.

There is no way to accomplish a limited range of ports for the server to listen on because it is Winsock's responsibility to assign unused random ports to new listen sockets. It is not the responsibility of the FTP client program.

To clarify, when an FTP client begins a file transfer in active mode, a random port on the client connects to port 21 on the server to establish the command connection. Then the client opens a new socket on a random port in listen mode and transmits a PORT command to the server through the command connection, which specifies the client's IP address and the random port it has chosen. Then a random port on the server connects to the port that the client specified in the PORT command, and the file is transferred through this connection.

When an FTP client begins a file transfer in passive mode, it establishes the command connection in exactly the same way and sends a PASV command to the server through this connection. The server then opens a random port in listen mode and reports its IP and the port back to the client. The client connects a random port to the port that the server specified, and the file is transferred through this connection.

The problem with the whole FTP schema now that NAT routers are in such prevalent use is that there is no guarantee of which port will be used for the data connection. If the server is behind a firewall, the client's only choice is to use active mode, in which the data connection is made from the server to the client. If the client is behind a firewall, its only choice is to use passive mode, in which the data connection is made from the client to the server. If both the client and the server are behind firewalls, then there is absolutely no way for a data connection to be established, because an incoming connection on a random port cannot be accepted in either direction. This is not a mistake, per se; the firewalls are simply doing their job.

Some more advanced routers have a kind of IP translation for active mode FTP clients. The way this works is that the router monitors the commands going through an FTP command connection. When a client that is behind the firewall issues a PORT command over an FTP command connection, it of course specifies its own internal IP address because it is unaware of the router's external IP. The router stores the client's IP and port and modifies the PORT command being sent so that it shows the router's external IP and a new random port that the router opens. Then when a connection comes in from the FTP server to the router's open port, the router forwards that connection to the IP and port that it had stored for the client. This translation works very well on most routers. The only requirement is that the FTP server being used not be behind a firewall.

Unfortunately, no consumer NAT routers I know of perform this translation for FTP servers running on computers behind their firewall. They will only do it for FTP clients. The only real solution to the FTP problem right now is to have a separate external IP that your FTP server is connected to without a firewall. This will ensure that all clients can connect and transfer files in both active and passive modes. Or you can use an SSH "tunnel" to encrypt the whole transaction and run everything through the SSH port. However anonymous access is not possible this way and the client machines need to have a port redirection program installed and configured.
 

chemwiz

Senior member
Mar 8, 2000
848
1
81
As long as they don't use passive mode and you forward port 20 and whatever other port you run your router on, there shouldn't be any problems. I've used Serv-U, G6 (bulletproof), and Raiden so far with no trouble behind a Barricade 4 port router.
 

Workin'

Diamond Member
Jan 10, 2000
5,309
0
0


<< As long as they don't use passive mode >>

Kinda hard to do if they are behind a firewall, which is the problem here.
 

TSDible

Golden Member
Nov 4, 1999
1,697
0
76
I'm running GuildFTPd behind my barricade 4 port no problem. You just can't connect to it using PASV.

 

chemwiz

Senior member
Mar 8, 2000
848
1
81
Serv-u 3.x has an option to use passive mode with a specific port range, and you can have those ports (or songle port, even) forwarded to your FTP machine by the router. That's the only one I know of that will let you do that, though. It's got a free trial time, it's worth checking out.
 

dude8604

Platinum Member
Oct 3, 2001
2,680
0
0
Originally posted by: TSDible
I'm running GuildFTPd behind my barricade 4 port no problem. You just can't connect to it using PASV.

I use GuildFTPd also. I like it. It's easy to configure and set up, and it seems to work well.
 

ASK THE COMMUNITY