From: Jeroen Geilman <jeroen <at> adaptr.nl>
Subject: 
<http://news.gmane.org/find-root.php?message_id=%3c4EFE2FA1.1050903%40adaptr.nl%3e>Re:
 Relay for many local systems, but restrict internet forwarding?
Date: 2011-12-30 21:39:45 GMT (3 days, 18 hours and 26 minutes ago)

>LR> Currently, we have a Postfix V2.4.5 server 
>LR> 

J.> That is quite old; consider upgrading to at least one of the current 2.8 
J.> branches.

Yep. I should have mentioned that a foundational "first upgrade to current 
version" will be performed, then "modify the config with new function" will 
occur.

>LR> with no local accounts receiving email.
>LR> 
>LR> We permit internal, local systems to freely use the system as a relay:
>LR> 
>LR>  smtpd_client_restrictions = permit_mynetworks, reject
>LR>  permit_mynetworks 
>LR> 

J.> Is this a typo/copy-o, or is this really in your main .cf ?

Yeah, somewhat of a typo - this is the only line that should have made it into 
my original post:
     
        smtpd_client_restrictions = permit_mynetworks, reject

>LR>  mynetworks = 127.0.0.0/8, 295.283.0.0/16, 10.0.0.0/8
>LR>   (internal subnet obviously obfuscated)
>LR> 

J.> Obviously not, since those are private IP ranges and hence they do not NEED 
J.> obfuscation.

We have a really odd internal environment with a mix of private RFC 1918 
addressing AND public, routable IP addresses... so yes, I did intend to 
obfuscate our "Class B" sized public subnet in my previous post. I just copied 
the line from our main.cf "as is" and changed the public network subnet to the 
goofy numbers.

LR> 
LR> In our transport_maps file:
LR>  ourdomain.org        :
LR>  .ourdomain.org       :
LR>  *                       smtp:[firewall.ourdomain.org]
LR> 
LR> ----
LR> Ok, now management has asked us to restrict the flow of outbound email 
(i.e. 
LR> to the internet) to only selected systems, based on their IP addresses.
LR> 
LR> I'm looking for a general suggestion of how I can implement this selective 
LR> permit of only certain systems to have emails forwarded out to the 
internet, 
LR> with the rest of the systems still able to send email internally via the 
LR> Postfix-based mail gateway machine.
LR> 

J.> You want to selectively allow certain internal source IPs to be able to 
send 
J.> mail to the outside world ?

Yes.

J.>
J.> smtpd_recipient_restrictions = check_client_access 
cidr:/etc/postfix/allow_out, reject_unauth_destination, permit
J.> 
J.> and in /etc/postfix/allow_out:
J.> 
J.>     permitted.IP              OK
J.>     other.permitted.IP    OK
J.>     permitted.IP/range   OK
J.> 
J.> The reject_unauth_destination check AFTER the client access check yielded 
no 
J.> positive OK or REJECT means that any other internal or external clients can 
J.> only send mail to authorized destinations, i.e., recipients/domains postfix 
J.> controls mail for.

That is EXACTLY what I was looking for, thank you very much.

LR> 
LR> BTW, there is a single network connection on the Postfix box - dual path 
LR> isn't feasible at this time.
LR> 
LR> Is sender_dependent_relayhost_maps my proper starting point for 
investigation 
LR> & experimentation?
LR> 


J.> Hell no, that's way too complicated.
J.> Why do you have transport_maps at all here ?
J.> if (.)ourdomain.org is in mydestination or virtual_mailbox_domains, it will 
J.> never be sent over smtp to begin with.
J.> 
J.> -- J. 
J.> 

Actually, we *are* rewriting inbound email headers... we accept email for two 
domains, but our internal email system only uses one of them. I tried to keep 
my example simple (my bad), so I showed only one domain.

My "transport" file actually looks like this:

 ourdomain.com         :
 .ourdomain.com        :
 ourdomain.org             smtp:ourdomain.com
 .ourdomain.org            smtp:ourdomain.com
 *                       smtp:[firewall.ourdomain.com]

"joe_u...@ourdomain.org" mailbox doesn't really exist, but some of our 
customers want to address email to Joe U. that way - so we turn 
"joe_u...@ourdomain.org" into "joe_u...@ourdomain.com" via Postfix, then ship 
it to our internal email system and it ends up properly delivered to Joe User.

---

Thank you for your valuable suggestions.

I (unfortunately) am being currently used like a swiss army knife within my 
organization and don't get to spend nearly as much time with Postfix as I'd 
like to. We don't seem to need to make many large changes, so I seldom have to 
do much configuration creativity. Someone before me had set it up, and I just 
kind of inherited it.

Lee Roth

Reply via email to