Postfix & Grsecurity

Postfix, QMail, Sendmail, Dovecot, Cyrus, Courier, Anti-Spam
encbladexp
Posts: 84
Joined: 2006-01-04 12:09
Location: Lichtenfels

Postfix & Grsecurity

Post by encbladexp » 2006-01-11 19:29

Servus Leute,

ich habe heute auf meinen Strato Power Server (ich weis, nicht gerade das beste Angebot, aber für den Anfang muss es reichen) endlich mal einen Mailserver installiert, da mit persönlich exim auch schon unter woody nicht gefallen hat (dort war aber noch exim3 drauf) habe ich auf meinem rootie heute postfix installiert, zuhause verwende ich persönlich sendmail, aber das ist ein anderes Thema.

Nun zu meinem eigentlichem Problem:
Ich kann von aussen (Internet) keine mail via SMTP an meinen Rootie schicken, es dauert immer ewig, bis halt dann mal ein Timeout kommt...

Auf dem Server läuft ein Debian Sarge (+ Security Updates), als Kernel verwende ich 2.4.32 + Grsecurity Patch. Die /proc Restrictions sind aktiviert!

So sieht meine /etc/postfix/main.cf momentan aus:

Code: Select all

smtpd_banner = $myhostname ESMTP $mail_name (Debian/GNU)
biff = no
append_dot_mydomain = no
myhostname = encbladexp.de
alias_maps = hash:/etc/aliases
alias_database = hash:/etc/aliases
mydomain = encbladexp.de
mydestination = h752837.serverkompetenz.net, localhost, encbladexp.de
mynetworks = 127.0.0.0/8
inet_interfaces = all
virtual_alias_domains = encbladexp.net, stefan-betz.net
virtual_alias_maps = hash:/etc/postfix/virtual
so sieht meine master.cf aus (kommentare gecutet):

Code: Select all

# ==========================================================================
# service type  private unpriv  chroot  wakeup  maxproc command + args
#               (yes)   (yes)   (yes)   (never) (100)
# ==========================================================================
smtp      inet  n       -       -       -       -       smtpd
#submission inet n      -       -       -       -       smtpd
#       -o smtpd_etrn_restrictions=reject
#628      inet  n       -       -       -       -       qmqpd
pickup    fifo  n       -       -       60      1       pickup
cleanup   unix  n       -       -       -       0       cleanup
qmgr      fifo  n       -       -       300     1       qmgr
#qmgr     fifo  n       -       -       300     1       oqmgr
rewrite   unix  -       -       -       -       -       trivial-rewrite
bounce    unix  -       -       -       -       0       bounce
defer     unix  -       -       -       -       0       bounce
trace     unix  -       -       -       -       0       bounce
verify    unix  -       -       -       -       1       verify
flush     unix  n       -       -       1000?   0       flush
proxymap  unix  -       -       n       -       -       proxymap
smtp      unix  -       -       -       -       -       smtp
relay     unix  -       -       -       -       -       smtp
#       -o smtp_helo_timeout=5 -o smtp_connect_timeout=5

showq     unix  n       -       -       -       -       showq
error     unix  -       -       -       -       -       error
local     unix  -       n       n       -       -       local
virtual   unix  -       n       n       -       -       virtual
lmtp      unix  -       -       n       -       -       lmtp
anvil     unix  -       -       n       -       1       anvil
#
# Interfaces to non-Postfix software. Be sure to examine the manual
# pages of the non-Postfix software to find out what options it wants.
#
# maildrop. See the Postfix MAILDROP_README file for details.
#
maildrop  unix  -       n       n       -       -       pipe
  flags=DRhu user=vmail argv=/usr/local/bin/maildrop -d ${recipient}
uucp      unix  -       n       n       -       -       pipe
  flags=Fqhu user=uucp argv=uux -r -n -z -a$sender - $nexthop!rmail ($recipient)
ifmail    unix  -       n       n       -       -       pipe
  flags=F user=ftn argv=/usr/lib/ifmail/ifmail -r $nexthop ($recipient)
bsmtp     unix  -       n       n       -       -       pipe
  flags=Fq. user=bsmtp argv=/usr/lib/bsmtp/bsmtp -d -t$nexthop -f$sender $recipient
scalemail-backend unix  -       n       n       -       2       pipe
  flags=R user=scalemail argv=/usr/lib/scalemail/bin/scalemail-store ${nexthop} ${user} ${extension}
Das war dann eigentlich auch schon alles von meiner Seite aus, ich habe mehrmals mittels telnet usw. versucht auf den SMTP Port von meinem Server zu kommen, bei mir hats net geklapt... Wäre für jede Hilfe dankbar...

mfg Betz Stefan

User avatar
Joe User
Project Manager
Project Manager
Posts: 11578
Joined: 2003-02-27 01:00
Location: Hamburg

Re: Postfix & Grsecurity

Post by Joe User » 2006-01-11 19:56

Dein Fehler liegt in folgender Zeile:

Code: Select all

mynetworks = 127.0.0.0/8
PayPal.Me/JoeUserFreeBSD Remote Installation
Wings for LifeWings for Life World Run

„If there’s more than one possible outcome of a job or task, and one
of those outcomes will result in disaster or an undesirable consequence,
then somebody will do it that way.“ -- Edward Aloysius Murphy Jr.

danimax
Posts: 8
Joined: 2003-07-12 05:45
Location: Monnem

Re: Postfix & Grsecurity

Post by danimax » 2006-01-11 19:59

würde ich auch sagen...

probier mal die öffentliche IP-Adresse dort zusätzlich einzutragen...


(dachte vieleicht hilft dieser Hinweis)

encbladexp
Posts: 84
Joined: 2006-01-04 12:09
Location: Lichtenfels

Re: Postfix & Grsecurity

Post by encbladexp » 2006-01-11 21:20

Nein, hat nichts gebracht (so ein scheiß)...

Laut http://www.postfix.org/postconf.5.html#mynetworks ist mynetworks aber eh für das Interne netz gedacht :-(

Auch das manuelle Setzen von inet_interfaces hat nix gebracht...

Ich schalte jetzt mal testweise /proc restrictions für Grsecurity aus, mal sehen ob es dann geht...

mfg Betz Stefan
PS: Das versenden von mail über postfix (z.B. mit mutt) klappt wunderbar...

encbladexp
Posts: 84
Joined: 2006-01-04 12:09
Location: Lichtenfels

Re: Postfix & Grsecurity

Post by encbladexp » 2006-01-11 21:42

Ich habs gerade mal ohne die /proc Restrictions vom Kernel probiert, hat auch nicht geklappt, alle anderen Einstellungen von grsecurity sehen aber eigentlich gut aus... Laut "netstat -l" gibt es ja auch einen Socket der auf allen Interfaces auf Port 25 lauscht...

Wenn ich (auf dem Server) eine verbindung macht, also:
telnet 127.0.0.1 25 -> OK
telnet meineip -> OK

Von draussen ist das allerdings net okay, ich komme einfach net auf den SMTP Port...

iptables -L behauptet folgendes:

Code: Select all

Chain INPUT (policy DROP)
target     prot opt source               destination
ACCEPT     icmp --  anywhere             anywhere            icmp any
ACCEPT     all  --  anywhere             anywhere            state RELATED,ESTABLISHED
           tcp  --  anywhere             anywhere            tcp dpt:ssh state NEW recent: SET name: SSH side: source
ULOG       tcp  --  anywhere             anywhere            tcp dpt:ssh state NEW recent: UPDATE seconds: 60 hit_count: 4 TTL-Match name: SSH side: source ULOG copy_range 0 nlgroup 1 prefix `SSH_Brute_Force_Attack' queue_threshold 1
DROP       tcp  --  anywhere             anywhere            tcp dpt:ssh state NEW recent: UPDATE seconds: 60 hit_count: 4 TTL-Match name: SSH side: source
ACCEPT     tcp  --  anywhere             anywhere            tcp dpt:ssh state NEW
ACCEPT     tcp  --  anywhere             anywhere            tcp dpt:smtp
ACCEPT     udp  --  anywhere             anywhere            udp spt:bootps dpt:bootpc
DROP       udp  --  anywhere             anywhere            udp dpt:netbios-ns
DROP       tcp  --  anywhere             anywhere            tcp dpt:loc-srv
ACCEPT     all  --  anywhere             anywhere
DROP       all  --  anywhere             anywhere

Chain FORWARD (policy DROP)
target     prot opt source               destination
ACCEPT     icmp --  anywhere             anywhere            icmp any
DROP       all  --  anywhere             anywhere

Chain OUTPUT (policy DROP)
target     prot opt source               destination
ACCEPT     icmp --  anywhere             anywhere            icmp any
ACCEPT     tcp  --  anywhere             anywhere            tcp spt:ssh
ACCEPT     tcp  --  anywhere             anywhere            tcp dpt:smtp
ACCEPT     udp  --  anywhere             anywhere            udp spt:bootpc dpt:bootps
ACCEPT     udp  --  anywhere             anywhere            udp dpt:domain
ACCEPT     udp  --  anywhere             anywhere            udp dpt:ntp
ACCEPT     tcp  --  anywhere             anywhere            tcp dpt:www
ACCEPT     all  --  anywhere             anywhere
DROP       all  --  anywhere             anywhere
Vielleicht hilft das ja weiter...

mfg Betz Stefan

encbladexp
Posts: 84
Joined: 2006-01-04 12:09
Location: Lichtenfels

Re: Postfix & Grsecurity

Post by encbladexp » 2006-01-11 21:53

Ok, hab mein Problem gefunden...

Das hat man davon wenn man iptables sagt alles auf Port 25 darf rein, aber ich hätte iptables auch mal sagen sollen das auch Pakete die zu Port 25 gehören (nach draussen) erlaubt sein soll...

Ich könnte mich in den Arsch beißen...

Den Thread kann man jetzt wirklich löschen, ich schreibe schon ewig oft Iptables-Firewalls (eigentlich Paketfilter, ich weis)... Aber sowas ist mir noch nie passiert...

mfg Betz Stefan
PS: Danke noch mal an alle die (versucht) haben mir zu helfen...