hosts.deny apparently ineffectual

Posted on 2004-08-19
Last Modified: 2010-05-18
I'm running a RedHat ES mail server (Postfix, Amavis, ClamAV), which has been barraged lately by the Zafi worm.  

Messages arrive from "" and one of three (so far) IP numbers.  

My hosts.deny file looks like this:


But these settings appear to have no effect (I restarted xinetd and have infact rebooted since changing settings).

I have an AT&T managed router and have had them deny the first two IP's, but almost immediately messages began to appear from a third.  I'd like to be able to take care of the denial on the server rather than the router (just to avoid needing to bug the AT&T people).

Would appreciate any suggestions.  I've never had to deny a host access before and feel like I'm missing something terribly obvious.  Points are based on some urgency.

Thank you!
Question by:suzdorr
LVL 51

Expert Comment

ID: 11842709
i.g. if your MTA (postfix) runs as daeomon hosts.deny is not in use
You need to tell postfix from which IPs to accept mail

and some more are your friends ..

Author Comment

ID: 11846667
Good information, ahoffman.  Don't think it'll be my solution, unfortunately.

Amavisd gets the mail first and does virus and spam checking before sending it on to post fix.  I'd like the mail rejected from the outset, since the whole process of virus scanning, message bouncing, and administrative notification consumes so much server time and log space.  (I'm getting a Zafi message every few seconds -- so my log is full of this junk.)

I've put the IP number and name in my Amavisd blacklist, but that seems to have no effect.  Now that I know hosts.deny has no effect (thanks!) I'll do some further study of amavisd.conf to see what I might have missed.  If anyone has any thoughts about that, I'd be grateful.

LVL 51

Accepted Solution

ahoffmann earned 100 total points
ID: 11849860
is amavisd called by the portmapper from inetd? or runs it as daemon?
In the latter case host.deny is not used, except amavisd does it itself, you need to check your docs
LVL 23

Assisted Solution

Mysidia earned 100 total points
ID: 11862708
Generally hosts.deny is not used unless  the program is run from inetd using tcpd  or was linked against
the tcp wrappers library when compiled.

I think your best off installing/enabling Netfilter on the system and using iptables to filter out the connections earlier on
using the firewall configuration, i.e.

iptables -A INPUT -s  --dport 25 -j DENY

(and make sure firewall settings are saved in some manner so that the rules will reload at boot)

your other blacklist is still useful in case they get a new ip with the same domain

Assisted Solution

Lego_Maniac earned 100 total points
ID: 11919762
If you don't have iptables installed, you can also do the "poor man's firewall".  
Basically route the IP addresses into a black hole, so that return traffic can't reach the offending IP addresses.
SMTP requires a bidirectional communication, so if your traffic can't get back to them, they effectively can't open the SMTP connection (or any connection)

route add gw
(pick any unused IP that's local to your network)

This will cause some ARP-WHO IS traffic, but you can cure that with static arp entries:
arp -s aa:bb:cc:dd:ee:ff

Featured Post

Highfive Gives IT Their Time Back

Highfive is so simple that setting up every meeting room takes just minutes and every employee will be able to start or join a call from any room with ease. Never be called into a meeting just to get it started again. This is how video conferencing should work!

Join & Write a Comment

​Being a Managed Services Provider (MSP) has presented you  with challenges in the past— and by meeting those challenges you’ve reaped the rewards of success.  In 2014, challenges and rewards remain; but as the Internet and business environment evol…
Hello EE, Today we will learn how to send all your network traffic through Tor which is useful to get around censorship and being tracked all together to a certain degree. This article assumes you will be using Linux, have a minimal knowledge of …
It is a freely distributed piece of software for such tasks as photo retouching, image composition and image authoring. It works on many operating systems, in many languages.
When you create an app prototype with Adobe XD, you can insert system screens -- sharing or Control Center, for example -- with just a few clicks. This video shows you how. You can take the full course on Experts Exchange at

759 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

19 Experts available now in Live!

Get 1:1 Help Now