<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Computer Support &#187; spam</title>
	<atom:link href="http://www.xiitec.com/blog/tag/spam/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.xiitec.com/blog</link>
	<description></description>
	<lastBuildDate>Wed, 30 Dec 2009 08:40:28 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Bypassing Spam Checks</title>
		<link>http://www.xiitec.com/blog/2009/03/16/bypassing-spam-checks-2/</link>
		<comments>http://www.xiitec.com/blog/2009/03/16/bypassing-spam-checks-2/#comments</comments>
		<pubDate>Mon, 16 Mar 2009 16:42:57 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Sendmail]]></category>
		<category><![CDATA[bypass]]></category>
		<category><![CDATA[spam]]></category>

		<guid isPermaLink="false">http://www.xiitec.com/blog/?p=253</guid>
		<description><![CDATA[Your sendmail is configured to block incoming junk mail, and you have   been asked to allow junk mail through when it is addressed to specific   recipients.

Add an entry to the /etc/mail/access text file for each   recipient who should be allowed to receive junk mail. Use the tag Spam:  [...]]]></description>
			<content:encoded><![CDATA[<p>Your sendmail is configured to block incoming junk mail, and you have   been asked to allow junk mail through when it is addressed to specific   recipients.</p>
<p><span id="more-253"></span></p>
<p>Add an entry to the <em>/etc/mail/access</em> text file for each   recipient who should be allowed to receive junk mail. Use the tag Spam:   and the recipient address to create the key field of the entry. Use the keyword   FRIEND as the return value for each entry. Run makemap to build a hash type database from the text   file.</p>
<p>Create a sendmail configuration containing the <em>access_db </em>feature and the <em>delay_checks</em> feature with the optional   friend argument. Make sure that the <em>access_db</em> FEATURE   macro precedes the <em>delay_checks</em> FEATURE macro in the   configuration. Here are the lines that would be added to the sendmail   configuration:</p>
<pre>dnl Use the access database

FEATURE(`access_db')

dnl Check for spam friends before rejecting the mail

FEATURE(`delay_checks', `friend')</pre>
<p>Rebuild the <em>sendmail.cf</em> file, copy the new <em>sendmail.cf</em> file to <em>/etc/mail</em>, and restart sendmail</p>
<p>Someone on your system—the postmaster, a security expert, a   developer writing mail filters—might need to receive junk mail that is normally   blocked by sendmail. The <em>delay_checks</em> feature allows this by changing the   order in which spam checks are applied. The <em>delay_checks</em> feature allows   the envelope recipient address to be checked before the envelope sender address   or the connection address, which, in turn, makes it possible for mail addressed   to specific recipients to bypass the other two checks. To use the <em>delay_checks</em> feature in this way, it must be invoked with the   friend argument, as shown in the Solution section.</p>
<p>The specific recipients allowed to receive junk mail are   defined in the <em>access</em> database using the Spam: tag and the   FRIEND return value. Here is an example access database:</p>
<pre>Connect:example.com                  REJECT

Spam:uce@wrotethebook.com            FRIEND

Spam:clark+junk@wrotethebook.com     FRIEND</pre>
<p>Given the sendmail configuration described in the Solution   section, this <em>access</em> database rejects mail from <em>example.com</em> unless   it is addressed to <em>uce@wrotethebook.com</em> or to <em>clark+junk@wrotethebook.com</em>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.xiitec.com/blog/2009/03/16/bypassing-spam-checks-2/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Identifying Local Problem Users</title>
		<link>http://www.xiitec.com/blog/2009/02/25/identifying-local-problem-users/</link>
		<comments>http://www.xiitec.com/blog/2009/02/25/identifying-local-problem-users/#comments</comments>
		<pubDate>Wed, 25 Feb 2009 17:35:23 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Sendmail]]></category>
		<category><![CDATA[local]]></category>
		<category><![CDATA[spam]]></category>
		<category><![CDATA[spammer]]></category>

		<guid isPermaLink="false">http://www.xiitec.com/blog/?p=252</guid>
		<description><![CDATA[Spammers hide their true identities. You want to provide as much   information as possible to track down spammers that use your system.

Run the auth service (identd) to provide account information that cannot be hidden   by masquerading or other email techniques.
The IDENT protocol is defined in RFC 1413, Identification Protocol. The protocol [...]]]></description>
			<content:encoded><![CDATA[<p>Spammers hide their true identities. You want to provide as much   information as possible to track down spammers that use your system.</p>
<p><span id="more-252"></span></p>
<p>Run the auth service (identd) to provide account information that cannot be hidden   by masquerading or other email techniques.</p>
<p>The IDENT protocol is defined in RFC 1413, Identification Protocol. The protocol provides a means   for determining the identity of the user who initiated a network connection. The   identd daemon implements the IDENT protocol on   Unix systems. Run identd to provide additional   information to remote system administrators to aid them in tracking down the   cause of problems. In the context of sendmail, this information might help them   track down a spammer, if one sets up shop on your system. For example, assume a   user on a system running identd tries to   perpetrate a forgery by issuing the SMTP EHLO command using a false   hostname:</p>
<pre>ehlo www.ora.com

250-rodent.wrotethebook.com Hello IDENT:r+9Gemj2wip8fAJDU8kDZlyUiReTZjYc@chef.

wrotethebook.com [192.168.0.8], pleased to meet you</pre>
<p>When the remote system, in this case <em>rodent.wrotethebook.com</em>, responds to the EHLO command, it   ignores the forged <em>www.ora.com</em> hostname. Instead it says &#8220;hello&#8221; to the   host it finds at the connection address 192.168.0.8. It responds with the   hostname associated with that address, which is <em>chef.wrotethebook.com</em>,   and the identification information provided by the identd service running on <em>chef</em>. This information   is propagated in the mail in a Received: header, as shown below:</p>
<pre>Received: from www.ora.com

(IDENT:r+9Gemj2wip8fAJDU8kDZlyUiReTZjYc@chef [192.168.0.8])

by rodent.wrotethebook.com (8.12.9/8.12.9) with ESMTP id gB4N6T301540

for &lt;craig@rodent.wrotethebook.com&gt;; Wed, 4 Dec 2002 18:06:40 -0500</pre>
<p>The information provided by the identd service running on the host at 192.168.0.8   identifies the user who sent the mail. The string provided by identd, r+9Gemj2wip8fAJDU8kDZlyUiReTZjYc in the   example, is not a simple username. In this case, the identd information   is encrypted.</p>
<p>identd monitors port 113. When   identd is running, the remote server can request   information about any TCP connections from your server to the remote server by   sending the source and destination port pair to the identification server. identd then responds by sending either the requested   information associated with the connection or an error. This information allows   remote mail servers to put a real username on the Received: header in   incoming email. People who abuse the mail system do not like to have their real   usernames known. Providing their names to their victims makes it hard for them   to stay in business. Unfortunately, many firewalls block port 113 because the   security people fear that too much information is given out by the identd service. This fear is unfounded when the identd information is encrypted, as it is in this   example. However, many security administrators prefer to play it safe, so they   block the port. If it is blocked at your firewall, you might not be able to use   identd.</p>
<p>The IDENT protocol is also known by the service name   auth, as this grep of <em>/etc/services</em> shows:</p>
<pre>$ <strong>grep ^auth /etc/services</strong>

auth    113/tcp    ident   # User Verification</pre>
<p>Most sendmail administrators prefer to call the service <em>ident</em> or identd to avoid confusing it with   the ESMTP AUTH keyword.   Additionally, identd is not an authentication   tool—it is an auditing tool. Real spammers, who control their own systems, can   put anything they want in an identd response, so   the response cannot be trusted for real authentication. You, however, are not a   spammer. You run identd to provide additional   audit trail information to track down users who abuse your system.</p>
<p>Many Unix systems run identd   on-demand from inetd or xinetd. The following line added to <em>inetd.conf</em> would implement &#8216;blocking spam with the access database&#8217;<a href="0596004710_sendmailckbk-chp-6-sect-1.html#sendmailckbk-CHP-6-SECT-1"></a> on a system using inetd and an on-demand   identd service:</p>
<pre>auth stream tcp nowait nobody /usr/sbin/in.identd in.identd -t120</pre>
<p>This, of course, is just an example. You would need to   customize the program pathname and the command-line arguments to fit your system   and your needs. You should also check the identd   manpage for options that prevent the user from disabling identd.</p>
<p>Some other Unix systems run identd as part of the system startup process. Our   sample Red Hat Linux system is an example. A chkconfig command adds identd to the boot process, and a service command starts identd immediately:</p>
<pre># <strong>chkconfig --list identd</strong>

identd          0:off   1:off   2:off   3:off   4:off   5:off   6:off

# <strong>chkconfig --level 35 identd on</strong>

# <strong>chkconfig --list identd</strong>

identd          0:off   1:off   2:off   3:on    4:off   5:on    6:off

# <strong>service identd start</strong>

Generating ident key:                                      [  OK  ]

Starting identd:                                           [  OK  ]</pre>
<p>The first chkconfig command   shows that identd is not included in the boot   process on this sample Linux system. The second chkconfig command adds it to the startup process for   run levels 3 and 5—the run levels associated with networked, multiuser operation   on most Linux systems. The final chkconfig   command shows the effect of this change. Of course, there is no reason to reboot   the system just to start identd, so the   service command is used to run the identification service   immediately.</p>
<p>This is the first time that identd has been started on this server. Notice the   first line of output from the service command. It   tells us that a key is being generated for identd. This key is used to encrypt the information   sent to the remote system. The administrators of the remote system cannot   decrypt the information because they do not have the key. If they suspect a   problem, they must send you the encrypted string, which you can then decrypt   using the <em>/etc/identd.key</em> file and the idecrypt command. The   information from the identd server is encrypted   for security reasons. Security people dislike identd because it exposes information about systems and   users that can be misused by spammers and intruders. Encrypting the identd response allows you to run the identification   daemon without any significant security risks.</p>
<p>For example, the Received: header shown earlier in   this section displays the 32 character, BASE64 encoded string   r+9Gemj2wip8fAJDU8kDZlyUiReTZjYc that the remote system received from   our sample system in response to the IDENT query. This does not provide any   information that can be exploited by a spammer or an intruder, but it can be   used by you to obtain information about the local user who sent the mail. When   the remote system administrator contacts you with a problem report, obtain the   32-byte string, enclose it in square brackets, and decode it with the idecrypt command, as shown:</p>
<pre># <strong>idecrypt </strong>

<strong>[r+9Gemj2wip8fAJDU8kDZlyUiReTZjYc] </strong>

Wed Dec  4 17:00:24 2002 500 192.168.0.8 1029 192.168.0.3 25  <em>Ctrl-D </em></pre>
<p>The decoded string provides:</p>
<ul>
<li>The date and time the connection was made</li>
<li>The UID of the user who initiated the connection (500 in this   example)</li>
<li>The IP address of the source of the connection   (192.168.0.8)</li>
<li>The source port (1029)</li>
<li>The destination IP address (192.168.0.3)</li>
<li>The destination port of the connection (25, which is the SMTP   port)</li>
</ul>
<p>All of this information is useful in tracking who is abusing   your system. However, identd does have major   limitations. It only returns a useful UID if the user actually logs into your   system. If it is being misused in some other way, the information provided might   not be useful. Additionally, running identd adds   some processing overhead to each piece of mail. As with most things, identd has both pluses and minuses.</p>
<p>On our sample Red Hat Linux system, the identd service   is preconfigured in the <em>/etc/identd.conf</em> file. Additionally, the   identd service can be configured from the command line using   command-line options. On a Red Hat Linux system, the identd   command-line options used during startup are defined as values for the   IDENTDOPTS variable in the <em>/etc/sysconfig/identd</em> file. See the   identd manpage for specifics on the <em>identd.conf</em> configuration   commands and the command-line options.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.xiitec.com/blog/2009/02/25/identifying-local-problem-users/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Enabling Spam Checks on a Per-User Basis</title>
		<link>http://www.xiitec.com/blog/2009/02/13/enabling-spam-checks-on-a-per-user-basis/</link>
		<comments>http://www.xiitec.com/blog/2009/02/13/enabling-spam-checks-on-a-per-user-basis/#comments</comments>
		<pubDate>Fri, 13 Feb 2009 17:38:29 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Sendmail]]></category>
		<category><![CDATA[spam]]></category>

		<guid isPermaLink="false">http://www.xiitec.com/blog/?p=248</guid>
		<description><![CDATA[You have been asked to create a sendmail configuration that applies   checks only when the mail is addressed to selected recipients.

Add an entry to the /etc/mail/access text file for each   recipient whose mail must pass all checks before it is delivered. Use the tag   Spam: and the recipient address [...]]]></description>
			<content:encoded><![CDATA[<p>You have been asked to create a sendmail configuration that applies   checks only when the mail is addressed to selected recipients.</p>
<p><span id="more-248"></span></p>
<p>Add an entry to the <em>/etc/mail/access</em> text file for each   recipient whose mail must pass all checks before it is delivered. Use the tag   Spam: and the recipient address to create the key field of the entry.   Use the keyword HATER as the return value for each entry. Run makemap to build a hash type database from the text   file.</p>
<p>Create a sendmail configuration containing the <em>access_db </em>feature and the <em>delay_checks</em> feature with the optional hater   argument. Make sure that the <em>access_db</em> FEATURE macro precedes   the <em>delay_checks</em> FEATURE macro in the configuration. Here are   the lines that would be added to the sendmail configuration:</p>
<pre>dnl Use the access databaseFEATURE(`access_db')

dnl Apply all checks to spam hater mail

FEATURE(`delay_checks', `hater')</pre>
<p>Rebuild the <em>sendmail.cf</em> file, copy the new <em>sendmail.cf</em> file to <em>/etc/mail</em>, and restart sendmail</p>
<p>The <em>delay_checks</em> feature changes the order in which   checks are applied by first checking the envelope recipient address. When the <em>delay_checks</em> feature is invoked with the hater argument, as   shown in the Solution section, the envelope recipient address must be found in   the <em>access</em> database, and it must return the value HATER before   the envelope sender address or the connection address are checked. If the   envelope sender address is not found in the <em>access</em> database or does not   return the value HATER, the check of the envelope sender address   performed by check_mail, and the check of the connection address   performed by check_relay, are bypassed.</p>
<p>To apply the check_mail and check_relay   checks to a recipient&#8217;s mail, the specific recipients must be defined in the <em>access</em> database using the Spam: tag and the HATER   return value. Here are example entries:</p>
<pre>Connect:example.com                  REJECT</pre>
<pre>Spam:jay@wrotethebook.com            HATER

Spam:alana@wrotethebook.com          HATER</pre>
<p>Using this sendmail configuration, this <em>access</em> database will reject mail from <em>example.com</em> when it is addressed to <em>jay@wrotethebook.com</em> or to <em>alana@wrotethebook.com</em>. Other users are   allowed to receive mail from <em>example.com</em>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.xiitec.com/blog/2009/02/13/enabling-spam-checks-on-a-per-user-basis/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Bypassing Spam Checks</title>
		<link>http://www.xiitec.com/blog/2009/02/13/bypassing-spam-checks/</link>
		<comments>http://www.xiitec.com/blog/2009/02/13/bypassing-spam-checks/#comments</comments>
		<pubDate>Fri, 13 Feb 2009 17:36:36 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Sendmail]]></category>
		<category><![CDATA[bypass]]></category>
		<category><![CDATA[spam]]></category>

		<guid isPermaLink="false">http://www.xiitec.com/blog/?p=247</guid>
		<description><![CDATA[Your sendmail is configured to block incoming junk mail, and you have   been asked to allow junk mail through when it is addressed to specific   recipients.

Add an entry to the /etc/mail/access text file for each   recipient who should be allowed to receive junk mail. Use the tag Spam:  [...]]]></description>
			<content:encoded><![CDATA[<p>Your sendmail is configured to block incoming junk mail, and you have   been asked to allow junk mail through when it is addressed to specific   recipients.</p>
<p><span id="more-247"></span></p>
<p>Add an entry to the <em>/etc/mail/access</em> text file for each   recipient who should be allowed to receive junk mail. Use the tag Spam:   and the recipient address to create the key field of the entry. Use the keyword   FRIEND as the return value for each entry. Run makemap to build a hash type database from the text   file.</p>
<p>Create a sendmail configuration containing the <em>access_db </em>feature and the <em>delay_checks</em> feature with the optional   friend argument. Make sure that the <em>access_db</em> FEATURE   macro precedes the <em>delay_checks</em> FEATURE macro in the   configuration. Here are the lines that would be added to the sendmail   configuration:</p>
<pre>dnl Use the access database

FEATURE(`access_db')

dnl Check for spam friends before rejecting the mail

FEATURE(`delay_checks', `friend')</pre>
<p>Rebuild the <em>sendmail.cf</em> file, copy the new <em>sendmail.cf</em> file to <em>/etc/mail</em>, and restart sendmail</p>
<p>Someone on your system—the postmaster, a security expert, a   developer writing mail filters—might need to receive junk mail that is normally   blocked by sendmail. The <em>delay_checks</em> feature allows this by changing the   order in which spam checks are applied. The <em>delay_checks</em> feature allows   the envelope recipient address to be checked before the envelope sender address   or the connection address, which, in turn, makes it possible for mail addressed   to specific recipients to bypass the other two checks. To use the <em>delay_checks</em> feature in this way, it must be invoked with the   friend argument, as shown in the Solution section.</p>
<p>The specific recipients allowed to receive junk mail are   defined in the <em>access</em> database using the Spam: tag and the   FRIEND return value. Here is an example access database:</p>
<pre>Connect:example.com                  REJECT

Spam:uce@wrotethebook.com            FRIEND

Spam:clark+junk@wrotethebook.com     FRIEND</pre>
<p>Given the sendmail configuration described in the Solution   section, this <em>access</em> database rejects mail from <em>example.com</em> unless   it is addressed to <em>uce@wrotethebook.com</em> or to <em>clark+junk@wrotethebook.com</em>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.xiitec.com/blog/2009/02/13/bypassing-spam-checks/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Preventing Local Users from Replying to Spammers</title>
		<link>http://www.xiitec.com/blog/2009/02/12/preventing-local-users-from-replying-to-spammers/</link>
		<comments>http://www.xiitec.com/blog/2009/02/12/preventing-local-users-from-replying-to-spammers/#comments</comments>
		<pubDate>Thu, 12 Feb 2009 19:30:52 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Sendmail]]></category>
		<category><![CDATA[spam]]></category>

		<guid isPermaLink="false">http://www.xiitec.com/blog/?p=246</guid>
		<description><![CDATA[Before creating any user accounts, create an acceptable use   policy that, among many other things, gives you the power to block spam   communications—both inbound and outbound. Ensure that all users agree to this   policy before giving out any user accounts.

Add the spam addresses you want blocked to the /etc/mail/access [...]]]></description>
			<content:encoded><![CDATA[<p>Before creating any user accounts, create an acceptable use   policy that, among many other things, gives you the power to block spam   communications—both inbound and outbound. Ensure that all users agree to this   policy before giving out any user accounts.</p>
<p><span id="more-246"></span></p>
<p>Add the spam addresses you want blocked to the <em>/etc/mail/access</em> text file. Use To: and From: tags to   prevent mail from being sent to spammers or from being accepted from spammers.   Run makemap to build a hash database from the   text file.</p>
<p>Create a sendmail configuration that enables the <em>access</em> database with the <em>access_db </em>feature. The required sendmail   FEATURE command is:</p>
<pre>dnl Use the access database

FEATURE(`access_db')</pre>
<p>Rebuild the <em>sendmail.cf</em> file, copy the new <em>sendmail.cf</em> file to <em>/etc/mail</em>, and restart sendmail</p>
<p>By default, the <em>access</em> database applies to source   addresses. The action defined in the database entry is taken based on the source   of the email. For example,   mail from anyone at <em>example.com</em> is rejected with an &#8220;Access denied&#8221;   error. However, the <em>access</em> database  does not prevent mail from the local host being sent to someone at <em>example.com</em>.</p>
<p>Adding the To:tag to an <em>access</em> database entry   applies the action defined in the entry to recipient addresses that match the   key, while the From: tag specifically requests that the action be   applied to matching source addresses. Here is the <em>access</em> database rewritten with To: and From: tags:</p>
<pre>From:example.com          REJECT

To:example.com            ERROR:5.7.1:550 Mail to this site is not allowed

From:wrotethebook.net     ERROR:5.7.1:550 Invalid mail source

To:wrotethebook.net       ERROR:5.7.1:550 Mail to this site is not allowed

From:fake.ora.com         DISCARD

To:fake.ora.com           ERROR:5.7.1:550 Mail to this site is not allowed</pre>
<p>Because the action for the From: <em>example.com</em> entry is REJECT, mail from that site is rejected. With the addition of the To: entry, mail addressed to <em>example.com</em> is also rejected, as this test shows:</p>
<pre># <strong>telnet localhost smtp</strong>

Trying 127.0.0.1...  Connected to localhost.

Escape character is '^]'.

220 chef.wrotethebook.com ESMTP Sendmail 8.12.9/8.12.9; Fri, 22 Aug 2003 12:01:37 -  0400

<strong>HELO localhost</strong>

250 chef.wrotethebook.com Hello IDENT:UWSRv+Jij66J8vALUBVBECbGPVoU8OQe@localhost   [127.0.0.1], pleased to meet you

<strong>MAIL From:&lt;craig@chef.wrotethebook.com&gt;</strong>

250 2.1.0 &lt;craig@chef.wrotethebook.com&gt;... Sender ok  <strong>

RCPT To:&lt;crook@example.com&gt;</strong>

550 5.7.1 &lt;crook@example.com&gt;... Mail to this site is not allowed

<strong>QUIT</strong>

221 2.0.0 chef.wrotethebook.com closing connection  Connection closed by foreign host.</pre>
<h5>Alternatives</h5>
<p>The <em>blacklist_recipients</em> feature is an alternative way to block outbound mail to   known spammers. The <em>blacklist_recipients</em> feature applies every untagged   entry in the <em>access</em> database to recipient addresses. The following lines   added to the sendmail configuration enable the <em>access</em> database and apply   the database to recipient addresses:</p>
<pre>dnl Use the access database

FEATURE(`access_db')

dnl Also apply the access database to recipient addresses

FEATURE(`blacklist_recipients')</pre>
<p>The <em>blacklist_recipients</em> feature works well, and it is   very easy to use. However, because it applies to every untagged entry in the <em>access</em> database, it does not provide the level of configuration control   provided by the To: tag. Additionally, tags are self-documenting.   Anyone looking at the sample <em>access</em> database just shown understands that   mail to <em>example.com</em> is not allowed when they see the To: tag and   the error in the action field.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.xiitec.com/blog/2009/02/12/preventing-local-users-from-replying-to-spammers/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Using a DNS Blackhole List Service</title>
		<link>http://www.xiitec.com/blog/2009/02/12/using-a-dns-blackhole-list-service/</link>
		<comments>http://www.xiitec.com/blog/2009/02/12/using-a-dns-blackhole-list-service/#comments</comments>
		<pubDate>Thu, 12 Feb 2009 18:42:14 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Sendmail]]></category>
		<category><![CDATA[blackhole]]></category>
		<category><![CDATA[DNS]]></category>
		<category><![CDATA[spam]]></category>

		<guid isPermaLink="false">http://www.xiitec.com/blog/?p=244</guid>
		<description><![CDATA[Add the dnsbl feature to the sendmail configuration.   Identify the specific blackhole list service you wish to use on the dnsbl command line. Here is an example:

dnl Use the DSBL blacklist service

FEATURE(`dnsbl', `list.dsbl.org')
Rebuild the sendmail.cf file, copy the new sendmail.cf file to /etc/mail, and restart sendmail.
The dnsbl feature adds the sendmail.cf code  [...]]]></description>
			<content:encoded><![CDATA[<p>Add the <em>dnsbl </em>feature to the sendmail configuration.   Identify the specific blackhole list service you wish to use on the <em>dnsbl</em> command line. Here is an example:</p>
<p><span id="more-244"></span></p>
<pre>dnl Use the DSBL blacklist service

FEATURE(`dnsbl', `list.dsbl.org')</pre>
<p>Rebuild the <em>sendmail.cf</em> file, copy the new <em>sendmail.cf</em> file to <em>/etc/mail</em>, and restart sendmail.</p>
<p>The <em>dnsbl</em> feature adds the <em>sendmail.cf</em> code   needed to enable a DNS blacklist service. The <em>dnsbl</em> feature uses a   K command to define the <em>dnsbl</em> database as a host type   database, which means lookups in <em>dnsbl</em> are really passed to DNS for   resolution.The <em>dnsbl</em> feature also   adds a few rules to the Basic_check_relay ruleset, which is called from   the check_relay ruleset. The added rules lookup the connection address   in the <em>dnsbl</em> database. If the connection address is found in the   database, mail from that address is rejected with an error message. If the   connection address is not found in the <em>dnsbl</em> database, the mail is passed   on for further processing. A sendmail -bt test shows the   impact of the added rewrite rules:</p>
<pre># <strong>sendmail -bt</strong>

ADDRESS TEST MODE (ruleset 3 NOT automatically invoked)

Enter &lt;ruleset&gt; &lt;address&gt;

&gt; <strong>.D{client_addr}192.168.111.68</strong>

&gt; <strong>Basic_check_relay &lt;&gt;</strong>

Basic_check_rela   input: &lt; &gt;

Basic_check_rela returns: $# error $@ 5 . 7 . 1 $: "550 Rejected:

" 192 . 168 . 111 .  68 " listed at list.dsbl.org"

&gt; <strong>/quit</strong></pre>
<p>Because there is no active connection—this is just a test—the   first step is to statically define a connection address for the test. Next, the   Basic_check_relay ruleset is called and passed to an empty workspace.   The workspace passed to the ruleset in this test is unimportant because the   first rule added to the ruleset by the <em>dnsbl</em> feature unconditionally   replaces the workspace with the value found in ${client_addr}.   Therefore, the value looked up in the <em>dnsbl</em> database is the connection   address stored in the ${client_addr} macro. In this test, the address   192.168.111.68 is found in the blackhole list maintained at <em>list.dsbl.org</em>, so mail from that address is rejected. The mail is   rejected with the error message:</p>
<pre>550 Rejected: 192.168.111.68 listed at list.dsbl.org</pre>
<p>The error message displays the address that was rejected and   the service that recommended the rejection. This information is important. The   administrators at 192.168.111.68 might need to contact the blackhole   service to find out why their system is blacklisted and what they can do to get   it removed from the blackhole list. Often, a system is blacklisted because of a   configuration error that creates an open relay. As soon as the error is fixed,   the administrator wants to get the system removed from the blackhole list.   Knowing which services have blacklisted the system tells the administrator which   services must be contacted to get full mail service restored.</p>
<p>This configuration uses the blackhole server at <em>list.dsbl.org</em> because that is the service specified with the <em>dnsbl</em> feature command, which is just an example; it is not a   recommendation for the <em>list.dsbl.org</em> service. There are many blackhole   services available. Go to each service&#8217;s web site and evaluate their policy for listing   hosts in the database. Select the service whose policy most closely matches the   policy you want to enforce on your server.</p>
<p>When no service is specified on the <em>dnsbl</em> feature   command line, sendmail defaults to using <em>blackholes.mail-abuse.org</em>, which   is the same service that was used by the deprecated sendmail <em>rbl</em> feature.</p>
<p>The <em>enhdnsbl</em> feature could be used as an alternative to <em>dnsbl</em>. However, the <em>enhdnsbl</em> feature provides no   real advantage in this particular case.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.xiitec.com/blog/2009/02/12/using-a-dns-blackhole-list-service/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
