Randahl,
I am certain that my James installation is not an open relay. Below is
my relay matcher. I have put in a notice entry so that when the spam
processor sends me mail that there was a problem, I'll know that it came
from an attempted relay.
I think you should examine your smtpserver.log to see if your firewall
is rewriting the ip's as Serge suggested.
<mailet match="RemoteAddrNotInNetwork=127.0.0.1,192.168.0.*"
class="ToProcessor">
<processor> spam </processor>
<notice> Relays not permitted. </notice>
</mailet>
Eric
Serge Knystautas wrote:
>Randahl,
>
>My guess would be that your firewall is rewriting addresses or otherwise
>making it appear that every inbound email is on the 10.0.0.x network.
>That's the only explanation I can think of since otherwise they wouldn't get
>relayed.
>
>Serge Knystautas
>Loki Technologies - Unstoppable Websites
>http://www.lokitech.com/
>----- Original Message -----
>From: "Randahl Fink Isaksen" <[EMAIL PROTECTED]>
>To: "'James Users List'" <[EMAIL PROTECTED]>
>Sent: Wednesday, May 22, 2002 8:44 AM
>Subject: RE: Relay prevention
>
>
>
>
>>Hi Danny (and others)
>>
>>
>>Yes, I have made several tests where I was able to deliver mails to
>>accounts outside of my network even though the configuration should
>>prevent it. For instance, the below example (1) where I telnet'ed
>>allowed me to send an e-mail to my hotmail account.
>>
>>Moreover the open relay database at www.ordb.org has now blacklisted my
>>JAMES installation, and testing it with spamlart (you can try it
>>yourself by clicking below) made it flunk bigtime.
>>
>>http://www.paladincorp.com.au/cgi-bin/spamlart.cgi?DESTINATION=test.rock
>>it.dk
>>
>>
>>Are you guys absolutely certain that your installations are not
>>relaying? If you are, I would really like to see some configuration
>>examples. If you are not, I would like to recommend you try
>>http://www.ordb.org/submit/.
>>
>>
>>I really need to solves this quickly but I am really stuck here, so any
>>feedback on the configuration I have posted will be highly appreciated.
>>
>>
>>Yours
>>Randahl
>>
>>
>>-----Original Message-----
>>From: Danny Angus [mailto:[EMAIL PROTECTED]]
>>Sent: Wednesday, May 22, 2002 08:51
>>To: James Users List
>>Subject: RE: Relay prevention
>>
>>Randahl
>>
>>Just because James accepts mail, does not make it a relay, is mail sent
>>from
>>clients on other networks actually being delivered?
>>
>>http://jakarta.apache.org/james/FAQ.html#2
>>
>>
>>
>>>-----Original Message-----
>>>From: Randahl Fink Isaksen [mailto:[EMAIL PROTECTED]]
>>>Sent: 21 May 2002 22:51
>>>To: [EMAIL PROTECTED]
>>>Subject: Relay prevention
>>>
>>>
>>>Hi
>>>
>>>
>>>I am having a hard time stopping james from relaying mails (see config
>>>file below). Here is my list of unsolved issues - I would really
>>>appreciate any constructive feedback:
>>>
>>>1. I am using the SenderInFakeDomain matcher but it seems to have
>>>no effect. If I telnet to JAMES I can easily make JAMES send an e-mail
>>>using arbitrary sender addresses as in "mail from:[EMAIL PROTECTED]".
>>>JAMES just gives me an "OK" response.
>>>2. I have tried many different parameters for
>>>RemoteAddrNotInNetwork in the so-called anti-relay mailet. Currently I
>>>am trying to send everything to the SPAM folder unless it comes from
>>>127.0.0.1 (JAMES itself) or one of my local IPs, e.g. 10.0.0.23. This
>>>has no effect what so ever - I tested it with on-line relay-testers,
>>>
>>>
>>and
>>
>>
>>>even had a friend from another network telnet to my server, and he was
>>>able to send an e-mail aswell.
>>>3. I tried setting authRequired to true, but this seems not to be
>>>compatible with MS Outlook which fails to authenticate (I have tried
>>>many different sensible settings). This is the solution which I would
>>>like the most, since I hope it would could enable me to check my JAMES
>>>account outside the office aswell.
>>>
>>>The fact that my JAMES installation is an open relay has caused me no
>>>problems (yet), but I really would like to put an effort into stopping
>>>the spammers who are actively abusing my installation. Urgent help
>>>
>>>
>>will
>>
>>
>>>be highly appreciated. My config file is included below.
>>>
>>>Thanks
>>>
>>>
>>>Randahl
>>>
>>>
>>><?xml version="1.0"?>
>>><config>
>>>
>>> <!-- The James block -->
>>> <James>
>>><!-- CHECKME! Set this to the right email address for error reports
>>>
>>>
>>-->
>>
>>
>>> <postmaster>[EMAIL PROTECTED]</postmaster>
>>>
>>><!-- CONFIRM? -->
>>> <!-- servernames identifies the DNS namespace served by this
>>>instance
>>> of James.
>>> If autodetect is TRUE, James wil attempt to discover its own
>>>
>>>
>>name
>>
>>
>>>AND use
>>> any specified servernames. If autodetect is FALSE, James will
>>>
>>>
>>use
>>
>>
>>>only
>>> the specified servernames. By default, the servername
>>>
>>>
>>'localhost'
>>
>>
>>>is
>>> specified. This can be removed, if required. -->
>>> <servernames autodetect="FALSE">
>>> <servername>rockit.dk</servername>
>>> <!--
>>> <servername>To override autodetected server names
>>> uncomment this. </servername>
>>> <servername>localhost</servername>-->
>>> </servernames>
>>>
>>> <!-- Set whether user names are case sensitive or insensitive
>>>
>>>
>>-->
>>
>>
>>> <!-- Set whether to enable local aliases -->
>>> <usernames ignoreCase="TRUE" enableAliases="TRUE"
>>> enableForwarding="TRUE"/>
>>>
>>>
>>>
>>> <!-- The inbox repository is the location for users inboxes -->
>>> <!-- Default setting: file based repository - enter path ( :///
>>>for absolute) -->
>>> <inboxRepository>
>>> <repository destinationURL="file://var/mail/inboxes/"
>>> type="MAIL">
>>> </repository>
>>> </inboxRepository>
>>> <!-- Alternative inbox repository definition for DB use. -->
>>> <!-- The format for the destinationURL is
>>>"db://<data-source>/<table>"
>>> - <data-source> is the datasource name set up in the
>>> database-connections block, below
>>> - <table> is the name of the table to store user inboxes
>>>
>>>
>>in
>>
>>
>>> The user name is used as <repositoryName> for this
>>>
>>>
>>repository
>>
>>
>>>config.
>>>
>>> <inboxRepository>
>>> <repository destinationURL="db://maildb/inbox/"
>>> type="MAIL">
>>> </repository>
>>> </inboxRepository>
>>> -->
>>> </James>
>>>
>>> <!-- The James Spool Manager block -->
>>> <spoolmanager>
>>>
>>>
>>> <!-- number of spool threads -->
>>> <threads> 10 </threads>
>>>
>>> <!-- Set the packages from which to load mailets and matches
>>>
>>>
>>-->
>>
>>
>>> <mailetpackages>
>>>
>>><mailetpackage>org.apache.james.transport.mailets</mailetpackage>
>>> </mailetpackages>
>>> <matcherpackages>
>>>
>>><matcherpackage>org.apache.james.transport.matchers</matcherpackage>
>>> </matcherpackages>
>>>
>>> <!-- Processor CONFIGURATION SAMPLE:
>>> root is the first processor all mails enter -->
>>> <processor name="root">
>>> <!-- Checks that the MAIL FROM command was for a valid
>>>
>>>
>>domain.
>>
>>
>>> Important for spam prevention. -->
>>> <!-- -->
>>> <mailet match="SenderInFakeDomain" class="ToProcessor">
>>> <processor> spam </processor>
>>> </mailet>
>>>
>>> <!-- Important check to avoid race conditions -->
>>> <mailet match="RelayLimit=30" class="Null">
>>> </mailet>
>>>
>>> <!-- Check for delivery from a known spam server -->
>>> <mailet match="InSpammerBlacklist=blackholes.mail-abuse.org"
>>> class="ToProcessor">
>>> <processor> spam </processor>
>>> <notice> Rejected - see http://www.mail-abuse.org/rbl/
>>></notice>
>>> </mailet>
>>>
>>> <mailet match="InSpammerBlacklist=dialups.mail-abuse.org"
>>> class="ToProcessor">
>>> <processor> spam </processor>
>>> <notice> Dialup - see http://www.mail-abuse.org/dul/
>>></notice>
>>> </mailet>
>>>
>>> <mailet match="InSpammerBlacklist=relays.mail-abuse.org"
>>> class="ToProcessor">
>>> <processor> spam </processor>
>>> <notice> Open spam relay - see
>>>http://www.mail-abuse.org/rss/ </notice>
>>> </mailet>
>>>
>>> <!-- Sample matching to kill a message (send to Null) -->
>>> <mailet match="RecipientIs=badboy@badhost" class="Null">
>>> </mailet>
>>>
>>> <!-- Sends remaining mails to the transport processor for
>>>either
>>> local or remote delivery -->
>>> <mailet match="All" class="ToProcessor">
>>> <processor> transport </processor>
>>> </mailet>
>>> </processor>
>>>
>>> <!-- Processor CONFIGURATION SAMPLE: error is the processor
>>>mails with
>>> failure conditions enter -->
>>> <processor name="error">
>>> <!-- Logs any messages to the repository specified -->
>>> <mailet match="All" class="ToRepository">
>>> <repositoryPath> file://var/mail/error/</repositoryPath>
>>> <!-- <repositoryPath> db://conf/mail-error.properties
>>></repositoryPath> -->
>>> <passThrough> true </passThrough>
>>> </mailet>
>>>
>>> <!-- If you want to notify the sender their message was
>>>
>>>
>>marked
>>
>>
>>>as
>>> spam, uncomment this -->
>>> <mailet match="All" class="NotifySender">
>>> </mailet>
>>> <!-- -->
>>>
>>> <!-- If you want to notify the postmaster that a message was
>>>marked
>>> as spam, uncomment this -->
>>> <mailet match="All" class="NotifyPostmaster">
>>> </mailet>
>>> <!-- -->
>>> </processor>
>>>
>>> <!-- Processor CONFIGURATION SAMPLE: transport is a sample
>>>custom
>>> processor for local or remote delivery -->
>>> <processor name="transport">
>>> <!-- Is the recipient is for a local account, deliver it
>>>locally -->
>>> <mailet match="RecipientIsLocal" class="LocalDelivery">
>>> </mailet>
>>>
>>> <!-- If the host is handled by this server and it did not
>>>
>>>
>>get
>>
>>
>>> locally delivered, this is an invalid recipient -->
>>> <mailet match="HostIsLocal" class="ToProcessor">
>>> <processor>error</processor>
>>> </mailet>
>>>
>>><!-- CHECKME!
>>> Anti-relay mailet: Add your network address here,
>>> e.g. "RemoteAddrNotInNetwork=127.0.0.1, abc.de.*"
>>>-->
>>>
>>> <!-- This matcher-mailet pair can prevent relaying... if you
>>>change
>>> this, you risk making your mail server an open relay point
>>>for
>>> spammers .
>>> NOTE 1: the order of matcher-mailets is important: it must
>>>come after
>>> valid local recipients have been dealt with but before any
>>>attempt is
>>> made to delivery the mail remotely.
>>> NOTE 2: Add your own network, if you want to relay mail
>>>outwards
>>> NOTE 3: If you use SMTP AUTH, you may want to comment this
>>> so users who are on the road can still use the server -->
>>> <mailet match="RemoteAddrNotInNetwork=127.0.0.1, 10.0.0.*"
>>>class="ToProcessor">
>>> <processor>spam</processor>
>>> </mailet>
>>>
>>> <!-- Attempt remote delivery using the specified repository
>>>for the
>>> spool,
>>> using delay time to retry delivery and the maximum number of
>>> retries -->
>>> <mailet match="All" class="RemoteDelivery">
>>> <outgoing> file://var/mail/outgoing/ </outgoing>
>>> <!-- <outgoing> db://conf/mail-outgoing.properties
>>></outgoing> -->
>>> <delayTime> 21600000 </delayTime>
>>> <maxRetries> 5 </maxRetries>
>>> </mailet>
>>> </processor>
>>>
>>> <!-- Processor CONFIGURATION SAMPLE: spam is where messages
>>>detected
>>> as relaying or other problems will get sent. You can either
>>>
>>>
>>log
>>
>>
>>>these,
>>> bounce these, or just ignore them. -->
>>> <processor name="spam">
>>> <!-- If you wanted, you could just destroy messages,
>>>
>>>
>>uncomment
>>
>>
>>>this
>>> matcher/mailet
>>> <mailet match="All" class="Null">
>>> </mailet>
>>> -->
>>>
>>> <!-- If you want to notify the sender their message was
>>>
>>>
>>marked
>>
>>
>>>as
>>> spam, uncomment this -->
>>> <mailet match="All" class="NotifySender">
>>> </mailet>
>>> <!-- -->
>>>
>>> <!-- If you want to notify the postmaster that a message was
>>>marked
>>> as spam, uncomment this-->
>>> <mailet match="All" class="NotifyPostmaster">
>>> </mailet>
>>> <!-- -->
>>>
>>> <!-- Out of the box, this will log the message to a
>>>
>>>
>>repository
>>
>>
>>>-->
>>> <mailet match="All" class="ToRepository">
>>> <repositoryPath>file://var/mail/spam/</repositoryPath>
>>> </mailet>
>>> </processor>
>>> </spoolmanager>
>>>
>>>
>>> <smtpserver>
>>> <port>25</port>
>>> <!--<bind></bind> uncomment this if you want to bind to a
>>>specific
>>> inetaddress -->
>>> <!--<useTLS>TRUE</useTLS>uncomment this if you want to use TLS
>>>(SSL)
>>> on this port -->
>>> <handler>
>>> <!-- helloName is the single host name this instance of
>>>
>>>
>>James
>>
>>
>>>will
>>> use to identify itself for example, in SMTP and POP3
>>>greetings. If
>>> autodetect is TRUE, James will attempt to discover its own
>>>name OR
>>> use 'localhost'. If autodetect is FALSE, James will use the
>>>value
>>> given OR 'localhost' -->
>>> <helloName autodetect="FALSE">ROCK IT Mail
>>>
>>>
>>Server</helloName>
>>
>>
>>> <connectiontimeout>360000</connectiontimeout>
>>>
>>> <authRequired>false</authRequired><!-- uncomment this if you
>>>want
>>> SMTP AUTH support. This is useful if you have users who need
>>>to use
>>> the email server on the road, while not having your server
>>>
>>>
>>act
>>
>>
>>>as an
>>> open relay! -->
>>>
>>> <verifyIdentity>true</verifyIdentity><!-- uncomment this if
>>>
>>>
>>you
>>
>>
>>>want
>>> to verify that the MAIL FROM: address is the same user that
>>> authenticated. This prevents a user of your mail server from
>>>acting
>>> as somebody else -->
>>>
>>> <!-- This sets the maximum allowed message size for the
>>>smtphandler
>>> in KBytes. The value defaults to 0, which means no limit.
>>>
>>>
>>-->
>>
>>
>>> <maxmessagesize>0</maxmessagesize>
>>>
>>> </handler>
>>> </smtpserver>
>>>
>>>
>>>
>>></config>
>>>
>>>
>>>
>>>
>>>
>>--
>>To unsubscribe, e-mail:
>><mailto:[EMAIL PROTECTED]>
>>For additional commands, e-mail:
>><mailto:[EMAIL PROTECTED]>
>>
>>
>>--
>>To unsubscribe, e-mail:
>>
>>
><mailto:[EMAIL PROTECTED]>
>
>
>>For additional commands, e-mail:
>>
>>
><mailto:[EMAIL PROTECTED]>
>
>
>>
>>
>
>
>--
>To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]>
>For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>
>
>
>
>
>
--
To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]>
For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>