web-dev-qa-db-ja.com

pop3sを0.0.0.0:110にバインドするStunnelエラー

stunnel を設定しているので、SSLに対応していないアプリがGmail/GoogleAppsアカウントにアクセスできます。これが私が使用している設定です:

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

.pemファイルを生成しました。ただし、失敗し、次のエラーがログに記録されます。

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)

Stunnelが110にバインドできないのはなぜですか?すでに110にバインドされているものはありますか?もしそうなら、どうすればこれが何であるかを知ることができますか?

更新:Sudoを使用してstunnelを実行していますが、Sudoを使用せずに実行する方法はありますか?

1
Tom

更新ですでに述べたように、次の出力からわかります。

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

サービスをポートにバインドするには、昇格された特権が必要です。私の頭の中から、root以外のユーザーは1024を超えるポートにのみサービスをバインドでき、0〜1024はroot用に予約されていると思います。

ポートでリッスンしているサービスを見つけるための質問に関する限り、canlsoflsof -i tcp:110を使用して確認してください。サーバーにlsofがインストールされていない場合は、netstatも使用できますが、効率が少し低下します(たとえば、すべての「リスニング」プロセスを表示するにはnetstat -an|grep -i listen、さらにgrep ':110'を追加します)その上でもフィルタリングします。

3
Oldskool

ルート権限なしで1024未満のポートにバインドすることはできません。これはセキュリティ上の問題です。ポートを1024以上に設定すると、問題ないはずです。

3
Patrick