Introduction
Frequently, people with web pages wish to make their email address
available on the World Wide Web. Unfortunately, it is common for bulk
emailers to run automated programs that obtain email addresses from web
pages. With the list of obtained email address, the bulk mailer sends out
unwanted commercial email.
One way of approaching this problem is to configure the web server to look
for programs of that nature hitting the web server, and redirect all such
request to the output of programs like Wpoison. Wpoison is a program
the generates random, nonfunctional email address, which makes the use of
programs that automatically gather email addresses on the web ineffective.
While programs like Wpoison are very effective when we can determine that
it is an email-addressing gathering program hitting our web server, many
such programs will carefully disguise their nature.
Kiwi can be utilized so as to help us further thwart such programs. It
has a program, called
This allows us to determine where someone obtained an email address to
send us unwanted mail. We can take necessary action. For example, we
could look at our web server logs to find out when they obtained the email
address in question, or simply filter out any connections from that
machine. We could also, on Qmail systems, disable the email address that
they obtained by their email address gathering program.
The use of Kiwi-enabled addresses on web pages gives us more
flexibility in handling automated programs that gather email address on
web pages. The rest of this document describes how to implement these
features.
In order to have Kiwi-enabled email addresses on your web pages, you need
the following:
The HTML code to a
Note that the above html will only function in an SSI-enabled web page.
The
Go to the web page containing the Kiwi-enabled email address. Verify
that the SSI correctly created an email address with a Kiwi cookie.
Next, send a message to the address on the web page.
Once you get the message, look at the email address the message was sent
to. You may have to enable viewing of full headers on your mail user
agent to do this.
The email address the example mail sent to yourself above will be in this
form:
To the information stored in the email address' cookie, type in the
following commands at a Unix shell prompt:
The next step is to use the paste functionality of your environment to
paste the above cookie. After pasting the above cookie, hit the return
key.
The output from the
With this information, you can look at the logs, and determine when and
where someone obtained the email address in question.
In order to make it so other users on your system can not determine your
Kiwi encryption key by looking at the
Note: Linux systems do not correctly give binaries with
711 permissions protection from other users viewing the binary. In order
to work around this deficiency in Linux, have the superuser on your system
change the ownership of the file to the userid cgi-bins run as on your
system, and give the binary 700 permissions.
Requirements
Making a web page with a Kiwi-enabled email address
The ipcrypt program
Testing the web page with the Kiwi enabled
address
Security considerations
Introduction
ipcrypt
that can be used in a server
side include to trace where people are gathering email addresses. (A
server side include is a feature most web servers have that allows
web pages to run programs to determine their content.)
Requirements
REMOTE_ADDR
to contain the IP used to view an SSI-enabled
web page. Most (if not all) SSI-enabled web servers will do this.
Making a web page with a Kiwi-enabled email address
mailto:
link with a Kiwi-enabled address
will look something like this:
Where
<A HREF=mailto:user+<!--#exec
cmd="/home/username/.ipcrypt"-->@host.domain.com>
user@host.domain.com
is your email address before the
Kiwi cookie is added to it, and /home/username/.ipcrypt
is
where you placed the ipcrypt
program that comes with the Kiwi
suite. By default make install
places this in your home
directory with the name .ipcrypt
.
The ipcrypt program
ipcrypt
program is one of the programs included with the
Kiwi software suite. It is compiled when the Kiwi suite is compiled. See
the file Start.html for information on how to set
up and compile the Kiwi suite.
Testing the web page with the Kiwi enabled address
Where
user+cookie@host.domain.com
user
is your username, cookie
is an
encrypted cookie that looks like 2gbn5tn
or
gq4y5ci
, and host.domain.com
is the host and
domain name portion of your email address.
Where location of Kiwi
$ cd
location of Kiwi src/
directory
$ ./decode
src/
directory is the
src/
directory where you compiled the Kiwi package. Use the
cut and paste functionality of the environment your mail user agent is in
to paste the above cookie.
decode
program will look something like
this:
The message portion of deocde's output will contain, within a range of 16
ips, the ip that you viewed the web page from. (The reason for the 16-ip
range is because the Kiwi specification does not give us a finer
resolution.)
Data type: Truncated IP
Message: 192.168.12.32-48
Security considerations
ipcrypt
binary, change
the permissions of the binary in question to 711 with this command:
Where
chmod 711 /home/username/.ipcrypt
/home/username/.ipcrypt
is the location of the ipcrypt
program on your system. This will make it so other users on the system
will be unable to view the .ipcrypt binary.