
私は nginx と fastcgi を使ってサーバーを稼動しています。Fastcgi には Unix ソケットではなく TCP ソケットを使用しています。これは、こちらの方がスケーラビリティが高いと読んだからです。Fastcgi サーバーは fastcgi://127.0.0.1:9000 で稼動しています。トラフィックを通過させるには、iptables にどのようなルールを追加すればよいか考えています。わかっていることはこれだけです。
-A INPUT -p tcp -m tcp -d 127.0.0.1 --dport 8999 -m state --state NEW,ESTABLISHED -j ACCEPT
-A OUTPUT -p tcp -m tcp -s 127.0.0.1 --sport 8999 -m state --state NEW,ESTABLISHED -j ACCEPT
しかし、INPUT ルールの送信元ポートと送信元 IP、OUTPUT ルールの宛先ポートと宛先 IP (セキュリティ上の理由) も指定する必要があると思います。正しい値は何でしょうか?
私の質問が意味を成すことを願っています。
答え1
これらは、以下に示すように、ループバック iptable ルールと呼ばれるものです。
iptables -A INPUT -i lo -j ACCEPT
iptables -A OUTPUT -o lo -j ACCEPT
fast_cgi ポートは、php-fpm と Web サーバー間の内部ポートです。これがサーバーの一部であるかどうかを確認するには、すべての IP トラフィックをブロックし、任意の php ファイル テストを実行してサーバーへの fast_cgi 接続をテストします。
次の方法でトラフィックをブロックできます:
iptables -P INPUT DROP
iptables -P OUTPUT DROP
iptables -P FORWARD DROP