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

Reply via email to