最近、rsyncを使用してuceprotect.netでスパム(UCE)送信者のIPコピーを取得しようとしましたが、次のエラーが発生しました。
[user@host ucedata]$ rsync -rzv rsync-mirrors.uceprotect.net::RBLDNSD-ALL/ ./
rsync: failed to connect to rsync-mirrors.uceprotect.net (67.58.96.162): Permission denied (13)
rsync: failed to connect to rsync-mirrors.uceprotect.net (69.30.193.210): Permission denied (13)
rsync: failed to connect to rsync-mirrors.uceprotect.net (72.13.86.154): Permission denied (13)
rsync: failed to connect to rsync-mirrors.uceprotect.net (88.198.110.110): Permission denied (13)
rsync: failed to connect to rsync-mirrors.uceprotect.net (96.31.84.20): Permission denied (13)
rsync: failed to connect to rsync-mirrors.uceprotect.net (185.248.148.6): Permission denied (13)
rsync: failed to connect to rsync-mirrors.uceprotect.net (193.138.29.11): Permission denied (13)
rsync: failed to connect to rsync-mirrors.uceprotect.net (199.48.69.42): Permission denied (13)
rsync: failed to connect to rsync-mirrors.uceprotect.net (199.187.241.194): Permission denied (13)
rsync: failed to connect to rsync-mirrors.uceprotect.net (209.44.102.199): Permission denied (13)
rsync: failed to connect to rsync-mirrors.uceprotect.net (209.126.213.95): Permission denied (13)
rsync: failed to connect to rsync-mirrors.uceprotect.net (217.23.49.207): Permission denied (13)
rsync: failed to connect to rsync-mirrors.uceprotect.net (41.208.71.58): Permission denied (13)
rsync: failed to connect to rsync-mirrors.uceprotect.net (66.240.236.50): Permission denied (13)
rsync error: error in socket IO (code 10) at clientserver.c(127) [Receiver=3.1.3]
現在のディレクトリに書き込むことができます。なぜ「権利拒否(13)」が発生するのですか?
ベストアンサー1
最初は、これは他のユーザー権限またはユーザー制限によるものであると考えました。しかし、私の特定のシステムでは、この特定の質問に対する答えは簡単です。 OpenBSD PF は、ポート 53、80、123、または 443 に向かわないすべての発信トラフィックをブロックするように構成されています。 OpenBSDはPFルールのロードのために最初からTCPソケットを生成することはできません。
netcatを使用したテストでは、ユーザーとルートの両方がPF禁止のターゲットを持つソケットを作成できないことを示しています。
[user@host ucedata]$ nc -v 67.58.96.162 873
nc: connect to 67.58.96.162 port 873 (tcp) failed: Permission denied
[root@host ucedata]# nc -v 67.58.96.162 873
nc: connect to 67.58.96.162 port 873 (tcp) failed: Permission denied
次のカーネルトレースの抜粋は、接続の試行によって権限拒否が発生したことを示しています。
70602 rsync CALL connect(3,0xccece01e770,16)
70602 rsync STRU struct sockaddr { AF_INET, 69.30.193.210:873 }
70602 rsync RET connect -1 errno 13 Permission denied
ファイアウォールルール()を追加しpass out log on $ext_if proto tcp to any port 873
て再ロードして接続できました。/etc/pf.conf
pfctl -f /etc/pf.conf