Page 1 of 1

imap nur lokal

Posted: 2009-02-10 22:41
by mac_bobby
Hallo.

Ich habe courier-imap installiert und will, dass meine Kunden nur Zugriff auf IMAP über einen Webmail-Client haben, und sonst sich die Emails per Pop3 abholen.

Wie kann ich das ohne iptables bewerkstelligen? Grund: Ich habe nur einen vServer, der iptables nicht erlaubt.


Viele Grüße mac_bobby

Re: imap nur lokal

Posted: 2009-02-10 23:02
by Joe User
Binde den IMAPd an 127.0.0.1

Re: imap nur lokal

Posted: 2009-02-11 19:07
by mac_bobby
Joe User wrote:Binde den IMAPd an 127.0.0.1
Vielen Dank. Wo genaue stelle ich dies ein?

Re: imap nur lokal

Posted: 2009-02-11 19:54
by Roger Wilco
In der /etc/courier/imapd.cnf.

Re: imap nur lokal

Posted: 2009-02-12 16:17
by mac_bobby
Also eine "cnf"-Datei habe ich nicht, bei mir heißt sie nur "imapd", aber das sollte ja nun nicht das Problem darstellen.

Welchen Passus in der Datei muss ich denn genau bearbeiten?
Hier gibt es sowas wie "ADDRESS=0". Muss das in "ADDRESS=127.0.0.1" umgeschrieben werden?
Das habe ich gemacht, auch den imap-Dienst neugestartet bzw. nochmal den Server neugestartet. Jedoch habe ich immernoch Zugriff von z.B. Thunderbird.

Re: imap nur lokal

Posted: 2009-02-12 16:33
by mac_bobby
Also der IMAP-Zugriff geht ohne SSL normal über Port 143...also wäre SSLADDRESS ja egal, oder? An was kann es denn liegen, dass es immernoch von außen geht?

Re: imap nur lokal

Posted: 2009-02-12 16:52
by mac_bobby
Also das steht da, obwohl in der conf (/etc/courier/imapd) ADDRESS=127.0.0.1 steht:

Code: Select all

Proto Recv-Q Send-Q Local Address           Foreign Address         State       Benutzer   Inode      PID/Program name
tcp        0      0 IP_ADDRESS:143      0.0.0.0:*               LISTEN     0          366347025  8600/couriertcpd

Re: imap nur lokal

Posted: 2009-02-12 17:06
by mac_bobby

Code: Select all

UID        PID  PPID  C STIME TTY          TIME CMD
root     25586     1  0 Feb11 ?        00:00:00 /sbin/syslogd
bind     25604     1  0 Feb11 ?        00:00:00 /usr/sbin/named -u bind
root     25656     1  0 Feb11 ?        00:00:00 /bin/sh /usr/bin/mysqld_safe
mysql    25693 25656  0 Feb11 ?        00:00:00 /usr/sbin/mysqld --basedir=/usr
root     25694 25656  0 Feb11 ?        00:00:00 logger -p daemon.err -t mysqld_s
root     25741     1  0 Feb11 ?        00:00:00 /usr/sbin/courierlogger -pid=/va
root     25742 25741  0 Feb11 ?        00:00:00 /usr/lib/courier/courier-authlib
root     25744 25742  0 Feb11 ?        00:00:00 /usr/lib/courier/courier-authlib
root     25745 25742  0 Feb11 ?        00:00:00 /usr/lib/courier/courier-authlib
root     25746 25742  0 Feb11 ?        00:00:00 /usr/lib/courier/courier-authlib
root     25747 25742  0 Feb11 ?        00:00:00 /usr/lib/courier/courier-authlib
root     25748 25742  0 Feb11 ?        00:00:00 /usr/lib/courier/courier-authlib
root     25758     1  0 Feb11 ?        00:00:00 /usr/sbin/couriertcpd -pid=/var/
root     25760     1  0 Feb11 ?        00:00:00 /usr/sbin/courierlogger courierp
root     25819     1  0 Feb11 ?        00:00:00 /usr/lib/postfix/master
root     25826     1  0 Feb11 ?        00:00:00 /usr/sbin/sshd
postfix  25850 25819  0 Feb11 ?        00:00:00 qmgr -l -t fifo -u
nobody   25856     1  0 Feb11 ?        00:00:00 proftpd: (accepting connections)
root     25862     1  0 Feb11 ?        00:00:00 /usr/sbin/cron
root     25871     1  0 Feb11 ?        00:00:00 /usr/sbin/apache2 -k start
www-data 25881 25871  0 Feb11 ?        00:00:01 /usr/sbin/apache2 -k start
www-data 27942 25871  0 Feb11 ?        00:00:00 /usr/sbin/apache2 -k start
www-data 27943 25871  0 Feb11 ?        00:00:01 /usr/sbin/apache2 -k start
www-data  7247 25871  0 Feb11 ?        00:00:00 /usr/sbin/apache2 -k start
www-data  8419 25871  0 Feb11 ?        00:00:00 /usr/sbin/apache2 -k start
www-data  8422 25871  0 Feb11 ?        00:00:00 /usr/sbin/apache2 -k start
www-data  9038 25871  0 Feb11 ?        00:00:00 /usr/sbin/apache2 -k start
www-data 28895 25871  0 03:50 ?        00:00:00 /usr/sbin/apache2 -k start
www-data 29131 25871  0 03:50 ?        00:00:00 /usr/sbin/apache2 -k start
www-data 29132 25871  0 03:50 ?        00:00:00 /usr/sbin/apache2 -k start
postfix  19365 25819  0 15:26 ?        00:00:00 pickup -l -t fifo -u -c
root      7606 25826  0 16:42 ?        00:00:00 sshd: root@notty
root      7614  7606  0 16:42 ?        00:00:00 /usr/lib/openssh/sftp-server
root      8583 25826  0 16:50 ?        00:00:00 sshd: root@notty
root      8585  8583  0 16:50 ?        00:00:00 /usr/lib/openssh/sftp-server
root      8599     1  0 16:50 ?        00:00:00 /usr/sbin/courierlogger -pid=/va
root      8600  8599  0 16:50 ?        00:00:00 /usr/sbin/couriertcpd -address=1
root     21234 25826  0 17:02 ?        00:00:00 sshd: root@pts/0
root     21236 21234  0 17:02 pts/0    00:00:00 -bash
root     21243 21236  0 17:02 pts/0    00:00:00 ps -ef
Wäre das jetzt quasi die 4. Zeile von unten? Also:

