On Mon, 28 Aug 2000 21:47:07 +0700, Oskar Sandberg writes:
> In fact, a setup class that generates the .freenetrc might
> not be such a bad idea - maybe I'll write on tomorrow.
FWIW, I like the aesthetics of the general idea. Have a program
generate a good 'default' config file, then allow for hand
editing by those who want it. Since the server code is going to
read .freenetrc, it makes sense that the same general code base
is used to generate a suggested .freenetrc.
As for switching ports, I have three concerns...
1. How do we generate a reliable list of which ports to avoid?
Wether we automatically generate the port number, or advise users
to "pick a port number", this issue will need to be addressed.
1a. What cross-platform technique will generate a good list of
ports that are already in use? Of ports that might be in use
later, even if they are not in use now? "Ask your local
sysadmin" is what I usually see in instructions. I suspect that
this is not what Oskar has in mind. :-)
1b. Trying to use certain ports can attract attention, even if
those ports are not in use. Two examples:
1b1. At my weekday job, I found out that our firewall
blocked ports above a certain number only when I tried to install
ZKS Freedom, which used a number that was higher. My attempt to
use the higher port number was detected & showed up on the
security logs as a potential problem. AFAIK, there was no way for
Joe Average User to know in advance which ports were blocked.
1b2. A while back there was a discussion on Slashdot about
port scanning. In it, one sysadmin commented that he investigates
any attempt to use the port '37337', just because at one time that
was a popular port in certain circles.
2. If this is implemented, we need to insure that people have
an easy way to find the right address and current port number
of nodes they wish to contact. If someone says "you can start
your Freenet node by connecting to my node at f00bar.net",
they may not include current information about the port being
used. I don't want to encourage port scanning. That would
*definately* curry the attention and ire of many a sysadmin. OTOH,
some sort of registry like inform.php has its own problems. Hmm.
I guess people will just have to get in the habit of specifying a
current port whenever they give a contact point to someone. The
clients could have a nice error message saying "did you get the
right port?" when connection attempts fail, along with a warning
about the hazards of finding it via repeated trial and error.
3. Will randomizing port usage fix what it is supposed to fix?
The purpose for switching the port used is to make it harder
for someone trying to shut down nodes to even find the nodes,
yes? Is there some other reason?
Last I heard, we are nowhere near the ability to run nodes
undetected. The protections were in the form of being able to
say that there was no proof that a particular node operator
accessed an 'illegal' file, which seems to be in the same
spirit of the Napster defense -- their service was for legit
stuff, and the 'illegal' stuff was the fault of those awful
users. Yes, yes, I am fully aware that Freenet is *not* the
same as Napster, but in this case the point is still valid. If
you can't hide the node, then your best defense is that the node
is for approved uses. It doesn't look good if you make clumsy
attempts to hide the existence of your node, then claim after
you're caught that the node was only for good bits instead of
bad bits.
In this context, it may be better to be very open about running
Freenet nodes, and emphasize the legal uses of it. "Those
Freenet nodes are great! Now I can get movie previews and web
pages from slow servers in a tenth the time that it takes on
the regular web. Freenet is faster, inherently more efficient,
and far more secure in terms of both authentication and
privacy. Every college and business should run these, to speed
up response time, lower bandwidth charges, and protect
themselves from corporate espionage and lawsuits!" Yes, I'm
aware that 0.3 is not quite ready for all that, and indeed there
are some who regard such a sales pitch as an anathema to What
Freenet Is All About. Suit yourself, but if you are only
interested in the up-the-authority aspect of Freenet, just think
of the "legit" traffic as steganographic chaff. :-)
I'm all in favor of using random ports, because it's a step
towards true "dissident mode" stego nodes. All the same, I
don't want this port-switching thing to backfilre in the short
run. Come to think of it, maybe the best compromise is to go
ahead and intall port switching, and document that this does not
mean that nodes are expected to be hidden. Having standard
Freenet use random ports by default will be helpful to future
stego nodes, so I *do* want to see it. Just put it in the docs
that the mere existence of nodes is still nowhere near hidden.
Argh. I spent to long on this. Shut up, willdye. Bugs to
fix....
--Will
(not speaking for his employers, and for the last half hour
not working for them either)
willdye at willdye.com
_______________________________________________
Freenet-dev mailing list
Freenet-dev at lists.sourceforge.net
http://lists.sourceforge.net/mailman/listinfo/freenet-dev