Stunnel Erro vinculando pop3s a 0.0.0.0:110

1

Estou configurando o stunnel para que um aplicativo não SSL ativado possa acessar uma conta do Gmail / Google Apps. Aqui está a configuração que estou usando:

CLIENT=YES

[pop3s]
accept = 110
connect = pop.gmail.com:995

[imaps]
accept = 143
connect = imap.gmail.com:993

[ssmtp]
accept = 25
connect = smtp.gmail.com:465

Eu gerou o arquivo .pem, ok. Mas falha e registra o seguinte erro:

Clients allowed=125
stunnel 4.50 on x86_64-apple-darwin11.2.0 platform
Compiled/running with OpenSSL 0.9.8r 8 Feb 2011
Threading:PTHREAD SSL:ENGINE Auth:none Sockets:SELECT,IPv6
Reading configuration from file ./tools/stunnel.conf
Snagged 64 random bytes from /Users/synergist/.rnd
Wrote 1024 new random bytes to /Users/synergist/.rnd
PRNG seeded successfully
Initializing SSL context for service pop3s
Insecure file permissions on stunnel.pem
Certificate: stunnel.pem
Certificate loaded
Key file: stunnel.pem
Private key loaded
SSL options set: 0x01000004
SSL context initialized
Initializing SSL context for service imaps
Insecure file permissions on stunnel.pem
Certificate: stunnel.pem
Certificate loaded
Key file: stunnel.pem
Private key loaded
SSL options set: 0x01000004
SSL context initialized
Initializing SSL context for service ssmtp
Insecure file permissions on stunnel.pem
Certificate: stunnel.pem
Certificate loaded
Key file: stunnel.pem
Private key loaded
SSL options set: 0x01000004
SSL context initialized
Configuration successful
Option SO_REUSEADDR set on accept socket
Error binding pop3s to 0.0.0.0:110
bind: Permission denied (13)
Service pop3s closed FD=5
str_stats: 168 block(s), 8340 data byte(s), 8400 control byte(s)

Por que o stunnel não pode se ligar a 110? Existe algo já ligado a 110, se sim, como posso descobrir o que é isso?

Update: Eu tenho stunnel rodando usando o sudo, existe uma maneira de fazê-lo rodar sem?

    
por Tom 20.01.2012 / 10:54

2 respostas

3

Como você já declarou em sua atualização e a saída a seguir informa:

Error binding pop3s to 0.0.0.0:110
bind: Permission denied (13)

Você precisará de privilégios elevados para vincular um serviço a uma porta. Do topo da minha cabeça, acredito que usuários não-root só podem ligar serviços a portas acima de 1024 e 0-1024 é reservado para root.

No que diz respeito à sua pergunta para descobrir que serviço está atendendo a uma porta, você pode verificar com lsof usando: lsof -i tcp:110 . Se você não tiver o lsof instalado em seu servidor, o netstat também pode ser útil, mas é um pouco menos eficiente (por exemplo, netstat -an|grep -i listen para mostrar todos os processos "ouvintes", além disso, adicione outro grep ':110' para filtrar isso bem.

    
por 20.01.2012 / 14:04
3

Você não pode ligar a portas < = 1024 sem permissões de root, isso é uma garantia. Se você definir seus portos > 1024, você deve estar bem.

    
por 20.01.2012 / 14:05