Code: Select all

root      8600  8599  0 16:50 ?        00:00:00 /usr/sbin/couriertcpd -address=1
Also anscheinend gibt es ja da einen Parameter "address" mit Wert=1. Allerdings verstehe ich den Wert nicht.

Re: imap nur lokal

Posted: 2009-02-12 18:19
by Joe User
mac_bobby wrote:

Code: Select all

root      8600  8599  0 16:50 ?        00:00:00 /usr/sbin/couriertcpd -address=1
Also anscheinend gibt es ja da einen Parameter "address" mit Wert=1. Allerdings verstehe ich den Wert nicht.
Nein, die Zeile wurde nur zufällig genau nach der 1 abgeschnitten. lessen oder pipen hätten das vermieden...

Re: imap nur lokal

Posted: 2009-02-12 18:21
by mac_bobby
Joe User wrote:Also anscheinend gibt es ja da einen Parameter "address" mit Wert=1. Allerdings verstehe ich den Wert nicht.
Nein, die Zeile wurde nur zufällig genau nach der 1 abgeschnitten. lessen oder pipen hätten das vermieden...[/quote]

Was ist denn "lessen" oder "pipen"?

Re: imap nur lokal

Posted: 2009-02-12 18:29
by Joe User

Re: imap nur lokal

Posted: 2009-02-12 22:49
by daemotron
Benutze ps auxww anstelle von ps -ef (aux ist unter Linux äquivalent zu -ef, und ww sorgt dafür, dass die Zeile komplett ausgegeben wird - notfalls mit Umbruch).

Re: imap nur lokal

Posted: 2009-02-13 11:44
by mac_bobby
jfreund wrote:Benutze ps auxww anstelle von ps -ef (aux ist unter Linux äquivalent zu -ef, und ww sorgt dafür, dass die Zeile komplett ausgegeben wird - notfalls mit Umbruch).
Vielen Dank.
Also die betreffende Zeile lautet nun:

Code: Select all

root      8600  0.0  0.0   6024   604 ?        S    Feb12   0:00 /usr/sbin/couriertcpd -address=127.0.0.1 -maxprocs=40 -maxperip=20 -nodnslookup -noidentlookup 143 /usr/lib/courier/courier/imaplogin /usr/bin/imapd Maildir
Anscheinend stimmt hier die Angabe mit 127.0.0.1...jedoch geht der Zugriff von außen immernoch.

Re: imap nur lokal

Posted: 2009-02-13 11:57
by mac_bobby
Folgender Befehl:

Code: Select all

/etc/init.d/courier-imap stop
Danach:

Code: Select all

netstat -tulpen
Resultat:

Code: Select all

