| 1 |
rabbi |
871 |
.TH MIXMASTER 1 "Mixmaster Version 2.0.5"
|
| 2 |
rabbi |
200 |
.\" $Id: mixmaster.1,v 1.1 2002/08/28 20:06:49 rabbi Exp $
|
| 3 |
|
|
.SH NAME
|
| 4 |
|
|
mixmaster
|
| 5 |
|
|
\- anonymizing remailer
|
| 6 |
|
|
.SH SYNOPSIS
|
| 7 |
|
|
.B mixmaster
|
| 8 |
|
|
[
|
| 9 |
|
|
.B \-c
|
| 10 |
|
|
] [
|
| 11 |
|
|
.I filename
|
| 12 |
|
|
] [
|
| 13 |
|
|
.B \-f
|
| 14 |
|
|
] [
|
| 15 |
|
|
.B \-m
|
| 16 |
|
|
] [
|
| 17 |
|
|
.B \-d
|
| 18 |
|
|
] [
|
| 19 |
|
|
.B \-s
|
| 20 |
|
|
.I "subject"
|
| 21 |
|
|
] [
|
| 22 |
|
|
.B \-v
|
| 23 |
|
|
.I "'Header: text'"
|
| 24 |
|
|
[
|
| 25 |
|
|
.B \-v
|
| 26 |
|
|
\ ... ] ] [
|
| 27 |
|
|
.B \-n
|
| 28 |
|
|
.I numcopies
|
| 29 |
|
|
] [
|
| 30 |
|
|
.B \-o
|
| 31 |
|
|
.I outfile
|
| 32 |
|
|
|
|
| 33 |
|
|
.B \-O
|
| 34 |
|
|
.I outfile
|
| 35 |
|
|
] [
|
| 36 |
|
|
.B \-to
|
| 37 |
|
|
.I who@where
|
| 38 |
|
|
] [
|
| 39 |
|
|
.B \-l
|
| 40 |
|
|
.I 1 2 3
|
| 41 |
|
|
\ ... ]
|
| 42 |
|
|
.PP
|
| 43 |
|
|
.B mixmaster
|
| 44 |
|
|
[
|
| 45 |
|
|
.B \-P
|
| 46 |
|
|
] [
|
| 47 |
|
|
.B \-T
|
| 48 |
|
|
]
|
| 49 |
|
|
.PP
|
| 50 |
|
|
.B mixmaster
|
| 51 |
|
|
[
|
| 52 |
|
|
.B \-G
|
| 53 |
|
|
] [
|
| 54 |
|
|
.B \-K
|
| 55 |
|
|
] [
|
| 56 |
|
|
.B \-R
|
| 57 |
|
|
] [
|
| 58 |
|
|
.B \-S
|
| 59 |
|
|
] [
|
| 60 |
|
|
.B \-L
|
| 61 |
|
|
] [
|
| 62 |
|
|
.B \-Q
|
| 63 |
|
|
] [
|
| 64 |
|
|
.B \-D
|
| 65 |
|
|
] [
|
| 66 |
|
|
.B \-X
|
| 67 |
|
|
]
|
| 68 |
|
|
.SH DESCRIPTION
|
| 69 |
|
|
The purpose of anonymous remailers (hereafter simply remailers) is to
|
| 70 |
|
|
provide protection against traffic analysis. Traffic analysis is the study
|
| 71 |
|
|
of who you are communicating with, when, and how often. This reveals more
|
| 72 |
|
|
than you might expect about your activities. It will indicate who your
|
| 73 |
|
|
friends and colleagues are (and they can be told apart by looking at the
|
| 74 |
|
|
times you contact them). What your interests are, from which catalog
|
| 75 |
|
|
companies you contact, and which ftp and WWW sites you visit. Traffic
|
| 76 |
|
|
analysis can even reveal business secrets, e.g. your frequent contact with
|
| 77 |
|
|
a rival could give hints of an impending merger.
|
| 78 |
|
|
.PP
|
| 79 |
|
|
Remailers protect your e-mail from traffic analysis. The original remailers
|
| 80 |
|
|
did this by removing all headers, except the subject line, from any message
|
| 81 |
|
|
you sent to them and then forwarding them a destination of your choice. The
|
| 82 |
|
|
recipient of such a message would not know who had sent it.
|
| 83 |
|
|
.PP
|
| 84 |
|
|
The addition of encryption to this scheme gave significant protection from
|
| 85 |
|
|
attackers who simply look at passing messages for to and from fields.
|
| 86 |
|
|
Passing a message through several remailers in a row is much better, but
|
| 87 |
|
|
still vulnerable to an attacker who can watch messages go into and out of
|
| 88 |
|
|
each remailer.
|
| 89 |
|
|
.PP
|
| 90 |
|
|
Two more elements are required: messages must be reordered within the
|
| 91 |
|
|
remailer before being forwarded (this is being done by a few of the old
|
| 92 |
|
|
style remailers), and all messages must be indistinguishable. This last is
|
| 93 |
|
|
the primary improvement with the type 2 remailer,
|
| 94 |
|
|
.IR Mixmaster .
|
| 95 |
|
|
.SS "Remailer RSA keys with Mixmaster:"
|
| 96 |
|
|
.I Mixmaster
|
| 97 |
|
|
has its own rudimentary key management, and unique key file format.
|
| 98 |
|
|
To get the latest key from a remailer, send mail to the remailer with
|
| 99 |
|
|
the subject
|
| 100 |
|
|
.BR remailer-key .
|
| 101 |
|
|
It will send you a file containing the key and a
|
| 102 |
|
|
line for your
|
| 103 |
|
|
.I type2.list
|
| 104 |
|
|
file. The line after the
|
| 105 |
|
|
.B =\-=\-=\-=\-=
|
| 106 |
|
|
line is the one
|
| 107 |
|
|
you should put in your
|
| 108 |
|
|
.I type2.list
|
| 109 |
|
|
file. If there is already a line with the
|
| 110 |
|
|
same remailer name, the new line should replace it.
|
| 111 |
|
|
.PP
|
| 112 |
|
|
The remailer key is every thing between the
|
| 113 |
|
|
.B "Begin Mix Key"
|
| 114 |
|
|
and
|
| 115 |
|
|
.BR "End Mix Key" ,
|
| 116 |
|
|
including those lines. You should add that text to your
|
| 117 |
|
|
.I pubring.mix
|
| 118 |
|
|
file. You may also include any text outside of the begin
|
| 119 |
|
|
and end lines to identify the key.
|
| 120 |
|
|
.PP
|
| 121 |
|
|
When you chain through a remailer,
|
| 122 |
|
|
.I Mixmaster
|
| 123 |
|
|
finds which key to use by looking at
|
| 124 |
|
|
.IR type2.list ,
|
| 125 |
|
|
and then finds the corresponding key in
|
| 126 |
|
|
.IR pubring.mix .
|
| 127 |
|
|
.SS "Using type 2 remailers:"
|
| 128 |
|
|
The trend towards ever more complicated remailer message formats has been
|
| 129 |
|
|
clear for some time. Several programs have been written to automatically
|
| 130 |
|
|
build messages which will be remailed by several remailers. This process is
|
| 131 |
|
|
called chaining.
|
| 132 |
|
|
.PP
|
| 133 |
|
|
With type 2 remailers it is no longer possible to create these messages by
|
| 134 |
|
|
hand.
|
| 135 |
|
|
.I Mixmaster
|
| 136 |
|
|
takes a message you wish to send, a list of remailers to
|
| 137 |
|
|
chain it through, and a final destination, and builds the packet which the
|
| 138 |
|
|
remailers will use.
|
| 139 |
|
|
.\"For simplicity I will first describe the interactive
|
| 140 |
|
|
.\"use of Mixmaster, then I will discuss how it can be controlled through
|
| 141 |
|
|
.\"command line arguments.
|
| 142 |
|
|
.SS "Interactive use of Mixmaster:"
|
| 143 |
|
|
If you run
|
| 144 |
|
|
.I Mixmaster
|
| 145 |
|
|
with no arguments, you will be prompted for all the
|
| 146 |
|
|
required information.
|
| 147 |
|
|
.PP
|
| 148 |
|
|
First you will be asked to specify the final destination of the message.
|
| 149 |
|
|
This is the full e-mail address where you want your message delivered.
|
| 150 |
|
|
Remember that the message is being sent by the last remailer in the chain,
|
| 151 |
|
|
so you must specify the full internet address (e.g.
|
| 152 |
rabbi |
871 |
.IR name@machine.example.com ),
|
| 153 |
rabbi |
200 |
you may not use local mail aliases. You may enter multiple recipients on
|
| 154 |
|
|
separate lines. Hit return on a blank line to stop entering destinations.
|
| 155 |
|
|
You must have at least one.
|
| 156 |
|
|
.PP
|
| 157 |
|
|
.I Mixmaster
|
| 158 |
|
|
recognizes these special keywords ending with a colon:
|
| 159 |
|
|
.br
|
| 160 |
|
|
.B "null:"
|
| 161 |
|
|
for cover traffic.
|
| 162 |
|
|
.br
|
| 163 |
|
|
.B "post:"
|
| 164 |
|
|
posts to the following newsgroup.
|
| 165 |
|
|
.PP
|
| 166 |
|
|
Next you will be asked to enter any headers you want to have inserted
|
| 167 |
|
|
before the message. These are those lines at the beginning of e-mail
|
| 168 |
|
|
messages, like
|
| 169 |
|
|
.IR "From: fred@bedrock.univ.edu" ,
|
| 170 |
|
|
or
|
| 171 |
|
|
.IR "Subject: Party invitation" .
|
| 172 |
|
|
If you want your message to have a subject when it is delivered, you must
|
| 173 |
|
|
enter a line like this:
|
| 174 |
|
|
.PP
|
| 175 |
|
|
.B Subject:
|
| 176 |
|
|
.IR "your subject here" .
|
| 177 |
|
|
.PP
|
| 178 |
|
|
Note that
|
| 179 |
|
|
.B Subject
|
| 180 |
|
|
must be capitalized, with the
|
| 181 |
|
|
.B :
|
| 182 |
|
|
and space as shown. (A subject header can also be added by using the
|
| 183 |
|
|
.B \-s
|
| 184 |
|
|
command line argument.) When you are done entering headers, hit
|
| 185 |
|
|
return. It is OK to have zero headers.
|
| 186 |
|
|
.PP
|
| 187 |
|
|
You will now be presented with a list of remailers through which you can
|
| 188 |
|
|
chain your messages. The order in which you choose them is the order in
|
| 189 |
|
|
which they will be traversed by your message. The remailers that can
|
| 190 |
|
|
be used at the end of a chain are marked with an asterisk; a
|
| 191 |
|
|
.B U
|
| 192 |
|
|
means that according to the list of reliable remailers, the remailer
|
| 193 |
|
|
is unreliable at the moment. See the file
|
| 194 |
|
|
.B mix.list
|
| 195 |
|
|
for information about the reliability history printed in square
|
| 196 |
|
|
brackets.
|
| 197 |
|
|
|
| 198 |
|
|
You may choose up to 20 remailers, but remember that the reliability
|
| 199 |
|
|
and speed of the chain diminish as the number of remailers in the
|
| 200 |
|
|
chain increases. Four is a reasonable number of remailers to use. It
|
| 201 |
|
|
is fine to use a given remailer more than once in your chain. Press
|
| 202 |
|
|
return on a blank line to stop entering remailers.
|
| 203 |
|
|
.PP
|
| 204 |
|
|
You may enter
|
| 205 |
|
|
.B 0
|
| 206 |
|
|
for the remailer and
|
| 207 |
|
|
.I Mixmaster
|
| 208 |
|
|
will choose a random
|
| 209 |
|
|
remailer for you. This is particularly useful for routing multipacket
|
| 210 |
|
|
messages over different remailer chains. If specified in the
|
| 211 |
|
|
configuration file,
|
| 212 |
|
|
.I Mixmaster
|
| 213 |
|
|
can automatically select a remailer chain.
|
| 214 |
|
|
.PP
|
| 215 |
|
|
Finally you will be asked what file you want to send. This must be an ASCII
|
| 216 |
|
|
file. You may either enter the name of an existing file, or you may choose
|
| 217 |
|
|
to enter the message directly by typing
|
| 218 |
|
|
.B \-
|
| 219 |
|
|
or
|
| 220 |
|
|
.B stdin
|
| 221 |
|
|
as the file name. This is
|
| 222 |
|
|
intended for use by scripts. There are no editing capabilities when using
|
| 223 |
|
|
stdin. Enter the end of file character (EOF is ^D) when you are done
|
| 224 |
|
|
entering the file.
|
| 225 |
|
|
.PP
|
| 226 |
|
|
.I Mixmaster
|
| 227 |
|
|
will now build the type 2 remailer packet, and send it to the
|
| 228 |
|
|
first remailer in the chain.
|
| 229 |
|
|
.PP
|
| 230 |
|
|
List of statistics on remailer usage can be requested by sending
|
| 231 |
|
|
the remailers mail with subject
|
| 232 |
|
|
.BR remailer-stats .
|
| 233 |
|
|
.TP
|
| 234 |
|
|
.B \-X
|
| 235 |
|
|
Seed the random number generator.
|
| 236 |
|
|
This should be done once, before sending messages and creating remailer
|
| 237 |
|
|
keys.
|
| 238 |
|
|
.SH MIXMASTER AS A REMAILER
|
| 239 |
|
|
The
|
| 240 |
|
|
.I Mixmaster
|
| 241 |
|
|
remailer accepts packets in the Mixmaster message format, and re-sends
|
| 242 |
|
|
them to other Mixmaster remailers and \- unless it is configured as a
|
| 243 |
|
|
"middle only" remailer \- to users.
|
| 244 |
|
|
.PP
|
| 245 |
|
|
The same source and binary is used for the remailer program and the
|
| 246 |
|
|
client program. The remailer can be installed on any Unix mail
|
| 247 |
|
|
account.
|
| 248 |
|
|
.PP
|
| 249 |
|
|
To install
|
| 250 |
|
|
.IR Mixmaster ,
|
| 251 |
|
|
run
|
| 252 |
|
|
.BR ./Install .
|
| 253 |
|
|
The Install script will ask a few questions and set up the remailer.
|
| 254 |
|
|
.PP
|
| 255 |
|
|
All remailer functions (as opposed to chaining
|
| 256 |
|
|
functions) are invoked with capital letters on the command line.
|
| 257 |
|
|
.SS Support for "cypherpunk remailer" (type 1) messages:
|
| 258 |
|
|
If you want to be able to handle type 1 messages as well as type 2,
|
| 259 |
|
|
you can do so using the Mixmaster mail address.
|
| 260 |
|
|
.PP
|
| 261 |
|
|
Set up the type 1 remailer just as though it were going to be used on its
|
| 262 |
|
|
own, but do not set up mail forwarding to the remailer. That should
|
| 263 |
|
|
go to
|
| 264 |
|
|
.IR Mixmaster .
|
| 265 |
|
|
.PP
|
| 266 |
|
|
Edit
|
| 267 |
|
|
.I mix.help
|
| 268 |
|
|
to include the help file that comes with your type 1
|
| 269 |
|
|
remailer. Add your type 1 key to
|
| 270 |
|
|
.IR keyinfo.txt .
|
| 271 |
|
|
Edit
|
| 272 |
|
|
.IR mixmaster.conf ,
|
| 273 |
|
|
and define
|
| 274 |
|
|
.I TYPE1
|
| 275 |
|
|
to be the command line needed to
|
| 276 |
|
|
run the type 1 remailer.
|
| 277 |
|
|
.PP
|
| 278 |
|
|
.I Mixmaster
|
| 279 |
|
|
will recognize incoming type 1 messages, and open a pipe to the
|
| 280 |
|
|
program you specified. It will send the message to stdin of that
|
| 281 |
|
|
process.
|
| 282 |
|
|
.PP
|
| 283 |
|
|
You can set the type 1 remailer's
|
| 284 |
|
|
.I sendmail
|
| 285 |
|
|
to be
|
| 286 |
|
|
.B mixmaster
|
| 287 |
|
|
.BR \-Q ,
|
| 288 |
|
|
so the messages will be added to the reordering pool. Mixmaster will
|
| 289 |
|
|
add its disclaimer to all messages sent. If your type 1 remailer has
|
| 290 |
|
|
its own disclaimer, add that line to
|
| 291 |
|
|
.BR headers.del ,
|
| 292 |
|
|
so Mixmaster will filter it out, making type 1 and type 2 messages
|
| 293 |
|
|
indiscernible.
|
| 294 |
|
|
.B \-Q
|
| 295 |
|
|
may optionally be followed by a Mixmaster destination.
|
| 296 |
|
|
.SH OPTIONS
|
| 297 |
|
|
.SS Client mode options:
|
| 298 |
|
|
.TP
|
| 299 |
|
|
.B \-c
|
| 300 |
|
|
Indicates that chaining rather than remailer functions are desired.
|
| 301 |
|
|
It is a NOP since chaining is the default operation.
|
| 302 |
|
|
.TP
|
| 303 |
|
|
.I "input.file"
|
| 304 |
|
|
If a filename is given, then this will be used as the input
|
| 305 |
|
|
file. As in the interactive mode, you may choose
|
| 306 |
|
|
.B \-
|
| 307 |
|
|
or
|
| 308 |
|
|
.BR stdin .
|
| 309 |
|
|
No filename will be prompted for.
|
| 310 |
|
|
.TP
|
| 311 |
|
|
.B \-f
|
| 312 |
|
|
Filter mode. All prompts suppressed, but input still accepted as
|
| 313 |
|
|
described in the interactive section. The remailer list must be
|
| 314 |
|
|
specified on the command line.
|
| 315 |
|
|
.TP
|
| 316 |
|
|
.B \-m
|
| 317 |
|
|
Like
|
| 318 |
|
|
.BR \-f ,
|
| 319 |
|
|
but the input is a message in Internet mail format. Be careful not to
|
| 320 |
|
|
send any mail headers that leak information about your identity.
|
| 321 |
|
|
.TP
|
| 322 |
|
|
.B \-d
|
| 323 |
|
|
Generate a dummy message, which will be sent through 5..15 random remailers
|
| 324 |
|
|
unless specified otherwise in
|
| 325 |
|
|
.I CHAIN
|
| 326 |
|
|
or using
|
| 327 |
|
|
.BR \-l .
|
| 328 |
|
|
You should generate cover messages to foil traffic analysis.
|
| 329 |
|
|
.TP
|
| 330 |
|
|
.I "\fB\-s\fP subject"
|
| 331 |
|
|
Add a subject line to the message. The user should
|
| 332 |
|
|
.I not
|
| 333 |
|
|
include
|
| 334 |
|
|
.B Subject:
|
| 335 |
|
|
in this string.
|
| 336 |
|
|
.I Mixmaster
|
| 337 |
|
|
will not prompt for other headers if
|
| 338 |
|
|
.B \-s
|
| 339 |
|
|
is used.
|
| 340 |
|
|
.TP
|
| 341 |
|
|
.I "\fB\-v\fP 'Header: text'"
|
| 342 |
|
|
Add an arbitrary header line to the message.
|
| 343 |
|
|
.B \-v
|
| 344 |
|
|
can be used repeatedly.
|
| 345 |
|
|
.TP
|
| 346 |
|
|
.I "\fB\-n\fP numcopies"
|
| 347 |
|
|
Create multiple copies of the same message, to increase reliability of
|
| 348 |
|
|
randomly selected chains. Only one copy will be delivered to the
|
| 349 |
|
|
recipient.
|
| 350 |
|
|
.TP
|
| 351 |
|
|
.I "\fB\-o\fP output.file"
|
| 352 |
|
|
Specifies an output file rather than sending the message to the
|
| 353 |
|
|
first remailer automatically. If
|
| 354 |
|
|
.I "output.file"
|
| 355 |
|
|
is
|
| 356 |
|
|
.B \-
|
| 357 |
|
|
or
|
| 358 |
|
|
.BR stdout ,
|
| 359 |
|
|
then the remailer packet will be written to standard output.
|
| 360 |
|
|
.TP
|
| 361 |
|
|
.I "\fB\-O\fP output.file"
|
| 362 |
|
|
As
|
| 363 |
|
|
.B \-o
|
| 364 |
|
|
above, but it includes a "To: " line so the output file can be
|
| 365 |
|
|
sent directly to sendmail.
|
| 366 |
|
|
.TP
|
| 367 |
|
|
.I "\fB\-to\fP foo@bar.org"
|
| 368 |
|
|
Specifies the final destination of the message.
|
| 369 |
|
|
.I Mixmaster
|
| 370 |
|
|
will not prompt for other destinations if
|
| 371 |
|
|
.B \-to
|
| 372 |
|
|
is used.
|
| 373 |
|
|
.TP
|
| 374 |
|
|
.I "\fB\-l\fP 4 3 12 5 ..."
|
| 375 |
|
|
Specifies the list of remailers to chain through. This must be
|
| 376 |
|
|
the last argument on the command line. A maximum of 20 remailers may
|
| 377 |
|
|
be specified.
|
| 378 |
|
|
.I Mixmaster
|
| 379 |
|
|
will not prompt for other remailers if
|
| 380 |
|
|
.B \-l
|
| 381 |
|
|
is used. As in the interactive mode, you may enter
|
| 382 |
|
|
.B 0
|
| 383 |
|
|
for a random
|
| 384 |
|
|
remailer. Remailers may also be specified by their name or address.
|
| 385 |
|
|
.SS "Special command line arguments for scripts:"
|
| 386 |
|
|
Many scripts and other programs which will drive
|
| 387 |
|
|
.I Mixmaster
|
| 388 |
|
|
may need to
|
| 389 |
|
|
know where
|
| 390 |
|
|
.I Mixmaster
|
| 391 |
|
|
keeps its files, and what remailers it knows about.
|
| 392 |
|
|
There are two special commands to help with this. Both are executed before
|
| 393 |
|
|
any other command line options (\fB\-P\fP
|
| 394 |
|
|
then
|
| 395 |
|
|
.BR \-T ).
|
| 396 |
|
|
.TP
|
| 397 |
|
|
.B \-P
|
| 398 |
|
|
Write the
|
| 399 |
|
|
.I Mixmaster
|
| 400 |
|
|
directory, the name of the remailer list and the mixmaster version
|
| 401 |
|
|
to stdout, each followed by a newline.
|
| 402 |
|
|
The result is something like:
|
| 403 |
|
|
.PP
|
| 404 |
|
|
/home/joe/Mix
|
| 405 |
|
|
type2.list
|
| 406 |
|
|
2.0.5
|
| 407 |
|
|
.TP
|
| 408 |
|
|
.B \-T
|
| 409 |
|
|
Write the list of remailers (usually
|
| 410 |
|
|
.IR type2.list )
|
| 411 |
|
|
to stdout.
|
| 412 |
|
|
.SS Remailer functions:
|
| 413 |
|
|
.TP
|
| 414 |
|
|
.B \-G
|
| 415 |
|
|
Generate a new key pair. The private key is prepended to
|
| 416 |
|
|
.IR secring.mix ,
|
| 417 |
|
|
the public key is prepended to
|
| 418 |
|
|
.IR pubring.mix ,
|
| 419 |
|
|
and a new
|
| 420 |
|
|
.IR mix.key
|
| 421 |
|
|
is created. The
|
| 422 |
|
|
.I mix.key
|
| 423 |
|
|
file has one line (after the
|
| 424 |
|
|
.BR =\-=\-=\-=\-= )
|
| 425 |
|
|
which goes in
|
| 426 |
|
|
.IR type2.list .
|
| 427 |
|
|
The rest is the new public key, which can be appended to the
|
| 428 |
|
|
public key file by a user who requests the key.
|
| 429 |
|
|
|
| 430 |
|
|
The
|
| 431 |
|
|
.I mix.key
|
| 432 |
|
|
file is mailed to anyone who send mail to the remailer with the
|
| 433 |
|
|
subject
|
| 434 |
|
|
.BR "remailer-key" .
|
| 435 |
|
|
|
| 436 |
|
|
When you generate a new key (if you keep the same passphrase), the old
|
| 437 |
|
|
key will still work. You must remove the key from the ring when you want
|
| 438 |
|
|
to retire it permanently. This allows you to keep supporting the old key
|
| 439 |
|
|
while the new key is propagated.
|
| 440 |
|
|
.TP
|
| 441 |
|
|
.B \-K
|
| 442 |
|
|
Update
|
| 443 |
|
|
.IR mix.key .
|
| 444 |
|
|
.TP
|
| 445 |
|
|
.B \-R
|
| 446 |
|
|
Process incoming mail, reading from stdin.
|
| 447 |
|
|
.I Mixmaster
|
| 448 |
|
|
.B \-R
|
| 449 |
|
|
should be invoked from
|
| 450 |
|
|
.I /etc/aliases
|
| 451 |
|
|
or the
|
| 452 |
|
|
.I .forward
|
| 453 |
|
|
mechanism.
|
| 454 |
|
|
A safer way to invoke
|
| 455 |
|
|
.I Mixmaster
|
| 456 |
|
|
is with the
|
| 457 |
|
|
.B reorder
|
| 458 |
|
|
package.
|
| 459 |
|
|
|
| 460 |
|
|
Output can be redirected to a log file, but this is not required.
|
| 461 |
|
|
If you do, make sure that it is sufficiently writeable. The only
|
| 462 |
|
|
things that go in this log file are failed messages, and error messages.
|
| 463 |
|
|
If
|
| 464 |
|
|
.I Mixmaster
|
| 465 |
|
|
is installed on a personal account, the output should be appended to
|
| 466 |
|
|
the mail folder, to ensure that regular e-mail is delivered. All
|
| 467 |
|
|
non-remailer messages will be sent to stdout.
|
| 468 |
|
|
.TP
|
| 469 |
|
|
.B \-S
|
| 470 |
|
|
Randomly select and send all but
|
| 471 |
|
|
.I POOLSIZE
|
| 472 |
|
|
messages.
|
| 473 |
|
|
.TP
|
| 474 |
|
|
.B \-L
|
| 475 |
|
|
Check all latent messages and converts them to regular
|
| 476 |
|
|
messages if their time has passed.
|
| 477 |
|
|
Since there is no type 2 latent,
|
| 478 |
|
|
.B \-L
|
| 479 |
|
|
has no effect.
|
| 480 |
|
|
.PP
|
| 481 |
|
|
The functions
|
| 482 |
|
|
.B \-L
|
| 483 |
|
|
and
|
| 484 |
|
|
.B \-S
|
| 485 |
|
|
are typically performed periodically using
|
| 486 |
|
|
.BR crond (8).
|
| 487 |
|
|
|
| 488 |
|
|
If you are unable to run
|
| 489 |
|
|
.BR crontab (1)
|
| 490 |
|
|
or
|
| 491 |
|
|
.BR at (1),
|
| 492 |
|
|
you can process the pooled and latent messages each time a new message
|
| 493 |
|
|
arrives, using
|
| 494 |
|
|
.B mixmaster \-R \-S \-L
|
| 495 |
|
|
in the
|
| 496 |
|
|
.I .forward
|
| 497 |
|
|
or
|
| 498 |
|
|
.I /etc/aliases
|
| 499 |
|
|
files.
|
| 500 |
|
|
.TP
|
| 501 |
|
|
.B \-Q
|
| 502 |
|
|
Read a message from
|
| 503 |
|
|
.B stdin
|
| 504 |
|
|
and add it to the reordering pool.
|
| 505 |
|
|
.TP
|
| 506 |
|
|
.B \-D
|
| 507 |
|
|
Will be used to run
|
| 508 |
|
|
.I Mixmaster
|
| 509 |
|
|
as a demon waiting for socket
|
| 510 |
|
|
connections in a future version.
|
| 511 |
|
|
.SH CONFIGURATION
|
| 512 |
|
|
The configuration both for the client and the remailer is set in
|
| 513 |
|
|
.IR mixmaster.conf .
|
| 514 |
|
|
Unless otherwise noted, the entries cannot contain whitespace.
|
| 515 |
|
|
.TP
|
| 516 |
|
|
.I SENDMAIL
|
| 517 |
|
|
Name and path of the
|
| 518 |
|
|
.BR sendmail (8)
|
| 519 |
|
|
program. The
|
| 520 |
|
|
.B \-t
|
| 521 |
|
|
flag is required (the destination is in the
|
| 522 |
|
|
.B "To:"
|
| 523 |
|
|
header). Can contain whitespace.
|
| 524 |
|
|
|
| 525 |
|
|
If
|
| 526 |
|
|
.I SENDMAIL
|
| 527 |
|
|
is set to
|
| 528 |
|
|
.B outfile
|
| 529 |
|
|
(this is the default under MSDOS), Mixmaster will write its output to
|
| 530 |
|
|
files named
|
| 531 |
|
|
.I "\fBoutfile.\fPnnn"
|
| 532 |
|
|
instead of mailing it.
|
| 533 |
|
|
.SS Client configuration:
|
| 534 |
|
|
.TP
|
| 535 |
|
|
.I CHAIN
|
| 536 |
|
|
A chain for remailer messages, if you don't want to chose them
|
| 537 |
|
|
manually.
|
| 538 |
|
|
.B 0
|
| 539 |
|
|
means a random remailer. This chain can be overridden by the command
|
| 540 |
|
|
line option
|
| 541 |
|
|
.BR \-l .
|
| 542 |
|
|
Can contain whitespace.
|
| 543 |
|
|
.TP
|
| 544 |
|
|
.I NUMCOPIES
|
| 545 |
|
|
Number of copies (see option
|
| 546 |
|
|
.BR \-n ).
|
| 547 |
|
|
This entry can be useful if you use a long
|
| 548 |
|
|
.I CHAIN
|
| 549 |
|
|
of random remailers. Default: 1.
|
| 550 |
|
|
.TP
|
| 551 |
|
|
.I MINREL
|
| 552 |
|
|
The minimum reliablity
|
| 553 |
|
|
.I Mixmaster
|
| 554 |
|
|
will require for a remailer to be chosen randomly, in % (will be
|
| 555 |
|
|
ignored if no reliability information is available). Default: 98.
|
| 556 |
|
|
.TP
|
| 557 |
|
|
.I RELFINAL
|
| 558 |
|
|
The minimum reliability for a remailer to be randomly chosen as the
|
| 559 |
|
|
final hop, in %.
|
| 560 |
|
|
.I Mixmaster
|
| 561 |
|
|
will chose the most reliable remailer if no remailer reaches the
|
| 562 |
|
|
minimum. Default: 99.
|
| 563 |
|
|
.TP
|
| 564 |
|
|
.I MAXLAT
|
| 565 |
|
|
The maximum latency
|
| 566 |
|
|
.I Mixmaster
|
| 567 |
|
|
will accept for a remailer to be chosen randomly, in hours. Default: 24.
|
| 568 |
|
|
.TP
|
| 569 |
|
|
.I DISTANCE
|
| 570 |
|
|
The distance after which a remailer can be selected again in a chain.
|
| 571 |
|
|
0 is a purely random selection, 20 means previously-used remailers
|
| 572 |
|
|
will not be selected again. Default: 2.
|
| 573 |
|
|
.TP
|
| 574 |
|
|
.I REQUIRE
|
| 575 |
|
|
A list of ability flags the final remailer must have. For example,
|
| 576 |
|
|
set this entry to
|
| 577 |
|
|
.B C
|
| 578 |
|
|
if you want to send all messages compressed. Other remailers will not
|
| 579 |
|
|
be selected randomly. If they are selected by the user,
|
| 580 |
|
|
.I Mixmaster
|
| 581 |
|
|
will print a warning.
|
| 582 |
|
|
.TP
|
| 583 |
|
|
.I REJECT
|
| 584 |
|
|
A list of ability flags the final remailer in the chain must not have.
|
| 585 |
|
|
Default:
|
| 586 |
|
|
.B M
|
| 587 |
|
|
(do not use "middle only" remailers as the last hop).
|
| 588 |
|
|
.TP
|
| 589 |
|
|
.I VERBOSE
|
| 590 |
|
|
Mixmaster prints information about the selected chain if
|
| 591 |
|
|
.I VERBOSE
|
| 592 |
|
|
is set to
|
| 593 |
|
|
.BR 1 .
|
| 594 |
|
|
.SS Remailer configuration:
|
| 595 |
|
|
.TP
|
| 596 |
|
|
.I REMAILERADDR
|
| 597 |
|
|
The remailer's e-mail address. This entry has no default value.
|
| 598 |
|
|
.TP
|
| 599 |
|
|
.I ANONADDR
|
| 600 |
|
|
An e-mail address to appear in the
|
| 601 |
|
|
.B From:
|
| 602 |
|
|
header of remailed messages. Defaults to the value of
|
| 603 |
|
|
.IR REMAILERADDR .
|
| 604 |
|
|
.TP
|
| 605 |
|
|
.I COMPLAINTS
|
| 606 |
|
|
The address to which you want complaints about the remailer sent (this
|
| 607 |
|
|
is put in the comments block in the outgoing message header). Defaults
|
| 608 |
|
|
to the value of
|
| 609 |
|
|
.IR REMAILERADDR .
|
| 610 |
|
|
.TP
|
| 611 |
|
|
.I REMAILERNAME
|
| 612 |
|
|
The name of your remailer to be put in the message header on remailer
|
| 613 |
|
|
responses. Can contain whitespace.
|
| 614 |
|
|
.TP
|
| 615 |
|
|
.I ANONNAME
|
| 616 |
|
|
A name to appear in remailed messages. Defaults to the value of
|
| 617 |
|
|
.IR REMAILERNAME .
|
| 618 |
|
|
Can contain whitespace.
|
| 619 |
|
|
.TP
|
| 620 |
|
|
.I SHORTNAME
|
| 621 |
|
|
A short name to identify the remailer.
|
| 622 |
|
|
.TP
|
| 623 |
|
|
.I POOLSIZE
|
| 624 |
|
|
The number of messages to be kept in the reordering pool at all
|
| 625 |
|
|
times. Zero means to remail immediately. Five means there will always
|
| 626 |
|
|
be at least five messages in the pool at any time. If you support a
|
| 627 |
|
|
type1 remailer with reordering, its pool size should be the same as
|
| 628 |
|
|
.IR Mixmaster 's
|
| 629 |
|
|
or the
|
| 630 |
|
|
.B remailer-stats
|
| 631 |
|
|
report will be misleading.
|
| 632 |
|
|
.TP
|
| 633 |
|
|
.I RATE
|
| 634 |
|
|
The fraction of messages to send each time the pool is processed, in
|
| 635 |
|
|
%. A reduced rate can be useful to reduce system load when lots
|
| 636 |
|
|
of messages arrive at the same time and to avoid `flooding attacks'.
|
| 637 |
|
|
Default: 100.
|
| 638 |
|
|
.TP
|
| 639 |
|
|
.I NEWS
|
| 640 |
|
|
News posting software. Set to
|
| 641 |
|
|
.B mail-to-news
|
| 642 |
|
|
if you want to use a gateway, or leave empty if you do not want to
|
| 643 |
|
|
allow posting. Can contain whitespace. Default: No posting.
|
| 644 |
|
|
.TP
|
| 645 |
|
|
.I ORGANIZATION
|
| 646 |
|
|
A string to be used in the Organization: line of locally posted articles.
|
| 647 |
|
|
.TP
|
| 648 |
|
|
.I MAILtoNEWS
|
| 649 |
|
|
Address of a mail to news gateway to use to deliver news messages.
|
| 650 |
|
|
.TP
|
| 651 |
|
|
.I TYPE1
|
| 652 |
|
|
Command line to execute for old style type 1 messages.
|
| 653 |
|
|
Define this only if you wish to run a type 1 remailer under
|
| 654 |
|
|
the
|
| 655 |
|
|
.I Mixmaster
|
| 656 |
|
|
remailer. Can contain whitespace.
|
| 657 |
|
|
.TP
|
| 658 |
|
|
.I T1PGPONLY
|
| 659 |
|
|
Set to
|
| 660 |
|
|
.B 1
|
| 661 |
|
|
if you want the type 1 remailer to accept encrypted messages only.
|
| 662 |
|
|
.TP
|
| 663 |
|
|
.I MIDDLEMAN
|
| 664 |
|
|
If set to
|
| 665 |
|
|
.BR 1 ,
|
| 666 |
|
|
the key and statistics messages will not be sent directly. This flag
|
| 667 |
|
|
can be used in combination with the
|
| 668 |
|
|
.B destination.allow
|
| 669 |
|
|
file to hide the location of the remailer from users. (Note that the
|
| 670 |
|
|
address remains visible to the next-hop remailer.)
|
| 671 |
|
|
.TP
|
| 672 |
|
|
.I FORWARDTO
|
| 673 |
|
|
Where to forward messages that do not match
|
| 674 |
|
|
.IR destination.allow .
|
| 675 |
|
|
.B 0
|
| 676 |
|
|
means random remailer. Can contain whitespace. Default: one random
|
| 677 |
|
|
remailer.
|
| 678 |
|
|
.TP
|
| 679 |
|
|
.I IDEXP
|
| 680 |
|
|
Time (in hours) that packet ID numbers will be kept. Messages
|
| 681 |
|
|
containing a timestamp older than
|
| 682 |
|
|
.B IDEXP
|
| 683 |
|
|
hours are discarded. The default is one week, minimum four days to
|
| 684 |
|
|
allow clients to date their messages back. If set to
|
| 685 |
|
|
.BR 0 ,
|
| 686 |
|
|
IDs will be kept forever.
|
| 687 |
|
|
.TP
|
| 688 |
|
|
.I PACKETEXP
|
| 689 |
|
|
Time (in hours) that partially reconstructed multi-part
|
| 690 |
|
|
messages will be kept. Default: one week.
|
| 691 |
|
|
.PP
|
| 692 |
|
|
The following definitions can be set in
|
| 693 |
|
|
.IR mix.h :
|
| 694 |
|
|
.TP
|
| 695 |
|
|
.I DISCLAIMER
|
| 696 |
|
|
A comment to be inserted into the anonymized messages.
|
| 697 |
|
|
.TP
|
| 698 |
|
|
.I SPOOL
|
| 699 |
|
|
The default directory where
|
| 700 |
|
|
.I Mixmaster
|
| 701 |
|
|
will look for its files if
|
| 702 |
|
|
.I MIXPATH
|
| 703 |
|
|
is not set.
|
| 704 |
|
|
.TP
|
| 705 |
|
|
.I PASSPHRASE
|
| 706 |
|
|
If no passphrase is given at compile time, this one is used. If you
|
| 707 |
|
|
are compiling a remailer, you must do this at compile time by calling
|
| 708 |
|
|
make with
|
| 709 |
|
|
.B make
|
| 710 |
|
|
.I system
|
| 711 |
|
|
.IR "\fBPASS=\fP'your pass phrase'" .
|
| 712 |
|
|
.SH FILES
|
| 713 |
|
|
.TP
|
| 714 |
|
|
.I mixmaster.conf
|
| 715 |
|
|
Configuration file for
|
| 716 |
|
|
.IR Mixmaster .
|
| 717 |
|
|
.TP
|
| 718 |
|
|
.I README
|
| 719 |
|
|
Instructions.
|
| 720 |
|
|
.TP
|
| 721 |
|
|
.I type2.list
|
| 722 |
|
|
List of known type 2 remailers and their abilities.
|
| 723 |
|
|
The first column is the nickname, the second is the address of
|
| 724 |
|
|
your remailer, the third is a unique string from the remailer's key,
|
| 725 |
|
|
the fourth column is the version string, and the fifth column
|
| 726 |
|
|
contains information about the capabilities of the remailer (\fBC\fP
|
| 727 |
|
|
= compression,
|
| 728 |
|
|
.B N
|
| 729 |
|
|
= posting to news,
|
| 730 |
|
|
.B M
|
| 731 |
|
|
= middle only remailer).
|
| 732 |
|
|
.TP
|
| 733 |
|
|
.I pubring.mix
|
| 734 |
|
|
The remailers' public keys.
|
| 735 |
|
|
.TP
|
| 736 |
|
|
.I mix.list
|
| 737 |
|
|
List of reliable Mixmaster remailers.
|
| 738 |
|
|
.SS Remailer files:
|
| 739 |
|
|
.TP
|
| 740 |
|
|
.I id.log
|
| 741 |
|
|
List of used packet ID numbers. They are used to prevent messages from
|
| 742 |
|
|
being sent twice (replay attacks). If this file does not exist,
|
| 743 |
|
|
.I Mixmaster
|
| 744 |
|
|
will assume that you do not want packet ID logging.
|
| 745 |
|
|
.TP
|
| 746 |
|
|
.I destination.block
|
| 747 |
|
|
A list of blocked destination addresses. The message is dropped if the
|
| 748 |
|
|
address matches a regular expression in a line of this file (or a
|
| 749 |
|
|
substring of the address is equal to a line of this file). The search
|
| 750 |
|
|
is case independent.
|
| 751 |
|
|
|
| 752 |
|
|
In a regular expression, a
|
| 753 |
|
|
.B .
|
| 754 |
|
|
represents any one character;
|
| 755 |
|
|
.B .*
|
| 756 |
|
|
stands for any sequence of characters. The dot itself is represented
|
| 757 |
|
|
by
|
| 758 |
|
|
.B \e.
|
| 759 |
|
|
.B ^
|
| 760 |
|
|
means to start the comparison at the leftmost character of the address;
|
| 761 |
|
|
.B $
|
| 762 |
|
|
means to end it at the rightmost character.
|
| 763 |
|
|
For example
|
| 764 |
|
|
.B whitehouse
|
| 765 |
|
|
matches any address containing the string "whitehouse".
|
| 766 |
|
|
.B ^president@.*whitehouse\e.gov
|
| 767 |
|
|
matches the addresses
|
| 768 |
|
|
.B president
|
| 769 |
|
|
may have at any computer in the
|
| 770 |
|
|
.B whitehouse.gov
|
| 771 |
|
|
domain, but not
|
| 772 |
|
|
.BR vice-president@whitehouse.gov .
|
| 773 |
|
|
.B \e.gov$
|
| 774 |
|
|
matches all addresses in the
|
| 775 |
|
|
.B .gov
|
| 776 |
|
|
toplevel domain, but not in
|
| 777 |
|
|
.BR .gov.au .
|
| 778 |
|
|
.TP
|
| 779 |
|
|
.I source.block
|
| 780 |
|
|
A list of blocked source addresses. The message is dropped if the
|
| 781 |
|
|
address matches a regular expression in a line of this file.
|
| 782 |
|
|
.TP
|
| 783 |
|
|
.I destination.allow
|
| 784 |
|
|
If this file exists, messages are delivered only if the address
|
| 785 |
|
|
matches a regular expression in a line of this file. All other
|
| 786 |
|
|
messages are forwarded to another remailer.
|
| 787 |
|
|
.TP
|
| 788 |
|
|
.I headers.del
|
| 789 |
|
|
A list of unwanted message header fields. A message header is filtered
|
| 790 |
|
|
out if it matches a regular expression in a line of this file.
|
| 791 |
|
|
.TP
|
| 792 |
|
|
.I mix.help
|
| 793 |
|
|
Help file sent in response to
|
| 794 |
|
|
.IR remailer-help .
|
| 795 |
|
|
.TP
|
| 796 |
|
|
.I mix.key
|
| 797 |
|
|
File with the key and a line for
|
| 798 |
|
|
.IR type2.list ,
|
| 799 |
|
|
sent in response to
|
| 800 |
|
|
.IR remailer-key .
|
| 801 |
|
|
To change this file, modify
|
| 802 |
|
|
.I keyinfo.txt
|
| 803 |
|
|
or
|
| 804 |
|
|
.IR mixmaster.conf ,
|
| 805 |
|
|
then run
|
| 806 |
|
|
.BR "mixmaster -K" .
|
| 807 |
|
|
.TP
|
| 808 |
|
|
.I keyinfo.txt
|
| 809 |
|
|
Information about the remailer key.
|
| 810 |
|
|
May contain type 1 PGP remailer keys.
|
| 811 |
|
|
.I keyinfo.txt
|
| 812 |
|
|
is prepended to
|
| 813 |
|
|
.IR mix.key .
|
| 814 |
|
|
.TP
|
| 815 |
|
|
.I coerce
|
| 816 |
|
|
.B sendmail
|
| 817 |
|
|
replacement, to prevent abuse and traffic analysis of type-I messages.
|
| 818 |
|
|
.TP
|
| 819 |
|
|
.I Makefile
|
| 820 |
|
|
Edit
|
| 821 |
|
|
.B CFLAGS
|
| 822 |
|
|
if you want debugging information in the object code.
|
| 823 |
|
|
Remove
|
| 824 |
|
|
.B USE_RX
|
| 825 |
|
|
if you want to block addresses by case-independant substring search
|
| 826 |
|
|
instead of regular expressions. Remove
|
| 827 |
|
|
.B USE_ZLIB
|
| 828 |
|
|
if you don't want to support compression.
|
| 829 |
|
|
.TP
|
| 830 |
|
|
.I "\fBmail\fPXXXXXX"
|
| 831 |
|
|
Pool of processed remailer messages.
|
| 832 |
|
|
.TP
|
| 833 |
|
|
.I "\fBlat\fPXXXXXX"
|
| 834 |
|
|
Latent messages.
|
| 835 |
|
|
.TP
|
| 836 |
|
|
.I "\fBpac\fPXXXXXX"
|
| 837 |
|
|
Packets of partially processed multi-part messages.
|
| 838 |
|
|
.SH ENVIRONMENT
|
| 839 |
|
|
.TP
|
| 840 |
|
|
.I MIXPATH
|
| 841 |
|
|
Full path to the directory with
|
| 842 |
|
|
.IR Mixmaster 's
|
| 843 |
|
|
files.
|
| 844 |
|
|
.SH SEE ALSO
|
| 845 |
|
|
.BR premail (1),
|
| 846 |
|
|
.BR pgp (1),
|
| 847 |
|
|
.BR sendmail (8),
|
| 848 |
|
|
.BR procmail (1),
|
| 849 |
|
|
.BR crontab (1).
|
| 850 |
|
|
.SH AUTHOR
|
| 851 |
|
|
Lance Cottrell
|
| 852 |
|
|
<loki@obscura.com>
|
| 853 |
rabbi |
871 |
.SH MAINTAINERS
|
| 854 |
|
|
Ulf Moeller,
|
| 855 |
|
|
Peter Palfrader,
|
| 856 |
|
|
Len Sassaman
|
| 857 |
|
|
.SH MAILING LIST
|
| 858 |
|
|
<mixmaster-users@lists.mixmaster.anonymizer.com>
|