Aktive Internetverbindungen (Nur Server)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       Benutzer   Inode      PID/Program name
tcp        0      0 IP_ADRESS:3306     0.0.0.0:*               LISTEN     101        327684283  25693/mysqld
tcp        0      0 IP_ADRESS:110      0.0.0.0:*               LISTEN     0          327684879  25758/couriertcpd
tcp        0      0 IP_ADRESS:80       0.0.0.0:*               LISTEN     0          327685438  25871/apache2
tcp        0      0 IP_ADRESS:21       0.0.0.0:*               LISTEN     65534      327685377  25856/proftpd: (acc
tcp        0      0 IP_ADRESS:22       0.0.0.0:*               LISTEN     0          327685205  25826/sshd
tcp        0      0 IP_ADRESS:25       0.0.0.0:*               LISTEN     0          327685191  25819/master
udp        0      0 IP_ADRESS:45995    0.0.0.0:*                          102        327684131  25604/named
Danach:

Code: Select all

/etc/init.d/courier-imap start
Danach:

Code: Select all

netstat -tulpen
Resultat:

Code: Select all

Aktive Internetverbindungen (Nur Server)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       Benutzer   Inode      PID/Program name
tcp        0      0 IP_ADRESS:3306     0.0.0.0:*               LISTEN     101        327684283  25693/mysqld
tcp        0      0 IP_ADRESS:110      0.0.0.0:*               LISTEN     0          327684879  25758/couriertcpd
tcp        0      0 IP_ADRESS:143      0.0.0.0:*               LISTEN     0          400995454  6827/couriertcpd
tcp        0      0 IP_ADRESS:80       0.0.0.0:*               LISTEN     0          327685438  25871/apache2
tcp        0      0 IP_ADRESS:21       0.0.0.0:*               LISTEN     65534      327685377  25856/proftpd: (acc
tcp        0      0 IP_ADRESS:22       0.0.0.0:*               LISTEN     0          327685205  25826/sshd
tcp        0      0 IP_ADRESS:25       0.0.0.0:*               LISTEN     0          327685191  25819/master
udp        0      0 IP_ADRESS:45995    0.0.0.0:*                          102        327684131  25604/named

Re: imap nur lokal

Posted: 2009-02-13 12:17
by mac_bobby
Was bedeutet denn diese Zeile bei "netstat -tuplen" überhaupt:

Code: Select all

tcp        0      0 IP_ADRESS:143      0.0.0.0:*               LISTEN     0          400995454  6827/couriertcpd

Re: imap nur lokal

Posted: 2009-02-13 12:35
by mac_bobby
matzewe01 wrote:Dass der Port 143 an eine lokale Adresse gebunden ist.
also IP_ADDRESS steht eigentlich für die Server-IP-Adresse...also was mit 77.xxx.xxx.xxx

Re: imap nur lokal

Posted: 2009-02-13 12:45
by daemotron
mac_bobby wrote:Was bedeutet denn diese Zeile bei "netstat -tuplen" überhaupt:

Code: Select all

tcp        0      0 IP_ADRESS:143      0.0.0.0:*               LISTEN     0          400995454  6827/couriertcpd

Code: Select all

tcp              => Protokoll (könnte auch udp oder icmp sein, je nach Dienst)
0   0            => So viele Bytes stehen noch in der Sende-/Empfangswarteschlange für diesen Dienst
IP_ADRESS:143    => auf dieser Adresse lauscht der Dienst
0.0.0.0:*        => von dieser Quelle nimmt der Dienst verbindungen an
LISTEN           => Verbindungsstatus. LISTEN bedeutet, dass der Dienst "lauscht" und Verbindungen entgegennehmen kann
0                => User-ID, unter der der Dienst ausgeführt wird
400995454        => Inode (frag mich nicht nach dem Sinn dieser Ausgabe in dem Zusammenhang...)
6827/couriertcpd => Prozess-ID und Name des Binary, das als Dienst ausgeführt wird

Re: imap nur lokal

Posted: 2009-02-13 17:54
by Roger Wilco
jfreund wrote:

Code: Select all

400995454        => Inode (frag mich nicht nach dem Sinn dieser Ausgabe in dem Zusammenhang...)
Jede Art von Socket (auch TCP- und UDP-Sockets) haben auf dem System eine Inode zugeordnet. Das ist wohl für die In-Kernel-Kommunikation notwendig.

Re: imap nur lokal

Posted: 2009-02-13 19:47
by Joe User
Roger Wilco wrote:
jfreund wrote:

Code: Select all

400995454        => Inode (frag mich nicht nach dem Sinn dieser Ausgabe in dem Zusammenhang...)
Jede Art von Socket (auch TCP- und UDP-Sockets) haben auf dem System eine Inode zugeordnet. Das ist wohl für die In-Kernel-Kommunikation notwendig.
Hint: Auch /proc und /sys haben "Filesysteme"...

Re: imap nur lokal

Posted: 2009-02-14 09:55
by daemotron
Hab ein bisschen recherchiert - scheint ein Linux-Spezifikum zu sein. Andere Unixoide geben stattdessen die File Descriptor ID mit aus (sockstat unter *BSD, lsof -i | grep LISTEN unter (Open)Solaris), oder sie unterschlagen solche systemspezifischen Informationen (netstat -a -f inet | grep LISTEN unter (Open)Solaris) gleich ganz. Die FD-ID finde ich noch ganz hilfreich beim Debuggen von Programmen, die sich weigern, einen Socket beim beenden wieder freizugeben - sowas soll ja hin und wieder mal vorkommen :wink: